@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#252525;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--orange:#e97132;--orange-dark:#c95720;--charcoal:#252525;--text-primary:#252525;--text-secondary:#777;--border:#e8e8e8;--surface:#fff;--page-bg:#f5f6f8;--success:#18864b;--danger:#d92d20;--warning:#b7791f;background:#f5f6f8;font-family:DM Sans,sans-serif}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text-primary);background:var(--page-bg);margin:0;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5}body,button,input,select,textarea{font-family:DM Sans,sans-serif}button,input,select,textarea{font-size:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:var(--orange)}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{color:var(--charcoal);margin-top:0;font-family:Manrope,sans-serif;line-height:1.3}p{margin-top:0}table{border-collapse:collapse;border-spacing:0}#root{width:100%;min-height:100vh}::selection{color:#fff;background:var(--orange)}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}:root{--orange:#e97132;--orange-dark:#c9571f;--orange-light:#fff0e7;--charcoal:#252a32;--charcoal-light:#343b46;--text:#252a32;--muted:#818793;--border:#e5e7eb;--background:#f5f6f8;--white:#fff}*{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e9713240}.app-shell{background:var(--background);min-height:100vh;display:flex}.sidebar{background:var(--charcoal);color:#fff;flex-direction:column;flex:0 0 255px;width:255px;height:100vh;min-height:100vh;padding:25px 17px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:48px;padding:0 9px;display:flex}.brand-icon{background:var(--orange);color:#fff;border-radius:12px;place-items:center;width:43px;height:43px;font-size:25px;font-weight:800;display:grid;box-shadow:0 5px 15px #e9713233}.brand h2{color:#fff;letter-spacing:-.7px;margin:0;font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:800}.brand span{color:#a9afb9;letter-spacing:1.3px;margin-top:4px;font-size:9px;font-weight:700;display:block}.nav-label{color:#8e96a3;letter-spacing:1.5px;margin-bottom:12px;padding:0 12px;font-size:10px;font-weight:700}.nav-item{color:#b9c0ca;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:13px 12px;font-size:12px;font-weight:600;transition:background .2s,color .2s;display:flex}.nav-item:hover{color:#fff;background:#343b46}.nav-item.active{background:var(--orange);color:#fff;font-weight:700;box-shadow:0 4px 12px #e9713226}.nav-icon{text-align:center;flex-shrink:0;width:23px;font-size:19px}.nav-count{color:#ffc3a4;text-align:center;background:#4b3330;border-radius:6px;min-width:23px;margin-left:auto;padding:3px 6px;font-size:10px}.nav-item.active .nav-count{color:var(--orange-dark);background:#fff}.sidebar-bottom{margin-top:auto}.local-status{background:#2d333d;border:1px solid #414752;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:17px;padding:14px 11px;display:flex}.status-dot{background:#e9a23b;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.local-status strong,.user-profile strong{color:#f2f3f5;font-size:11px;font-weight:700;display:block}.local-status small,.user-profile small{color:#9da5b1;margin-top:5px;font-size:10px;display:block}.user-profile{background:#2d333d;border:1px solid #414752;border-radius:12px;align-items:center;gap:12px;padding:12px 10px;display:flex}.user-profile-info{flex:1;min-width:0}.avatar{color:#fff;background:linear-gradient(145deg,#f47721,#c9541e);border:1px solid #ffffff1f;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid}.user-profile-info strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.user-profile-info small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:3px;font-size:9px;overflow:hidden}.profile-role{color:#9fe0b9;background:#30915e24;border:1px solid #6bd09b33;border-radius:20px;align-items:center;gap:5px;margin-top:8px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.profile-role-admin{color:#ffc09a;background:#f4772126;border-color:#ffb58f38}.profile-role-dot{background:#6bd09b;border-radius:50%;width:6px;height:6px}.profile-role-admin .profile-role-dot{background:#f59b61}.main-content{flex:1;min-width:0;padding:0 32px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:105px;margin-bottom:27px;display:flex}.breadcrumb{color:#9298a3;margin-bottom:8px;font-size:11px}.topbar h1{color:var(--charcoal);letter-spacing:-.7px;margin:0;font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:800}.top-actions{align-items:center;gap:18px;display:flex}.today-label{color:#777e89;white-space:nowrap;font-size:12px}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:12px;font-weight:700;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 4px 10px #e9713221}.btn-primary:hover{background:var(--orange-dark);box-shadow:0 5px 14px #e9713238}.btn-outline{color:#424852;background:#fff;border-color:#dee1e7}.btn-outline:hover{border-color:var(--orange);color:var(--orange-dark);background:#fff9f5}.btn-light{color:var(--orange-dark);background:#fff}.btn-light:hover{background:#fff2e9}.welcome-banner{color:#fff;background:linear-gradient(115deg,#252a32 0%,#303741 70%,#41454b 100%);border:1px solid #ffffff1a;border-radius:14px;justify-content:space-between;align-items:center;gap:25px;min-height:215px;margin-bottom:30px;padding:29px 32px;display:flex;position:relative;overflow:hidden}.welcome-banner:after{content:"";pointer-events:none;border:45px solid #e9713226;border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-45px}.welcome-banner>div:first-child{z-index:1;max-width:570px;position:relative}.eyebrow{color:var(--orange);letter-spacing:1.5px;margin-bottom:11px;font-size:10px;font-weight:800;display:block}.welcome-banner h2{color:#fff;letter-spacing:-.8px;margin:0 0 10px;font-family:Manrope,Arial,sans-serif;font-size:clamp(21px,2.1vw,29px);font-weight:800;line-height:1.35}.welcome-banner p{color:#cdd1d8;max-width:480px;margin:0 0 19px;font-size:12px;line-height:1.8}.banner-art{z-index:1;color:#e97132b3;-webkit-user-select:none;user-select:none;padding-right:20px;font-size:125px;line-height:1;position:relative;transform:rotate(-8deg)}.section-heading,.register-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.section-heading h2,.register-toolbar h2{color:var(--charcoal);letter-spacing:-.35px;margin:0 0 6px;font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:800}.section-heading p,.register-toolbar p{color:var(--muted);margin:0;font-size:11px}.recent-heading{margin-top:5px}.text-button{color:var(--orange-dark);background:0 0;border:none;padding:8px 0;font-size:11px;font-weight:800}.text-button:hover{text-decoration:underline}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:34px;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:20px 18px;transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #252a320f}.kpi-icon{border-radius:10px;place-items:center;width:37px;height:37px;margin-bottom:17px;font-size:18px;display:grid}.kpi-icon.orange{color:#d9652a;background:#fff0e7}.kpi-icon.red{color:#d64f45;background:#fff0ef}.kpi-icon.blue{color:#477cc9;background:#edf4ff}.kpi-icon.green{color:#25854c;background:#e9f8ef}.kpi-label{color:#6e7480;margin-bottom:8px;font-size:11px;font-weight:600}.kpi-value{color:var(--charcoal);letter-spacing:-1px;margin-bottom:7px;font-family:Manrope,Arial,sans-serif;font-size:29px;font-weight:800}.kpi-description{color:#999eaa;font-size:10px;line-height:1.5}.register-toolbar{margin-bottom:23px}.table-controls{align-items:center;gap:12px;margin-bottom:17px;display:flex}.search-box{background:#fff;border:1px solid #e0e3e9;border-radius:8px;flex:1;align-items:center;gap:10px;min-width:160px;min-height:42px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #e9713214}.search-box>span{color:#9297a1;font-size:23px;line-height:1}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:none;padding:0;font-size:11px}.search-box input::placeholder{color:#a3a7b0}.clear-search{color:#777;background:0 0;border:0;font-size:19px}.filter-select{color:#555b66;background:#fff;border:1px solid #e0e3e9;border-radius:8px;max-width:180px;min-height:42px;padding:0 12px;font-size:11px}.filter-select:focus{border-color:var(--orange)}.record-count{color:var(--muted);white-space:nowrap;font-size:11px}.invoice-table-wrapper{scrollbar-width:thin;scrollbar-color:#c8cdd5 transparent;background:#fff;border:1px solid #dde0e6;border-radius:11px;width:100%;overflow:auto}.invoice-table{border-collapse:separate;border-spacing:0;text-align:left;background:#fff;width:100%;min-width:1120px;font-size:11px}.invoice-table th{z-index:1;border-right:1px solid #454b55;border-bottom:2px solid var(--orange);background:var(--charcoal);color:#fff;white-space:nowrap;padding:15px 13px;font-size:10px;font-weight:700;position:sticky;top:0}.invoice-table th:last-child{border-right:0}.invoice-table td{vertical-align:middle;background:#fff;border-bottom:1px solid #e9ebef;border-right:1px solid #f0f1f4;padding:14px 13px}.invoice-table td:last-child{border-right:0}.invoice-table tbody tr:last-child td{border-bottom:0}.invoice-table tbody tr:hover td{background:#fff9f5}.invoice-table tbody tr.flagged-row td{background:#fff8f3}.invoice-table tbody tr.flagged-row:hover td{background:#fff0e7}.invoice-number{color:var(--orange-dark);white-space:nowrap;font-weight:800}.vendor-name{color:#30343b;min-width:120px;font-weight:700}.description-text{min-width:130px;max-width:220px;line-height:1.5}.muted-text{color:#9297a2;margin-top:5px;font-size:10px;line-height:1.5}.amount-cell{color:#414650;font-variant-numeric:tabular-nums;white-space:nowrap}.status-badge{white-space:nowrap;border-radius:6px;align-items:center;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.status-badge.pending{color:#a86b08;background:#fff3dc}.status-badge.approved{color:#25834c;background:#e6f7ed}.status-badge.paid{color:#376bb5;background:#eaf2ff}.status-badge.rejected{color:#c83f3f;background:#ffeded}.validation-ok{color:#27975b;white-space:nowrap;font-weight:800}.validation-error{color:#c34d28;flex-direction:column;align-items:flex-start;gap:5px;max-width:180px;display:flex}.validation-error strong{white-space:nowrap;font-size:10px}.validation-error small{color:#b64d32;overflow-wrap:anywhere;font-size:10px;line-height:1.5}.row-actions{align-items:center;gap:5px;display:flex}.icon-button{color:#777d87;background:#fff;border:1px solid #e5e7eb;border-radius:6px;place-items:center;width:29px;height:29px;font-size:16px;display:grid}.icon-button:hover{color:var(--orange-dark);background:#fff0e7;border-color:#f2c5ad}.icon-button.delete-action:hover{color:#c83f3f;background:#fff0ef;border-color:#f0c4c0}.empty-state{border:1px solid var(--border);text-align:center;background:#fff;border-radius:11px;padding:55px 20px}.empty-icon{color:#c4c8d0;margin-bottom:12px;font-size:37px}.empty-state h3{color:var(--charcoal);margin:0 0 8px;font-family:Manrope,Arial,sans-serif;font-size:15px}.empty-state p{color:var(--muted);font-size:12px}.footer{border-top:1px solid var(--border);color:#969ba5;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;font-size:10px;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14171cad;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0;overflow-y:auto}.invoice-modal{background:#fff;border:1px solid #e4e6ea;border-radius:15px;width:min(100%,700px);max-height:calc(100vh - 44px);animation:.18s ease-out modal-enter;overflow-y:auto;box-shadow:0 25px 80px #00000040}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:15px;padding:25px 27px 20px;display:flex}.modal-header .eyebrow{color:var(--orange-dark);margin-bottom:8px;font-size:9px}.modal-header h2{color:var(--charcoal);letter-spacing:-.5px;margin:0 0 7px;font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:800}.modal-header p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.close-button{color:#5d626c;background:#f0f1f4;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:23px;display:grid}.close-button:hover{color:var(--orange-dark);background:#ffe8dc}.invoice-modal form{padding:24px 27px 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px;display:grid}.form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.form-field label{color:#4c515b;font-size:11px;font-weight:700}.form-field input,.form-field select,.form-field textarea{color:#30343b;background:#fff;border:1px solid #dee1e7;border-radius:8px;width:100%;min-width:0;padding:11px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s}.form-field input,.form-field select{min-height:42px}.form-field textarea{resize:vertical;line-height:1.6}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #e971321a}.form-field input::placeholder,.form-field textarea::placeholder{color:#adb1ba}.full-width{grid-column:1/-1}.form-notice{color:#a9491e;background:#fff3e9;border:1px solid #f5d4bd;border-radius:8px;margin-top:18px;padding:12px 14px;font-size:11px;line-height:1.6}.modal-footer{border-top:1px solid var(--border);background:#f7f8fa;justify-content:flex-end;gap:10px;margin:25px -27px 0;padding:17px 27px;display:flex}@media (width>=1600px){.main-content{padding-left:45px;padding-right:45px}.kpi-grid{gap:22px}.kpi-card{padding:23px}}@media (width<=1200px){.sidebar{flex-basis:225px;width:225px}.main-content{padding-left:24px;padding-right:24px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-art{padding-right:0;font-size:95px}}@media (width<=800px){.sidebar{flex-basis:72px;width:72px;padding:20px 9px}.brand{justify-content:center;margin-bottom:35px;padding:0}.brand>div:last-child,.nav-label,.local-status>div,.user-profile>div:last-child{display:none}.nav-item{justify-content:center;gap:0;padding:13px 5px;font-size:0;position:relative}.nav-item .nav-icon{font-size:20px}.nav-count{min-width:17px;padding:2px 4px;font-size:9px;position:absolute;top:1px;right:0}.local-status{justify-content:center;padding:12px 5px}.user-profile{justify-content:center}.main-content{padding-left:20px;padding-right:20px}.welcome-banner{padding:24px}.today-label{display:none}}@media (width<=560px){.sidebar{flex-basis:57px;width:57px;padding:16px 5px}.brand-icon{width:37px;height:37px;font-size:22px}.main-content{padding-left:13px;padding-right:13px}.topbar{gap:8px;min-height:85px;margin-bottom:20px}.topbar h1{font-size:20px}.breadcrumb{font-size:9px}.top-actions .btn{padding:9px;font-size:10px}.welcome-banner{min-height:190px;margin-bottom:24px;padding:21px}.welcome-banner h2{font-size:21px}.welcome-banner p{font-size:11px}.banner-art{display:none}.kpi-grid{gap:10px}.kpi-card{padding:14px 12px}.kpi-icon{width:32px;height:32px;margin-bottom:12px}.kpi-label{font-size:10px}.kpi-value{font-size:25px}.kpi-description{font-size:9px}.section-heading h2,.register-toolbar h2{font-size:14px}.register-toolbar{flex-direction:column;align-items:flex-start}.table-controls{flex-wrap:wrap}.search-box{flex-basis:100%}.filter-select{flex:1;max-width:none}.footer{flex-wrap:wrap;font-size:9px}.modal-backdrop{padding:10px}.invoice-modal{max-height:calc(100vh - 20px)}.modal-header{padding:20px 18px}.modal-header h2{font-size:19px}.invoice-modal form{padding:20px 18px 0}.form-grid{grid-template-columns:1fr;gap:15px}.full-width{grid-column:auto}.modal-footer{margin-left:-18px;margin-right:-18px;padding:15px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:26px}.settings-card-icon{color:#e97132;background:#fff0e8;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;font-size:24px;font-weight:700;display:flex}.settings-card h3{margin-bottom:10px}.settings-card p{color:#6b7280;line-height:1.7}.settings-card small{color:#6b7280;margin-top:12px;display:block}.settings-upload-button{cursor:pointer;margin-top:8px;display:inline-flex}.settings-record-count{color:#252525;margin:12px 0;font-size:36px;font-weight:800}.settings-note{font-size:13px}.btn-danger-outline{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #dc2626;border-radius:8px;padding:10px 15px;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:#fef2f2}.btn-danger-outline:disabled{opacity:.45;cursor:not-allowed}@media (width<=760px){.settings-grid{grid-template-columns:1fr}}.app-shell:has(.main-content-register){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.main-content-register)>.sidebar{flex-shrink:0;height:100dvh;min-height:0}.main-content.main-content-register{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.main-content-register>.topbar{flex:none;margin-bottom:18px}.main-content-register>.register-section{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.main-content-register .register-toolbar{flex:none;margin-bottom:18px}.main-content-register .table-controls{flex:none;margin-bottom:12px}.main-content-register .invoice-table-wrapper{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;flex:1 1 0;width:100%;min-height:0;max-height:none;overflow:auto}.main-content-register .invoice-table thead th{z-index:4;background:var(--charcoal);position:sticky;top:0}.main-content-register>.footer{flex:none;padding:12px 0}@media (height<=650px){.main-content-register>.topbar{min-height:78px;margin-bottom:12px}.main-content-register .register-toolbar{margin-bottom:12px}.main-content-register .table-controls{margin-bottom:8px}}.currency-totals-section{margin:0 0 32px}.currency-totals-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.currency-picker{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(230px,1fr);align-items:end;gap:12px;margin:0 0 14px;padding:16px;display:grid}.currency-picker label{color:var(--charcoal);gap:6px;font-size:12px;font-weight:600;display:grid}.currency-picker input,.currency-picker select{border:1px solid var(--border);background:#fff;border-radius:7px;width:100%;padding:9px 10px}.currency-picker select{min-height:140px}.custom-currency-row{align-items:center;gap:8px;display:flex}.custom-currency-row .btn{white-space:nowrap}.currency-picker-actions{grid-column:3;justify-content:flex-end;display:flex}.form-currency-actions{align-items:flex-start}.form-currency-picker{width:100%;margin:0;padding-top:44px;position:relative}.currency-picker-close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:22px;line-height:1;display:grid;position:absolute;top:8px;right:9px}.currency-picker-close:hover{color:var(--charcoal);background:#eef0f3}.currency-totals-heading h2{color:var(--text,#252a32);margin:0 0 5px;font-size:18px;font-weight:700}.currency-totals-heading p{color:var(--muted,#737b87);margin:0;font-size:13px}.currency-totals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.currency-total-card{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:18px 20px;display:flex}.currency-total-label{color:#68707c;font-size:12px;font-weight:600}.currency-total-card-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.currency-remove-button{color:#b42318;background:#fff;border:1px solid #e5b7b2;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.currency-remove-button:hover{background:#fff3f1}.auth-screen{background:#f5f6f8;place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(100%,420px);padding:34px;box-shadow:0 16px 48px #252a321a}.auth-card>img{object-fit:contain;width:62px;height:62px;margin:0 auto 12px;display:block}.auth-card>.eyebrow{color:var(--orange-dark);text-align:center;display:block}.auth-card h1{text-align:center;margin:6px 0;font-size:26px}.auth-card>p{color:#68707c;text-align:center;margin:0 0 24px;line-height:1.6}.auth-card form{gap:10px;display:grid}.auth-card form label{color:var(--charcoal);margin-top:5px;font-size:13px;font-weight:600}.auth-card form input{background:#fff;border:1px solid #d7dce2;border-radius:8px;width:100%;min-height:44px;padding:10px 12px}.auth-card form .btn{min-height:44px;margin-top:8px}.user-management-card{border:1px solid var(--border);background:#fff;border-radius:14px;margin:22px 0;padding:24px}.user-management-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.user-management-heading h2{margin:0 0 5px;font-size:18px}.user-management-heading p,.user-password-note{color:#68707c;margin:0;font-size:13px}.user-create-form{background:#f7f8fa;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;padding:16px;display:grid}.user-create-form label{color:var(--charcoal);gap:6px;font-size:12px;font-weight:600;display:grid}.user-create-form input,.user-create-form select,.managed-users-table select{background:#fff;border:1px solid #d7dce2;border-radius:7px;width:100%;min-width:0;min-height:40px;padding:8px 10px}.user-create-form .btn{min-height:40px}.user-password-note{margin:10px 0 15px;font-size:12px}.user-management-notice{color:#14753e;background:#edf8f1;border-radius:7px;margin:12px 0;padding:10px 12px;font-size:13px}.managed-users-wrap{max-width:100%;overflow-x:auto}.managed-users-table{width:100%;min-width:580px;margin-top:12px}.managed-users-table th,.managed-users-table td{border-bottom:1px solid var(--border);text-align:left;padding:11px 10px;font-size:12px}.managed-users-table th{color:#68707c;font-weight:700}.managed-users-table td small{color:#68707c;margin-top:3px;display:block}.managed-users-table select{min-height:34px}.account-management-steps{color:#505967;margin:0 0 14px;padding-left:22px;font-size:13px;line-height:1.8}.account-management-steps li{margin:4px 0;padding-left:4px}.account-management-steps code{color:#252a32;background:#f1f3f5;border-radius:4px;padding:2px 5px}.console-text-link{color:var(--orange-dark);margin-bottom:14px;font-size:13px;font-weight:700;display:inline-block}.cloud-setup-card>.btn{width:100%;min-height:44px;margin-top:9px}.cloud-progress{font-weight:700;color:var(--orange-dark)!important}.cloud-signout{margin:18px auto 0;display:block}.auth-error{color:#b42318;background:#fff0ee;border-radius:7px;padding:10px 12px;font-size:13px}.sign-out-button{white-space:nowrap}.session-expiry-backdrop{z-index:2900;background:#171d257a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.session-expiry-notice{text-align:center;background:#fff;border-radius:14px;width:min(100%,380px);padding:26px;box-shadow:0 20px 60px #00000040}.session-expiry-notice h2{margin:0 0 8px;font-size:19px}.session-expiry-notice p{color:#68707c;margin:0 0 18px}.loading-screen{z-index:3000;background:#f5f6f8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.loading-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;align-items:center;gap:14px;width:min(100%,320px);padding:32px 24px;display:flex;box-shadow:0 14px 45px #252a321a}.loading-card img{object-fit:contain;width:62px;height:62px}.loading-card strong{color:var(--charcoal);font-size:18px}.loading-card p{color:var(--muted);margin:0;font-size:13px}.loading-spinner{border:3px solid #f5d3c1;border-top-color:var(--orange);border-radius:50%;width:25px;height:25px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.8s}}.collapse-toggle{border:1px solid var(--border);width:34px;height:34px;color:var(--charcoal);background:#fff;border-radius:7px;flex:0 0 34px;place-items:center;padding:0;display:inline-grid}.collapse-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.collapse-toggle:hover{border-color:var(--orange);color:var(--orange-dark)}.section-heading-actions{align-items:center;gap:8px;display:flex}.ribbon-actions{flex:none;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.summary-ribbon-actions>.btn{order:0}.summary-ribbon-actions>.collapse-toggle{order:1}.section-ribbon{background:linear-gradient(100deg,#252a32,#3c4653);border-radius:10px;min-height:52px;margin-bottom:14px;box-shadow:0 3px 10px #1e293b1f;padding:12px 14px!important}.section-ribbon-collapsed{min-height:44px;padding-top:8px!important;padding-bottom:8px!important}.section-ribbon h2{color:#fff!important;margin:0!important;font-size:14px!important}.section-ribbon p{margin-bottom:0;color:#d1d5db!important}.section-ribbon-collapsed p{display:none}.section-ribbon .collapse-toggle{color:#252a32;background:#fff;border-color:#ffffff59}.section-ribbon .text-button{color:#fff}.section-ribbon .btn-outline,.section-ribbon .btn-secondary{color:#fff;background:0 0;border-color:#ffffff80}.currency-total-card strong{color:#252a32;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(18px,2vw,25px);line-height:1.25}.currency-total-ngn{border-top:3px solid #e97132}.currency-total-usd{border-top:3px solid #3b82f6}.currency-total-gbp{border-top:3px solid #16a34a}@media (width<=760px){.currency-totals-grid,.currency-picker{grid-template-columns:1fr}.currency-picker-actions{grid-column:1;justify-content:flex-start}.currency-totals-heading{flex-direction:column;align-items:flex-start}}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{object-fit:contain;flex:0 0 52px;width:52px;height:52px;display:block}.brand-name{min-width:0}.brand-name h2{margin:0}.brand-name span{overflow-wrap:anywhere;line-height:1.35;display:block}.invoice-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.app-shell{min-width:0}.sidebar{flex:0 0 220px;width:220px}.main-content{min-width:0;padding-left:20px;padding-right:20px}.kpi-grid,.currency-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-controls{flex-wrap:wrap}.search-box{flex:100%;min-width:0}}@media (width<=600px){.app-shell{display:block}.sidebar{flex:none;width:100%;height:auto;min-height:0;padding:12px 14px;position:relative;top:auto}.brand-logo{flex-basis:42px;width:42px;height:42px}.brand-name span{font-size:10px}.nav-label,.sidebar-bottom{display:none}.sidebar nav,.sidebar .nav-item{max-width:100%}.sidebar .nav-item{width:auto;margin:8px 4px 0 0;padding:9px 10px;font-size:12px;display:inline-flex}.main-content,.main-content-register{height:auto;min-height:100vh;padding:0 12px 16px;overflow:visible}.main-content-register>.register-section{overflow:visible}.main-content-register .invoice-table-wrapper{flex:none;max-height:65vh;overflow:auto}.topbar{align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:16px}.topbar h1{font-size:24px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.today-label{display:none}.welcome-banner{padding:20px}.welcome-banner h2{font-size:22px}.kpi-grid,.currency-totals-grid{grid-template-columns:minmax(0,1fr)}.section-heading,.register-toolbar{flex-wrap:wrap;align-items:flex-start;gap:12px}.table-controls{flex-direction:column;align-items:stretch;display:flex}.filter-select,.search-box{width:100%;min-width:0}.settings-grid,.form-grid{grid-template-columns:minmax(0,1fr)}.form-field.full-width{grid-column:auto}.invoice-modal{width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);overflow-y:auto}.footer{flex-wrap:wrap;gap:8px}}.currency-total-sgd{border-top:3px solid #8b5cf6}.currency-total-eur{border-top:3px solid #d4a017}.currency-total-jpy{border-top:3px solid #64748b}.analytics-section{margin:0 0 30px}.analytics-section .section-heading{margin-bottom:14px}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:20px}.chart-card-heading h3{color:var(--charcoal);margin:0 0 5px;font-size:14px}.chart-card-heading p{color:var(--muted);margin:0;font-size:11px}.chart-content{align-items:center;gap:22px;min-height:190px;padding-top:16px;display:flex}.pie-wrap{flex:0 0 150px;place-items:center;display:grid}.pie-chart{border-radius:50%;place-items:center;width:145px;height:145px;display:grid}.pie-hole{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:82px;height:82px;display:flex}.pie-hole strong{color:var(--charcoal);font-size:22px;line-height:1.2}.pie-hole span{color:var(--muted);font-size:10px}.chart-legend{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.legend-row{grid-template-columns:9px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:10px;display:grid}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-label{color:#555d68;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-row strong{color:var(--charcoal);font-size:10px}.legend-row small{min-width:30px;color:var(--muted);text-align:right}.chart-empty{min-height:180px;color:var(--muted);text-align:center;place-items:center;font-size:12px;display:grid}.invoice-table{min-width:1250px}@media (width<=900px){.charts-grid{grid-template-columns:1fr}}@media (width<=560px){.chart-content{flex-direction:column;align-items:stretch}.pie-wrap{flex-basis:auto}}.charts-grid-featured{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);align-items:stretch}.payments-by-vessel-card{grid-column:1/-1;padding:22px 24px 18px}.payments-by-vessel-heading{align-items:center;margin-bottom:22px}.payments-by-vessel-title{align-items:center;gap:14px;min-width:0;display:flex}.payments-vessel-icon{background:#f47721;border-radius:11px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.payments-vessel-icon svg{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:31px;height:31px}.payments-vessel-title-copy{border-left:2px solid #f47721;padding-left:14px}.payments-vessel-title-copy h3{color:#10182f;margin:0 0 4px;font-size:21px;font-weight:750}.payments-vessel-title-copy p{color:var(--muted);margin:0;font-size:12px}.payments-vessel-layout{grid-template-columns:minmax(260px,.45fr) minmax(0,1.55fr);align-items:center;gap:28px;display:grid}.payments-vessel-donut-wrap{border-right:1px solid var(--border);align-content:center;justify-items:center;gap:12px;min-height:330px;padding-right:22px;display:grid}.payments-vessel-donut{aspect-ratio:1;width:min(100%,285px);height:auto}.payments-vessel-hole{width:60%;height:60%}.payments-vessel-hole svg{fill:#f47721;stroke:#f47721;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:38px;height:38px;margin-bottom:6px}.payments-vessel-total{text-align:center;flex-direction:column;align-items:center;gap:2px;max-width:100%;display:flex}.payments-vessel-total strong{color:#10182f;white-space:nowrap;max-width:100%;font-size:clamp(16px,1.5vw,22px)}.payments-vessel-total span{color:var(--muted);font-size:12px;font-weight:650}.payments-vessel-table-wrap{min-width:0;overflow-x:auto}.payments-vessel-table{border-collapse:collapse;color:#141a2e;width:100%;font-size:14px}.payments-vessel-table thead{background:#f1f3f8}.payments-vessel-table th{color:#10182f;text-align:left;white-space:nowrap;padding:10px 14px;font-size:13px;font-weight:750}.payments-vessel-table th:first-child{border-radius:20px 0 0 20px}.payments-vessel-table th:last-child{text-align:center;border-radius:0 20px 20px 0}.payments-vessel-table th:nth-child(2),.payments-vessel-table td:nth-child(2){text-align:right}.payments-vessel-table td{white-space:nowrap;border-bottom:1px solid #e4e8ef;padding:10px 14px;font-size:14px;font-weight:700}.payments-vessel-table td:first-child{align-items:center;gap:12px;display:flex}.payments-vessel-table td:first-child .legend-dot{flex:0 0 14px;width:14px;height:14px}.payments-vessel-table td:first-child strong{text-overflow:ellipsis;overflow:hidden}.payments-vessel-table td:last-child{text-align:center}.vessel-share{text-align:center;border-radius:18px;min-width:76px;padding:5px 12px;font-size:13px;font-weight:750;display:inline-block}.chart-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-type-label{color:#c65b20;letter-spacing:.06em;background:#fff1e8;border-radius:20px;flex:none;padding:5px 8px;font-size:9px;font-weight:800}.chart-footnote{color:var(--muted);margin:12px 0 0;font-size:10px}.monthly-chart-card{min-height:290px}.monthly-chart-heading{align-items:center}.chart-select-label select{border:1px solid var(--border);min-width:86px;color:var(--charcoal);font:inherit;background:#fff;border-radius:7px;padding:7px 26px 7px 10px;font-size:12px}.trend-chart-wrap{padding-top:8px}.trend-chart{width:100%;height:auto;display:block;overflow:visible}.trend-gridline{stroke:#e9edf2;stroke-width:1px;stroke-dasharray:3 4}.trend-axis-label{fill:#7a8491;font-size:10px}.trend-area{fill:#e971321f}.trend-line{fill:none;stroke:#e97132;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:#fff;stroke:#e97132;stroke-width:2.5px;cursor:help}.trend-point:hover{fill:#e97132;r:6}.trend-summary{align-items:baseline;gap:7px;margin:0 0 0 34px;display:flex}.trend-summary strong{color:var(--charcoal);font-size:18px}.trend-summary span{color:var(--muted);font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.charts-grid-featured{grid-template-columns:1fr}.payments-vessel-layout{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:16px}.payments-vessel-donut-wrap{min-height:250px;padding-right:14px}.payments-vessel-table td,.payments-vessel-table th{padding:9px 8px;font-size:12px}.payments-vessel-table td:first-child{gap:8px}}@media (width<=560px){.chart-card{padding:15px}.chart-content{gap:14px}.pie-wrap{flex-basis:125px}.pie-chart{width:120px;height:120px}.pie-hole{width:70px;height:70px}.legend-row{font-size:9px}.monthly-chart-heading{align-items:flex-start}.payments-by-vessel-card{padding:15px}.payments-by-vessel-heading{align-items:flex-start;margin-bottom:18px}.payments-by-vessel-title{gap:9px}.payments-vessel-icon{flex-basis:38px;width:38px;height:38px}.payments-vessel-icon svg{width:25px;height:25px}.payments-vessel-title-copy{padding-left:9px}.payments-vessel-title-copy h3{font-size:16px}.payments-vessel-title-copy p{font-size:10px}.payments-vessel-layout{grid-template-columns:1fr;gap:18px}.payments-vessel-donut-wrap{border-right:0;border-bottom:1px solid var(--border);min-height:0;padding:0 0 18px}.payments-vessel-donut{width:min(72vw,245px)}.payments-vessel-table{min-width:480px}.payments-vessel-table td,.payments-vessel-table th{padding:8px 9px;font-size:11px}.vessel-share{min-width:60px;padding:4px 8px}}@media (width>=601px) and (width<=800px){.sidebar{flex:0 0 72px;width:72px;padding:20px 9px}}.main-content-register>.settings-section{overflow:auto}.audit-card{background:var(--surface,#fff);border:1px solid var(--line,#e4e7ec);border-radius:14px;margin-top:22px;padding:20px}.audit-heading h3{color:var(--charcoal);margin:0 0 5px}.audit-heading p{color:var(--muted);margin:0 0 16px;font-size:13px}.audit-table-wrap{max-height:420px;overflow:auto}.audit-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.audit-table th,.audit-table td{border-bottom:1px solid var(--line,#e4e7ec);vertical-align:top;padding:10px 12px}.audit-table th{color:#535b67;background:#f5f6f8;position:sticky;top:0}@media (width<=600px){.audit-card{padding:14px}.audit-table{min-width:650px}}@media (width<=900px){.user-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.user-management-card{padding:16px}.user-management-heading{flex-direction:column;align-items:stretch}.user-create-form{grid-template-columns:minmax(0,1fr)}.app-shell:has(.main-content-register){width:100%;height:auto;min-height:100dvh;display:block;overflow:visible}.app-shell:has(.main-content-register)>.sidebar{width:100%;height:auto;min-height:0}.main-content.main-content-register{width:100%;height:auto;min-height:100dvh;overflow:visible}.main-content-register>.register-section{flex:none;min-height:0}.main-content-register .invoice-table-wrapper{width:100%;max-width:100%;max-height:65dvh;overflow:auto}}
