:root{--background:#f5f7f9;--surface:#fff;--surface-muted:#f0f4f7;--text:#17212b;--muted:#657384;--line:#d9e1e7;--accent:#127c7a;--accent-strong:#0d5d5c;--warning:#9a5b16;--danger:#9d2c2c;--blue:#1e66a6;--header:#123f59;--header-strong:#0f3145;--shadow:0 8px 24px #15273714}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}body{min-width:320px}button,select,input{font:inherit}.xero-shell{min-height:100vh}.app-header{z-index:10;background:var(--header);color:#f6fbff;grid-template-columns:minmax(190px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:0 20px;display:grid;position:sticky;top:0;box-shadow:0 2px 12px #1026382e}.header-left{align-items:center;gap:10px;min-width:190px;display:flex}.brand-mark{color:#062d36;background:#22b8b2;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{font-size:15px}.brand-copy span{color:#c2d7e3;font-size:12px}.top-nav{align-items:stretch;min-width:0;height:64px;display:flex;overflow-x:auto}.top-nav a,.top-nav button{color:#fff;opacity:.86;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;padding:0 10px;font-size:14px;text-decoration:none;display:inline-flex}.top-nav a.active,.top-nav a:hover,.top-nav button.active,.top-nav button:hover{background:var(--header-strong);opacity:1;border-bottom-color:#22b8b2}.header-actions{align-items:center;gap:8px;display:flex}.user-chip{color:#f6fbff;gap:2px;min-width:125px;max-width:155px;display:grid}.user-chip strong,.user-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-chip strong{font-size:13px}.user-chip span{color:#c2d7e3;font-size:12px}.company-select{color:#17212b;background:#fff;border:1px solid #8fb0c2;border-radius:6px;min-width:150px;padding:10px}.create-button,.bank-footer button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.create-button:hover,.bank-footer button:hover{background:var(--accent-strong)}.create-button:disabled,.bank-footer button:disabled,.mini-button:disabled{color:#718191;cursor:not-allowed;background:#dfe7ed;border-color:#cfd9e1}.text-link{color:#d7edf6;white-space:nowrap;font-size:13px;font-weight:700;text-decoration:none}.text-link:hover{color:#fff;text-decoration:underline}.login-shell{background:var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;justify-items:start;gap:14px;padding:28px;display:grid}.login-panel h1,.login-panel p{margin:0}.login-panel p{color:var(--muted)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.main{width:min(1320px,100%);margin:0 auto;padding:28px}.module-stack{gap:18px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topbar h1{margin:0;font-size:30px;line-height:1.15}.topbar p{color:var(--muted);margin:8px 0 0}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status-pill{min-height:34px;color:var(--accent-strong);white-space:nowrap;background:#e6f3ed;border:1px solid #bcd5cc;border-radius:999px;align-items:center;padding:6px 12px;display:inline-flex}.status-pill.neutral{color:#435364;background:#fff;border-color:#d9e1e7}.grid{gap:16px;display:grid}.banking-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.panel,.table-panel,.bank-card,.metric-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.bank-card{border-top:4px solid var(--blue);gap:18px;min-height:180px;padding:18px;display:grid}.bank-card.green{border-top-color:var(--accent)}.bank-card.amber{border-top-color:#d98b21}.bank-card span{color:var(--muted);font-size:13px;display:block}.bank-card h2{margin:6px 0 0;font-size:18px}.bank-card>strong{font-variant-numeric:tabular-nums;font-size:28px}.dashboard-section{gap:12px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-heading h2{color:#30443b;margin:0;font-size:18px}.bank-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.bank-dashboard-card{border:1px solid var(--line);background:var(--surface);min-height:210px;box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid;position:relative}.bank-dashboard-card h3{margin:0 24px 6px 0;font-size:18px}.bank-dashboard-card small,.bank-dashboard-card span{color:var(--muted)}.card-menu{color:var(--muted);letter-spacing:1px;font-weight:800;position:absolute;top:12px;right:16px}.bank-balance-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.bank-balance-row>div+div{border-left:1px solid var(--line);padding-left:18px}.bank-balance-row strong,.split-totals strong{color:#394150;font-variant-numeric:tabular-nums;font-size:25px;font-weight:500;display:block}.bank-balance-row span,.split-totals span{color:var(--blue);margin-top:2px;font-size:13px;display:block}.balance-difference{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:12px;display:flex}.balance-difference strong{font-variant-numeric:tabular-nums}.bank-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bank-import-form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.bank-import-form label:not(.file-button){min-width:190px;color:var(--muted);gap:4px;font-size:12px;font-weight:700;display:grid}.bank-import-form input[type=text],.bank-import-form input:not([type]){border:1px solid var(--line);height:34px;font:inherit;border-radius:6px;padding:0 10px}.banking-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.banking-toolbar h2{margin:0 0 4px;font-size:18px}.banking-toolbar span{color:var(--muted);font-size:13px}.bank-account-list{gap:16px;display:grid}.bank-list-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:0;display:grid;overflow:hidden}.bank-list-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.bank-list-header h3{color:#2867b2;margin:0 0 6px;font-size:18px}.bank-list-header span,.bank-list-body span{color:var(--muted);font-size:13px}.bank-list-body{gap:18px;padding:18px;display:grid}.bank-list-body .bank-balance-row{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-sparkline{border-bottom:1px solid var(--line);align-items:end;gap:5px;height:72px;padding-top:12px;display:flex}.bank-sparkline span{background:#a8cef1;border:1px solid #3d79d2;border-bottom:0;border-radius:6px 6px 0 0;flex:1;min-width:6px}.statement-alias-list{flex-wrap:wrap;gap:8px;display:flex}.statement-alias-list span{color:#334155;background:#f7fafc;border:1px solid #cbd9e4;border-radius:999px;padding:5px 9px;font-weight:700}.explain-list{gap:12px;margin:0;padding-left:22px;display:grid}.explain-list li{color:#30443b;line-height:1.45}.file-button{color:#2867b2;cursor:pointer;background:#fff;border:1px solid #b8c7d4;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.file-button:hover{background:#f5f9fc;border-color:#8fb0c2}.file-button input{display:none}.access-assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-list{gap:12px;display:grid}.role-card{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.role-card-title,.permission-module-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.role-card strong,.role-card small{display:block}.role-card small{color:var(--muted);margin-top:4px}.permission-module-list{gap:8px;display:grid}.permission-module-row{border-top:1px solid #edf2f7;padding-top:8px}.permission-module-row>strong{min-width:96px;font-size:13px}.permission-chip-row,.access-summary-list{flex-wrap:wrap;gap:6px;display:flex}.permission-chip,.access-summary-list span{color:#334155;background:#f7fafc;border:1px solid #cbd9e4;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.permission-chip.allow{color:var(--accent);background:#e8f4ef;border-color:#9ec9bc}.permission-table td:not(:first-child){color:var(--muted);font-size:12px}.role-editor{gap:16px;display:grid}.permission-edit-table th,.permission-edit-table td{text-align:center}.permission-edit-table th:first-child,.permission-edit-table td:first-child{text-align:left;min-width:140px}.permission-edit-table input{width:16px;height:16px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.bank-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.dashboard-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.metric-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}.metric-card{border-top:4px solid var(--accent);gap:8px;min-height:126px;padding:18px;display:grid}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-variant-numeric:tabular-nums;font-size:25px}.work-card .panel-body{gap:16px;display:grid}.split-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.split-totals>div+div{border-left:1px solid var(--line);padding-left:18px}.danger-text{color:var(--danger)!important}.ageing-chart{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(44px,1fr));align-items:end;gap:10px;min-height:178px;padding:8px 0 10px;display:grid}.ageing-bar-item{justify-items:center;gap:7px;min-width:0;display:grid}.ageing-track{border-bottom:1px solid #aebdca;align-items:end;width:min(54px,100%);height:128px;display:flex}.ageing-track span{background:#a8cef1;border:1px solid #2e71c7;border-radius:5px 5px 0 0;width:100%;min-height:4px;display:block}.ageing-bar-item:nth-child(2) .ageing-track span,.ageing-bar-item:nth-child(3) .ageing-track span,.ageing-bar-item:nth-child(4) .ageing-track span,.ageing-bar-item:nth-child(5) .ageing-track span{background:#3f73bd}.ageing-bar-item small{color:var(--muted);text-align:center;font-size:12px}.quick-lines{flex-wrap:wrap;gap:8px;display:flex}.quick-lines button,.quick-lines a{color:#2867b2;cursor:pointer;background:#fff;border:1px solid #b8c7d4;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none}.quick-lines button:hover,.quick-lines a:hover{background:#f5f9fc}.watchlist-table{min-width:520px}.watchlist-table td:nth-child(3),.watchlist-table td:nth-child(4){color:#2867b2}.clearing-table{min-width:620px}.clearing-table th:last-child,.clearing-table td:last-child{white-space:normal;min-width:260px}.compact-table-wrap table{min-width:420px}.payment-voucher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.voucher-mode-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;align-content:start;gap:14px;min-width:0;padding:14px;display:grid}.voucher-mode-card h3{margin:0 0 4px;font-size:16px}.voucher-mode-card span,.voucher-mode-card small{color:var(--muted);font-size:13px;line-height:1.35}.voucher-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.voucher-form label{color:#30443b;gap:6px;min-width:0;font-size:13px;font-weight:700;display:grid}.voucher-form input,.voucher-form select{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:#fff;border-radius:6px;padding:10px}.voucher-form .create-button{align-self:end}.full-span{grid-column:1/-1}.bill-select-list{gap:8px;max-height:245px;display:grid;overflow-y:auto}.bill-select-row{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:9px;gap:10px!important;display:grid!important}.bill-select-row input{width:auto}.bill-select-row span{gap:2px;min-width:0;display:grid}.bill-select-row strong,.bill-select-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bill-select-row em{color:var(--text);white-space:nowrap;font-size:12px;font-style:normal;font-weight:800}.empty-card{color:var(--muted);background:#fff;border:1px dashed #b8c7d4;border-radius:8px;padding:12px;font-size:13px}.panel,.table-panel{overflow:hidden}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.panel-header h2{margin:0;font-size:18px}.panel-header span{color:var(--muted);font-size:13px}.panel-header>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.panel-body{padding:18px}.notice{color:var(--accent-strong);background:#e6f3ed;border:1px solid #bcd5cc;border-radius:8px;margin-bottom:18px;padding:12px 14px}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-strip span{border:1px solid var(--line);background:var(--surface-muted);color:#30443b;border-radius:8px;padding:12px;font-weight:700}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-grid div{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;gap:6px;min-height:72px;padding:12px;display:grid}.report-grid span{color:var(--muted);font-size:13px}.report-grid strong{font-variant-numeric:tabular-nums;font-size:18px}.form-grid,.journal-form,.compact-form,.automation-stack{gap:12px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.journal-form label:nth-child(2){grid-column:1/-1}.compact-form{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;padding-bottom:12px}.compact-form:last-child{border-bottom:0;padding-bottom:0}.form-grid label,.journal-form label,.compact-form label{color:#30443b;gap:6px;font-size:13px;font-weight:700;display:grid}.form-grid input,.form-grid select,.journal-form input,.journal-form select,.compact-form input,.compact-form select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:10px}.check-row{flex-direction:row;align-items:center;gap:8px!important;display:flex!important}.check-row input{width:auto}.mini-button{color:var(--accent-strong);cursor:pointer;background:#e6f3ed;border:1px solid #bcd5cc;border-radius:6px;align-self:center;padding:8px 12px;font-weight:700}.mini-button:hover{background:#d8eee4}.mini-button:disabled:hover{background:#dfe7ed}.center-link{justify-self:start;text-decoration:none}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-period-bar{grid-template-columns:repeat(2,minmax(180px,220px)) auto;align-items:end;gap:12px;display:grid}.report-period-bar label{color:#30443b;gap:6px;font-size:13px;font-weight:700;display:grid}.report-period-bar input{border:1px solid var(--line);border-radius:6px;padding:10px}.report-section{gap:10px;display:grid}.report-section h2{color:#30443b;margin:0;font-size:17px}.report-card-grid,.report-action-grid{gap:12px;display:grid}.report-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.report-action-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.report-card,.report-action{border:1px solid var(--line);background:var(--surface);min-height:118px;color:var(--text);box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:16px;text-decoration:none;display:grid}.report-action{min-height:90px;box-shadow:none}.report-card:hover,.report-action:hover{border-color:#9bc7c2}.report-card span,.report-action strong{font-weight:800}.report-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.report-card strong,.report-action span{color:var(--accent-strong);align-self:end;font-size:13px}.bar-row{grid-template-columns:repeat(4,1fr);align-items:end;gap:14px;min-height:150px;display:grid}.bar-item{justify-items:center;gap:8px;display:grid}.bar-track{background:#edf2f5;border-radius:6px;align-items:end;width:100%;max-width:72px;height:104px;display:flex;overflow:hidden}.bar-track span{background:linear-gradient(#39a7d8,#1e66a6);width:100%;min-height:18px}.bar-item small{color:var(--muted);text-align:center}.stage-list,.queue-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stage-list li,.queue-list li{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.stage-list strong,.queue-list strong{margin-bottom:4px;display:block}.stage-list small,.queue-list small{color:var(--muted)}.tag{white-space:nowrap;border-radius:999px;align-self:start;padding:4px 9px;font-size:12px;font-weight:700}.tag.done{color:var(--accent);background:#e2f1e9}.tag.active{color:var(--blue);background:#e5eef7}.tag.review{color:var(--warning);background:#f8ead9}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:12px 14px}th{background:var(--surface-muted);color:#30443b;font-size:13px}.amount{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.journal{gap:10px;margin-top:6px;display:grid}.journal-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 110px 110px;gap:10px;padding:10px 0;display:grid}.journal-row:last-child{border-bottom:0}.positive{color:var(--accent)}.warning{color:var(--warning)}@media (max-width:960px){.app-header{grid-template-columns:1fr;align-items:stretch;gap:10px;padding:16px 18px}.top-nav{height:auto}.header-actions{justify-content:space-between}.banking-grid,.bank-dashboard-grid,.dashboard-grid,.payment-voucher-grid,.work-grid,.metric-grid,.form-grid,.journal-form,.compact-form,.voucher-form,.report-grid,.summary-strip,.report-period-bar{grid-template-columns:1fr}.topbar{flex-direction:column}.bank-balance-row,.split-totals,.bank-list-body .bank-balance-row{grid-template-columns:1fr}.bank-balance-row>div+div,.split-totals>div+div{border-left:0;border-top:1px solid var(--line);padding-top:12px;padding-left:0}.banking-toolbar,.bank-list-header{flex-direction:column;align-items:stretch}}@media (max-width:560px){.main{padding:18px}.header-left,.header-actions{flex-direction:column;align-items:stretch;min-width:0}.brand-mark{display:none}.company-select,.create-button,.text-link{width:100%}.user-chip{max-width:none}.topbar h1{font-size:24px}.bank-card>strong{font-size:22px}.bar-row{gap:8px}.journal-row{grid-template-columns:1fr}}
