:root { --navy:#071426; --blue:#155eef; --red:#dc3545; --muted:#667085; --line:#e4e7ec; }
* { box-sizing:border-box; }
body { margin:0; background:#f4f6f8; color:var(--navy); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.app-shell { min-height:100vh; display:flex; } .sidebar { width:280px; flex:0 0 280px; min-height:100vh; background:var(--navy); color:#fff; display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; z-index:10; } .main-area { margin-left:280px; width:calc(100% - 280px); }
.brand { display:flex; align-items:center; gap:12px; padding:24px 28px; border-bottom:1px solid rgba(255,255,255,.1); } .brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#e63946; color:#fff; font-weight:800; } .brand strong,.brand small,.user-chip strong,.user-chip small { display:block; } .brand strong { font-size:14px; } .brand small { color:#98a2b3; font-size:11px; margin-top:3px; }
.sidebar-nav { padding:36px 16px; flex:1; } .nav-label,.eyebrow { color:#1570ef; font-weight:800; text-transform:uppercase; letter-spacing:.16em; font-size:10px; } .nav-label { color:#667085; display:block; padding:0 12px 10px; } .nav-link { color:#d0d5dd; padding:12px; border-radius:10px; text-decoration:none; display:block; font-size:14px; } .nav-link span { color:#e63946; margin-right:9px; } .nav-link.active,.nav-link:hover { background:rgba(255,255,255,.1); color:#fff; }
.sidebar-bottom { padding:16px; border-top:1px solid rgba(255,255,255,.1); } .account-card { padding:12px; background:rgba(255,255,255,.06); border-radius:10px; } .account-card strong,.account-card small { display:block; } .account-card strong { font-size:13px; } .account-card small { color:#98a2b3; margin-top:4px; } .side-action { display:block; color:#d0d5dd; text-decoration:none; background:none; border:0; padding:10px 12px; font-size:13px; width:100%; text-align:left; } .side-action:hover { color:#fff; } .side-button { cursor:pointer; }
.topbar { height:78px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 36px; } .topbar-subtitle { color:var(--muted); font-size:13px; margin-left:14px; } .topbar-tools { display:flex; align-items:center; gap:18px; } .header-date { color:var(--muted); font-size:12px; } .notification-dot { display:grid; place-items:center; width:25px; height:25px; border:1px solid var(--line); border-radius:50%; color:var(--red); font-size:12px; font-weight:800; } .user-chip { display:flex; align-items:center; gap:10px; } .user-chip strong { font-size:13px; } .user-chip small { font-size:11px; color:var(--muted); margin-top:3px; } .avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--navy); color:#fff; font-weight:800; } .content-area { max-width:1350px; padding:38px 36px; margin:auto; } .page-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; } h1 { font-size:30px; font-weight:800; letter-spacing:-.03em; margin:8px 0 6px; } .page-heading p { color:var(--muted); margin:0; } .status-pill { color:#087443; background:#ecfdf3; border-radius:20px; padding:8px 12px; font-size:11px; font-weight:700; white-space:nowrap; }
.stat-card,.empty-card,.form-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; height:100%; } .stat-card { display:flex; flex-direction:column; gap:8px; } .stat-card small { color:var(--muted); } .stat-card strong { font-size:25px; } .stat-card span { color:var(--muted); font-size:13px; } .stat-card.navy { background:var(--navy); color:#fff; border:0; } .stat-card.navy small,.stat-card.navy span { color:#98a2b3; } .stat-card.accent { background:#eff6ff; border-color:#bfdbfe; } .stat-card.red { border-top:4px solid var(--red); } .empty-card { height:auto; } .empty-card h2,.form-card h2 { font-size:18px; margin:0 0 8px; } .empty-card p { color:var(--muted); line-height:1.7; margin:0; } .form-card { max-width:650px; }
.auth-page,.error-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--navy); } .auth-card { background:#fff; border-radius:20px; width:min(100%,460px); padding:38px; } .auth-brand { padding:0 0 30px; border:0; } .auth-card h1,.error-page h1 { font-size:32px; } .btn-primary { background:var(--blue); border-color:var(--blue); } .error-page main { text-align:center; color:#fff; max-width:480px; } .error-page h1 { margin-top:18px; } .error-page p { color:#98a2b3; margin:12px 0 28px; }
@media (max-width:991px) { .sidebar { transform:translateX(-100%); transition:transform .2s; } .sidebar.open { transform:translateX(0); } .main-area { margin-left:0; width:100%; } .topbar { padding:0 20px; } .content-area { padding:32px 20px; } .menu-toggle { font-size:22px; } } @media (max-width:575px) { .page-heading { display:block; } .status-pill { display:inline-block; margin-top:18px; } h1 { font-size:30px; } .auth-card { padding:28px 22px; } }
.admin-sidebar .sidebar-nav { overflow-y:auto; padding-top:24px; } .nav-group { margin:2px 0; } .nav-group summary { color:#d0d5dd; cursor:pointer; list-style:none; padding:9px 12px; font-size:13px; border-radius:8px; } .nav-group summary::-webkit-details-marker { display:none; } .nav-group summary:after { content:'+'; float:right; color:#98a2b3; } .nav-group[open] summary:after { content:'-'; } .nav-group summary:hover,.nav-sublink:hover,.nav-sublink.active { background:rgba(255,255,255,.09); color:#fff; } .nav-sublink { display:block; color:#98a2b3; text-decoration:none; font-size:12px; padding:7px 12px 7px 26px; border-radius:7px; }
.breadcrumb-line { color:var(--muted); font-size:12px; margin-bottom:5px; } .admin-kpi-row { margin-top:26px; } .admin-kpi { background:#fff; border:1px solid var(--line); border-radius:12px; padding:17px 18px; min-height:90px; box-shadow:0 3px 12px rgba(16,24,40,.03); } .admin-kpi span,.overview-stat span { display:block; color:var(--muted); font-size:12px; } .admin-kpi strong { display:block; color:var(--navy); font-size:25px; margin-top:7px; } .admin-panel { background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:0 3px 12px rgba(16,24,40,.03); } .panel-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; } .panel-heading h2 { font-size:16px; margin:0; font-weight:750; } .panel-heading a { color:var(--blue); font-size:12px; text-decoration:none; } .muted-label,.empty-note { color:var(--muted); font-size:12px; } .overview-stat { border:1px solid var(--line); border-radius:10px; padding:14px; } .overview-stat strong { display:block; font-size:21px; margin-top:7px; } .chart-placeholder { min-height:190px; display:grid; place-items:center; color:var(--muted); font-size:12px; text-align:center; background:linear-gradient(180deg,#fff,#f8fafc); border:1px dashed #cbd5e1; border-radius:10px; position:relative; } .chart-line { position:absolute; width:75%; height:55%; border-top:2px solid #155eef; border-radius:50%; transform:skewY(-8deg); opacity:.2; } .donut-placeholder { display:grid; place-items:center; min-height:190px; } .donut { display:grid; place-items:center; width:135px; height:135px; border-radius:50%; background:conic-gradient(#d0d5dd 0 100%); color:var(--muted); font-weight:700; position:relative; } .donut:after { content:''; position:absolute; width:92px; height:92px; border-radius:50%; background:#fff; } .donut { isolation:isolate; } .donut:after { z-index:-1; } .quick-actions { display:flex; flex-wrap:wrap; gap:10px; } .quick-action { color:var(--blue); border:1px solid #b9d3ff; border-radius:8px; padding:10px 13px; font-size:12px; text-decoration:none; background:#f8fbff; } .quick-action:hover { background:#eaf2ff; } .admin-table { margin-bottom:0; font-size:12px; vertical-align:middle; } .admin-table th { color:var(--muted); font-weight:700; white-space:nowrap; border-bottom-color:var(--line); } .admin-table td { color:#344054; border-bottom-color:#f1f3f5; } .empty-table { color:var(--muted)!important; padding:34px 10px!important; text-align:center; } .filter-bar { display:flex; gap:10px; margin-bottom:20px; } .filter-bar .form-control,.filter-bar .form-select { max-width:240px; font-size:12px; } .admin-form { max-width:850px; } .empty-state { display:grid; place-items:center; gap:8px; min-height:180px; color:var(--muted); text-align:center; font-size:13px; } .empty-state strong { color:var(--navy); font-size:16px; }
.admin-sidebar .sidebar-nav { scrollbar-width:none; -ms-overflow-style:none; }
.admin-sidebar .sidebar-nav::-webkit-scrollbar { width:0; height:0; display:none; }
.admin-topbar .topbar-tools { margin-left:auto; }
.admin-sidebar { overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none; }
.admin-sidebar::-webkit-scrollbar { width:0; height:0; display:none; }
.admin-sidebar .sidebar-nav { flex:0 0 auto; overflow:visible; }
.admin-sidebar .sidebar-bottom { flex-shrink:0; }
.customer-layout { background:#f8fafc; }
.customer-layout .sidebar { width:178px; flex-basis:178px; background:linear-gradient(180deg,#061326 0%,#031b2d 100%); }
.customer-layout .main-area { margin-left:178px; width:calc(100% - 178px); }
.customer-layout .brand { display:block; padding:22px 20px 18px; text-align:center; }
.customer-layout .brand-mark { margin:0 auto 10px; width:42px; height:42px; border-radius:10px; }
.customer-layout .brand strong { font-size:12px; line-height:1.35; }
.customer-layout .brand small { font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.customer-layout .sidebar-nav { padding:22px 10px; }
.customer-layout .nav-label { padding:0 10px 12px; font-size:9px; }
.customer-layout .nav-link,.customer-layout .nav-group summary { padding:10px 10px; font-size:12px; }
.customer-layout .nav-sublink { padding:8px 10px 8px 28px; font-size:11px; }
.customer-layout .sidebar-bottom { padding:12px 10px; }
.customer-layout .account-card { padding:10px; }
.customer-layout .account-card strong { font-size:11px; }
.customer-layout .side-action { padding:8px 10px; font-size:11px; }
.customer-layout .topbar { height:64px; padding:0 24px; }
.customer-layout .content-area { max-width:none; padding:28px 22px 40px; }
.customer-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.customer-heading h1 { margin:0; font-size:25px; color:#101828; }
.customer-heading .breadcrumb-line { color:#344054; margin-top:8px; }
.customer-heading .breadcrumb-line span { color:#98a2b3; padding:0 8px; }
.customer-add-button { min-width:158px; padding:10px 16px; }
.customer-kpis { margin-top:0; }
.customer-kpi { display:flex; align-items:center; gap:16px; min-height:108px; padding:16px 19px; }
.customer-kpi > div > span { color:#101828; font-size:11px; font-weight:700; }
.customer-kpi strong { margin-top:5px; font-size:22px; color:#101828; }
.customer-kpi small { display:block; color:var(--muted); font-size:10px; margin-top:5px; }
.kpi-icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:9px; background:#eaf2ff; color:#155eef; font-size:23px; font-weight:700; }
.customer-kpi-active-customers .kpi-icon { background:#eaf8ed; color:#12b76a; }
.customer-kpi-new-customers .kpi-icon { background:#fff4df; color:#f79009; }
.customer-kpi-inactive-customers .kpi-icon { background:#ffebeb; color:#f04438; }
.customer-filters-panel { margin-top:16px; padding:18px 20px; }
.customer-filter-bar { display:grid; grid-template-columns:minmax(210px,1.55fr) repeat(4,minmax(130px,1fr)) auto; align-items:end; gap:14px; margin:0; }
.customer-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.customer-filter-bar .form-control,.customer-filter-bar .form-select { width:100%; max-width:none; height:36px; margin-top:7px; border-color:#d0d5dd; color:#344054; font-size:11px; }
.customer-filter-bar .filter-reset { height:36px; white-space:nowrap; border:1px solid #d0d5dd; font-size:11px; }
.customer-list-panel { margin-top:16px; padding:0 14px 16px; }
.customer-list-heading { display:flex; align-items:center; justify-content:space-between; padding:16px 6px 12px; }
.customer-list-heading h2 { margin:0; color:#101828; font-size:15px; }
.customer-list-heading .btn { padding:7px 13px; font-size:11px; }
.customer-table { min-width:1040px; }
.customer-list-panel .customer-table th { color:#101828; font-size:10px; padding:11px 8px; }
.customer-list-panel .customer-table td { color:#344054; font-size:11px; padding:12px 8px; }
.customer-list-panel .customer-table tbody tr:last-child td { border-bottom:0; }
.customer-name { min-width:150px; }
.customer-name strong { color:#101828; font-size:11px; }
.customer-name small { color:#667085; font-size:10px; }
.customer-avatar { width:30px; height:30px; font-size:10px; }
.type-badge,.status-badge { padding:4px 8px; font-size:9px; }
.notification-dot { text-decoration:none; } .notification-dot.notification-active { background:#f04438; border-color:#f04438; color:#fff; box-shadow:0 0 0 4px rgba(240,68,56,.12); }
.register-kpi.success { border-top:4px solid #12b76a; } .register-kpi.info { border-top:4px solid #155eef; } .register-kpi.danger { border-top:4px solid #f04438; } .register-kpi.warning { border-top:4px solid #f79009; } .register-kpi.primary { border-top:4px solid #7f56d9; } .status-success { background:#ecfdf3; color:#027a48; } .status-warning { background:#fffaeb; color:#b54708; } .status-pending { background:#f2f4f7; color:#344054; }
.status-danger { background:#fef3f2; color:#b42318; }
.action-links { gap:6px; }
.action-links a,.action-links button { display:grid; place-items:center; width:26px; height:26px; border-radius:6px; background:#f8fafc; color:#155eef; font-size:15px; }
.action-links form { display:inline-block; }
.action-links button { color:#f04438; }
.employee-actions { display:flex; align-items:center; gap:6px; }
.users-page-heading { align-items:flex-start; }
.users-summary .admin-kpi { min-height:92px; }
.user-kpi-active { border-top:4px solid #12b76a; }
.user-kpi-inactive { border-top:4px solid #f04438; }
.users-filter-panel,.users-table-panel { margin-top:16px; }
.users-filter-form { display:grid; grid-template-columns:minmax(280px,1fr) 180px auto; align-items:end; gap:12px; }
.users-filter-form label { color:#101828; font-size:10px; font-weight:700; }
.users-filter-form .form-control,.users-filter-form .form-select { height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.users-filter-actions { display:flex; gap:7px; }
.users-filter-actions .btn { height:36px; white-space:nowrap; font-size:11px; }
.users-table { min-width:1120px; }
.users-table th { color:#101828; font-size:10px; padding:11px 8px; }
.users-table td { color:#344054; font-size:11px; padding:12px 8px; vertical-align:middle; }
.users-table td strong { color:#101828; }
.user-actions { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.user-actions a,.user-actions button { border:0; border-radius:5px; background:#f2f4f7; color:#155eef; padding:5px 7px; font-size:10px; text-decoration:none; cursor:pointer; }
.user-actions form { display:inline; margin:0; }
.user-actions .user-action-danger { color:#b42318; background:#fef3f2; }
.user-actions .user-action-success { color:#027a48; background:#ecfdf3; }
.user-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 24px; }
.user-detail-grid span { display:block; margin-bottom:5px; color:#667085; font-size:10px; }
.user-detail-grid strong { color:#101828; font-size:12px; }
.user-password-modal { width:min(100%,500px); }
.user-password-note { margin-bottom:18px; padding:11px 12px; border:1px solid #b2ddff; border-radius:7px; background:#eff8ff; color:#155eef; font-size:11px; }
.user-modal .form-label { color:#101828; font-size:11px; font-weight:700; }
@media (max-width:991px) { .users-filter-form { grid-template-columns:1fr 1fr; } .users-filter-form label:first-child { grid-column:1/-1; } .users-filter-actions { grid-column:1/-1; } }
@media (max-width:575px) { .users-page-heading { display:block; } .users-page-heading > .btn { width:100%; margin-top:16px; } .users-filter-form { grid-template-columns:1fr; } .users-filter-form label:first-child,.users-filter-actions { grid-column:auto; } .users-filter-actions .btn { flex:1; } .users-table-panel { padding:16px 10px; } .user-detail-grid { grid-template-columns:1fr; } }
.employee-actions form { display:inline-flex; margin:0; }
.employee-actions button { border:0; padding:0; cursor:pointer; }
.employee-edit-modal { width:min(100%,780px); }
.employee-edit-modal .form-label { color:#101828; font-size:11px; font-weight:700; }
.attendance-status { display:inline-block; padding:4px 8px; border-radius:6px; font-size:10px; font-weight:700; }
.attendance-present { color:#027a48; background:#ecfdf3; }
.attendance-absent { color:#b42318; background:#fef3f2; }
.attendance-leave { color:#b54708; background:#fffaeb; }
.attendance-half_day { color:#175cd3; background:#eff8ff; }
.attendance-mark-hidden { display:none; }
.salary-outstanding-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; border:1px solid #fedf89; border-radius:8px; background:#fffaeb; }
.salary-outstanding-summary span,.salary-outstanding-summary strong { display:block; }
.salary-outstanding-summary span { color:#667085; font-size:10px; }
.salary-outstanding-summary strong { margin-top:4px; color:#b54708; font-size:14px; }
.salary-receipt-card { border:1px solid #eaecf0; border-radius:8px; padding:16px; }
.salary-receipt-row,.salary-receipt-total { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #f2f4f7; font-size:11px; }
.salary-receipt-row span { color:#667085; }
.salary-receipt-total { margin-top:6px; border:0; color:#155eef; font-size:15px; font-weight:800; }
.salary-receipt-brand { text-align:center; padding-bottom:12px; margin-bottom:8px; border-bottom:1px dashed #98a2b3; }
.salary-receipt-brand strong,.salary-receipt-brand span { display:block; }
.salary-receipt-brand strong { font-size:16px; text-transform:uppercase; }
.salary-receipt-brand span { margin-top:3px; color:#667085; font-size:10px; }
.salary-receipt-note { margin:10px 0; color:#344054; font-size:10px; text-align:center; white-space:normal; }
.salary-receipt-footer { padding-top:10px; border-top:1px dashed #98a2b3; }
.salary-print-card { color:#172b4d; font-family:Arial,sans-serif; }
.salary-print-brand { padding-bottom:10px; text-align:center; border-bottom:1px solid #172b4d; }
.salary-print-brand strong,.salary-print-brand span { display:block; }
.salary-print-brand strong { color:#092b52; font-size:18px; letter-spacing:.2px; text-transform:uppercase; }
.salary-print-brand span { margin-top:3px; color:#475467; font-size:10px; }
.salary-print-title { padding:10px 0 7px; text-align:center; }
.salary-print-title h3 { margin:0; color:#092b52; font-size:16px; letter-spacing:.8px; }
.salary-print-title span { color:#667085; font-size:10px; }
.salary-print-meta { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; padding:8px 0; border-top:1px solid #d0d5dd; border-bottom:1px solid #d0d5dd; }
.salary-print-meta div { display:flex; justify-content:space-between; gap:7px; padding:4px 0; font-size:10px; }
.salary-print-meta span,.salary-print-line span { color:#475467; }
.salary-print-meta strong { text-align:right; color:#101828; }
.salary-print-section { margin-top:10px; border:1px solid #d0d5dd; border-radius:4px; overflow:hidden; }
.salary-print-section h4 { margin:0; padding:6px 8px; color:#fff; background:#092b52; font-size:10px; }
.salary-print-line { display:flex; justify-content:space-between; gap:10px; padding:6px 8px; border-bottom:1px solid #eaecf0; font-size:10px; }
.salary-print-line:last-child { border-bottom:0; }
.salary-print-line strong { color:#101828; text-align:right; }
.salary-print-total,.salary-print-grand-total { display:flex; justify-content:space-between; gap:10px; padding:8px; font-size:11px; font-weight:700; }
.salary-print-total { border-top:1px solid #98a2b3; }
.salary-print-grand-total { color:#155eef; border-top:2px solid #092b52; font-size:15px; }
.salary-print-note,.salary-print-footer,.salary-print-signature { padding:8px 0; color:#475467; font-size:10px; text-align:center; }
.salary-print-footer { margin-top:10px; border-top:1px dashed #98a2b3; }
.stock-heading { margin-bottom: 0; }
.stock-heading-actions { display:flex; gap:10px; align-items:center; }
.stock-summary { margin-top:16px; }
.stock-card-blue { border-top:4px solid #155eef; }
.stock-card-green { border-top:4px solid #12b76a; }
.stock-card-orange { border-top:4px solid #f79009; }
.stock-card-red { border-top:4px solid #f04438; }
.stock-card-purple { border-top:4px solid #7f56d9; }
.stock-alert-panel { display:grid; grid-template-columns:1.5fr .8fr 1fr; gap:28px; align-items:center; margin-top:16px; padding:18px 20px; border:1px solid #fedf89; border-radius:10px; background:#fffcf5; }
.stock-alert-panel strong { display:block; color:#101828; font-size:12px; }
.stock-alert-panel p { margin:7px 0; color:#667085; font-size:11px; line-height:1.5; }
.stock-alert-panel a { color:#155eef; font-size:11px; text-decoration:none; font-weight:700; }
.stock-alert-number { display:inline-grid; place-items:center; min-width:42px; min-height:34px; margin:8px 8px 0 0; border-radius:7px; color:#b54708; background:#fff1d6; font-size:15px; font-weight:800; }
.stock-alert-panel small { color:#b54708; font-size:10px; }
.stock-filters,.stock-list { margin-top:16px; }
.stock-filters { padding:18px 20px; }
.stock-filter-bar { display:grid; grid-template-columns:minmax(230px,1.8fr) repeat(3,minmax(135px,1fr)) auto; align-items:end; gap:12px; }
.stock-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.stock-filter-bar .form-control,.stock-filter-bar .form-select { width:100%; max-width:none; height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.stock-filter-actions { display:flex; gap:7px; }
.stock-filter-actions .btn { height:36px; white-space:nowrap; font-size:11px; }
.stock-list { padding:0 14px 16px; }
.stock-table { min-width:1180px; }
.stock-table th { color:#101828; font-size:10px; padding:11px 8px; white-space:nowrap; }
.stock-table td { color:#344054; font-size:11px; padding:12px 8px; white-space:nowrap; }
.stock-table td strong { color:#101828; }
.stock-status { display:inline-block; padding:4px 8px; border-radius:5px; color:#027a48; background:#ecfdf3; font-size:10px; font-weight:700; white-space:nowrap; }
.stock-status-low { color:#b54708; background:#fffaeb; }
.stock-status-out { color:#b42318; background:#fef3f2; }
.stock-status-in { color:#027a48; background:#ecfdf3; }
.stock-low-actions { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.stock-view-button { display:inline-block; padding:6px 10px; border:1px solid #d0d5dd; border-radius:5px; color:#155eef; text-decoration:none; font-size:10px; }
.stock-form-backdrop { justify-content:flex-end; align-items:stretch; padding:0; }
.stock-side-panel { width:min(100%,560px); height:100%; overflow:auto; }
.stock-search-help { margin:-5px 0 13px; color:#667085; font-size:10px; }
.restock-item-summary,.restock-preview { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-top:15px; padding:14px; border:1px solid #b9d3ff; border-radius:8px; background:#f5f9ff; }
.restock-item-summary span,.restock-item-summary strong,.restock-preview span,.restock-preview strong { display:block; }
.restock-item-summary span,.restock-preview span { color:#667085; font-size:10px; }
.restock-item-summary strong,.restock-preview strong { margin-top:3px; color:#101828; font-size:11px; }
.restock-preview { border-color:#fedf89; background:#fffcf5; }
.restock-preview h3 { grid-column:1/-1; margin:0; color:#b54708; font-size:12px; }
.restock-preview small { grid-column:1/-1; color:#667085; font-size:10px; line-height:1.5; }
.stock-form-error { margin-top:7px; color:#b42318; font-size:10px; }
.stock-history-section { margin-top:20px; padding-top:16px; border-top:1px solid #eaecf0; }
.stock-history-section h3 { margin:0 0 10px; color:#101828; font-size:13px; }
.stock-history-table { min-width:900px; font-size:10px; }
.purchase-filter-bar { grid-template-columns:repeat(3,minmax(150px,1fr)) auto; }
.purchase-list { overflow:hidden; }
.purchase-payment-summary { margin-top:16px; }
.purchase-payment-group { margin-top:16px; }
@media (max-width:1100px) { .stock-filter-bar { grid-template-columns:repeat(3,minmax(145px,1fr)); } .stock-filter-bar label:first-child { grid-column:1/-1; } .stock-alert-panel { grid-template-columns:1fr 1fr; } .stock-alert-panel > :first-child { grid-column:1/-1; } }
@media (max-width:575px) { .stock-heading-actions { margin-top:16px; } .stock-filter-bar,.purchase-filter-bar { grid-template-columns:1fr; } .stock-filter-bar label:first-child { grid-column:auto; } .stock-filter-actions { justify-content:stretch; } .stock-filter-actions .btn { flex:1; } .stock-alert-panel { grid-template-columns:1fr; gap:14px; } .stock-alert-panel > :first-child { grid-column:auto; } .stock-side-panel { width:100%; } }
.expense-heading,.expense-page-title { margin-bottom:16px; }
.expense-page-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.expense-form-actions { display:flex; gap:10px; }
.expense-summary { margin-top:16px; }
.expense-card-green { border-top:4px solid #12b76a; }
.expense-card-blue { border-top:4px solid #155eef; }
.expense-card-orange { border-top:4px solid #f79009; }
.expense-card-red { border-top:4px solid #f04438; }
.expense-filters,.expense-list,.expense-form-card { margin-top:16px; }
.expense-filters { padding:18px 20px; }
.expense-filter-bar { display:grid; grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(140px,1fr)) auto; gap:12px; align-items:end; }
.expense-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.expense-filter-bar .form-control,.expense-filter-bar .form-select { height:36px; margin-top:7px; font-size:11px; }
.expense-filter-actions { display:flex; gap:7px; }
.expense-filter-actions .btn { height:36px; font-size:11px; }
.expense-list { padding:0 14px 16px; }
.expense-table { min-width:1150px; }
.expense-table th { color:#101828; font-size:10px; padding:11px 8px; white-space:nowrap; }
.expense-table td { color:#344054; font-size:11px; padding:12px 8px; white-space:nowrap; }
.expense-number { color:#dc3545 !important; }
.expense-status { display:inline-block; padding:4px 8px; border-radius:5px; background:#fffaeb; color:#b54708; font-size:10px; font-weight:700; }
.expense-status-paid { color:#027a48; background:#ecfdf3; }
.expense-status-partial { color:#175cd3; background:#eff8ff; }
.expense-status-due,.expense-status-cancelled { color:#b42318; background:#fef3f2; }
.expense-form-card { padding:20px; }
.expense-form-card h2 { margin:0 0 16px; color:#101828; font-size:15px; }
.expense-form-card .form-label { display:block; color:#101828; font-size:11px; font-weight:700; }
.expense-form-card .form-control,.expense-form-card .form-select { margin-top:6px; min-height:36px; font-size:11px; }
.expense-upload-section { margin-top:22px; padding-top:18px; border-top:1px solid #eaecf0; }
.expense-upload-section h3 { margin:0 0 12px; color:#101828; font-size:13px; }
.expense-items-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.expense-items-heading h2 { margin:0; }
.expense-items-table { overflow-x:auto; }
.expense-item-head,.expense-item-row { display:grid; grid-template-columns:35px minmax(220px,1fr) 85px 145px 130px 35px; gap:9px; align-items:center; min-width:700px; }
.expense-item-head { padding:10px 8px; color:#475467; background:#f8fafc; font-size:10px; font-weight:700; }
.expense-item-row { padding:8px; border-bottom:1px solid #eaecf0; color:#344054; font-size:11px; }
.expense-item-row .form-control { margin:0; }
.expense-line-total { text-align:right; color:#101828; }
.expense-remove { border:0; border-radius:5px; color:#d92d20; background:#fff1f0; cursor:pointer; font-size:17px; }
.expense-bottom-grid { display:grid; grid-template-columns:1fr 390px; gap:28px; margin-top:20px; }
.expense-total-box { padding:15px; border:1px solid #eaecf0; border-radius:8px; background:#f8fafc; }
.expense-total-box > div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 0; color:#344054; font-size:11px; }
.expense-total-box label { display:flex; align-items:center; gap:10px; }
.expense-total-box label .form-control { width:120px; margin:0; }
.expense-grand-total { border-top:1px solid #d0d5dd; margin-top:5px; padding-top:13px !important; color:#101828 !important; font-size:16px !important; font-weight:800; }
.expense-grand-total strong { color:#155eef; font-size:20px; }
.expense-view-modal { width:min(100%,780px); }
.expense-view-items { margin-top:20px; padding-top:16px; border-top:1px solid #eaecf0; }
.expense-view-items h3 { margin:0 0 10px; font-size:14px; }
.expense-view-total { display:grid; grid-template-columns:1fr auto; gap:7px 14px; max-width:300px; margin-left:auto; padding-top:12px; border-top:1px solid #d0d5dd; font-size:11px; }
.expense-view-total strong,.expense-view-total b { text-align:right; }
@media (max-width:900px) { .expense-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } .expense-filter-bar label:first-child { grid-column:1/-1; } .expense-bottom-grid { grid-template-columns:1fr; } }
@media (max-width:575px) { .expense-page-title { display:block; } .expense-form-actions { margin-top:14px; flex-wrap:wrap; } .expense-form-actions .btn { flex:1; } .expense-filter-bar { grid-template-columns:1fr; } .expense-filter-bar label:first-child { grid-column:auto; } .expense-filter-actions .btn { flex:1; } }
.salary-print-signature { color:#092b52; font-style:italic; }
.action-disabled { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; color:#98a2b3; }
.salary-filter-panel { margin-bottom:16px; }
@media print { @page { size:88mm auto; margin:0; } html,body { width:88mm; min-width:88mm; margin:0; background:#fff; } body * { visibility:hidden !important; } .customer-modal-backdrop, .customer-modal-backdrop * { visibility:visible !important; } .customer-modal-backdrop { position:absolute !important; inset:0; display:block; background:#fff; padding:0; } .salary-receipt-modal { width:88mm; max-width:88mm; max-height:none; min-height:0; margin:0; box-shadow:none; border:0; border-radius:0; } .salary-receipt-modal .customer-modal-header,.salary-receipt-modal .customer-modal-footer { display:none; } .salary-receipt-modal .customer-modal-body { padding:5mm; } .salary-receipt-card { border:0; padding:0; } }
.customer-table-footer { padding:12px 6px 0; border-top:1px solid #f2f4f7; font-size:10px; }
.customer-pagination-wrap { display:flex; align-items:center; gap:24px; }
.customer-pagination-wrap .pagination .page-link { min-width:30px; text-align:center; color:#344054; border-color:#d0d5dd; font-size:11px; }
.customer-pagination-wrap .pagination .active .page-link { background:#155eef; border-color:#155eef; color:#fff; }
.items-per-page { display:flex; align-items:center; gap:8px; color:#101828; font-weight:700; white-space:nowrap; }
.items-per-page select { border:1px solid #d0d5dd; border-radius:6px; padding:7px 10px; font-size:11px; }
@media (max-width:991px) { .customer-layout .sidebar { width:250px; flex-basis:250px; } .customer-layout .main-area { margin-left:0; width:100%; } .customer-layout .customer-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } .customer-layout .customer-filter-bar label:first-of-type { grid-column:1/-1; } }
@media (max-width:575px) { .customer-layout .content-area { padding:20px 14px 28px; } .customer-heading { display:block; } .customer-add-button { width:100%; margin-top:16px; } .customer-layout .customer-filter-bar { grid-template-columns:1fr; } .customer-layout .customer-filter-bar label:first-of-type { grid-column:auto; } .customer-list-panel { padding-left:8px; padding-right:8px; } .customer-table-footer { align-items:flex-start; flex-direction:column; } .customer-pagination-wrap { width:100%; justify-content:space-between; gap:8px; } .items-per-page { font-size:9px; } }
.customer-form-heading { margin-bottom:20px; }
.customer-form-heading h1 { color:#101828; }
.customer-form-heading .breadcrumb-line b { color:#dc3545; font-weight:700; }
.customer-form-card { max-width:none; padding:22px 20px 20px; }
.form-section-title { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.form-section-title > span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#dc3545; color:#fff; font-size:12px; font-weight:800; }
.form-section-title h2 { margin:0; color:#101828; font-size:15px; }
.customer-type-field { border:0; padding:0; margin:0; }
.customer-type-field legend { float:left; width:100%; margin-bottom:10px; color:#101828; font-size:11px; font-weight:700; }
.customer-type-field legend span,.customer-form-card .form-label span { color:#dc3545; }
.customer-type-options { display:flex; flex-wrap:wrap; gap:28px; clear:both; }
.customer-type-options label { display:flex; align-items:center; gap:8px; color:#101828; font-size:12px; cursor:pointer; }
.customer-type-options input { width:17px; height:17px; margin:0; accent-color:#ef233c; }
.customer-form-divider { border-top:1px solid #eaecf0; margin:20px 0 16px; }
.customer-form-card .form-label { display:block; color:#101828; font-size:11px; font-weight:700; margin-bottom:7px; }
.customer-form-card .form-control,.customer-form-card .form-select { min-height:38px; border-color:#d0d5dd; border-radius:5px; color:#344054; font-size:11px; }
.customer-form-card textarea.form-control { resize:vertical; }
.customer-form-card .form-control::placeholder { color:#98a2b3; }
.customer-status-row { max-width:260px; margin-top:18px; }
.customer-form-actions { display:flex; justify-content:flex-end; gap:10px; border-top:1px solid #eaecf0; margin-top:22px; padding-top:17px; }
.customer-form-actions .btn { min-width:125px; font-size:11px; }
@media (max-width:575px) { .customer-form-card { padding:18px 14px; } .customer-form-actions { justify-content:stretch; } .customer-form-actions .btn { flex:1; } }
.supplier-kpis { margin-top:0; }
.supplier-kpi { display:flex; align-items:center; gap:16px; min-height:108px; padding:16px 19px; }
.supplier-kpi > div > span { color:#101828; font-size:11px; font-weight:700; }
.supplier-kpi strong { display:block; margin-top:5px; color:#101828; font-size:20px; }
.supplier-kpi small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.supplier-kpi-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:9px; background:#eaf2ff; color:#155eef; font-size:12px; font-weight:800; }
.supplier-kpi-active-suppliers .supplier-kpi-icon { background:#eaf8ed; color:#12b76a; }
.supplier-kpi-total-purchases .supplier-kpi-icon { background:#fff4df; color:#f79009; }
.supplier-kpi-outstanding-amount .supplier-kpi-icon { background:#ffebeb; color:#f04438; }
.supplier-filters-panel,.supplier-list-panel { margin-top:16px; }
.supplier-filters-panel { padding:18px 20px; }
.supplier-filter-bar { display:grid; grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(150px,1fr)) auto; align-items:end; gap:14px; }
.supplier-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.supplier-filter-bar .form-control,.supplier-filter-bar .form-select { width:100%; max-width:none; height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.supplier-filter-bar .filter-reset { height:36px; white-space:nowrap; font-size:11px; }
.supplier-list-panel { padding:0 14px 16px; }
.supplier-table { min-width:1050px; }
.supplier-list-panel .supplier-table th { color:#101828; font-size:10px; padding:11px 8px; }
.supplier-list-panel .supplier-table td { color:#344054; font-size:11px; padding:12px 8px; }
.supplier-module-note { color:var(--muted); font-size:10px; }
.supplier-form-card { max-width:none; }
.employee-form-panel,.employee-record-panel { max-width:none; margin-top:16px; padding:22px; }
.employee-form-panel .form-label,.employee-record-panel .form-label { color:#101828; font-size:11px; font-weight:700; }
.supplier-product-count { display:block; color:#101828; font-size:12px; font-weight:700; }
.supplier-product-preview { display:block; max-width:150px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.supplier-view-products { display:grid; place-items:center; width:42px; height:26px; border:0; border-radius:6px; background:#f8fafc; color:#155eef; font-size:11px; cursor:pointer; }
.supplier-actions form { display:inline-flex; margin:0; }
.supplier-actions a,.supplier-actions button { display:grid; place-items:center; width:27px; height:27px; padding:0; border:0; border-radius:6px; background:#f8fafc; color:#155eef; font-size:15px; text-decoration:none; cursor:pointer; }
.supplier-actions form button { color:#f04438; }
.supplier-view-card { margin-top:16px; }
.supplier-view-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid #eaecf0; }
.supplier-view-header h2 { margin:6px 0 0; color:#101828; font-size:18px; }
.supplier-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 26px; padding:20px 0; }
.supplier-detail-grid span { display:block; margin-bottom:5px; color:#667085; font-size:10px; }
.supplier-detail-grid strong { color:#101828; font-size:12px; }
.supplier-detail-wide { grid-column:1/-1; padding-top:14px; border-top:1px solid #f2f4f7; }
.supplier-view-product-list { padding-top:18px; border-top:1px solid #eaecf0; }
.supplier-view-product-list h3 { margin:0 0 12px; color:#101828; font-size:15px; }
@media (max-width:575px) { .supplier-detail-grid { grid-template-columns:1fr; } .supplier-detail-wide { grid-column:auto; } }
.supplier-products-modal { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:rgba(3,18,38,.48); }
.supplier-products-modal[hidden] { display:none; }
.supplier-products-dialog { position:relative; width:min(100%,620px); max-height:calc(100vh - 40px); overflow:auto; padding:24px; border:1px solid #e4e7ec; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(16,24,40,.28); }
.supplier-products-dialog h2 { margin:6px 0 18px; color:#101828; font-size:21px; }
.supplier-modal-close { position:absolute; top:18px; right:18px; width:30px; height:30px; border:0; border-radius:7px; background:#f2f4f7; color:#667085; font-size:20px; }
.supplier-modal-product { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 0; border-top:1px solid #eaecf0; color:#101828; }
.supplier-modal-product strong,.supplier-modal-product small { display:block; }
.supplier-modal-product strong { font-size:12px; }
.supplier-modal-product small { margin-top:4px; color:var(--muted); font-size:10px; }
.supplier-modal-product > span { color:#155eef; font-size:12px; font-weight:700; }
.supplier-modal-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:15px 0 18px; padding:14px 0; border-top:1px solid #eaecf0; border-bottom:1px solid #eaecf0; }
.supplier-modal-details span,.supplier-modal-details strong { display:block; }
.supplier-modal-details span { color:#667085; font-size:10px; }
.supplier-modal-details strong { margin-top:4px; color:#101828; font-size:11px; }
.supplier-modal-products-heading { margin:0 0 8px; color:#101828; font-size:14px; }
.supplier-products-section { margin-top:24px; padding-top:20px; border-top:1px solid #eaecf0; }
.supplier-products-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.supplier-products-heading h2 { margin:0; color:#101828; font-size:15px; }
.supplier-products-heading p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.supplier-product-header,.supplier-product-row { display:grid; grid-template-columns:1fr 1.5fr 1fr .75fr 1fr 1fr .9fr .9fr 34px; gap:8px; align-items:center; min-width:1050px; }
.supplier-product-header { padding:0 0 8px; color:#667085; font-size:10px; font-weight:700; }
.supplier-product-row { margin-bottom:8px; }
.supplier-product-row .form-control { min-height:36px; border-color:#d0d5dd; font-size:11px; }
.supplier-product-remove { color:#dc3545; border:1px solid #fda4af; font-size:16px; }
@media (max-width:575px) { .supplier-products-heading { align-items:flex-start; flex-direction:column; } .supplier-products-heading .btn { width:100%; } }
@media (max-width:991px) { .supplier-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } .supplier-filter-bar label:first-child { grid-column:1/-1; } }
@media (max-width:575px) { .supplier-filter-bar { grid-template-columns:1fr; } .supplier-filter-bar label:first-child { grid-column:auto; } .supplier-module-note { display:none; } }
.vehicle-form-card { max-width:none; margin-top:16px; padding:22px 20px 18px; }
.vehicle-form-card .form-section-title { margin-bottom:14px; }
.add-vehicle-button { margin-left:auto; font-size:11px; }
.vehicle-entry { border-top:1px solid #eaecf0; padding-top:16px; margin-top:12px; }
.vehicle-entry-heading { display:flex; align-items:center; gap:8px; color:#101828; font-size:12px; font-weight:700; margin-bottom:12px; }
.remove-vehicle { margin-left:auto; border:0; background:none; color:#dc3545; font-size:11px; cursor:pointer; }
.vehicle-form-card .input-group-text { color:#667085; background:#f2f4f7; border-color:#d0d5dd; font-size:10px; }
.vehicle-info { margin-top:18px; padding:10px 12px; border:1px solid #b2ddff; border-radius:5px; background:#eff8ff; color:#155eef; font-size:11px; }
@media (max-width:575px) { .vehicle-form-card { padding:18px 14px; } .vehicle-form-card .form-section-title { align-items:flex-start; flex-wrap:wrap; } .add-vehicle-button { width:100%; margin:4px 0 0 32px; } }
.customer-modal-backdrop { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:24px; background:rgba(3,18,38,.48); }
.customer-modal { width:min(100%,680px); max-height:calc(100vh - 48px); overflow:auto; border:1px solid #e4e7ec; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(16,24,40,.28); }
.customer-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 18px; border-bottom:1px solid #eaecf0; }
.modal-eyebrow { color:#155eef; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.customer-modal-header h2 { margin:6px 0 4px; color:#101828; font-size:21px; }
.modal-code { color:#667085; font-size:11px; }
.customer-modal-close { display:grid; place-items:center; width:30px; height:30px; border-radius:7px; color:#667085; background:#f2f4f7; font-size:22px; line-height:1; text-decoration:none; }
.customer-modal-close:hover { color:#101828; background:#eaecf0; }
.customer-modal-body { padding:20px 24px; }
.modal-status-row { display:flex; gap:8px; margin-bottom:18px; }
.modal-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 24px; }
.modal-detail-grid span,.modal-vehicle-card span { display:block; margin-bottom:5px; color:#667085; font-size:10px; }
.modal-detail-grid strong { color:#101828; font-size:12px; font-weight:600; }
.modal-detail-wide { grid-column:1/-1; padding-top:14px; border-top:1px solid #f2f4f7; }
.modal-vehicles { margin-top:22px; padding-top:18px; border-top:1px solid #eaecf0; }
.modal-section-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.modal-section-heading h3 { margin:0; color:#101828; font-size:14px; }
.modal-section-heading span { color:#667085; font-size:10px; }
.modal-empty { margin:0; color:#667085; font-size:11px; }
.modal-vehicle-list { display:grid; gap:8px; }
.modal-vehicle-card { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:14px; padding:12px; border:1px solid #eaecf0; border-radius:7px; background:#f8fafc; }
.modal-vehicle-card strong { display:block; color:#101828; font-size:11px; }
.modal-vehicle-card > div:first-child span { color:#155eef; margin-top:4px; }
.customer-modal-footer { display:flex; justify-content:flex-end; gap:10px; padding:15px 24px 20px; border-top:1px solid #eaecf0; }
.customer-modal-footer .btn { min-width:105px; font-size:11px; }
.other-income-summary { margin-top:16px; }
.other-income-filters,.other-income-list { margin-top:16px; }
.other-income-filters { padding:18px 20px; }
.other-income-filter-bar { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,1fr)) auto; align-items:end; gap:12px; }
.other-income-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.other-income-filter-bar .form-control,.other-income-filter-bar .form-select { width:100%; height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.other-income-filter-actions { display:flex; gap:7px; }
.other-income-filter-actions .btn { height:36px; font-size:11px; white-space:nowrap; }
.other-income-list { padding:0 14px 16px; }
.other-income-table { min-width:980px; }
.other-income-table th { color:#101828; font-size:10px; padding:11px 8px; }
.other-income-table td { color:#344054; font-size:11px; padding:12px 8px; }
.other-income-table td strong { color:#101828; }
.income-method { display:inline-block; padding:4px 8px; border-radius:5px; background:#eff6ff; color:#155eef; font-size:10px; font-weight:700; }
.income-method-cash { background:#ecfdf3; color:#087443; }
.income-method-card { background:#fff4df; color:#b54708; }
.income-method-bank { background:#f4f3ff; color:#6941c6; }
.income-method-other { background:#f2f4f7; color:#475467; }
.other-income-modal { width:min(100%,720px); }
.other-income-field-hint { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.bay-summary { margin-top:16px; }
.bay-list-panel { margin-top:16px; padding:0 14px 16px; }
.bay-table { min-width:1050px; }
.bay-table th { color:#101828; font-size:10px; padding:11px 8px; }
.bay-table td { color:#344054; font-size:11px; padding:12px 8px; }
.bay-table td strong { color:#101828; }
.bay-modal { width:min(100%,720px); }
.bay-field-hint { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.appointment-summary { margin-top:16px; }
.appointment-filters,.appointment-list { margin-top:16px; }
.appointment-filters { padding:18px 20px; }
.appointment-filter-bar { display:grid; grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(145px,1fr)) auto; align-items:end; gap:12px; }
.appointment-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.appointment-filter-bar .form-control,.appointment-filter-bar .form-select { width:100%; height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.appointment-filter-actions { display:flex; gap:7px; }
.appointment-filter-actions .btn { height:36px; font-size:11px; white-space:nowrap; }
.appointment-list { padding:0 14px 16px; }
.appointment-table { min-width:1000px; }
.appointment-table th { color:#101828; font-size:10px; padding:11px 8px; }
.appointment-table td { color:#344054; font-size:11px; padding:12px 8px; }
.appointment-table td strong { color:#101828; }
.appointment-status { display:inline-block; padding:4px 8px; border-radius:5px; background:#fff4df; color:#b54708; font-size:10px; font-weight:700; }
.appointment-status-confirmed { background:#eff6ff; color:#155eef; }
.appointment-status-completed { background:#ecfdf3; color:#087443; }
.appointment-status-cancelled,.appointment-status-no_show { background:#fef3f2; color:#b42318; }
.appointment-status-cancelled::before { content:'✓ '; font-weight:900; }
.appointment-modal { width:min(100%,760px); }
@media (max-width:1100px) { .appointment-filter-bar { grid-template-columns:repeat(3,minmax(150px,1fr)); } .appointment-filter-bar label:first-child { grid-column:1/-1; } }
@media (max-width:575px) { .appointment-filter-bar { grid-template-columns:1fr; } .appointment-filter-bar label:first-child { grid-column:auto; } .appointment-filter-actions .btn { flex:1; } }
.estimate-heading { margin-bottom:0; }
.estimate-summary { margin-top:16px; }
.estimate-stat-blue { border-top:4px solid #155eef; }
.estimate-stat-orange { border-top:4px solid #f79009; }
.estimate-stat-green { border-top:4px solid #12b76a; }
.estimate-stat-red { border-top:4px solid #f04438; }
.estimate-filters,.estimate-list { margin-top:16px; }
.estimate-filters { padding:18px 20px; }
.estimate-filter-bar { display:grid; grid-template-columns:minmax(230px,1.7fr) repeat(4,minmax(130px,1fr)) auto; align-items:end; gap:12px; }
.estimate-filter-bar label { color:#101828; font-size:10px; font-weight:700; }
.estimate-filter-bar .form-control,.estimate-filter-bar .form-select { height:36px; margin-top:7px; border-color:#d0d5dd; font-size:11px; }
.estimate-filter-actions { display:flex; gap:7px; }
.estimate-filter-actions .btn { height:36px; font-size:11px; white-space:nowrap; }
.estimate-list { padding:0 14px 16px; }
.estimate-table { min-width:1100px; }
.estimate-table th { color:#101828; font-size:10px; padding:11px 8px; }
.estimate-table td { color:#344054; font-size:11px; padding:12px 8px; }
.estimate-table td strong { color:#101828; }
.estimate-number { color:#dc3545 !important; }
.estimate-status { display:inline-block; padding:4px 8px; border-radius:5px; background:#fff4df; color:#b54708; font-size:10px; font-weight:700; }
.estimate-status-accepted { background:#ecfdf3; color:#087443; }
.estimate-status-rejected,.estimate-status-expired { background:#fef3f2; color:#b42318; }
.estimate-form-backdrop { justify-content:end; align-items:stretch; padding:0; }
.estimate-side-panel { width:min(100%,520px); height:100%; overflow:auto; background:#fff; box-shadow:-12px 0 35px rgba(16,24,40,.18); }
.estimate-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px 16px; border-bottom:1px solid #eaecf0; }
.estimate-panel-header h2 { margin:0 0 4px; color:#101828; font-size:19px; }
.estimate-panel-header span { color:var(--muted); font-size:11px; }
.estimate-panel-header a { color:#101828; font-size:25px; line-height:1; text-decoration:none; }
.estimate-panel-body { padding:0 22px 20px; }
.estimate-form-section { padding:18px 0; border-bottom:1px solid #eaecf0; }
.estimate-form-section h3 { margin:0 0 14px; color:#101828; font-size:13px; }
.estimate-form-section .form-label { display:block; color:#101828; font-size:10px; font-weight:700; margin-bottom:6px; }
.estimate-form-section .form-control,.estimate-form-section .form-select { min-height:35px; border-color:#d0d5dd; font-size:11px; }
.estimate-items-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.estimate-items-heading .btn { font-size:10px; }
.estimate-item-row { display:grid; grid-template-columns:minmax(130px,1.7fr) 58px 86px 64px 25px; gap:6px; align-items:center; margin-bottom:7px; }
.estimate-item-row .form-control { min-width:0; height:34px; padding:6px 7px; }
.estimate-line-amount { overflow:hidden; color:#101828; font-size:10px; font-weight:700; text-align:right; }
.estimate-remove-item { width:25px; height:28px; border:0; border-radius:5px; background:#fff1f0; color:#d92d20; cursor:pointer; font-size:17px; }
.estimate-total-box { margin-top:18px; padding:15px; border:1px solid #eaecf0; border-radius:7px; background:#f8fafc; }
.estimate-total-box > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; color:#344054; font-size:11px; }
.estimate-total-box label { display:flex; align-items:center; gap:10px; }
.estimate-total-box label .form-control { width:110px; height:32px; font-size:11px; }
.estimate-grand-total { margin-top:5px; padding-top:12px !important; border-top:1px solid #d0d5dd; color:#101828 !important; font-size:15px !important; font-weight:800; }
.estimate-grand-total strong { color:#dc3545; }
.estimate-form-footer { display:flex; justify-content:flex-end; gap:9px; padding-top:18px; }
.estimate-form-footer .btn { min-width:110px; font-size:11px; }
.estimate-view-modal { width:min(100%,780px); }
.estimate-view-items { margin-top:20px; padding-top:18px; border-top:1px solid #eaecf0; }
.estimate-view-items h3 { margin:0 0 10px; color:#101828; font-size:14px; }
.estimate-view-items .table { font-size:11px; }
.estimate-view-total { display:grid; grid-template-columns:1fr auto; gap:7px 14px; margin-left:auto; max-width:270px; padding-top:12px; border-top:1px solid #d0d5dd; color:#344054; font-size:11px; }
.estimate-view-total strong { text-align:right; }
.estimate-view-total b { color:#101828; font-size:13px; }
@media (max-width:1100px) { .estimate-filter-bar { grid-template-columns:repeat(3,minmax(145px,1fr)); } .estimate-filter-bar label:first-child { grid-column:1/-1; } }
@media (max-width:575px) { .estimate-filter-bar { grid-template-columns:1fr; } .estimate-filter-bar label:first-child { grid-column:auto; } .estimate-filter-actions { justify-content:stretch; } .estimate-filter-actions .btn { flex:1; } .estimate-side-panel { width:100%; } .estimate-panel-body { padding-left:15px; padding-right:15px; } .estimate-item-row { grid-template-columns:minmax(105px,1fr) 48px 70px 52px 23px; } }
@media (max-width:1100px) { .other-income-filter-bar { grid-template-columns:repeat(3,minmax(150px,1fr)); } .other-income-filter-bar label:first-child { grid-column:1/-1; } }
@media (max-width:575px) { .other-income-filter-bar { grid-template-columns:1fr; } .other-income-filter-bar label:first-child { grid-column:auto; } .other-income-filter-actions .btn { flex:1; } }
@media (max-width:575px) { .customer-modal-backdrop { padding:12px; } .customer-modal { max-height:calc(100vh - 24px); } .customer-modal-header,.customer-modal-body { padding-left:16px; padding-right:16px; } .modal-detail-grid { grid-template-columns:1fr; } .modal-detail-wide { grid-column:auto; } .modal-vehicle-card { grid-template-columns:1fr 1fr; } .customer-modal-footer { padding-left:16px; padding-right:16px; } }
.vehicle-list-panel,.vehicle-entry-panel { margin-top:16px; padding:16px; }
.vehicle-history-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.vehicle-history-heading h1 { margin-bottom:4px; }
.vehicle-history-heading p { margin:0; color:var(--muted); font-size:13px; }
.vehicle-history-actions { display:flex; gap:8px; flex-wrap:wrap; }
.vehicle-history-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.vehicle-history-main { min-width:0; }
.vehicle-profile-card { padding:22px; }
.vehicle-profile-top { display:flex; align-items:flex-start; gap:14px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.vehicle-profile-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:#eaf2ff; color:#155eef; font-size:22px; font-weight:800; }
.vehicle-history-eyebrow { display:block; color:#667085; text-transform:uppercase; letter-spacing:.08em; font-size:9px; font-weight:800; }
.vehicle-profile-top h2 { margin:3px 0 2px; font-size:22px; color:#101828; }
.vehicle-profile-top p { margin:0; color:#667085; font-size:12px; }
.vehicle-profile-top .status-badge { margin-left:auto; }
.vehicle-profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px 20px; padding-top:18px; }
.vehicle-profile-grid span,.vehicle-history-stats span { display:block; color:#667085; font-size:10px; margin-bottom:4px; }
.vehicle-profile-grid strong { display:block; color:#101828; font-size:12px; overflow-wrap:anywhere; }
.vehicle-history-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.vehicle-history-stats .admin-panel { padding:14px 16px; }
.vehicle-history-stats strong { display:block; color:#101828; font-size:18px; }
.vehicle-history-table-panel { margin-top:16px; padding:18px; }
.vehicle-history-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.vehicle-history-panel-heading h2 { margin:0; color:#101828; font-size:16px; }
.vehicle-history-panel-heading span { display:block; margin-top:4px; color:#667085; font-size:10px; }
.vehicle-history-search { display:flex; align-items:center; gap:6px; }
.vehicle-history-search .form-control { width:220px; height:34px; font-size:11px; }
.vehicle-history-search .btn { height:34px; padding:6px 10px; font-size:10px; white-space:nowrap; }
.vehicle-history-table { min-width:800px; }
.vehicle-history-table td { vertical-align:middle; }
.vehicle-history-table a { color:#155eef; text-decoration:none; }
.vehicle-history-table td small { display:block; color:#667085; font-size:10px; margin-top:3px; }
.vehicle-history-empty { color:#667085; font-size:12px; margin:8px 0 2px; }
.history-item-type { display:inline-block; border-radius:999px; padding:4px 7px; color:#155eef; background:#eaf2ff; font-size:9px; font-weight:800; }
.history-item-part { color:#087443; background:#ecfdf3; }
.history-item-service { color:#6941c6; background:#f4f3ff; }
.history-item-external { color:#b54708; background:#fffaeb; }
.vehicle-history-sidebar { position:sticky; top:18px; overflow:hidden; border:1px solid #dbe4f0; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(16,24,40,.06); }
.vehicle-history-sidebar-head { padding:20px; background:linear-gradient(135deg,#071a31 0%,#123d6a 100%); color:#fff; }
.vehicle-history-sidebar-head .vehicle-history-eyebrow { color:#b8d4f5; }
.vehicle-history-sidebar-head h2 { margin:6px 0 3px; font-size:20px; }
.vehicle-history-sidebar-head p { margin:0; color:#d0e4fb; font-size:11px; }
.vehicle-history-timeline { padding:16px 18px 8px; max-height:520px; overflow:auto; }
.vehicle-history-event { position:relative; display:flex; gap:11px; padding:0 0 18px; color:#101828; text-decoration:none; }
.vehicle-history-event:not(:last-child)::before { content:""; position:absolute; left:4px; top:12px; bottom:0; width:1px; background:#dbe4f0; }
.vehicle-history-event-dot { position:relative; z-index:1; flex:0 0 9px; width:9px; height:9px; margin-top:4px; border-radius:50%; background:#155eef; box-shadow:0 0 0 4px #eaf2ff; }
.vehicle-history-event strong,.vehicle-history-event small,.vehicle-history-event em { display:block; }
.vehicle-history-event strong { font-size:11px; }
.vehicle-history-event small { margin-top:3px; color:#667085; font-size:10px; }
.vehicle-history-event em { margin-top:5px; color:#344054; font-size:10px; font-style:normal; line-height:1.4; }
.vehicle-history-sidebar-footer { padding:14px 18px 18px; border-top:1px solid #eaecf0; }
@media (max-width:991px) { .vehicle-history-layout { grid-template-columns:1fr; } .vehicle-history-sidebar { position:static; order:-1; } .vehicle-history-timeline { max-height:260px; } .vehicle-profile-grid,.vehicle-history-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:991px) { .vehicle-history-panel-heading { align-items:flex-start; flex-direction:column; } .vehicle-history-search { width:100%; } .vehicle-history-search .form-control { flex:1; width:auto; } }
@media (max-width:575px) { .vehicle-history-heading { display:block; } .vehicle-history-actions { margin-top:15px; } .vehicle-history-actions .btn { flex:1; } .vehicle-profile-card,.vehicle-history-table-panel { padding:14px; } .vehicle-profile-top { flex-wrap:wrap; } .vehicle-profile-top .status-badge { margin-left:58px; margin-top:-8px; } .vehicle-profile-grid,.vehicle-history-stats { grid-template-columns:1fr 1fr; gap:12px; } .vehicle-history-search { flex-wrap:wrap; } .vehicle-history-search .form-control { flex-basis:100%; } .vehicle-history-search .btn { flex:1; } }
.vehicle-list-page .vehicle-entry-panel { display:none; }
.vehicle-filter-bar { display:grid; grid-template-columns:minmax(250px,2fr) repeat(2,minmax(150px,1fr)) auto auto; gap:12px; margin-bottom:17px; }
.vehicle-filter-bar .form-control,.vehicle-filter-bar .form-select { height:36px; border-color:#d0d5dd; font-size:11px; }
.vehicle-filter-bar .btn { height:36px; min-width:74px; font-size:11px; }
.vehicle-table { min-width:1050px; }
.vehicle-table th { color:#101828; font-size:10px; padding:11px 8px; }
.vehicle-table td { color:#344054; font-size:11px; padding:12px 8px; }
.vehicle-table td strong { color:#101828; }
.vehicle-action { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:6px; color:#155eef; background:#f8fafc; text-decoration:none; font-size:15px; }
.vehicle-actions { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.vehicle-actions form { display:inline-flex; margin:0; }
.vehicle-table td:last-child { white-space:nowrap; }
.vehicle-remove-form { display:inline-block; margin:0; }
.vehicle-remove { border:0; cursor:pointer; color:#dc3545; }
.vehicle-entry-panel { border-left:3px solid #dc3545; }
.vehicle-entry-panel .customer-list-heading { padding-top:0; }
.vehicle-entry-panel .form-label { display:block; color:#101828; font-size:11px; font-weight:700; margin-bottom:7px; }
.vehicle-entry-panel .form-label span { color:#dc3545; }
.vehicle-entry-panel .form-control,.vehicle-entry-panel .form-select { min-height:36px; border-color:#d0d5dd; font-size:11px; }
.vehicle-entry-panel .input-group-text { font-size:10px; background:#f2f4f7; border-color:#d0d5dd; }
.vehicle-form-link { display:block; margin-top:5px; color:#dc3545; font-size:10px; }
.add-customer-inline-button { display:inline-block; margin-top:7px; padding:5px 9px; border:1px solid #fda4af; border-radius:5px; color:#dc3545; background:#fff5f5; font-size:10px; font-weight:700; text-decoration:none; }
.add-customer-inline-button:hover { color:#b42318; background:#ffe4e6; }
.vehicle-entry-panel .customer-form-actions { margin-top:20px; }
@media (max-width:991px) { .vehicle-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } .vehicle-filter-bar .form-control { grid-column:1/-1; } }
@media (max-width:575px) { .vehicle-list-panel,.vehicle-entry-panel { padding:12px 10px; } .vehicle-filter-bar { grid-template-columns:1fr; } .vehicle-filter-bar .form-control { grid-column:auto; } .vehicle-filter-bar .btn,.vehicle-filter-bar a { width:100%; } }
.expense-type-switch{margin:0 0 16px;padding:14px 16px;border:1px solid #dbe4f0;border-radius:10px;background:#f8fbff;max-width:520px}.expense-type-switch .form-label{display:block;margin:0}.expense-type-switch small{display:block;color:#64748b;margin-top:6px}.external-part-panel[hidden]{display:none}.external-part-panel{border-left:3px solid #ef3340}.external-part-panel h2{margin-bottom:16px}.external-part-panel p{margin:14px 0 0;color:#64748b;font-size:12px}
.expense-compact-card{padding:18px}.expense-compact-card h2{margin-bottom:14px}.expense-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.expense-compact-grid>.full{grid-column:1/-1}.expense-type-options.compact{display:flex;gap:10px}.expense-type-options.compact label{padding:10px;min-width:0}.expense-payment-options.compact{gap:8px}.expense-payment-options.compact label{padding:8px 12px}.category-add-link{float:right;font-size:11px;font-weight:500}.category-add-link a{color:#1769d1;text-decoration:none}.expense-compact-card small{display:block}.expense-compact-card .partial-payment[style*="none"]{display:none!important}@media(max-width:767px){.expense-compact-grid{grid-template-columns:1fr}.expense-compact-grid>.full{grid-column:auto}.expense-type-options.compact{display:block}.expense-type-options.compact label{display:block;margin-bottom:8px}}
.category-modal-backdrop{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,24,45,.55)}.category-modal-backdrop[hidden]{display:none}.category-modal{width:min(460px,100%);background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(8,24,45,.25);padding:22px}.category-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.category-modal-header h2{margin:3px 0 0;font-size:20px}.category-modal-header button{border:0;background:transparent;font-size:26px;color:#64748b;line-height:1;cursor:pointer}.category-modal .form-label{display:block;margin:14px 0;color:#102a56;font-size:12px;font-weight:700}.category-modal .form-control,.category-modal .form-select{margin-top:6px}.category-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e7edf5}
.service-heading{align-items:center}.service-summary{margin-top:16px}.service-card-blue{border-top:3px solid #2166f3}.service-card-green{border-top:3px solid #16b364}.service-card-orange{border-top:3px solid #f79009}.service-card-purple{border-top:3px solid #c115d9}.service-filters,.service-list{margin-top:16px;padding:18px}.service-filters form{display:grid;grid-template-columns:minmax(260px,1.5fr) 1fr 1fr auto;gap:16px;align-items:end}.service-filters label{display:block;font-size:11px;font-weight:700}.service-filters input,.service-filters select{margin-top:6px}.service-filter-actions{display:flex;gap:8px}.service-list .panel-heading{display:flex;align-items:center;justify-content:space-between}.service-list h2{margin:0}.service-count-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:5px;background:#ef3340;color:#fff;font-size:11px}.service-category-link,.service-add-category a{font-size:11px;color:#1769d1;text-decoration:none;float:right}.service-status{display:inline-block;padding:4px 9px;border-radius:5px;font-size:10px;font-weight:700}.service-status-active{background:#e5f8ed;color:#087443}.service-status-inactive{background:#fff0e6;color:#c4320a}.service-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:11px}.service-pagination a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:5px;border:1px solid #dbe4f0;border-radius:5px;text-decoration:none;color:#102a56}.service-pagination a.active{background:#ef3340;color:#fff;border-color:#ef3340}.service-drawer-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(8,24,45,.4)}.service-drawer{position:absolute;right:0;top:0;width:min(430px,100%);height:100%;overflow:auto;background:#fff;padding:22px;box-shadow:-8px 0 25px #0b1f3a22}.service-drawer-header{display:flex;justify-content:space-between;border-bottom:1px solid #e5eaf1;padding-bottom:18px;margin-bottom:18px}.service-drawer-header h2{margin:0}.service-drawer-header a{font-size:25px;color:#102a56;text-decoration:none}.service-drawer .form-label{display:block;margin:14px 0;color:#102a56;font-size:11px;font-weight:700}.service-drawer .form-control,.service-drawer .form-select{margin-top:6px}.service-drawer-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5eaf1;padding-top:18px;margin-top:22px}@media(max-width:900px){.service-filters form{grid-template-columns:1fr 1fr}.service-filter-actions{grid-column:1/-1}}@media(max-width:575px){.service-filters form{grid-template-columns:1fr}.service-filter-actions{grid-column:auto}.service-pagination{display:block}.service-pagination div{margin-top:10px}}
.service-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.service-actions form{display:inline;margin:0}.service-actions .btn{font-size:10px;padding:5px 8px}
.job-service-picker{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;margin-bottom:12px;padding:10px;border:1px solid #cfe0f4;border-radius:8px;background:#f5f9ff}.job-service-picker .form-label{margin-bottom:0}.job-service-picker small{grid-column:1/-1;display:block;margin-top:0;color:#667085;font-size:10px;line-height:1.4}.job-service-picker input{margin-top:6px}.job-service-picker .service-custom-price{grid-column:2}.job-service-picker .service-custom-price input{max-width:120px}@media(max-width:575px){.job-service-picker{grid-template-columns:1fr}.job-service-picker .service-custom-price{grid-column:auto}.job-service-picker .service-custom-price input{max-width:none}}
.job-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.job-row-actions form{display:inline-flex;margin:0}.job-row-actions .btn-outline-danger{color:#c4320a;border-color:#f3b5ad;background:#fff7f6}
.edit-service-list{display:grid;gap:8px}.edit-service-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #e2eaf4;border-radius:9px;background:#f8fbff;color:#102a56}.edit-service-row strong{font-size:12px}.edit-service-row small{display:block;margin-top:4px;color:#8290a3;font-size:10px}.edit-service-total{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #e2eaf4;color:#667085;font-size:11px}.edit-service-total strong{color:#1769d1;font-size:13px}.edit-empty-items{padding:14px;border:1px dashed #cbd8e8;border-radius:9px;background:#f8fbff;color:#8290a3;font-size:11px}
.edit-service-add-grid{display:grid;gap:10px;margin-top:16px}.edit-service-add-form{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;gap:9px;padding:12px;border:1px solid #e2eaf4;border-radius:9px;background:#fff}.edit-service-add-form .form-label{margin:0}.edit-service-add-form .form-control,.edit-service-add-form .form-select{margin-top:6px;padding:8px 10px;font-size:11px}.edit-service-add-form .btn{white-space:nowrap;height:34px}@media(max-width:575px){.edit-service-add-form{grid-template-columns:1fr}.edit-service-add-form .btn{width:100%}}
.edit-service-open{width:100%;margin-top:16px}.edit-service-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(7,23,45,.58)}.edit-service-modal[hidden]{display:none}.edit-service-modal-card{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(8,24,45,.28)}.edit-service-modal-heading{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e5edf7;background:linear-gradient(130deg,#f3f8ff,#fff)}.edit-service-modal-heading h3{margin:4px 0 5px;color:#102a56;font-size:20px}.edit-service-modal-heading p{margin:0;color:#8290a3;font-size:11px}.edit-service-modal-eyebrow{color:#1769d1;font-size:10px;font-weight:800;letter-spacing:.12em}.edit-service-modal-close{border:0;background:transparent;color:#667085;font-size:27px;line-height:1;cursor:pointer}.edit-service-modal-body{display:grid;gap:14px;padding:22px 24px}.edit-service-modal-body .edit-service-add-form{background:#f8fbff}.edit-custom-service-form{grid-template-columns:minmax(0,1fr) 120px 100px auto}.edit-service-modal-divider{display:flex;align-items:center;gap:10px;color:#8290a3;font-size:10px;font-weight:800}.edit-service-modal-divider:before,.edit-service-modal-divider:after{content:"";height:1px;flex:1;background:#e2eaf4}body.modal-open{overflow:hidden}@media(max-width:575px){.edit-service-modal{padding:12px}.edit-service-modal-heading,.edit-service-modal-body{padding:18px}.edit-service-modal-body .edit-service-add-form,.edit-custom-service-form{grid-template-columns:1fr}}
.jobcard-heading{align-items:center}.jobcard-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.jobcard-section{margin-bottom:16px;padding:18px}.jobcard-section h2,.jobcard-preview h2{font-size:16px;color:#075bd8;margin:0 0 16px}.jobcard-section .panel-heading{margin-bottom:10px}.jobcard-preview{height:max-content;padding:20px;position:sticky;top:15px}.preview-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e7edf5;font-size:12px}.preview-row span{color:#65738b}.preview-row strong{text-align:right;color:#102a56}.preview-note{margin-top:20px;padding:14px;border:1px solid #ffd37a;background:#fff8e5;border-radius:6px;color:#705100;font-size:12px;line-height:1.6}.jobcard-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:5px 0 25px}.jobcard-tabs{display:flex;gap:8px;margin:18px 0}.jobcard-tabs a{padding:10px 18px;border:1px solid #dbe4f0;border-radius:6px;text-decoration:none;color:#102a56;background:#fff;font-size:12px}.jobcard-tabs a.active{background:#ef3340;border-color:#ef3340;color:#fff}.jobcard-list{padding:18px}.jobcard-number{color:#ef3340;font-weight:700;text-decoration:none}.jobcard-list td small{display:inline-block;color:#65738b;margin-top:4px}.jobcard-list .service-status{margin-top:6px}.job-priority{display:inline-block;padding:5px 9px;border:1px solid #dbe4f0;border-radius:5px;font-size:11px}.job-priority-high,.job-priority-urgent{color:#c4320a;background:#fff0e6}.job-priority-low{color:#087443;background:#e5f8ed}.job-status-pill{display:inline-block;padding:5px 9px;border-radius:5px;background:#e7f0ff;color:#075bd8;font-size:11px;vertical-align:middle}.job-items-table input,.job-items-table select{min-width:90px}.job-items-table .item-total{font-weight:700;white-space:nowrap}.jobcard-total{text-align:right;border-top:1px solid #e7edf5;padding-top:14px;color:#65738b}.jobcard-total strong{color:#102a56;margin-left:20px}.job-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.job-detail-grid>div{padding:12px;border:1px solid #e7edf5;border-radius:6px}.job-detail-grid span{display:block;color:#65738b;font-size:11px;margin-bottom:6px}.job-detail-grid strong{display:block;color:#102a56;font-size:13px}.job-detail-grid small{display:block;color:#65738b;margin-top:6px;line-height:1.6}.job-view-actions{display:grid;gap:10px;margin-top:22px}@media(max-width:900px){.jobcard-layout{grid-template-columns:1fr}.jobcard-preview{position:static}.job-detail-grid{grid-template-columns:1fr}}@media(max-width:575px){.jobcard-form-actions{justify-content:stretch}.jobcard-form-actions .btn{flex:1}.jobcard-tabs{overflow:auto}.jobcard-tabs a{white-space:nowrap}.job-items-table{min-width:700px}}
.job-breadcrumb{display:flex;gap:10px;align-items:center;color:#6f7e94;font-size:12px}.job-breadcrumb a{color:#075bd8;text-decoration:none}.job-breadcrumb strong{color:#075bd8}.jobcard-top-actions{display:flex;gap:10px}.vehicle-search-row{display:flex;align-items:end;gap:10px}.vehicle-search-row .form-label{margin:0}.or-label{padding-bottom:12px;color:#65738b;font-weight:700}.job-load-message{margin-top:12px;padding:10px 12px;border:1px solid #b7e3c7;background:#f0fff5;color:#167542;border-radius:5px;font-size:12px}.job-load-message.loaded{background:#e9fff1}.job-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid #e7edf5}.job-info-grid h3{font-size:12px;margin:0 0 10px;color:#102a56}.job-info-grid .form-label{font-size:11px;margin-bottom:10px}.job-info-grid input{background:#fbfcfe}.jobcard-screen .jobcard-preview{min-width:0}.jobcard-screen .preview-profile{padding:14px 0;border-bottom:1px solid #e7edf5}.preview-profile span{display:block;color:#65738b;font-size:11px;margin-bottom:7px}.preview-profile strong,.preview-profile small{display:block;color:#102a56;margin-top:4px}.preview-profile small{color:#65738b}.preview-divider{height:1px;background:#e7edf5;margin-top:12px}.create-another{margin-right:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#102a56}.create-another input{width:16px;height:16px}.jobcard-section small{color:#65738b;font-weight:400}.jobcard-section .form-label{font-weight:600;color:#102a56;font-size:11px}.jobcard-section textarea{resize:vertical}@media(max-width:900px){.jobcard-top-actions{display:none}.vehicle-search-row{flex-wrap:wrap}.job-info-grid{grid-template-columns:1fr}}@media(max-width:575px){.jobcard-form-actions{flex-wrap:wrap}.create-another{width:100%;order:3}.jobcard-form-actions .btn{flex:1}}
.expense-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.expense-create-layout main,.expense-create-layout aside{min-width:0}.expense-create-layout aside{position:sticky;top:16px}.expense-create-layout .expense-form-card{margin-top:16px}.expense-create-layout .expense-form-card:first-child{margin-top:0}.expense-type-options,.expense-payment-options{display:flex;gap:10px;flex-wrap:wrap}.expense-type-options label{flex:1;min-width:190px;padding:12px;border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#102a56}.expense-type-options label:has(input:checked){border-color:#1877e8;background:#eef6ff}.expense-type-options small{display:block;color:#64748b;font-size:10px;margin:4px 0 0 18px}.expense-payment-options label{padding:9px 14px;border:1px solid #dbe4f0;border-radius:7px}.external-parts-table{min-width:780px}.external-parts-table input{min-width:90px}.external-total-row{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid #e5eaf1;font-weight:700}.external-total-row strong{color:#1769d1}.expense-summary-panel h2,.quick-category-panel h2,.common-category-panel h2{margin-bottom:14px}.expense-summary-panel #expense-summary>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f6;font-size:12px}.expense-summary-panel #expense-summary span{color:#64748b}.expense-summary-panel #expense-summary b{text-align:right;color:#102a56}.quick-category-panel p{color:#64748b;font-size:12px}.category-chip{margin:3px;padding:7px 9px;border:1px solid #cfe0f4;border-radius:6px;background:#fff;color:#1755a5;font-size:11px}.category-chip:hover{background:#eef6ff}.external-only[hidden],.general-only[hidden]{display:none}@media(max-width:991px){.expense-create-layout{grid-template-columns:1fr}.expense-create-layout aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.expense-create-layout aside .admin-panel{margin-top:0}}@media(max-width:575px){.expense-create-layout aside{display:block}.expense-create-layout aside .admin-panel{margin-top:16px}.expense-type-options{display:block}.expense-type-options label{display:block;margin-bottom:8px}.expense-page-title>a{margin-top:12px;display:inline-block}}
.report-page-heading{align-items:flex-start}.report-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.report-filter-panel,.report-table-panel,.report-chart-panel,.report-breakdown-panel,.report-mini-table{margin-top:16px}.report-filter-form{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(140px,1fr)) auto;gap:12px;align-items:end}.report-filter-form label{font-size:11px;font-weight:700;color:#101828}.report-filter-form .form-control,.report-filter-form .form-select{margin-top:7px;height:36px;border-color:#d0d5dd;font-size:11px}.report-filter-actions{display:flex;gap:8px;align-items:end}.report-filter-actions .btn{height:36px;white-space:nowrap;font-size:11px}.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.report-tabs a{padding:8px 12px;border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#102a56;text-decoration:none;font-size:11px}.report-tabs a.active{background:#155eef;color:#fff;border-color:#155eef}.report-kpi strong{font-size:24px}.report-tone-blue{border-top:4px solid #155eef}.report-tone-green{border-top:4px solid #12b76a}.report-tone-orange{border-top:4px solid #f79009}.report-tone-red{border-top:4px solid #f04438}.report-tone-purple{border-top:4px solid #7f56d9}.report-tone-navy{border-top:4px solid #0b1f3a}.report-tone-teal{border-top:4px solid #06b6d4}.report-chart-wrap{overflow:hidden}.report-chart-svg{width:100%;height:auto;display:block}.report-breakdown-card{padding:16px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;height:100%}.report-breakdown-card strong{display:block;color:#101828;margin-bottom:10px}.report-breakdown-card div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #f2f4f7;font-size:12px}.report-breakdown-card div:last-child{border-bottom:0}.report-breakdown-card span{color:#667085}.report-breakdown-card b{color:#101828}.report-table{min-width:1100px}.report-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;font-size:11px}.report-pagination a{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:5px;border:1px solid #d0d5dd;border-radius:6px;color:#155eef;text-decoration:none}.report-pagination a.active{background:#155eef;color:#fff;border-color:#155eef}@media(max-width:1100px){.report-filter-form{grid-template-columns:repeat(3,minmax(145px,1fr))}.report-filter-form label:first-child{grid-column:1/-1}}@media(max-width:575px){.report-filter-form{grid-template-columns:1fr}.report-filter-actions{justify-content:stretch}.report-filter-actions .btn{flex:1}.report-actions{justify-content:stretch}.report-actions .btn{flex:1}}@media print{.no-print,.sidebar,.topbar{display:none!important}.main-area{margin-left:0!important;width:100%!important}.content-area{padding:0!important;max-width:none!important}body{background:#fff!important}}
.account-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.account-heading-copy{display:flex;align-items:center;gap:16px}.account-heading-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#1264e8,#0a3c99);color:#fff;font-size:18px;font-weight:800;box-shadow:0 10px 22px rgba(18,100,232,.2)}.account-page-heading h1{margin:5px 0 6px}.account-page-heading p{margin:0}.account-security-status{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #ccebdc;border-radius:999px;background:#f1fbf5;color:#218653;font-size:12px;font-weight:700;white-space:nowrap}.account-security-status span{width:7px;height:7px;border-radius:50%;background:#25aa68;box-shadow:0 0 0 4px rgba(37,170,104,.12)}.account-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start;margin-top:24px;max-width:1000px}.password-form-card{max-width:none;padding:28px}.password-card-header,.security-side-heading{display:flex;align-items:flex-start;gap:13px}.password-card-icon,.security-shield{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:#eef4ff;color:#1762dd;font-weight:800;font-size:20px}.password-card-header h2,.security-side-heading h2{margin:0 0 5px;font-size:19px}.password-card-header p{margin:0;color:var(--muted);font-size:13px}.password-form{margin-top:27px}.password-field{margin-bottom:19px}.password-field .form-label{display:block;margin-bottom:8px;font-weight:600}.password-form-divider{display:flex;align-items:center;gap:12px;margin:25px 0 19px;color:#7890ac;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.password-form-divider:after{content:"";height:1px;flex:1;background:var(--line)}.password-requirements{display:flex;align-items:flex-start;gap:10px;margin:6px 0 25px;padding:12px 14px;border:1px solid #dbe8fa;border-radius:10px;background:#f6f9fe;color:#5d7190;font-size:12px;line-height:1.5}.password-requirements strong{color:#24528f;white-space:nowrap}.password-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.password-form-actions .btn{min-width:112px}.security-side-card{padding:24px;border:1px solid #d9e4f1;border-radius:16px;background:linear-gradient(155deg,#07172d 0%,#102b4b 100%);color:#fff;box-shadow:0 14px 30px rgba(8,30,58,.12)}.security-side-heading .eyebrow{color:#91baff}.security-side-heading h2{color:#fff;margin-top:5px}.security-shield{background:rgba(255,255,255,.12);color:#9ec4ff}.security-user{display:flex;align-items:center;gap:11px;margin:26px 0 22px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06)}.security-user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1d6beb;color:#fff;font-weight:800}.security-user strong,.security-user span{display:block}.security-user strong{font-size:13px}.security-user span{margin-top:3px;color:#aac0dc;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:205px}.security-checklist{display:grid;gap:15px}.security-checklist>div{display:flex;align-items:flex-start;gap:10px;color:#d2deed;font-size:12px;line-height:1.45}.security-check{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:rgba(64,151,255,.18);color:#8fc2ff;font-size:10px;font-weight:800}.security-note{margin-top:24px;padding:13px;border-left:3px solid #4b9cff;background:rgba(255,255,255,.07)}.security-note strong,.security-note span{display:block}.security-note strong{color:#fff;font-size:12px}.security-note span{margin-top:4px;color:#aac0dc;font-size:11px;line-height:1.5}@media(max-width:900px){.account-settings-layout{grid-template-columns:1fr;max-width:none}.security-side-card{order:-1}}@media(max-width:575px){.account-page-heading{align-items:flex-start;flex-direction:column}.account-security-status{margin-left:60px;margin-top:-12px}.password-form-card,.security-side-card{padding:20px}.password-requirements{flex-direction:column;gap:3px}.password-form-actions{justify-content:stretch}.password-form-actions .btn{flex:1}}
.settings-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.settings-page-heading h1{margin:6px 0}.settings-page-heading p{margin:0;color:var(--muted)}.settings-tabs{display:flex;gap:6px;overflow-x:auto;margin:26px 0 16px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff}.settings-tabs a{flex:0 0 auto;padding:10px 15px;border-radius:8px;color:#52627a;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.settings-tabs a:hover{background:#f2f6fc;color:#155eef}.settings-tabs a.active{background:#155eef;color:#fff;box-shadow:0 4px 10px rgba(21,94,239,.18)}.settings-alert{max-width:1040px}.settings-card{max-width:1040px;padding:26px}.settings-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.settings-card-heading h2{margin:5px 0 6px}.settings-card-heading p{margin:0;color:var(--muted);font-size:13px}.settings-card-heading .btn{white-space:nowrap}.settings-card .form-label{display:block;margin-bottom:7px;font-size:12px;font-weight:700;color:#203452}.settings-help{display:block;margin-top:7px;color:var(--muted);font-size:11px}.settings-options{display:flex;gap:12px;flex-wrap:wrap}.settings-options label{display:inline-flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #dce5f0;border-radius:9px;background:#f8fafc;color:#203452;font-size:12px}.settings-options input{accent-color:#155eef}.settings-payment-options{margin-bottom:22px}.settings-field-narrow{max-width:340px}.settings-locked{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border:1px solid #cfe0f7;border-left:3px solid #155eef;border-radius:9px;background:#f5f9ff;color:#24528f;font-size:12px}.settings-locked span{color:#667085;font-size:11px}.settings-security-card{max-width:820px}.settings-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-maintenance-grid>div{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid #e4eaf2;border-radius:10px;background:#fafcff}.settings-maintenance-grid span{color:#667085;font-size:11px}.settings-maintenance-grid strong{color:#102a56;font-size:13px}.settings-maintenance-grid .form-label{margin:0}.settings-maintenance-grid .form-select{margin-top:0}@media(max-width:700px){.settings-card-heading{display:block}.settings-card-heading .btn{margin-top:16px}.settings-maintenance-grid{grid-template-columns:1fr}}@media(max-width:575px){.settings-card{padding:18px 15px}.settings-tabs{margin-top:20px}.settings-options{display:block}.settings-options label{display:flex;margin-bottom:8px}.settings-card-heading h2{font-size:17px}}
.receipt-brand-logo,.salary-print-logo{display:block;max-width:90px;max-height:55px;margin:0 auto 8px}.powered-by-print,.salary-print-powered,.report-print-footer{display:block;margin-top:8px;color:#667085;font-size:10px;text-align:center}.report-print-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #d0d5dd}.report-print-brand img{max-width:70px;max-height:45px}.report-print-brand strong,.report-print-brand span{display:block}.report-print-brand strong{font-size:18px}.report-print-brand span{color:#667085;font-size:10px}.report-print-footer{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:10px;border-top:1px dashed #98a2b3}.report-print-footer strong{color:#475467}
.dashboard-page{max-width:1400px;margin:0 auto}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.dashboard-heading h1{margin:7px 0 5px}.dashboard-heading p{margin:0;color:var(--muted)}.dashboard-period{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.dashboard-period label{color:#667085;font-size:11px;font-weight:700}.dashboard-period select{border:0;background:#fff;color:#102a56;font-size:12px;font-weight:700;outline:0;cursor:pointer}.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:25px}.dashboard-kpi{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:16px 13px;border:1px solid #e4eaf2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(16,42,86,.04)}.dashboard-kpi-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;font-size:15px;font-weight:800}.dashboard-kpi>div{min-width:0}.dashboard-kpi small,.dashboard-kpi>div>span{display:block;color:#667085;font-size:10px;line-height:1.35}.dashboard-kpi strong{display:block;margin:5px 0 4px;color:#102a56;font-size:17px;letter-spacing:-.02em;white-space:nowrap}.dashboard-kpi.is-blue .dashboard-kpi-icon{background:#e5f0ff;color:#1769d1}.dashboard-kpi.is-green .dashboard-kpi-icon{background:#e6f8ed;color:#087443}.dashboard-kpi.is-orange .dashboard-kpi-icon{background:#fff0df;color:#c45c00}.dashboard-kpi.is-purple .dashboard-kpi-icon{background:#efe8ff;color:#6941c6}.dashboard-kpi.is-teal .dashboard-kpi-icon{background:#e2f8f8;color:#087c82}.dashboard-kpi.is-red .dashboard-kpi-icon{background:#ffe5e6;color:#d92d20}.dashboard-chart-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;margin-top:12px}.dashboard-card{min-width:0;border:1px solid #e4eaf2;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(16,42,86,.04)}.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 14px 10px}.dashboard-card-heading h2{margin:0;color:#102a56;font-size:14px}.dashboard-card-heading span{display:block;margin-top:4px;color:#667085;font-size:10px}.dashboard-card-heading>a{color:#1769d1;font-size:11px;text-decoration:none;white-space:nowrap}.dashboard-range{padding:6px 9px;border:1px solid #dbe4f0;border-radius:5px;color:#102a56!important;font-weight:700;white-space:nowrap}.sales-chart{display:flex;gap:8px;height:190px;margin:5px 15px 0}.sales-axis{display:flex;flex:0 0 54px;flex-direction:column;justify-content:space-between;padding:3px 0 21px;color:#667085;font-size:9px;text-align:right}.sales-bars{display:flex;align-items:stretch;justify-content:space-around;flex:1;gap:7px;border-bottom:1px solid #dbe4f0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 46px,#edf1f6 47px)}.sales-day{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.sales-columns{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;height:155px}.sales-bar{display:block;width:12px;min-height:2px;border-radius:3px 3px 0 0}.job-bar{background:#1769d1}.quick-bar{background:#69b7f5}.sales-day small{color:#667085;font-size:9px;white-space:nowrap}.chart-legend{display:flex;justify-content:center;gap:16px;padding:11px 10px 14px;color:#52627a;font-size:10px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i,.donut-list i{display:inline-block;width:9px;height:9px;border-radius:3px}.legend-blue{background:#1769d1}.legend-sky{background:#69b7f5}.legend-green{background:#35b86b}.legend-orange{background:#f79009}.legend-purple{background:#7f56d9}.legend-red{background:#ef3340}.donut-layout{display:flex;align-items:center;gap:15px;padding:18px 14px 20px}.dashboard-donut{display:grid;place-items:center;flex:0 0 auto;width:142px;height:142px;border-radius:50%;background:conic-gradient(#1769d1 0 var(--parts,45%),#35b86b var(--parts,45%) calc(var(--parts,45%) + var(--services,35%)),#f79009 calc(var(--parts,45%) + var(--services,35%)) calc(var(--parts,45%) + var(--services,35%) + var(--charges,10%)),#7f56d9 0 100%);position:relative}.dashboard-donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}.dashboard-donut>div{position:relative;z-index:1;text-align:center}.dashboard-donut strong,.dashboard-donut span{display:block}.dashboard-donut strong{max-width:90px;color:#102a56;font-size:13px;line-height:1.2}.dashboard-donut span{margin-top:4px;color:#667085;font-size:9px}.status-donut{background:conic-gradient(#1769d1 0 25%,#f79009 25% 55%,#35b86b 55% 95%,#ef3340 95% 100%)}.donut-list{flex:1;min-width:0}.donut-list>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #f0f2f5;color:#52627a;font-size:10px}.donut-list>div:last-child{border-bottom:0}.donut-list span{display:flex;align-items:center;gap:6px;min-width:0}.donut-list b{color:#102a56;white-space:nowrap}.dashboard-widget-grid{display:grid;gap:10px;margin-top:12px}.dashboard-widget-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-table-card{overflow:hidden}.dashboard-table-wrap{overflow-x:auto;padding:0 10px 10px}.dashboard-table{width:100%;min-width:530px;border-collapse:separate;border-spacing:0;font-size:10px}.dashboard-table th{padding:8px 6px;background:#f5f8fc;color:#18345d;font-size:9px;font-weight:800;text-align:left;white-space:nowrap}.dashboard-table td{padding:8px 6px;border-bottom:1px solid #edf1f6;color:#52627a;white-space:nowrap}.dashboard-table tbody tr:last-child td{border-bottom:0}.dashboard-table a{color:#1769d1;text-decoration:none;font-weight:700}.dashboard-badge{display:inline-block;padding:4px 7px;border-radius:5px;font-size:9px;font-weight:800}.dashboard-badge.is-success{background:#e6f8ed;color:#087443}.dashboard-badge.is-warning{background:#fff1d8;color:#b54708}.dashboard-badge.is-danger{background:#ffe5e6;color:#d92d20}.dashboard-badge.is-info{background:#e7f0ff;color:#075bd8}.dashboard-view-link{padding:3px 7px;border:1px solid #cfe0f4;border-radius:4px;font-size:9px}.dashboard-empty{text-align:center!important;color:#98a2b3!important;padding:25px 8px!important}.stock-qty-low{color:#ef3340!important;font-weight:800}.dashboard-profit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:17px 20px;border:1px solid #cfe0f4;border-left:4px solid #1769d1;border-radius:8px;background:#fff}.dashboard-profit h2{margin:5px 0 3px;color:#102a56;font-size:17px}.dashboard-profit p{margin:0;color:#667085;font-size:11px}.dashboard-profit>strong{color:#087443;font-size:23px}.dashboard-profit>strong.is-negative{color:#d92d20}
@media(max-width:1200px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-chart-grid{grid-template-columns:1.3fr 1fr}.job-status-card{grid-column:1/-1}.job-status-card .donut-layout{max-width:520px}.dashboard-widget-grid-three{grid-template-columns:1fr 1fr}.dashboard-widget-grid-three .dashboard-table-card:last-child{grid-column:1/-1}}
@media(max-width:767px){.dashboard-heading{display:block}.dashboard-period{display:inline-flex;margin-top:16px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-kpi{padding:13px 10px}.dashboard-kpi strong{font-size:14px}.dashboard-chart-grid,.dashboard-widget-grid-three{grid-template-columns:1fr}.job-status-card{grid-column:auto}.dashboard-widget-grid-three .dashboard-table-card:last-child{grid-column:auto}.donut-layout{justify-content:center;flex-wrap:wrap}.donut-list{width:100%;flex-basis:100%}.dashboard-profit{align-items:flex-start;flex-direction:column}.dashboard-profit>strong{font-size:21px}}
@media(max-width:430px){.dashboard-kpi-icon{width:29px;height:29px;font-size:12px}.dashboard-kpi small{font-size:9px}.dashboard-kpi>div>span{font-size:9px}.dashboard-kpi strong{font-size:13px}.sales-chart{margin-inline:8px}.dashboard-card-heading{padding-inline:11px}}
/* Data-driven chart segment overrides */
.dashboard-donut{background:conic-gradient(#1769d1 0 var(--parts-end),#35b86b var(--parts-end) var(--services-end),#f79009 var(--services-end) var(--charges-end),#7f56d9 var(--charges-end) 100%)}
.status-donut{background:conic-gradient(#1769d1 0 var(--pending-end),#f79009 var(--pending-end) var(--ongoing-end),#35b86b var(--ongoing-end) var(--completed-end),#ef3340 var(--completed-end) 100%)}
/* Cashier navigation icons */
.cashier-sidebar .nav-link span,.cashier-sidebar .nav-group summary span{display:inline-block;width:20px;margin-right:7px;color:#e63946;text-align:center}
.cashier-user .estimate-actions form{display:none}
.cashier-user .expense-table .action-links a[href*="expenses-edit"],.cashier-user .expense-table .action-links form{display:none}
.cashier-user .other-income-table .action-links a[href*="other-income-edit"],.cashier-user .other-income-table .action-links form{display:none}
.cashier-user .supplier-table .action-links a[href*="advance_edit_id"],.cashier-user .supplier-table .action-links form{display:none}
.cashier-user .employee-record-panel .action-links a[href*="attendance_edit_id"],.cashier-user .employee-record-panel .action-links form{display:none}
.cashier-user .service-actions a[href*="services-edit"],.cashier-user .service-actions form{display:none}
.cashier-user .stock-table .action-links a[href*="stock-edit"],.cashier-user .stock-table .action-links form{display:none}
.cashier-user .stock-list form[action*="stock-delete"]{display:none!important}
/* Clickable dashboard summary cards */
.dashboard-kpi-link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.dashboard-kpi-link:hover{color:inherit;border-color:#9fc4f5;box-shadow:0 6px 18px rgba(16,42,86,.1);transform:translateY(-2px)}
/* Stable KPI sizing at dashboard breakpoints */
.dashboard-kpi{min-height:88px;align-items:center;overflow:hidden}.dashboard-kpi>div{overflow:hidden}.dashboard-kpi small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-kpi>div>span{white-space:normal}.dashboard-kpi strong{font-size:clamp(14px,1.2vw,17px)}
@media(max-width:1400px) and (min-width:1201px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.view-jobcard-layout{align-items:start}.view-identity-card{display:flex;align-items:center;gap:16px;padding:24px}.view-identity-card>div:not(.edit-identity-divider){display:grid;gap:4px}.view-identity-card .edit-status-pill{margin-left:auto}.view-info-grid,.view-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.view-info-grid>div,.view-copy-grid>div{padding:14px;border:1px solid #e2eaf4;border-radius:9px;background:#f8fbff}.view-info-grid span,.view-copy-grid span{display:block;margin-bottom:6px;color:#8290a3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.view-info-grid strong{display:block;color:#102a56;font-size:13px}.view-info-grid small{display:block;margin-top:4px;color:#8290a3;font-size:11px}.view-copy-grid p{margin:0;color:#334e73;font-size:12px;line-height:1.6;min-height:36px}.view-items-table td small{display:block;margin-top:3px;color:#8290a3;font-size:10px}.view-total-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #e2eaf4;color:#667085;font-size:11px;align-items:center}.view-total-row strong{color:#1769d1;font-size:13px}.view-summary-panel{position:sticky;top:20px}.view-summary-actions{display:grid;gap:8px;margin-top:18px}@media(max-width:800px){.view-identity-card{flex-wrap:wrap}.view-identity-card .edit-status-pill{margin-left:0}.view-info-grid,.view-copy-grid{grid-template-columns:1fr}.view-total-row{grid-template-columns:1fr auto}.view-summary-panel{position:static}}
.compact-jobcard-page{margin-bottom:14px}.compact-jobcard-page h1{font-size:25px}.compact-jobcard-page .edit-job-kicker{margin-bottom:4px}.compact-jobcard-page .job-breadcrumb{font-size:11px}.compact-edit-panel{box-shadow:0 8px 24px rgba(16,42,86,.06)}.compact-edit-panel .job-edit-identity{padding:16px 22px}.compact-edit-panel .job-edit-grid{gap:12px;padding:16px 22px}.compact-edit-panel .edit-form-section{padding:16px}.compact-edit-panel .edit-section-heading{margin-bottom:14px}.compact-edit-panel .edit-section-heading h2{font-size:14px}.compact-edit-panel .edit-section-heading p{font-size:10px}.compact-edit-panel .edit-form-actions{padding:13px 22px}.view-jobcard-layout .jobcard-section{padding:16px;margin-bottom:12px}.view-jobcard-layout .jobcard-section h2{margin-bottom:12px;font-size:14px}.view-jobcard-layout .edit-section-heading{margin-bottom:12px}.view-jobcard-layout .view-copy-grid{gap:10px}.view-jobcard-layout .view-copy-grid>div{padding:11px}.view-jobcard-layout .view-summary-panel{padding:16px}.view-jobcard-layout .view-summary-panel h2{margin-bottom:8px}
.ongoing-charge-row,.ongoing-charge-total{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #dbe6f5;color:#52627a;font-size:12px}.ongoing-charge-row strong{color:#102a56}.ongoing-charge-total{margin:8px 0 14px;border-bottom:0;color:#102a56;font-size:14px}.ongoing-charge-total strong{font-size:20px;color:#155eef}.ongoing-bottom-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;margin-bottom:20px}.ongoing-bottom-actions form{margin:0}@media(max-width:575px){.ongoing-bottom-actions{align-items:stretch;flex-direction:column}.ongoing-bottom-actions .btn{width:100%}}
.invoice-vehicle-link{color:#155eef;text-decoration:none;font-weight:600}.invoice-vehicle-link:hover{text-decoration:underline}.invoice-pay-link{margin-left:4px}
.invoice-receipt{width:min(760px,100%);margin:0 auto 30px;padding:28px;background:#fff;border:1px solid #dbe4f0;box-shadow:0 8px 25px rgba(16,42,86,.08);color:#102a56}.invoice-receipt .receipt-brand{text-align:center;padding-bottom:16px;border-bottom:1px dashed #98a2b3}.invoice-receipt .receipt-brand strong,.invoice-receipt .receipt-brand small{display:block}.invoice-receipt .receipt-brand strong{font-size:20px;text-transform:uppercase}.invoice-receipt .receipt-brand small{margin-top:4px;color:#667085;font-size:11px}.invoice-receipt .receipt-title{display:flex;justify-content:space-between;gap:15px;margin:18px 0;padding-bottom:12px;border-bottom:1px solid #dbe4f0}.invoice-receipt .receipt-title span{font-weight:800}.invoice-receipt .receipt-title strong{color:#1769d1}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:14px 0}.receipt-meta div,.receipt-total-lines>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf1f6}.receipt-meta span,.receipt-total-lines span{color:#667085}.receipt-meta strong,.receipt-total-lines strong{text-align:right}.receipt-payment-highlight{display:grid;gap:5px;margin:18px 0;padding:18px;border:1px solid #cfe0f4;border-left:4px solid #1769d1;background:#f5f9ff}.receipt-payment-highlight span{font-size:12px;color:#52627a}.receipt-payment-highlight strong{font-size:24px;color:#1769d1}.receipt-payment-highlight small{color:#667085}.receipt-grand-total{border-top:2px solid #102a56;border-bottom:0!important;font-weight:800}.receipt-grand-total strong{color:#d92d20}.invoice-receipt .receipt-thanks{text-align:center;margin:20px 0 0;color:#52627a}@media print{.no-print{display:none!important}.invoice-receipt{width:80mm;margin:0;padding:8mm;border:0;box-shadow:none}.receipt-meta{display:block}.receipt-meta div{font-size:11px}.invoice-receipt .receipt-title{font-size:12px}.advance-receipt-print,.advance-receipt-print *{visibility:visible!important}.advance-receipt-print{position:absolute!important;left:0;top:0;margin:0;width:80mm;max-width:80mm}}
.invoice-receipt .thermal-items{width:100%;margin:10px 0 18px;border-collapse:collapse;font-size:11px}.invoice-receipt .thermal-items th,.invoice-receipt .thermal-items td{padding:8px 5px;border-bottom:1px solid #e7edf5;text-align:left}.invoice-receipt .thermal-items th:last-child,.invoice-receipt .thermal-items td:last-child{text-align:right}
.audit-panel { margin-top: 18px; }
.audit-panel { display: none; }
.audit-record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.audit-record { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fafafa; }
.audit-record span { color: #667085; font-size: 12px; }
.dashboard-kpi.is-gold { border-color: #f4c95d; background: #fffaf0; box-shadow: 0 5px 18px rgba(180, 120, 0, .12); }
.dashboard-kpi.is-gold .dashboard-kpi-icon { background: #fff0bf; color: #9a6700; }
.dashboard-kpi.is-gold strong { color: #9a6700; }
.cashier-dashboard { max-width: 1400px; margin: 0 auto; }
.cashier-welcome { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.cashier-welcome h1 { margin:8px 0 4px; font-size:32px; }
.cashier-welcome p { margin:0; color:var(--muted); }
.cashier-date { padding:12px 16px; border:1px solid var(--line); border-radius:10px; background:#fff; text-align:right; }
.cashier-date span,.cashier-date strong { display:block; }.cashier-date span { color:var(--muted); font-size:11px; }.cashier-date strong { margin-top:3px; color:var(--navy); }
.cashier-alert { display:flex; align-items:center; gap:12px; margin-top:18px; padding:13px 15px; border:1px solid #f2c94c; border-radius:9px; background:#fff8df; color:#7a5200; font-size:13px; }.cashier-alert.is-danger { border-color:#f3b5b0; background:#fff1f0; color:#b42318; }.cashier-alert span { flex:1; }.cashier-alert a { color:inherit; font-weight:800; }
.cashier-hero-card { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:220px; margin-top:22px; padding:30px 34px; overflow:hidden; border-radius:16px; background:linear-gradient(115deg,#071a32 0%,#123e62 57%,#1769d1 100%); color:#fff; box-shadow:0 14px 30px rgba(8,35,66,.2); position:relative; }.cashier-hero-card:after { content:""; position:absolute; width:360px; height:360px; right:12%; top:-180px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 56px rgba(255,255,255,.035); }.cashier-hero-copy { position:relative; z-index:1; }.cashier-hero-copy .eyebrow { color:#a8d4ff; }.cashier-hero-copy h2 { margin:8px 0 5px; font-size:38px; letter-spacing:-.04em; }.cashier-hero-copy p { max-width:540px; margin:0 0 20px; color:#c9e2f8; font-size:13px; }.cashier-primary-action,.cashier-outline-action { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:10px 14px; border-radius:7px; text-decoration:none; font-weight:800; font-size:12px; }.cashier-primary-action { background:#fff; color:#0b3153; }.cashier-primary-action span,.cashier-outline-action span { font-size:17px; }.cashier-hero-orbit { position:relative; z-index:1; display:grid; place-items:center; width:170px; height:170px; flex:0 0 170px; text-align:center; }.orbit-ring { position:absolute; inset:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; transform:rotate(25deg) scaleX(.55); }.orbit-ring-two { inset:12px; transform:rotate(-35deg) scaleX(.55); border-color:rgba(168,212,255,.8); }.cashier-hero-orbit strong,.cashier-hero-orbit small { position:relative; display:block; max-width:100px; }.cashier-hero-orbit strong { font-size:14px; }.cashier-hero-orbit small { margin-top:4px; color:#b9d9f2; font-size:10px; }
.cashier-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }.cashier-metric { position:relative; min-height:116px; padding:16px; overflow:hidden; border:1px solid var(--line); border-top:3px solid #1769d1; border-radius:10px; background:#fff; color:var(--navy); text-decoration:none; }.cashier-metric:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(16,42,86,.1); }.cashier-metric small,.cashier-metric em { display:block; color:var(--muted); font-size:11px; font-style:normal; }.cashier-metric strong { display:block; margin:8px 0 4px; font-size:21px; }.metric-mark { display:inline-grid; place-items:center; min-width:30px; height:25px; padding:0 6px; border-radius:6px; background:#e5f0ff; color:#1769d1; font-size:10px; font-weight:900; }.metric-green { border-top-color:#35b86b; }.metric-green .metric-mark { background:#e6f8ed; color:#087443; }.metric-orange { border-top-color:#f79009; }.metric-orange .metric-mark { background:#fff0df; color:#c45c00; }.metric-purple { border-top-color:#7f56d9; }.metric-purple .metric-mark { background:#efe8ff; color:#6941c6; }
.cashier-work-grid,.cashier-bottom-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; margin-top:12px; }.cashier-panel { min-width:0; padding:19px 20px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 3px 12px rgba(16,42,86,.04); }.cashier-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.cashier-panel-heading h2 { margin:5px 0 0; font-size:18px; }.cashier-panel-heading>a { color:#1769d1; font-size:12px; font-weight:800; text-decoration:none; }.cashier-status { display:inline-block; padding:5px 8px; border-radius:5px; background:#edf4ff; color:#1769d1; font-size:10px; font-weight:800; white-space:nowrap; }.cashier-status.is-success { background:#e6f8ed; color:#087443; }.cashier-status.is-warning { background:#fff1d8; color:#b54708; }.cashier-status.is-danger { background:#ffe5e6; color:#b42318; }.handover-amount { display:flex; align-items:end; justify-content:space-between; gap:15px; margin:22px 0 17px; padding-bottom:14px; border-bottom:1px solid #edf1f6; }.handover-amount span { color:var(--muted); font-size:12px; }.handover-amount strong { color:#1769d1; font-size:24px; }.handover-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.handover-step { display:flex; align-items:center; gap:7px; color:#98a2b3; font-size:11px; }.handover-step b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#f1f3f6; color:#667085; }.handover-step.is-done { color:#087443; }.handover-step.is-done b { background:#e6f8ed; color:#087443; }.cashier-outline-action { margin-top:18px; border:1px solid #cfe0f4; color:#1769d1; }.pulse-dot { color:#087443; font-size:11px; font-weight:800; }.pulse-dot:before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#35b86b; box-shadow:0 0 0 4px #e6f8ed; }.pulse-list { margin-top:17px; }.pulse-list>div { display:flex; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid #edf1f6; }.pulse-list>div:last-child { border-bottom:0; }.pulse-list span { color:var(--muted); font-size:12px; }.pulse-list strong { color:var(--navy); font-size:13px; }
.cashier-shortcuts { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:18px; }.cashier-shortcuts a { display:flex; flex-direction:column; gap:8px; padding:12px 10px; border:1px solid #e4eaf2; border-radius:8px; color:var(--navy); font-size:11px; text-decoration:none; }.cashier-shortcuts a:hover { border-color:#9fc4f5; background:#f7fbff; }.cashier-shortcuts b { color:#1769d1; font-size:20px; line-height:1; }.cashier-recent-list { margin-top:10px; }.cashier-recent-list>div { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #edf1f6; }.cashier-recent-list>div:last-child { border-bottom:0; }.cashier-recent-list span { flex:1; min-width:0; }.cashier-recent-list strong,.cashier-recent-list small { display:block; }.cashier-recent-list strong { color:#1769d1; font-size:12px; }.cashier-recent-list small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.cashier-recent-list>b { font-size:12px; white-space:nowrap; }.cashier-empty { color:var(--muted); font-size:12px; }
@media(max-width:900px){.cashier-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-work-grid,.cashier-bottom-grid{grid-template-columns:1fr}.cashier-hero-card{padding:25px}.cashier-hero-orbit{width:140px;height:140px;flex-basis:140px}}
@media(max-width:560px){.cashier-welcome{display:block}.cashier-date{display:inline-block;margin-top:16px;text-align:left}.cashier-hero-card{display:block}.cashier-hero-copy h2{font-size:30px}.cashier-hero-orbit{margin:20px auto 0}.cashier-metrics{grid-template-columns:1fr}.cashier-shortcuts{grid-template-columns:repeat(2,1fr)}.handover-steps{grid-template-columns:1fr}.cashier-alert{align-items:flex-start;flex-direction:column}}
.sidebar-search{display:block;margin:0 4px 14px}.sidebar-search span{display:block;margin:0 8px 6px;color:#98a2b3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sidebar-search input{width:100%;padding:9px 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.07);color:#fff;font-size:12px;outline:0}.sidebar-search input::placeholder{color:#98a2b3}.sidebar-search input:focus{border-color:#5b9cff;background:rgba(255,255,255,.11)}.sidebar-no-results{margin:16px 8px;color:#98a2b3;font-size:11px;text-align:center}.sidebar-backdrop{display:none}@media(max-width:991px){.sidebar-backdrop{position:fixed;inset:0;z-index:9;border:0;background:rgba(3,18,38,.48);opacity:0;pointer-events:none;display:block;transition:opacity .2s}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.sidebar{z-index:20;width:min(300px,86vw);box-shadow:18px 0 40px rgba(3,18,38,.2)}body.sidebar-open{overflow:hidden}}
.vehicle-entry-panel .customer-form-actions{min-width:0}@media(max-width:575px){.vehicle-entry-panel .customer-form-actions{justify-content:stretch;flex-wrap:wrap}.vehicle-entry-panel .customer-form-actions .btn{flex:1 1 0;min-width:0}}
@media(max-width:575px){
    .jobcard-layout,.jobcard-layout main,.jobcard-section{min-width:0;width:100%;}
    .jobcard-section{padding:14px 12px;overflow:hidden;}
    .jobcard-section h2{font-size:15px;line-height:1.35;}
    .vehicle-search-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;}
    .vehicle-search-row>label{flex:1 1 100%;min-width:0;}
    .vehicle-search-row>.or-label{flex:0 0 auto;padding:10px 2px 0;}
    .vehicle-search-row>.btn{flex:1 1 0;min-width:0;padding:9px 7px;font-size:11px;white-space:normal;}
    .job-info-grid{grid-template-columns:1fr;gap:12px;}
    .job-info-grid .row{--bs-gutter-x:8px;}
    .jobcard-section .row{--bs-gutter-x:10px;}
    .jobcard-section input,.jobcard-section select,.jobcard-section textarea{max-width:100%;}
    .jobcard-section .panel-heading{align-items:flex-start;gap:8px;}
    .jobcard-section .panel-heading h2{min-width:0;}
    .jobcard-section .panel-heading .btn{flex:0 0 auto;white-space:nowrap;}
    .job-items-table{display:block;min-width:0;width:100%;}
    .job-items-table thead{display:none;}
    .job-items-table tbody,.job-items-table tr,.job-items-table td{display:block;width:100%;}
    .job-items-table tr.job-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #e7edf5;}
    .job-items-table td{padding:0;border:0;min-width:0;}
    .job-items-table td:first-child{display:none;}
    .job-items-table td:nth-child(2),.job-items-table td:nth-child(3){grid-column:1/-1;}
    .job-items-table td:nth-child(4)::before{content:'Quantity';display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:700;}
    .job-items-table td:nth-child(5)::before{content:'Unit Price (Rs.)';display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:700;}
    .job-items-table td:nth-child(6)::before{content:'Discount (Rs.)';display:block;margin-bottom:4px;color:#667085;font-size:10px;font-weight:700;}
    .job-items-table td:nth-child(7){display:flex;align-items:center;padding-top:5px;color:#102a56;font-weight:700;}
    .job-items-table td:nth-child(7)::before{content:'Amount: Rs. ';color:#667085;font-weight:400;}
    .job-items-table td:nth-child(8){display:flex;justify-content:flex-end;padding-top:2px;}
}

.account-profile-layout{max-width:1040px}.account-alert{max-width:1040px;margin-top:20px}.account-password-card{max-width:1040px;margin-top:18px;padding:28px}.account-side-copy{margin:22px 0;color:#d2deed;font-size:12px;line-height:1.6}.account-password-link{color:#102a56;font-weight:700}.account-password-link:hover{color:#155eef}
@media(max-width:575px){.account-password-card{padding:20px 16px}.account-profile-layout{margin-top:18px}}

/* Make both navigation variants easier to scan without changing their routes. */
.sidebar-nav { padding-bottom: 28px; }
.sidebar-nav > [data-sidebar-items] { display: grid; gap: 3px; }
.nav-link, .nav-group summary { transition: background .18s ease, color .18s ease, transform .18s ease; }
.nav-link.active { background: linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.06)); color: #fff; box-shadow: inset 3px 0 #e63946; }
.nav-link.active span, .nav-group[open] summary .nav-group-icon { color: #ff5060; }
.admin-sidebar .nav-group summary { display: flex; align-items: center; gap: 9px; }
.admin-sidebar .nav-group summary:after { margin-left: auto; }
.admin-sidebar .nav-group-icon { width: 14px; color: #e63946; font-size: 9px; text-align: center; }
.admin-sidebar .nav-sublink { border-left: 1px solid rgba(255,255,255,.13); margin-left: 18px; padding-left: 15px; }
.admin-sidebar .nav-sublink.active { background: rgba(255,255,255,.11); color: #fff; box-shadow: inset 2px 0 #e63946; }
.sidebar-bottom { background: rgba(2, 12, 27, .18); }
.account-card { border: 1px solid rgba(255,255,255,.08); }
.side-action { border-radius: 8px; margin-top: 3px; transition: background .18s ease, color .18s ease; }
.side-action:hover { background: rgba(255,255,255,.08); }
.logout-button { color: #ffb4b9; border: 1px solid rgba(230,57,70,.35); }
.logout-button:hover { background: rgba(230,57,70,.16); color: #fff; }
.cashier-sidebar { overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent; }
.cashier-sidebar .sidebar-nav { min-height: auto; overflow: visible; flex: 0 0 auto; }
.cashier-sidebar::-webkit-scrollbar { width: 5px; }
.cashier-sidebar::-webkit-scrollbar-track { background: transparent; }
.cashier-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 99px; }
.cashier-sidebar .sidebar-bottom { flex-shrink: 0; }
.cashier-user { --cashier-blue: #1769d1; --cashier-navy: #0b1f3a; --cashier-soft-blue: #eef5ff; }
.cashier-user .main-area { background: #f6f8fb; }
.cashier-user .topbar { box-shadow: 0 1px 0 rgba(16,42,86,.03); }
.cashier-user .content-area { padding-top: 32px; }
.cashier-user .btn-primary { background: var(--cashier-blue); border-color: var(--cashier-blue); box-shadow: 0 4px 10px rgba(23,105,209,.14); }
.cashier-user .btn-primary:hover { background: #0f58b8; border-color: #0f58b8; }
.cashier-user .form-control:focus, .cashier-user .form-select:focus { border-color: #8bb8f2; box-shadow: 0 0 0 3px rgba(23,105,209,.1); }
.cashier-user .admin-panel, .cashier-user .form-card, .cashier-user .list-panel { border-color: #e2eaf4; box-shadow: 0 5px 18px rgba(16,42,86,.045); }
.cashier-user .admin-page-heading h1, .cashier-user .page-heading h1 { color: var(--cashier-navy); }
.cashier-user .admin-page-heading p, .cashier-user .page-heading p { color: #60728c; }
.cashier-user .table-responsive { border-radius: 10px; }
.cashier-user .account-page-heading { margin-bottom: 4px; }
@media (max-width: 767px) {
    .cashier-user .content-area { padding: 24px 16px 32px; }
    .cashier-user .account-page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .cashier-user .account-security-status { align-self: flex-start; }
    .cashier-user .password-form-actions { justify-content: stretch; }
    .cashier-user .password-form-actions .btn { width: 100%; }
}
@media (max-width: 991px) {
    .sidebar { width: min(310px, 88vw); }
    .sidebar-nav { padding-top: 24px; }
    .sidebar.open { box-shadow: 16px 0 42px rgba(3,18,38,.3); }
}

.vehicle-update-confirm { width:min(440px,calc(100% - 32px)); border:1px solid #e4e7ec; border-radius:12px; padding:24px; color:#101828; box-shadow:0 24px 70px rgba(16,24,40,.28); }
.vehicle-update-confirm::backdrop { background:rgba(3,18,38,.48); }
.vehicle-update-confirm h2 { font-size:20px; margin:0 0 12px; }
.vehicle-update-confirm p { margin:0 0 20px; }

.estimate-item-picker { position:relative; min-width:0; }
.estimate-item-picker > input { width:100%; }
.estimate-item-results { position:absolute; top:calc(100% + 4px); left:0; width:max(100%,280px); max-width:calc(100vw - 64px); max-height:240px; overflow-y:auto; z-index:50; border:1px solid #cbd5e1; border-radius:8px; background:#fff; box-shadow:0 8px 24px #10182826; }
.estimate-item-results[hidden] { display:none; }
.estimate-item-results button { display:block; width:100%; padding:10px 12px; border:0; border-bottom:1px solid #edf1f5; background:#fff; text-align:left; color:#102a56; min-height:44px; }
.estimate-item-results button:hover,.estimate-item-results button[aria-selected="true"] { background:#eaf2ff; }
.estimate-item-results strong,.estimate-item-results small { display:block; overflow-wrap:anywhere; }
.estimate-item-results strong { font-size:13px; }
.estimate-item-results small { margin-top:4px; font-size:11px; color:#667085; }
.estimate-item-search-help { padding:10px 12px; background:#f8fafc; color:#667085; font-size:12px; line-height:1.5; }

.estimate-form-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.estimate-form-backdrop) { overflow:hidden; }

.friendly-expense { max-width:1080px; margin:0 auto; }
.friendly-expense .expense-page-title { margin-bottom:22px; gap:16px; }
.friendly-expense .expense-form-card { padding:24px; margin-bottom:20px; border-radius:12px; }
.friendly-expense .expense-form-card h2 { font-size:18px; color:#102a56; margin:0 0 16px; }
.friendly-expense .expense-form-help,.friendly-expense .expense-payment-heading p { font-size:13px; line-height:1.6; color:#667085; margin:0 0 20px; }
.friendly-expense .expense-compact-grid { gap:20px; }
.friendly-expense .form-label { display:block; font-size:13px; font-weight:600; color:#344054; }
.friendly-expense .form-control,.friendly-expense .form-select { display:block; width:100%; box-sizing:border-box; min-height:44px; margin-top:8px; font-size:14px; border-radius:8px; }
.friendly-expense .expense-type-options label { padding:16px; border-radius:10px; }
.friendly-expense .expense-type-options small { font-size:12px; line-height:1.6; margin-top:8px; }
.friendly-expense .expense-payment-heading { border-top:1px solid #e4e7ec; padding-top:22px; }
.friendly-expense .expense-payment-heading h2 { margin-bottom:8px; }
.friendly-expense .expense-payment-options { display:flex; flex-wrap:wrap; gap:8px; }
.friendly-expense .expense-payment-options label { min-height:44px; padding:10px 16px; border-radius:8px; font-size:14px; cursor:pointer; }
.friendly-expense .expense-payment-options label:has(input:checked) { background:#eaf2ff; border-color:#1769d1; color:#1769d1; }
.friendly-expense #due-amount { border-color:#8db4ed; background:#f8fbff; font-size:17px; font-weight:600; }
.friendly-expense #expense-due-help { display:block; color:#667085; font-size:12px; line-height:1.6; margin-top:8px; }
.friendly-expense .btn { min-height:44px; font-size:14px; padding:10px 16px; border-radius:8px; }
@media(max-width:650px) {
 .friendly-expense .expense-form-card { padding:16px; }
 .friendly-expense .expense-compact-grid,.friendly-expense .expense-type-options { grid-template-columns:minmax(0,1fr); }
 .friendly-expense .expense-page-title { flex-wrap:wrap; }
}

/* Expense details stay above the expense list. */
.expense-view-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.expense-view-backdrop) { overflow:hidden; }

/* Keep the income list visible behind the income form. */
.other-income-form-backdrop, .other-income-view-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.other-income-form-backdrop), body:has(.other-income-view-backdrop) { overflow:hidden; }

/* Show the stock list behind its details modal. */
.stock-view-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.stock-view-backdrop) { overflow:hidden; }

/* Services list remains visible behind service details. */
.service-view-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.service-view-backdrop) { overflow:hidden; }

/* Center the service form above the blurred list. */
.service-form-centered { display:grid; place-items:center; padding:24px; background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.service-form-centered .service-drawer { position:relative; inset:auto; width:min(640px,100%); min-width:0; height:auto; max-height:calc(100dvh - 48px); border-radius:14px; box-shadow:0 20px 60px #0b1f3a33; }
.service-form-centered .service-drawer-header h2 { font-size:24px; }
body:has(.service-form-centered) { overflow:hidden; }
@media(max-width:575px) {
    .service-form-centered { padding:12px; }
    .service-form-centered .service-drawer { padding:18px; max-height:calc(100dvh - 24px); }
}

/* Appointment dialogs overlay their list. */
.appointment-modal-backdrop { background:rgba(16,24,40,.38); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
body:has(.appointment-modal-backdrop) { overflow:hidden; }

.appointment-search { position:relative; }
.appointment-search-results { position:absolute; top:100%; left:0; right:0; z-index:5; max-height:220px; overflow:auto; background:#fff; border:1px solid #dbe4f0; border-radius:8px; box-shadow:0 8px 24px #102a5626; }
.appointment-search-results[hidden] { display:none; }
.appointment-search-results button,.appointment-search-results > div { display:block; width:100%; padding:10px 12px; border:0; background:#fff; color:#102a56; text-align:left; white-space:normal; }
.appointment-search-results button:hover,.appointment-search-results button[aria-selected="true"] { background:#edf4ff; }
.appointment-search-details { display:block; margin-top:6px; color:#526580; }
