:root{--bg:#f4f8f8;--panel:#ffffff;--panel-soft:#eef7f6;--ink:#173333;--muted:#647778;--line:#dbe7e6;--teal:#0f9488;--teal-deep:#08766e;--blue:#246bfe;--amber:#b97812;--rose:#bf3d55;--shadow:0 18px 45px rgba(23,51,51,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.shell,.sidebar{height:100vh;height:100dvh;overflow:hidden}.sidebar{background:#ffffff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:26px;min-height:0;padding:24px 18px;position:-webkit-sticky;position:sticky;top:0}.brand,.login-brand{align-items:center;display:flex;gap:12px}.brand-mark,.login-brand span{align-items:center;background:var(--teal);border-radius:8px;color:#ffffff;display:inline-flex;height:42px;justify-content:center;width:42px}.brand strong,.login-brand strong{display:block;font-size:15px;letter-spacing:0}.brand small,.login-brand small{color:var(--muted);display:block;font-size:12px;margin-top:2px}.nav-list{display:grid;grid-gap:6px;gap:6px}.sidebar-menu{display:grid;flex:1 1 auto;grid-gap:26px;gap:26px;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.branch-nav{border-top:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;padding-top:18px}.branch-nav>span{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.08em;padding:0 12px 4px;text-transform:uppercase}.branch-nav-item,.ghost-button,.nav-item,.primary-button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;gap:10px;min-height:42px;padding:10px 12px}.nav-item{color:#385151}.branch-nav-item{color:#4d6566;font-size:13px}.branch-nav-item:hover,.nav-item:hover{background:var(--panel-soft);color:var(--teal-deep)}.sidebar-footer{margin-top:auto}.ghost-button{background:#f5f8f8;color:#385151;width:100%}.compact-button{min-height:36px;padding:8px 10px;width:auto}.primary-button{background:var(--teal);color:#ffffff;justify-content:center}.primary-button:hover{background:var(--teal-deep)}.main-panel{height:100%;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:30px}.module-header{margin-bottom:24px;max-width:860px}.module-header span{color:var(--teal-deep);display:block;font-size:12px;font-weight:750;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.module-header h1{font-size:clamp(28px,4vw,42px);line-height:1.05;margin:0}.module-header p{color:var(--muted);font-size:16px;line-height:1.6;margin:10px 0 0}.module-header.compact h1{font-size:28px}.cards-grid,.dashboard-grid{display:grid;grid-gap:16px;gap:16px}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-filter{align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(190px,.7fr) minmax(280px,1fr) auto;margin-bottom:18px;padding:16px}.dashboard-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.dashboard-filter fieldset{grid-column:span 2}.bank-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.audit-filter{grid-template-columns:repeat(4,minmax(170px,1fr))}.audit-search{grid-column:span 2}.bank-filter .primary-button{justify-self:start}.reporting-filter fieldset{border:0;margin:0;padding:0}.reporting-filter legend{color:#344f50;font-size:13px;font-weight:650;margin-bottom:7px}.checkbox-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-grid label{align-items:center;background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;min-height:42px;padding:8px 10px}.checkbox-grid input{min-height:auto;padding:0}.selected-branches{color:var(--muted);font-size:13px;grid-column:1/-1;line-height:1.5;margin:0}.branch-card,.form-card,.metric-card,.report-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-card{align-items:flex-start;display:flex;gap:14px;padding:18px}.metric-icon{align-items:center;border-radius:8px;display:inline-flex;height:40px;justify-content:center;width:40px}.tone-teal .metric-icon{background:#e0f4f1;color:var(--teal-deep)}.tone-blue .metric-icon{background:#e8efff;color:var(--blue)}.tone-amber .metric-icon{background:#fff3da;color:var(--amber)}.tone-rose .metric-icon{background:#ffe8ed;color:var(--rose)}.branch-card span,.metric-card p{color:var(--muted);font-size:13px;margin:0 0 6px}.metric-card strong{display:block;font-size:24px;line-height:1.1}.metric-card span{color:var(--muted);display:block;font-size:12px;margin-top:8px}.section-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);margin-top:18px}.cards-grid>*,.form-card>*,.form-grid>*,.section-grid>*{min-width:0}.mt-section{margin-top:18px}.chart-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.chart-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.chart-panel h2,.table-section h2{font-size:18px;margin:0 0 14px}.bar-list{display:grid;grid-gap:12px;gap:12px}.bar-row{display:grid;grid-gap:8px;gap:8px;grid-template-columns:86px minmax(0,1fr) minmax(92px,auto);min-height:34px}.bar-row span{color:var(--muted);font-size:12px}.bar-row strong{font-size:13px;text-align:right}.bar-track{background:#edf5f5;border-radius:999px;height:12px;margin-top:3px;overflow:hidden}.bar-fill{background:var(--teal);border-radius:inherit;height:100%}.chart-blue .bar-fill{background:var(--blue)}.chart-amber .bar-fill{background:var(--amber)}.bar-fill.bar-negative,.chart-rose .bar-fill{background:var(--rose)}.table-section{display:grid;grid-gap:14px;gap:14px}.export-csv-link{width:-moz-fit-content;width:fit-content}.export-report-bar,.report-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.export-report-bar{justify-content:flex-end;margin-bottom:18px}.report-toolbar h2{margin:0}.single-column{grid-template-columns:1fr}.branch-card{padding:18px}.branch-card h3{font-size:20px;margin:0 0 16px}.branch-card dl{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.branch-card div div,.branch-card dl div{background:#f7fbfb;border-radius:8px;padding:12px}dt{color:var(--muted);font-size:12px}dd{font-weight:750;margin:4px 0 0}.positive{color:var(--teal-deep)}.negative{color:var(--rose)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;min-width:720px;width:100%}td,th{border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}th{background:#f8fbfb;color:#4c6263;font-size:12px;letter-spacing:.04em;text-transform:uppercase}td{color:#263f40;font-size:14px}.table-subtext{color:var(--muted);display:block;font-size:12px;margin-top:5px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}.form-card{display:grid;grid-gap:14px;gap:14px;padding:18px}.inline-form{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr) minmax(110px,.7fr) auto;min-width:620px}.inline-form .primary-button{min-height:42px}.user-management{display:grid;grid-gap:18px;gap:18px}.user-filter-panel{align-items:end;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) minmax(200px,.45fr)}.search-field span{align-items:center;border:1px solid #cfdedd;border-radius:8px;display:flex;gap:8px;min-height:42px;padding:0 10px}.search-field input{border:0;min-height:38px;padding:0;width:100%}.search-field input:focus{outline:none}.user-edit-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(170px,1fr) minmax(130px,.6fr) minmax(150px,.8fr) minmax(110px,.55fr) auto;min-width:820px}.user-edit-form label{font-size:12px}.user-edit-form .primary-button{align-self:end}.user-management-actions{display:grid;grid-gap:14px;gap:14px}.bank-permission-form{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;min-width:820px;padding:12px}.bank-permission-form>strong{font-size:13px}.bank-permission-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(210px,1fr))}.bank-permission-grid fieldset,.permission-checklist{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;margin:0;padding:12px}.bank-permission-grid legend,.permission-checklist legend{color:#344f50;font-size:12px;font-weight:750;margin-bottom:4px}.bank-permission-grid label,.permission-checklist label{align-items:center;display:flex;font-size:12px;gap:8px}.bank-permission-grid input,.permission-checklist input{min-height:auto;padding:0}.bank-permission-form .primary-button{justify-self:start}.form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.manual-bank-editor{min-width:260px}.manual-bank-editor summary{color:var(--teal-deep);cursor:pointer;font-size:13px;font-weight:750}.manual-bank-edit-form{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin-top:10px;padding:12px}.manual-bank-edit-form label{font-size:12px}.manual-bank-edit-form textarea{min-height:64px}.record-detail-grid{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;margin-top:10px;min-width:250px;padding:12px}.record-detail-grid div{display:grid;grid-gap:3px;gap:3px}.record-detail-grid strong{font-size:12px}.record-detail-card{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin-top:10px;min-width:340px;padding:12px}.record-detail-card .record-detail-grid{background:transparent;border:0;margin-top:0;min-width:0;padding:0}.record-summary{display:grid;grid-gap:4px;gap:4px}.record-summary strong{font-size:13px;line-height:1.45}.void-record-form{border-color:#f3c4cf}.void-warning{background:#ffe8ed;border-radius:8px;color:var(--rose);font-size:12px;line-height:1.45;margin:0;padding:9px}.document-manager{display:grid;grid-gap:8px;gap:8px;min-width:300px}.document-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.document-action summary{list-style:none;width:-moz-fit-content;width:fit-content}.document-action summary::-webkit-details-marker{display:none}.document-panel{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:10px;min-width:420px;padding:12px}.document-delete form,.document-item,.document-links,.document-list,.document-meta,.document-upload-form{display:grid;grid-gap:9px;gap:9px}.document-delete label,.document-upload-form label{font-size:12px}.document-delete textarea,.document-upload-form textarea{min-height:60px}.document-message{color:var(--teal-deep);font-size:12px;margin:0}.document-item{background:#ffffff;padding:10px}.document-item,.document-preview{border:1px solid var(--line);border-radius:8px}.document-preview{background:#f7fbfb;display:block;height:auto;max-height:220px;object-fit:contain;width:100%}.document-meta{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.document-meta strong{color:#263f40;font-size:13px}.document-links{grid-template-columns:repeat(2,minmax(0,1fr))}.document-links .ghost-button{justify-content:center}.document-delete summary{color:var(--rose)}.document-report-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.audit-details{min-width:240px}.audit-details summary{list-style:none;width:-moz-fit-content;width:fit-content}.audit-details summary::-webkit-details-marker{display:none}.audit-readable-details{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:10px;min-width:640px;padding:12px}.audit-description{color:#344f50;margin:0}.audit-change-table{background:#ffffff;border:1px solid var(--line);border-collapse:separate;border-radius:8px;border-spacing:0;font-size:12px;overflow:hidden;width:100%}.audit-change-table td,.audit-change-table th{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:9px;text-align:left;vertical-align:top}.audit-change-table tbody tr:last-child td{border-bottom:0}.audit-change-table th{background:#e9f4f3;color:#344f50}.audit-raw-details summary{color:var(--teal-deep);cursor:pointer;font-size:12px;font-weight:750}.audit-detail-grid{background:#f7fbfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin-top:10px;min-width:560px;padding:12px}.audit-detail-grid section{display:grid;grid-gap:7px;gap:7px}.audit-detail-grid strong{font-size:12px}.audit-detail-grid pre{background:#ffffff;border:1px solid var(--line);border-radius:8px;color:#263f40;font-size:12px;line-height:1.5;margin:0;max-height:240px;overflow:auto;padding:10px;white-space:pre-wrap}label{color:#344f50;display:grid;font-size:13px;font-weight:650;grid-gap:7px;gap:7px}input,select,textarea{background:#ffffff;border:1px solid #cfdedd;border-radius:8px;color:var(--ink);min-height:42px;min-width:0;padding:10px 12px;width:100%}input[type=checkbox],input[type=radio]{width:auto}textarea{min-height:84px;resize:vertical}.full-span{grid-column:1/-1}.report-panel{padding:20px}.report-panel h2{font-size:18px;margin:0 0 14px}.summary-list{display:grid;grid-gap:12px;gap:12px;margin:0}.summary-list div{align-items:center;background:#f7fbfb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.summary-list dd,.summary-list dt{margin:0}.status-pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:750;padding:5px 9px}.status-paid{background:#e0f4f1;color:var(--teal-deep)}.status-partial,.status-unpaid{background:#fff3da;color:var(--amber)}.status-overdue,.status-voided{background:#ffe8ed;color:var(--rose)}.import-control-panel,.import-workspace{display:grid;grid-gap:18px;gap:18px}.import-control-panel p{color:var(--muted);line-height:1.6;margin:6px 0 0}.import-template-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.import-template-grid .ghost-button{justify-content:center}.import-stats{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.import-stats div{background:#f7fbfb;border-radius:8px;padding:12px}.import-stats dd{overflow-wrap:anywhere}.import-message{background:#eef7f6;border:1px solid var(--line);border-radius:8px;color:#2f5555;margin:0;padding:12px}.opening-balance-warning{background:#fff7e3;border-color:#efc772;color:#74480a;line-height:1.55;margin-bottom:24px;padding:16px 18px}.message-success{background:#e0f4f1;color:var(--teal-deep)}.message-error{background:#ffe8ed;color:var(--rose)}.muted-copy{color:var(--muted);line-height:1.6;margin:0}button:disabled{cursor:not-allowed;opacity:.58}.login-page{align-items:center;background:linear-gradient(120deg,rgba(15,148,136,.13),transparent 45%),var(--bg);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-panel{display:grid;grid-gap:22px;gap:22px;max-width:440px;width:100%}.login-form{padding:26px}.form-error{background:#ffe8ed;border-radius:8px;color:var(--rose);margin:0;padding:10px 12px}.empty-state{align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;max-width:760px;padding:28px}.empty-state .module-header{margin-bottom:0}.empty-state-icon{align-items:center;background:#ffe8ed;border-radius:8px;color:var(--rose);display:inline-flex;height:52px;justify-content:center;width:52px}@media (max-width:1080px){.shell{grid-template-columns:240px minmax(0,1fr)}.sidebar{gap:18px;padding:20px 14px;position:-webkit-sticky;position:sticky}.sidebar-menu{gap:18px}.nav-list{grid-template-columns:1fr}.main-panel{padding:24px}.cards-grid,.chart-grid,.checkbox-grid,.dashboard-grid,.import-stats,.import-template-grid,.reporting-filter,.section-grid,.user-filter-panel{grid-template-columns:1fr}.branch-nav-item,.ghost-button,.nav-item{gap:8px;padding:10px}.audit-search,.dashboard-filter fieldset{grid-column:auto}}@media (max-width:700px){.main-panel{padding:20px}.bar-row,.checkbox-grid,.dashboard-grid,.form-grid,.nav-list{grid-template-columns:1fr}.bar-row strong{text-align:left}}@media (max-width:560px){.shell{grid-template-columns:1fr;min-height:100vh}.shell,.sidebar{height:auto;overflow:visible}.sidebar{border-bottom:1px solid var(--line);border-right:0;position:static}.main-panel,.sidebar-menu{height:auto;overflow:visible}}