@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9375rem;line-height:1.6;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.lang-selector{background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;gap:2px;padding:3px}.lang-btn{background:#0000;border:none;border-radius:6px;color:var(--text-2);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;padding:4px 11px;transition:background .15s,color .15s}.lang-btn--active{background:var(--primary);color:#fff}.lang-btn:hover:not(.lang-btn--active){background:var(--border);color:var(--text-1)}.sidebar{border-right:1px solid var(--border);color:var(--text-2);height:100vh;overflow:hidden;transition:transform .25s ease;width:240px;width:var(--sidebar-w,240px);z-index:200}.sidebar-inner{display:flex;flex-direction:column;height:100%;min-height:0}.sidebar-logo-area{align-items:center;border-bottom:1px solid var(--border);display:flex;min-height:82px;padding:18px 20px 16px}.sidebar-logo{display:block;max-height:48px;max-width:166px;object-fit:contain;width:auto}.sidebar-logo-placeholder{color:var(--primary);font-size:.9rem;font-weight:800;letter-spacing:.02em}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto;padding:12px 12px 16px}.sidebar-section-label{color:var(--text-3);font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:8px 10px 6px;text-transform:uppercase}.sidebar-section-label--spaced{border-top:1px solid var(--border);margin-top:12px;padding-top:16px}.sidebar-link{border-radius:7px;color:inherit;display:block;margin:2px 0;text-decoration:none}.sidebar-link-content{align-items:center;border-left:3px solid #0000;border-radius:7px;color:var(--text-2);display:flex;gap:10px;padding:8px 10px;transition:background .15s,color .15s,border-color .15s}.sidebar-link:hover .sidebar-link-content{background:#f8fafc;color:var(--text-1)}.sidebar-link.active .sidebar-link-content{background:var(--primary-soft);border-left-color:var(--primary);color:var(--primary)}.sidebar-icon{color:#64748b;font-size:.86rem;min-width:18px;opacity:1}.sidebar-link.active .sidebar-icon{color:var(--primary)}.sidebar-link-text{font-size:.84rem;font-weight:650;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{background:#fff;border-top:1px solid var(--border);padding:12px}.sidebar-tool-link{margin-bottom:8px}.sidebar-language{grid-gap:7px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;display:grid;gap:7px;margin:6px 0 12px;padding:10px}.sidebar-language-label,.sidebar-user-label{color:var(--text-3);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sidebar-language .lang-selector{background:#fff;width:100%}.sidebar-language .lang-btn{flex:1 1}.sidebar-user-info{border-top:1px solid var(--border);margin:10px 0 8px;padding:10px}.sidebar-username{color:var(--text-1);font-size:.9rem;font-weight:800;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}.sidebar-role{background:#eef2ff;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.72rem;font-weight:700;margin-top:5px;padding:2px 7px;text-transform:capitalize}.sidebar-logout-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text-2);cursor:pointer;display:flex;font-family:inherit;font-size:.84rem;font-weight:700;gap:8px;justify-content:center;padding:8px 10px;transition:background .15s,border-color .15s,color .15s;width:100%}.sidebar-logout-btn:focus,.sidebar-logout-btn:hover{background:var(--danger-bg);border-color:#fecaca;color:var(--danger)}.sidebar-logout-btn:focus .sidebar-icon,.sidebar-logout-btn:hover .sidebar-icon{color:var(--danger)}@media (max-width:768px){.sidebar{box-shadow:var(--shadow-lg);height:100vh;inset:0 auto 0 0;position:fixed;transform:translateX(-100%)}.sidebar--open{transform:translateX(0)}}.dashboard{max-width:1520px}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:50vh}.finance-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.finance-kpi{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--kpi-color);border-radius:8px;box-shadow:var(--shadow-xs);cursor:pointer;display:flex;gap:14px;justify-content:space-between;min-height:96px;padding:14px 16px;text-align:left;width:100%}.finance-kpi:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.finance-kpi__meta{grid-gap:5px;display:grid;gap:5px}.finance-kpi__meta span{color:var(--text-2);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.finance-kpi__meta strong{color:var(--text-1);font-size:23px;font-weight:800;line-height:1.05}.finance-kpi__meta em{color:var(--text-3);font-size:12px;font-style:normal}.finance-kpi__icon{background:var(--kpi-bg);border-radius:7px;color:var(--kpi-color);display:grid;flex:0 0 auto;height:34px;place-items:center;width:34px}.finance-kpi--danger{--kpi-color:#d61f1a;--kpi-bg:#fee2e2}.finance-kpi--success{--kpi-color:#15803d;--kpi-bg:#dcfce7}.finance-kpi--warning{--kpi-color:#b45309;--kpi-bg:#fef3c7}.finance-kpi--info{--kpi-color:#2563eb;--kpi-bg:#dbeafe}.finance-dashboard-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:2fr 1.2fr .9fr;margin-bottom:14px}.finance-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-xs);min-width:0;padding:14px}.finance-panel__head{align-items:baseline;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.finance-panel__head h2{color:var(--text-1);font-size:14px;font-weight:800}.finance-panel__head span{color:var(--text-3);font-size:12px;white-space:nowrap}.finance-chart{height:250px;position:relative}.finance-chart--donut{height:250px}.finance-lists{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.finance-mini-table{border-collapse:collapse;font-size:13px;width:100%}.finance-mini-table tr{cursor:default}.finance-mini-table tr:hover,.finance-mini-table tr[onclick]{cursor:pointer}.finance-mini-table td{border-bottom:1px solid var(--border);color:var(--text-1);padding:8px 2px;vertical-align:top}.finance-mini-table tr:last-child td{border-bottom:0}.finance-mini-table small{color:var(--text-3);display:block;font-size:11px;margin-top:2px}.money-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.money-cell.negative{color:var(--danger);font-weight:800}@media (max-width:1180px){.finance-kpi-grid,.finance-lists{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-dashboard-grid{grid-template-columns:1fr}}@media (max-width:720px){.finance-kpi-grid,.finance-lists{grid-template-columns:1fr}}.customers-page{max-width:1300px}.customers-table{min-width:620px}.customer-details-modal{width:100%}.customer-details-table{border-collapse:collapse;font-size:.9rem;width:100%}.customer-details-table td{border-bottom:1px solid var(--border);color:var(--text-1);padding:.5rem .75rem}.customer-details-table td:first-child{color:var(--text-2);font-weight:600;width:40%}.customer-details-table tr:last-child td{border-bottom:none}.customer-details-section{margin-top:1rem}.customer-edit-actions{border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}@media (max-width:768px){.customers-table{min-width:480px}}.popup-message{grid-gap:12px;align-items:start;animation:popup-message-in .18s ease-out;background:#fff;border:1px solid #e5e7eb;border-left-width:5px;border-radius:8px;bottom:24px;box-shadow:0 18px 40px #0f172a2e,0 4px 12px #0f172a1a;color:#111827;display:grid;gap:12px;grid-template-columns:32px minmax(0,1fr) 28px;padding:14px 14px 14px 16px;position:fixed;right:24px;width:min(420px,calc(100vw - 32px));z-index:10000}.popup-message--success{border-left-color:#16a34a}.popup-message--error{border-left-color:#dc2626}.popup-message__icon{align-items:center;border-radius:50%;display:inline-flex;font-size:18px;font-weight:800;height:32px;justify-content:center;line-height:1;width:32px}.popup-message--success .popup-message__icon{background:#dcfce7;color:#15803d}.popup-message--error .popup-message__icon{background:#fee2e2;color:#b91c1c}.popup-message__content{min-width:0}.popup-message__title{color:#0f172a;display:block;font-size:13px;font-weight:700;line-height:1.25;margin-bottom:3px}.popup-message__text{color:#475569;font-size:14px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.popup-message__close{align-items:center;background:#0000;border:0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:20px;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.popup-message__close:focus-visible,.popup-message__close:hover{background:#f1f5f9;color:#0f172a;outline:none}@keyframes popup-message-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.popup-message{bottom:16px;gap:10px;grid-template-columns:28px minmax(0,1fr) 28px;padding:12px;right:16px}.popup-message__icon{font-size:16px;height:28px;width:28px}}.vehicles-page{max-width:1300px}.vehicles-table{min-width:860px}.add-button{background:var(--primary);border-radius:var(--radius);font-family:inherit;font-size:.875rem;padding:.55rem 1.1rem}.add-button:hover{background:var(--primary-hover)}.vehicle-form{background:var(--bg);border-radius:var(--radius);gap:.75rem;padding:1rem}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}@media (max-width:768px){.vehicles-table{min-width:600px}}.add-button{background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1.2rem;padding:.6rem 1.2rem;transition:background .15s}.add-button:hover{background:#1d4ed8}.vehicles-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 1px 8px #0000000f;min-width:900px;overflow:hidden;width:100%}.vehicles-table td,.vehicles-table th{border-bottom:1px solid #e5e7eb;font-size:1.05rem;padding:.7rem 1rem;text-align:left}.vehicles-table th{background:#f1f5f9;color:#374151;font-weight:700}.vehicles-table tr:nth-child(2n){background:#f9fafb}.vehicles-table tr:last-child td{border-bottom:none}.vehicle-form{background:#f8fafc;border-radius:10px;box-shadow:0 1px 6px #0000000a;display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.2rem;padding:1rem 1.2rem}.vehicle-form .form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.7rem}.vehicle-form button,.vehicle-form input,.vehicle-form select{border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;padding:.6rem 1rem}.vehicle-form button{background:#2563eb;border:none;color:#fff;cursor:pointer;font-weight:600;transition:background .15s}.vehicle-form button:hover{background:#1d4ed8}.vehicles-filter-bar{align-items:flex-end;background:#f4f7fb;border-radius:8px;box-shadow:0 1px 4px #0000000a;display:flex;flex-wrap:wrap;gap:1.2rem;margin:1.2rem 0 1.5rem;padding:.8rem 1.2rem}.primary-btn{background:#2563eb;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;transition:background .15s}.primary-btn:hover{background:#1d4ed8}.modal-bg{align-items:center;background:#0000002e;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;max-width:90vw;min-width:340px;padding:2rem 1.5rem}.modal h2{font-size:1.3rem;margin-bottom:1.2rem;margin-top:0}.modal button.primary-btn{margin-top:1.2rem;width:100%}.modal .vehicle-form .form-row>div{align-items:flex-start;display:flex;flex-direction:column}.modal .vehicle-form .form-row>div label{color:#374151;font-size:.95rem;font-weight:500;margin-bottom:.4rem}.action-btn{align-items:center;background:#f0f9ff;border:1.5px solid #0000;border-radius:8px;box-shadow:0 1px 4px #38bdf814;color:#2563eb;cursor:pointer;display:inline-flex;font-size:1.13em;margin-right:.3em;outline:none;padding:.45em .7em;transition:background .13s,box-shadow .13s,transform .13s}.action-btn:last-child{margin-right:0}.action-btn:focus,.action-btn:hover{background:#2563eb;border:1.5px solid #2563eb;box-shadow:0 4px 16px #38bdf821;color:#fff;transform:translateY(-2px) scale(1.06)}.action-btn:active{background:#1d4ed8;border:1.5px solid #1d4ed8;color:#fff}.action-icon{color:inherit;font-size:1.15em}.section{background:#fff;background:var(--card-bg,#fff);border-radius:8px;box-shadow:0 1px 3px #00000014;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.section-title{color:#555;color:var(--text-secondary,#555);letter-spacing:.04em;margin:0 0 1rem;text-transform:uppercase}.form-grid{grid-gap:.85rem;gap:.85rem}.form-field{gap:.3rem}.form-field label{color:#555;color:var(--text-secondary,#555);font-size:.85rem}.form-field input,.form-field select{background:#fafafa;background:var(--input-bg,#fafafa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#222;color:var(--text-primary,#222);font-size:.95rem;padding:.45rem .65rem}.form-field input:focus,.form-field select:focus{border-color:#d61f1a;border-color:var(--primary-color,#d61f1a);outline:none}.form-actions{margin-top:1rem}.filter-bar{gap:12px}.filter-bar select{background:#fafafa;background:var(--input-bg,#fafafa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;font-size:.9rem;padding:.4rem .6rem}.table-wrapper{border-radius:8px;box-shadow:0 1px 3px #00000014}.data-table{background:#fff;background:var(--card-bg,#fff);border-collapse:collapse;font-size:.92rem;width:100%}.data-table th{background:#f1f5f9;background:var(--table-header-bg,#f1f5f9);color:#475569;color:var(--table-header-text,#475569);font-weight:600;padding:.7rem 1rem;text-align:left;white-space:nowrap}.data-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);padding:.65rem 1rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8fafc;background:var(--table-row-hover,#f8fafc)}.action-cell{gap:6px}.icon-btn{background:none;border:none;border-radius:5px;color:#1e40af;color:var(--primary-color-dark,#1e40af);font-size:1rem;padding:5px;transition:background .15s}.icon-btn:hover{background:#1e40af1a}.icon-btn--danger{color:#dc2626}.icon-btn--danger:hover{background:#dc26261a}.empty-row{color:#888;color:var(--text-secondary,#888);font-style:italic;padding:2rem}.table-loading{padding:3rem}.salesorder-page,.salesorders-page{max-width:1500px}.sales-summary-strip{grid-gap:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-xs);display:grid;gap:0;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px;overflow:hidden}.sales-summary-strip>div{border-right:1px solid var(--border);padding:12px 14px}.sales-summary-strip>div:last-child{border-right:0}.sales-summary-strip span{color:var(--text-3);display:block;font-size:10px;font-weight:800;letter-spacing:.07em;margin-bottom:5px;text-transform:uppercase}.sales-summary-strip strong{font-feature-settings:"tnum";color:var(--text-1);display:block;font-size:15px;font-variant-numeric:tabular-nums;font-weight:800}.sales-summary-strip__focus{background:var(--primary-soft)}.sales-summary-strip__focus strong{color:var(--primary);font-size:17px}.salesorder-table{min-width:1120px}.salesorder-table td:nth-child(6),.salesorder-table td:nth-child(7),.salesorder-table td:nth-child(8),.salesorder-table td:nth-child(9),.salesorder-table th:nth-child(6),.salesorder-table th:nth-child(7),.salesorder-table th:nth-child(8),.salesorder-table th:nth-child(9){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}@media (max-width:768px){.sales-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-summary-strip>div{border-bottom:1px solid var(--border)}.salesorder-table{min-width:980px}}.sales-ledger-page{max-width:1500px}.ledger-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.ledger-statement{background:#fff;border:1px solid #d1d5db;box-shadow:0 12px 28px #0f172a14;padding:20px}.ledger-company-bar{border-bottom:2px solid #111827;display:flex;gap:24px;justify-content:space-between;margin-bottom:18px;padding-bottom:16px}.ledger-company-left{align-items:flex-start;display:flex;gap:14px;min-width:0}.ledger-company-logo{height:76px;object-fit:contain;width:76px}.ledger-company-left h2{color:#111827;font-size:23px;font-weight:800;line-height:1.1;margin:0 0 5px}.ledger-company-left p{color:#4b5563;font-size:12px;line-height:1.35;margin:2px 0}.ledger-document-meta{min-width:230px;text-align:right}.ledger-document-meta span{color:#991b1b;display:block;font-size:18px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.ledger-document-meta em,.ledger-document-meta strong{color:#374151;display:block;font-size:13px;font-style:normal;margin-top:7px}.ledger-header{grid-column-gap:24px;grid-row-gap:10px;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;column-gap:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px;padding:14px 0;row-gap:10px}.ledger-header>div{background:#0000;min-height:0;padding:0}.ledger-header span{color:#64748b;display:block;font-size:12px;margin-bottom:5px}.ledger-header strong{color:#111827;display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.ledger-summary-row{grid-column-gap:24px;grid-row-gap:10px;border-bottom:2px solid #111827;column-gap:24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px;padding:12px 0;row-gap:10px}.ledger-summary-row>div{background:#0000;border:0;padding:0}.ledger-summary-row span{color:#64748b;display:block;font-size:11px;font-weight:800;text-transform:uppercase}.ledger-summary-row strong{color:#0f172a;display:block;font-size:16px;font-weight:800;margin-top:4px}.ledger-table-wrap{overflow-x:auto}.ledger-table{min-width:1540px;table-layout:fixed}.ledger-table td,.ledger-table th{white-space:nowrap}.ledger-col-date{width:105px}.ledger-col-type{width:96px}.ledger-col-description{width:250px}.ledger-col-money{width:118px}.ledger-col-remarks{width:270px}.ledger-col-actions{width:150px}.ledger-table tbody td:nth-child(11),.ledger-table tbody td:nth-child(3){overflow-wrap:anywhere;white-space:normal;word-break:normal}.ledger-table thead th:nth-child(11),.ledger-table thead th:nth-child(3){overflow-wrap:normal;word-break:normal}.ledger-table th{background:#111827;color:#fff;font-size:11px;line-height:1.15;text-transform:uppercase;white-space:normal}.ledger-table tfoot td{background:#f3f4f6;color:#111827;font-weight:800}.ledger-row-actions{display:flex;flex-wrap:wrap;gap:6px}.ledger-table td:nth-child(10),.ledger-table td:nth-child(4),.ledger-table td:nth-child(5),.ledger-table td:nth-child(6),.ledger-table td:nth-child(7),.ledger-table td:nth-child(8),.ledger-table td:nth-child(9),.ledger-table th:nth-child(10),.ledger-table th:nth-child(4),.ledger-table th:nth-child(5),.ledger-table th:nth-child(6),.ledger-table th:nth-child(7),.ledger-table th:nth-child(8),.ledger-table th:nth-child(9){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.ledger-statement-footer{grid-gap:48px;color:#374151;display:grid;font-size:13px;font-weight:700;gap:48px;grid-template-columns:repeat(3,1fr);margin:42px 0 14px;text-align:center}.ledger-statement-footer span{background:#6b7280;display:block;height:1px;margin-bottom:8px}.ledger-disclaimer{border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px;margin:0;padding-top:10px;text-align:center}.ledger-entry-preview{grid-gap:10px 16px;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;display:grid;gap:10px 16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:2px 0 4px;padding:12px 0}.ledger-entry-preview span{color:#64748b;display:block;font-size:11px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.ledger-entry-preview strong{color:#111827;display:block;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.ledger-pdf-preview{grid-gap:14px;display:grid;gap:14px}.ledger-pdf-preview iframe{background:#f8fafc;border:1px solid #d1d5db;border-radius:6px;height:min(72vh,760px);width:100%}.ledger-pdf-actions{display:flex;gap:10px;justify-content:flex-end}.ledger-pdf-actions a{text-decoration:none}.ledger-statement--pdf .ledger-table-wrap{overflow:visible}.ledger-statement--pdf .ledger-table{font-size:10px;min-width:0;table-layout:fixed;width:100%}.ledger-statement--pdf .ledger-table td,.ledger-statement--pdf .ledger-table th{line-height:1.22;padding:6px 5px;vertical-align:top}.ledger-statement--pdf .ledger-col-date,.ledger-statement--pdf .ledger-col-type{width:6%}.ledger-statement--pdf .ledger-col-description{width:16%}.ledger-statement--pdf .ledger-col-money{width:8%}.ledger-statement--pdf .ledger-col-remarks{width:14%}.ledger-statement--pdf .ledger-table td:nth-child(11),.ledger-statement--pdf .ledger-table td:nth-child(3){overflow-wrap:anywhere;white-space:normal;word-break:normal}.ledger-statement--pdf .ledger-col-actions{width:0}.ledger-statement--pdf .print-hidden{display:none!important}@media print{.ledger-actions,.print-hidden{display:none!important}.sales-ledger-page{max-width:none}.ledger-table{font-size:7px;min-width:0;table-layout:fixed;width:100%}.ledger-col-date{width:8%}.ledger-col-type{width:7%}.ledger-col-description{width:18%}.ledger-col-money{width:7%}.ledger-col-remarks{width:18%}.ledger-col-actions{width:0}.ledger-table td,.ledger-table th{line-height:1.1;padding:3px 2px}.ledger-table td:nth-child(11),.ledger-table td:nth-child(3){overflow-wrap:anywhere;white-space:normal}.ledger-statement{border:0;box-shadow:none;padding:0}}@media (max-width:768px){.ledger-actions{align-items:stretch;flex-direction:column}.ledger-table{min-width:1200px}.ledger-company-bar,.ledger-company-left{flex-direction:column}.ledger-document-meta{text-align:left}.ledger-entry-preview,.ledger-statement-footer,.ledger-summary-row{grid-template-columns:1fr}}.bookkeeping-page{max-width:1100px}.bookkeeping-table{min-width:920px}.bookkeeping-table-container{width:100%}.bookkeeping-add-section{margin-bottom:1.25rem}.bookkeeping-search{min-width:240px}.bookkeeping-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bookkeeping-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.bookkeeping-summary__chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex:1 1 150px;padding:.85rem 1.1rem}.bookkeeping-summary__chip .label{color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.bookkeeping-summary__chip .value{color:var(--text-1);font-size:1.3rem;font-weight:700;margin-top:.2rem}.bookkeeping-summary__chip--income .value{color:var(--success)}.bookkeeping-summary__chip--expense .value{color:var(--danger)}@media (max-width:768px){.bookkeeping-table{min-width:820px}.bookkeeping-search{width:100%}}.invoice-page{background:#f3f4f6;color:#111827;font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh;padding:20px}.invoice-page>h1{font-size:22px;margin:0 auto 14px;max-width:980px}.invoice-container{background:#fff;border:1px solid #d1d5db;box-shadow:0 1px 3px #0f172a14;margin:0 auto 18px;max-width:980px;padding:32px 38px}.invoice-topbar{border-bottom:2px solid #111827;display:flex;gap:24px;justify-content:space-between;padding-bottom:16px}.invoice-brand{align-items:flex-start;display:flex;gap:14px;min-width:0}.invoice-logo{height:72px;object-fit:contain;width:72px}.invoice-company{color:#111827;font-size:22px;font-weight:800;line-height:1.1}.invoice-business-details{color:#4b5563;font-size:12px;line-height:1.45;margin-top:5px}.invoice-document-title{min-width:210px;text-align:right}.invoice-document-title span{color:#991b1b;display:block;font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.invoice-document-title strong{color:#374151;display:block;font-size:13px;margin-top:8px}.invoice-status-pill{border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-style:normal;font-weight:800;margin-top:10px;padding:4px 9px;text-transform:uppercase}.invoice-status-pill--paid{color:#166534}.invoice-status-pill--partial{color:#92400e}.invoice-status-pill--unpaid{color:#991b1b}.invoice-meta-grid{grid-gap:18px;border-bottom:1px solid #e5e7eb;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0;padding:12px 0}.invoice-meta-grid>div{min-width:0}.invoice-meta-grid span{color:#6b7280;display:block;font-size:11px;font-weight:800;margin-bottom:5px;text-transform:uppercase}.invoice-meta-grid input,.invoice-meta-grid select,.invoice-meta-grid strong{color:#111827;font-size:13px;font-weight:700}.invoice-parties{grid-gap:34px;border-bottom:1px solid #e5e7eb;display:grid;gap:34px;grid-template-columns:1fr 1.15fr;margin:0 0 18px;padding-bottom:16px}.invoice-party-block{min-width:0}.invoice-bank-details h3,.invoice-party-block h3{color:#111827;font-size:12px;font-weight:800;letter-spacing:.04em;margin:0 0 9px;text-transform:uppercase}.invoice-bank-details p,.invoice-party-block p{color:#374151;font-size:13px;margin:4px 0}.invoice-party-name{color:#111827!important;font-size:16px!important;font-weight:800}.invoice-definition-list{grid-gap:6px;display:grid;gap:6px;margin:0}.invoice-definition-list div{grid-gap:10px;display:grid;gap:10px;grid-template-columns:96px minmax(0,1fr)}.invoice-definition-list dt{color:#6b7280;font-size:12px;font-weight:700}.invoice-definition-list dd{color:#111827;font-size:13px;font-weight:650;margin:0;overflow-wrap:anywhere}.invoice-table{border-collapse:collapse;margin:18px 0;width:100%}.invoice-table td,.invoice-table th{border-bottom:1px solid #d1d5db;font-size:13px;padding:10px 0;text-align:left;vertical-align:top}.invoice-table th{border-top:2px solid #111827;color:#374151;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.invoice-table td:last-child,.invoice-table th:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.invoice-table tbody tr:last-child td{border-bottom:2px solid #111827;color:#111827;font-weight:800}.invoice-inline-currency{color:#374151;font-weight:700}.invoice-bottom-grid{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) 320px;margin:18px 0}.invoice-total-box{grid-gap:7px;border-top:1px solid #d1d5db;display:grid;gap:7px;padding-top:8px}.invoice-total-box div{color:#374151;display:flex;font-size:13px;gap:18px;justify-content:space-between}.invoice-total-box strong{font-feature-settings:"tnum";color:#111827;font-variant-numeric:tabular-nums}.invoice-total-box__grand{border-top:2px solid #111827;color:#111827!important;font-size:16px!important;font-weight:800;margin-top:5px;padding-top:8px}.invoice-footer-note{border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;color:#374151;font-size:13px;line-height:1.5;margin:18px 0;padding:10px 0}.invoice-notes{margin-top:18px}.invoice-notes label{color:#374151;display:block;font-size:12px;font-weight:800;margin-bottom:6px;text-transform:uppercase}.invoice-notes textarea{background:#fff;border:0;border-bottom:1px solid #d1d5db;border-radius:0;border-top:1px solid #d1d5db;color:#111827;font-size:13px;min-height:64px;padding:9px 0;resize:vertical;width:100%}.invoice-signatures{grid-gap:52px;color:#374151;display:grid;font-size:13px;font-weight:700;gap:52px;grid-template-columns:1fr 1fr;margin:42px 0 14px;text-align:center}.invoice-signatures span{background:#6b7280;display:block;height:1px;margin-bottom:8px}.invoice-disclaimer{border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px;margin:0;padding-top:10px;text-align:center}.invoice-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.primary-btn,.secondary-btn{border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:9px 15px}.primary-btn{background:#d61f1a}.secondary-btn{background:#4b5563}.invoice-container input,.invoice-container select{background:#0000;border:1px solid #0000;border-radius:4px;color:inherit;font:inherit;max-width:150px;text-align:inherit}.invoice-container input:focus,.invoice-container select:focus{background:#fff;border-color:#d1d5db;outline:none}@media print{.invoice-page,body{background:#fff}.invoice-page{padding:0}.header,.invoice-actions,.invoice-page>h1,.invoice-status,.sidebar{display:none!important}.invoice-container{border:0;box-shadow:none;max-width:none;padding:0}}@media (max-width:760px){.invoice-page{padding:12px}.invoice-container{overflow-x:auto;padding:22px 16px}.invoice-brand,.invoice-topbar{flex-direction:column}.invoice-document-title{text-align:left}.invoice-bottom-grid,.invoice-meta-grid,.invoice-parties,.invoice-signatures{grid-template-columns:1fr}.invoice-table{min-width:640px}}.receipt-container{background:#f3f4f6;color:#111827;min-height:100vh;padding:24px}.receipt-page{background:#fff;border:1px solid #d1d5db;box-shadow:0 18px 40px #0f172a1f;font-family:Inter,Segoe UI,Arial,sans-serif;margin:24px auto;max-width:820px;padding:34px 38px}.receipt-topbar{border-bottom:2px solid #111827;display:flex;gap:24px;justify-content:space-between;padding-bottom:18px}.receipt-brand{align-items:flex-start;display:flex;gap:16px;min-width:0}.receipt-logo{height:84px;object-fit:contain;width:84px}.receipt-company{color:#111827;font-size:24px;font-weight:800;line-height:1.1}.receipt-business-details{color:#4b5563;font-size:13px;line-height:1.45;margin-top:6px}.receipt-document-title{min-width:180px;text-align:right;text-transform:uppercase}.receipt-document-title span{color:#991b1b;display:block;font-size:21px;font-weight:800;letter-spacing:.04em}.receipt-document-title strong{color:#374151;display:block;font-size:13px;letter-spacing:0;margin-top:8px;text-transform:none}.receipt-document-title em{color:#475569;display:block;font-size:13px;font-style:normal;margin-top:6px;text-transform:none}.receipt-info-grid{grid-column-gap:34px;grid-row-gap:16px;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;column-gap:34px;display:grid;grid-template-columns:1fr 1.25fr;margin:20px 0;padding:14px 0;row-gap:16px}.receipt-info-grid section{background:#0000;border:0;min-width:0;padding:0}.receipt-info-grid h3{color:#111827;font-size:13px;font-weight:800;margin:0 0 10px;text-transform:uppercase}.receipt-info-grid p{color:#374151;font-size:14px;margin:4px 0}.receipt-party-name{color:#111827!important;font-size:17px!important;font-weight:800}.receipt-definition-list{grid-gap:7px;display:grid;gap:7px;margin:0}.receipt-definition-list div{grid-gap:10px;display:grid;gap:10px;grid-template-columns:92px minmax(0,1fr)}.receipt-definition-list dt{color:#6b7280;font-size:13px;font-weight:700}.receipt-definition-list dd{color:#111827;font-size:13px;font-weight:600;margin:0;overflow-wrap:anywhere}.receipt-table{border-collapse:collapse;margin:16px 0;width:100%}.receipt-table td,.receipt-table th{border:0;border-bottom:1px solid #e5e7eb;padding:10px 0;text-align:left}.receipt-table th{background:#0000;border-bottom:1px solid #111827;border-top:2px solid #111827;color:#374151;font-size:12px;font-weight:800;text-transform:uppercase}.receipt-table tbody tr:last-child td{border-bottom:2px solid #111827;font-weight:800}.amount-cell{text-align:right!important;white-space:nowrap}.receipt-paid-amount{color:#15803d;font-weight:800}.receipt-notes{border-top:1px solid #e5e7eb;color:#374151;font-size:13px;line-height:1.5;margin:18px 0;padding:10px 0 0}.receipt-signatures{grid-gap:42px;color:#374151;display:grid;font-size:13px;font-weight:700;gap:42px;grid-template-columns:1fr 1fr;margin:42px 0 18px;text-align:center}.receipt-signatures span{background:#6b7280;display:block;height:1px;margin-bottom:8px}.receipt-footer{border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px;padding-top:12px;text-align:center}.receipt-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.receipt-not-found{color:#991b1b;margin:80px auto;text-align:center}@media print{.receipt-container{background:#fff;padding:0}.receipt-page{border:0;box-shadow:none;margin:0;max-width:none}.receipt-actions{display:none}}@media (max-width:720px){.receipt-container{padding:12px}.receipt-page{padding:22px 16px}.receipt-brand,.receipt-topbar{flex-direction:column}.receipt-document-title{text-align:left}.receipt-info-grid,.receipt-signatures{grid-template-columns:1fr}}.login-wrapper{align-items:center;background:#f0f2f5;background:var(--bg,#f0f2f5);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:20px;box-shadow:0 8px 48px #0000001a,0 2px 8px #0000000d;max-width:400px;padding:2.5rem 2.25rem 2.25rem}.login-logo{border-radius:12px;height:80px;width:180px}.login-brand{color:#0f172a;color:var(--text-1,#0f172a);font-size:1.3rem;margin-bottom:.2rem}.login-tagline{color:#94a3b8;color:var(--text-3,#94a3b8);font-size:.85rem}.login-form{gap:1.1rem}.login-field{gap:.35rem}.login-field label{color:#475569;color:var(--text-2,#475569);font-size:.8125rem}.login-input-icon{color:var(--text-3,#94a3b8);font-size:.95rem}.login-field input{background:#f0f2f5;background:var(--bg,#f0f2f5);border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2,#cbd5e1)!important;border-radius:8px!important;border-radius:var(--radius,8px)!important;color:#0f172a;color:var(--text-1,#0f172a);font-family:inherit;font-size:.9375rem;padding:.7rem 1rem .7rem 2.5rem;transition:border-color .15s,box-shadow .15s,background .15s}.login-field input:focus{background:var(--surface,#fff);border-color:#d61f1a!important;border-color:var(--primary,#d61f1a)!important}.login-field input::placeholder{color:#94a3b8;color:var(--text-3,#94a3b8)}.login-btn{background:var(--primary,#d61f1a);border-radius:8px;border-radius:var(--radius,8px);box-shadow:0 2px 8px #d61f1a33;font-family:inherit;font-size:.9375rem;letter-spacing:.2px;margin-top:.35rem;padding:.8rem}.login-btn:hover:not(:disabled){background:var(--primary-hover,#b91c1c)}.login-btn:disabled{opacity:.6}.login-error{background:var(--danger-bg,#fef2f2);border-radius:var(--radius,8px);color:#dc2626;color:var(--danger,#dc2626);font-size:.875rem}.login-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000001a;display:flex;flex-direction:column;max-width:420px;padding:2.8rem 2.4rem 2.4rem;width:100%}.login-logo{border-radius:14px;height:100px;margin-bottom:1rem;object-fit:contain;width:200px}.login-brand{color:#1a1a2e;font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.25rem;text-align:center}.login-tagline{color:#64748b;font-size:.9rem;margin-bottom:2rem;text-align:center}.login-form{gap:1.2rem;width:100%}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:.4rem}.login-field label{color:#374151;font-size:.85rem;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:#94a3b8;font-size:1rem;left:.85rem;pointer-events:none;position:absolute}.login-field input{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;box-sizing:border-box;color:#1a1a2e;font-size:1rem;outline:none;padding:.72rem 1rem .72rem 2.5rem;transition:border-color .15s,box-shadow .15s;width:100%}.login-field input:focus{background:#fff;border-color:#d61f1a;box-shadow:0 0 0 3px #d61f1a1a}.login-field input::placeholder{color:#b0b7c3}.login-btn{background:#d61f1a;border:none;border-radius:9px;box-shadow:0 2px 8px #d61f1a2e;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.3px;margin-top:.4rem;padding:.82rem;transition:background .15s,transform .1s,box-shadow .15s;width:100%}.login-btn:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 16px #d61f1a47;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.9rem;margin-top:-.3rem;padding:.65rem 1rem;text-align:center;width:100%}:root{--primary:#d61f1a;--primary-hover:#b91c1c;--primary-light:#fee2e2;--primary-soft:#fff1f1;--bg:#f0f2f5;--surface:#fff;--border:#e2e8f0;--border-2:#cbd5e1;--text-1:#0f172a;--text-2:#475569;--text-3:#94a3b8;--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--radius:8px;--radius-lg:14px;--radius-xl:20px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 4px #00000012,0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014,0 1px 4px #0000000a;--shadow-lg:0 10px 40px #0000001f;--sidebar-w:240px;--topbar-h:56px;--primary-color:#d61f1a;--primary-color-dark:#b91c1c;--primary-color-light:#fee2e2;--sidebar-bg:#fff;--sidebar-active-bg:#fff1f1;--sidebar-text:#334155;--sidebar-icon:#d61f1a;--sidebar-hover-bg:#f8fafc;--main-bg:#f0f2f5;--card-bg:#fff;--table-header-bg:#f8fafc;--table-header-text:#334155;--table-row-hover:#f8fafc;--btn-primary-bg:#d61f1a;--btn-primary-text:#fff;--btn-primary-hover:#b91c1c;--input-border:#e2e8f0;--input-focus:#d61f1a;--section-bg:#fff;--section-border:#e2e8f0}.App,body{background:var(--bg)}.App,body,h1,h2,h3,h4,h5,h6{color:#0f172a;color:var(--text-1)}h1,h2,h3,h4,h5,h6{font-weight:700;margin:0}a{color:#d61f1a;color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-root{align-items:flex-start;background:#f0f2f5;background:var(--bg)}.main-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:100vh;overflow-x:hidden}.topbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-xs);display:flex;gap:.75rem;height:56px;height:var(--topbar-h);padding:0 1.5rem 0 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.topbar__hamburger{background:none;border:none;border-radius:6px;color:#475569;color:var(--text-2);cursor:pointer;display:none;font-size:1.1rem;padding:6px;transition:background .15s}.topbar__hamburger:hover{background:#f0f2f5;background:var(--bg)}.topbar__brand{color:#d61f1a;color:var(--primary);font-size:1rem;font-weight:700;letter-spacing:-.3px}.topbar__spacer{flex:1 1}.topbar__right{align-items:center;display:flex;gap:.75rem}.topbar__user{align-items:flex-end;display:flex;flex-direction:column;line-height:1.2}.topbar__username{color:#0f172a;color:var(--text-1);font-size:.85rem;font-weight:600}.topbar__role{color:#94a3b8;color:var(--text-3);font-size:.72rem;text-transform:capitalize}.main-content{background:var(--bg);padding:1.75rem 2rem}.sidebar-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#00000073;display:none;inset:0;position:fixed;z-index:150}.card,.section{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #00000012,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem 1.75rem}.section-title{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#0f172a;color:var(--text-1);font-size:1rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem}.form-grid{grid-gap:1rem 1.25rem;display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{color:#475569;color:var(--text-2);font-size:.8125rem;font-weight:500;letter-spacing:.01em}.form-field input,.form-field select,.form-field textarea{background:#fff;background:var(--surface);border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2)!important;border-radius:8px!important;border-radius:var(--radius)!important;box-sizing:border-box;color:#0f172a;color:var(--text-1);font-family:inherit;font-size:.9rem;outline:none;padding:.55rem .85rem;transition:border-color .15s,box-shadow .15s;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#d61f1a!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px #d61f1a1a}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}input,select,textarea{font-family:inherit}input:not([class*=react-select]),select:not([class*=react-select]){background:#fff;background:var(--surface);border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2)!important;border-radius:8px!important;border-radius:var(--radius)!important;color:#0f172a;color:var(--text-1);outline:none}input:focus:not([class*=react-select]),select:focus:not([class*=react-select]){border-color:#d61f1a!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px #d61f1a17}.bookkeeping-table,.customers-table,.data-table,.payments-table,.salesorder-table,.vehicles-table{background:#fff;background:var(--surface);border-collapse:collapse;font-size:.9rem;width:100%}.bookkeeping-table th,.customers-table th,.data-table th,.payments-table th,.salesorder-table th,.vehicles-table th{background:#f0f2f5!important;background:var(--bg)!important;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);color:#475569!important;color:var(--text-2)!important;font-size:.78rem;font-weight:600;letter-spacing:.06em;padding:.65rem .9rem;text-align:left;text-transform:uppercase;white-space:nowrap}.bookkeeping-table td,.customers-table td,.data-table td,.payments-table td,.salesorder-table td,.vehicles-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#0f172a;color:var(--text-1);padding:.7rem .9rem;vertical-align:middle}.bookkeeping-table tr:last-child td,.customers-table tr:last-child td,.data-table tr:last-child td,.payments-table tr:last-child td,.salesorder-table tr:last-child td,.vehicles-table tr:last-child td{border-bottom:none}.bookkeeping-table tr:hover td,.customers-table tr:hover td,.data-table tr:hover td,.payments-table tr:hover td,.salesorder-table tr:hover td,.vehicles-table tr:hover td{background:#fff1f1!important;background:var(--primary-soft)!important}.table-wrapper{border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #00000012,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);overflow-x:auto}.table-loading,.table-wrapper{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border)}.table-loading{align-items:center;border-radius:14px;border-radius:var(--radius-lg);display:flex;justify-content:center;min-height:200px}.empty-row{color:#94a3b8;color:var(--text-3);font-size:.9rem;padding:3rem 1rem!important;text-align:center}.action-cell{align-items:center;display:flex;gap:.5rem;white-space:nowrap}.icon-btn{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:7px;color:#475569;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:.85rem;height:30px;justify-content:center;transition:background .15s,color .15s,border-color .15s;width:30px}.icon-btn:hover{background:#f0f2f5;background:var(--bg);border-color:#d61f1a;border-color:var(--primary);color:#d61f1a;color:var(--primary)}.icon-btn--danger{border-color:#0000}.icon-btn--danger:hover{background:#fef2f2;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.link-btn{background:none;border:none;color:#d61f1a;color:var(--primary);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:#b91c1c;color:var(--primary-hover)}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-xs);gap:.75rem}.filter-bar input,.filter-bar select{background:#f0f2f5;background:var(--bg);border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2)!important;border-radius:8px!important;border-radius:var(--radius)!important;color:#0f172a;color:var(--text-1);font-family:inherit;font-size:.875rem;outline:none;padding:.48rem .8rem;transition:border-color .15s}.filter-bar input:focus,.filter-bar select:focus{background:#fff;background:var(--surface);border-color:#d61f1a!important;border-color:var(--primary)!important}.filter-label{display:none}.date-range-row{gap:.5rem}.date-range-row span{color:var(--text-3)}.date-range-row input[type=date]{background:var(--bg);border:1.5px solid var(--border-2)!important;border-radius:var(--radius)!important;color:var(--text-1);padding:.44rem .7rem}.pg-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.pg-btn:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.pg-info,.pg-size{color:var(--text-2)}.pg-size{background:var(--surface);border:1px solid var(--border)}.overdue-alert{background:var(--warning-bg);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-xs)}.overdue-alert__title{color:var(--warning)}.overdue-alert__badge{background:var(--warning);font-size:.75rem}.overdue-chip{background:var(--surface);color:var(--warning)}.dashboard-loading,.page-loading{align-items:center;color:#94a3b8;color:var(--text-3);display:flex;justify-content:center;min-height:60vh}.react-select__control{background:#fff!important;background:var(--surface)!important;border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2)!important;border-radius:8px!important;border-radius:var(--radius)!important;box-shadow:none!important;font-size:.9rem;min-height:37px!important}.react-select__control--is-focused{border-color:#d61f1a!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px #d61f1a17!important}.react-select__menu{border-radius:8px!important;border-radius:var(--radius)!important;box-shadow:0 4px 16px #00000014,0 1px 4px #0000000a!important;box-shadow:var(--shadow-md)!important}.react-select__menu,.react-select__menu-portal{z-index:10000!important}.react-select__option--is-focused{background:#fff1f1!important;background:var(--primary-soft)!important}.react-select__option--is-selected{background:#d61f1a!important;background:var(--primary)!important}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--border-2);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-3)}@media (max-width:768px){.topbar__hamburger{display:flex}.sidebar-overlay{display:block}.main-content{padding:1.25rem 1rem}.form-grid{grid-template-columns:1fr}.filter-bar{align-items:stretch;flex-direction:column}}@media (max-width:480px){.main-content{padding:1rem .75rem}.topbar{padding:0 1rem}.topbar__brand{font-size:.85rem}}.App,body{background:#f0f2f5;background:var(--main-bg);color:#222}.app,.app-root{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--sidebar-bg);box-sizing:border-box;color:#334155;color:var(--sidebar-text);flex-shrink:0;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;width:220px;z-index:10}.sidebar nav a{color:#000;display:block;margin:.5rem 0;text-decoration:none}.sidebar-link-content{color:#334155;color:var(--sidebar-text)}.sidebar-link.active .sidebar-link-content,.sidebar-link:focus .sidebar-link-content{border-radius:6px;color:#d61f1a;color:var(--primary-color)}.sidebar-link:hover .sidebar-link-content{color:#d61f1a;color:var(--primary-color)}.sidebar-icon{color:#d61f1a;color:var(--sidebar-icon)}.main-content{background:#f0f2f5;background:var(--main-bg);box-sizing:border-box;flex:1 1;min-height:100vh;padding:2rem 2.5rem 2rem 2rem}.bookkeeping-section,.card,.customer-details-modal,.dashboard-card,.modal,.payments-section,.salesorder-section,.section,.summary-card,.vehicles-section{background:#fff;background:var(--section-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--section-border);border-radius:12px;box-shadow:0 2px 8px #2074500a;margin-bottom:2rem;padding:2rem 2.2rem}.bookkeeping-table th,.customers-table th,.payments-table th,.salesorder-table th,.vehicles-table th{background:#f8fafc;background:var(--table-header-bg);color:#334155;color:var(--table-header-text)}.bookkeeping-table tr:hover,.customers-table tr:hover,.payments-table tr:hover,.salesorder-table tr:hover,.vehicles-table tr:hover{background:#f8fafc;background:var(--table-row-hover)}.primary-btn{background:#d61f1a!important;background:var(--btn-primary-bg)!important;border:none;color:#fff!important;color:var(--btn-primary-text)!important}.primary-btn:focus,.primary-btn:hover{background:#b91c1c!important;background:var(--btn-primary-hover)!important}.react-select__control,input,select,textarea{background:#fff;border:1.5px solid #e2e8f0!important;border:1.5px solid var(--input-border)!important;border-radius:5px;color:#222}.react-select__control--is-focused,input:focus,select:focus{border-color:#d61f1a!important;border-color:var(--input-focus)!important;box-shadow:0 0 0 2px #20745022}.sidebar-logo,h1,h2,h3,h4,h5,h6{color:#d61f1a;color:var(--primary-color)}::-webkit-scrollbar-thumb{background:#fee2e2;background:var(--primary-color-light)}::-webkit-scrollbar-track{background:#fff}.react-select__input,.react-select__input-container{border:none!important;box-shadow:none!important}.react-select__input{outline:none!important}.react-select__input input,.react-select__input input:focus,.react-select__input-container input,.react-select__input-container input:focus{background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;outline:0!important;padding:0!important}.css-19bb58m:after{border:0!important;box-shadow:none!important;outline:0!important}.main-wrapper{min-width:0;width:calc(100vw - 240px);width:calc(100vw - var(--sidebar-w, 240px))}.mobile-shellbar{display:none}.main-content{overflow-x:auto;padding:1.35rem 1.5rem 1.75rem!important;width:100%}.page-header{align-items:center!important;flex-wrap:nowrap!important;gap:1rem!important;margin-bottom:1.15rem!important}.page-header__text{flex:1 1 auto;min-width:0}.page-header__subtitle,.page-header__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__actions{flex:0 0 auto;flex-wrap:nowrap!important}@media (max-width:768px){.main-wrapper{width:100vw}.mobile-shellbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;height:48px;padding:0 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:90}.mobile-shellbar__hamburger{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#475569;color:var(--text-2);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.main-content{padding:1rem!important}.page-header{align-items:flex-start!important;flex-wrap:wrap!important}.page-header__subtitle,.page-header__title{white-space:normal}.page-header__actions{flex-wrap:wrap!important;width:100%}}.table-wrapper{max-height:calc(100vh - 260px)}.bookkeeping-table th,.customers-table th,.data-table th,.payments-table th,.salesorder-table th,.vehicles-table th{background:#f8fafc!important;color:#334155!important;position:-webkit-sticky;position:sticky;top:0;z-index:2}.bookkeeping-table tr:hover td,.customers-table tr:hover td,.data-table tr:hover td,.payments-table tr:hover td,.salesorder-table tr:hover td,.vehicles-table tr:hover td{background:#f8fafc!important}.bookkeeping-table td,.bookkeeping-table th,.customers-table td,.customers-table th,.data-table td,.data-table th,.payments-table td,.payments-table th,.salesorder-table td,.salesorder-table th,.vehicles-table td,.vehicles-table th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bookkeeping-table td:nth-child(2),.bookkeeping-table th:nth-child(2),.vehicles-table td:nth-child(5),.vehicles-table td:nth-child(6),.vehicles-table th:nth-child(5),.vehicles-table th:nth-child(6){text-align:right}.ui-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius,8px);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;gap:.4rem;letter-spacing:.01em;transition:background .15s,box-shadow .15s,transform .1s,opacity .15s,border-color .15s;white-space:nowrap}.ui-btn--sm{font-size:.8125rem}.ui-btn--md{font-size:.875rem}.ui-btn--lg{font-size:.9375rem}.ui-btn--primary{background:#d61f1a;background:var(--primary,#d61f1a);box-shadow:0 1px 3px #d61f1a33}.ui-btn--primary:hover:not(:disabled){background:var(--primary-hover,#b91c1c);box-shadow:0 4px 12px #d61f1a40}.ui-btn--secondary{background:#f0f2f5;background:var(--bg,#f0f2f5);border:1.5px solid #e2e8f0;border:1.5px solid var(--border,#e2e8f0);color:#0f172a;color:var(--text-1,#0f172a)}.ui-btn--secondary:hover:not(:disabled){background:#e2e8f0;background:var(--border,#e2e8f0);border-color:#cbd5e1;border-color:var(--border-2,#cbd5e1)}.ui-btn--danger{background:#dc2626;background:var(--danger,#dc2626)}.ui-btn--danger:hover:not(:disabled){background:#b91c1c}.ui-btn--ghost{border:1.5px solid #e2e8f0;border:1.5px solid var(--border,#e2e8f0);color:#d61f1a;color:var(--primary,#d61f1a)}.ui-btn--ghost:hover:not(:disabled){background:#fff1f1;background:var(--primary-soft,#fff1f1);border-color:#d61f1a;border-color:var(--primary,#d61f1a)}.ui-btn--loading,.ui-btn:disabled{box-shadow:none!important;opacity:.55}.ui-btn-spinner{animation:spin .65s linear infinite;border:2px solid #ffffff59;height:13px;width:13px}.ui-spinner{border-top-color:#d61f1a;border:3px solid var(--border,#e2e8f0);border-top-color:var(--primary,#d61f1a);display:inline-block}.ui-badge{align-items:center;display:inline-flex;font-size:.75rem;letter-spacing:.03em;white-space:nowrap}.ui-badge--green{color:#15803d}.page-header{margin-bottom:1.5rem}.page-header__text{flex:1 1}.page-header__title{color:#0f172a;color:var(--text-1,#0f172a);font-size:1.4rem;line-height:1.25}.page-header__subtitle{color:#94a3b8;color:var(--text-3,#94a3b8);font-size:.85rem;font-weight:400;margin:.2rem 0 0}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080}.modal-box{background:var(--surface,#fff);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:0 10px 40px #00000026;box-shadow:var(--shadow-lg,0 10px 40px #00000026);max-height:92vh;max-width:600px;overflow-y:auto;width:100%}.modal-box--lg{max-width:780px}.modal-box--sm{max-width:400px}.modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:1.25rem 1.5rem}.modal-title{color:#0f172a;color:var(--text-1,#0f172a);font-size:1rem}.modal-close-btn{background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-3,#94a3b8);cursor:pointer;font-size:1.25rem;line-height:1;padding:4px;transition:color .15s,background .15s}.modal-close-btn:hover{background:#f0f2f5;background:var(--bg,#f0f2f5);color:#0f172a;color:var(--text-1,#0f172a)}.modal-body{flex:1 1;padding:1.5rem}.confirm-modal-msg{color:#0f172a;color:var(--text-1,#0f172a);font-size:.9375rem;line-height:1.6;margin-bottom:1.5rem}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.filter-bar{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:14px;border-radius:var(--radius-lg,14px);box-shadow:0 1px 2px #0000000a;display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;position:relative;z-index:30}.pagination-bar{gap:.5rem;justify-content:flex-end;padding:.75rem .25rem}.pagination-controls{gap:.25rem}.pg-btn{align-items:center;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:7px;color:#475569;color:var(--text-2,#475569);display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:500;height:32px;justify-content:center;min-width:32px;padding:0 .4rem;transition:background .15s,color .15s,border-color .15s}.pg-btn:hover:not(:disabled){background:#fff1f1;background:var(--primary-soft,#fff1f1);border-color:#d61f1a;border-color:var(--primary,#d61f1a);color:#d61f1a;color:var(--primary,#d61f1a)}.pg-btn:disabled{cursor:not-allowed}.pg-info{padding:0 .35rem;white-space:nowrap}.pg-info,.pg-size{color:#475569;color:var(--text-2,#475569);font-size:.82rem}.pg-size{background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:7px;font-family:inherit;padding:.3rem .6rem}.date-range-row{gap:.45rem}.date-range-row span{color:#94a3b8;color:var(--text-3,#94a3b8);font-size:.8rem}.date-range-row input[type=date]{background:#f0f2f5;background:var(--bg,#f0f2f5);border:1.5px solid #cbd5e1!important;border:1.5px solid var(--border-2,#cbd5e1)!important;border-radius:8px!important;border-radius:var(--radius,8px)!important;color:#0f172a;color:var(--text-1,#0f172a);font-family:inherit;font-size:.85rem;outline:none;padding:.4rem .65rem}.date-range-row input[type=date]:focus{background:#fff;background:var(--surface,#fff);border-color:#d61f1a!important;border-color:var(--primary,#d61f1a)!important}.overdue-alert{background:#fffbeb;background:var(--warning-bg,#fffbeb);border:1.5px solid #fcd34d;border-radius:14px;border-radius:var(--radius-lg,14px);margin-bottom:1.25rem;padding:1rem 1.25rem}.overdue-alert__title{color:#d97706;color:var(--warning,#d97706);font-size:.9rem}.overdue-alert__badge{align-items:center;background:#d97706;background:var(--warning,#d97706);display:inline-flex;font-size:.72rem;height:20px;justify-content:center;margin-left:.5rem;min-width:20px;padding:0 6px}.overdue-alert__list{gap:.5rem;margin-top:.65rem}.overdue-chip{background:var(--surface,#fff);border:1.5px solid #fcd34d;border-radius:999px;color:#d97706;color:var(--warning,#d97706);font-size:.78rem;font-weight:500;padding:.2rem .75rem;transition:background .15s}.overdue-chip:hover{background:#fef3c7;text-decoration:none}.ui-btn--sm{font-size:.8rem;padding:.35rem .8rem}.ui-btn--md{font-size:.95rem;padding:.55rem 1.1rem}.ui-btn--lg{font-size:1.05rem;padding:.75rem 1.5rem}.ui-btn--primary{background:var(--primary-color);box-shadow:0 2px 8px #d61f1a26;color:#fff}.ui-btn--primary:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 14px #d61f1a40;transform:translateY(-1px)}.ui-btn--secondary{background:#e2e8f0;color:#1e293b}.ui-btn--secondary:hover:not(:disabled){background:#cbd5e1}.ui-btn--danger{background:#ef4444;color:#fff}.ui-btn--danger:hover:not(:disabled){background:#dc2626}.ui-btn--ghost{background:#0000;border:1.5px solid var(--primary-color);color:var(--primary-color)}.ui-btn--ghost:hover:not(:disabled){background:#fef2f2}.ui-btn--loading,.ui-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.ui-btn-spinner{animation:spin .6s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.ui-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.2rem .65rem}.ui-badge--green{background:#dcfce7;color:#166534}.ui-badge--red{background:#fee2e2;color:#991b1b}.ui-badge--blue{background:#dbeafe;color:#1e40af}.ui-badge--yellow{background:#fef9c3;color:#854d0e}.ui-badge--gray{background:#f1f5f9;color:#475569}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.8rem}.page-header__title{color:#1a1a2e;font-size:1.6rem;font-weight:700;line-height:1.2;margin:0}.page-header__subtitle{color:#64748b;font-size:.9rem;margin:.25rem 0 0}.page-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-box{animation:modal-in .18s ease;background:#fff;border-radius:16px;box-shadow:0 16px 60px #0000002e;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-box--sm{max-width:420px;width:100%}.modal-box--md{max-width:600px;width:100%}.modal-box--lg{max-width:860px;width:100%}.modal-box--xl{max-width:none;width:min(1120px,calc(100vw - 2rem))}.modal-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:1.2rem 1.5rem .8rem}.modal-title{color:#1a1a2e;font-size:1.15rem;font-weight:700;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;transition:color .15s}.modal-close:hover{color:#1a1a2e}.modal-body{overflow-y:auto;padding:1.4rem 1.5rem}.ui-spinner{animation:spin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top:3px solid var(--primary-color)}.page-loading{align-items:center;color:#94a3b8;display:flex;font-size:1rem;justify-content:center;min-height:200px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.pagination-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:10px 4px}.pagination-controls{align-items:center;display:flex;gap:4px}.pg-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;padding:4px 10px;transition:background .15s}.pg-btn:hover:not(:disabled){background:#f1f5f9}.pg-btn:disabled{cursor:default;opacity:.4}.pg-info{color:#6b7280;font-size:.85rem;padding:0 6px}.pg-size{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.85rem;padding:4px 8px}.date-range-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.date-range-row label{color:#6b7280;font-size:.85rem}.date-range-row input[type=date]{border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;padding:5px 10px}.overdue-alert{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:14px 18px}.overdue-alert__title{color:#b91c1c;font-size:1rem;font-weight:700}.overdue-alert__badge{background:#d61f1a;border-radius:999px;color:#fff;font-size:.8rem;font-weight:700;padding:2px 10px}.overdue-alert__list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;width:100%}.overdue-chip{background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:.8rem;padding:3px 10px;text-decoration:none}.overdue-chip:hover{background:#fef2f2}@media (max-width:768px){.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:600px}.filter-bar{flex-wrap:wrap}.form-grid{grid-template-columns:1fr!important}.dashboard-cards-container{grid-template-columns:1fr 1fr!important}.dashboard-graphs{flex-direction:column!important}.dashboard-graph-section{min-width:0!important;min-width:auto!important;width:100%!important}}@media (max-width:480px){.dashboard-cards-container{grid-template-columns:1fr!important}.sidebar{position:static;width:100%}.main-content{margin-left:0}}
/*# sourceMappingURL=main.f2e0404c.css.map*/