:root{--ink:#192d3a;--muted:#687985;--green:#146c57;--line:#e3e9e9;--bg:#f4f7f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'Segoe UI',Arial,sans-serif}a{color:var(--green);text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:238px;background:#102f2a;color:#c7d9d3;padding:30px 20px}.brand{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:800;color:white}.brand span{font-size:15px;line-height:1.3;letter-spacing:1px}.brand small{font-size:9px;font-weight:400}.navlabel{font-size:10px;letter-spacing:1.6px;margin:48px 12px 14px;color:#8aaca3}nav a{display:block;color:#c6dad4;padding:13px 15px;margin:5px 0;border-radius:7px}nav a:hover,nav .selected{background:#245044;color:white}.sidebarfoot{position:absolute;bottom:30px;font-size:11px;color:#90afa5}.workspace{margin-left:238px}header{min-height:78px;border-bottom:1px solid var(--line);background:white;padding:20px 38px;display:flex;align-items:center;justify-content:space-between;gap:15px}header>span{color:var(--muted)}main{padding:35px 38px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:0 0 10px}h2{font-size:18px;margin:0 0 18px}p{color:var(--muted);margin:8px 0 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--green);margin-bottom:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.metrics article,.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px}.metrics small{display:block;color:var(--muted);font-size:12px}.metrics strong{display:block;font-size:28px;margin:10px 0}.metrics span{font-size:11px;color:#8b979e}.panel{margin-bottom:24px;box-shadow:0 3px 10px #163e2b03}button,.button{background:var(--green);color:white;border:0;border-radius:6px;padding:11px 17px;font:600 13px 'Segoe UI',sans-serif;cursor:pointer;display:inline-block;white-space:nowrap}button:hover,.button:hover{background:#0d5545}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #ccd6d6;border-radius:5px;background:white;color:var(--ink);font:inherit;min-height:42px}input:focus,select:focus{outline:2px solid #67ad96;outline-offset:1px}label{font-size:12px;font-weight:600;display:block}label input,label select{margin-top:7px}form.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:end}.grid button{justify-self:start}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px}.check input{width:16px;min-height:16px;margin:0}.inline{display:inline}.quiet{background:transparent;color:var(--muted);padding:7px}.search{display:flex;gap:10px;margin:0 0 18px}.search input{max-width:350px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);background:#f7f9f9}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.badge{font-size:10px;padding:5px 9px;background:#ecf1f2;border-radius:20px;color:#586e7a;white-space:nowrap}.disbursed,.closed{background:#e4f3ec;color:#197652}.rejected{background:#fcebed;color:#b74657}.applied{background:#fff3d8;color:#976e1c}.notice{border-left:3px solid #c7a654;background:#fffaf0;padding:18px;color:#766440;font-size:12px}.alert,.success{padding:16px;border-radius:6px;margin-bottom:20px;background:#fce9ea;color:#9c2838}.success{background:#e0f2e9;color:#17694e}.empty{text-align:center;color:var(--muted);padding:40px}footer{padding:0 38px 24px;color:#8b989d;font-size:11px}.login{max-width:450px;margin:8vh auto;background:white;border:1px solid var(--line);border-radius:12px;padding:40px}.login form{display:grid;gap:20px}.login small{display:block;margin-top:25px;font-size:10px;color:var(--muted)}.brandmark{background:#163e32;color:white;border-radius:12px;padding:12px;display:inline-block;font-weight:800;font-size:24px;margin-bottom:22px}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}form.grid{grid-template-columns:repeat(2,1fr)}aside{width:195px}.workspace{margin-left:195px}main,header{padding:24px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.brand{font-size:24px}.navlabel,.sidebarfoot{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:15px}nav a{white-space:nowrap;font-size:12px;padding:8px}.workspace{margin:0}header{font-size:11px;padding:14px;flex-wrap:wrap}main{padding:22px 14px}.heading{align-items:flex-start;flex-direction:column}h1{font-size:26px}.metrics{gap:10px}.metrics article{padding:16px}.metrics strong{font-size:22px}.panel{padding:18px}form.grid{grid-template-columns:1fr}.login{margin:25px 14px}.grid .wide{grid-column:auto}}

.profile-photo{width:120px;height:145px;object-fit:cover;border:1px solid var(--line);border-radius:8px;display:block;margin-bottom:12px}.customer-summary{display:flex;gap:28px;align-items:start}.photo-placeholder{width:120px;height:145px;background:#edf2ef;display:grid;place-content:center;text-align:center;margin-bottom:12px}.customer-summary p{margin-bottom:12px}#new-loan h3{margin-top:28px}@media(max-width:700px){.customer-summary{flex-direction:column}}

.holiday-date{color:#b42332!important;font-weight:700}input.holiday-date{border-color:#b42332;background:#fff1f2}.holiday-date small{color:#b42332}

.error-popup{position:fixed;inset:0;z-index:10000;margin:auto;width:min(460px,calc(100vw - 32px));max-height:80vh;overflow:auto;border:0;border-top:5px solid #b42332;border-radius:10px;padding:26px;box-shadow:0 12px 50px #0003;color:var(--ink)}.error-popup::backdrop{background:#102f2a80}.error-popup h2{color:#a62030;margin-bottom:12px}.error-popup p{white-space:pre-wrap;overflow-wrap:anywhere}.error-popup form{text-align:right}

.statement-band{background:#ff0;border:1px solid #475659;color:#003e92;font-size:17px;font-weight:700;text-align:center;padding:8px;margin-bottom:8px}.statement-ledger{min-width:1080px;font-size:12px}.statement-ledger th{background:#dedede;color:#172c3c;text-transform:none;letter-spacing:0;font-size:12px}.statement-ledger td,.statement-ledger th{border:1px solid #8f9c9e;padding:8px 6px}.statement-ledger td{white-space:nowrap}.statement-ledger td:last-child{white-space:normal;min-width:170px}.statement-ledger .statement-current td{background:#d1f8fc}.statement-ledger .statement-current td:nth-child(-n+8){background:#a9f4fb}.statement-ledger tfoot td{font-weight:700;background:#f4f7f7;border-top:3px double #62777c}.statement-actions{margin:18px 0 0}

.statement-cell{display:block;width:100%;min-height:20px;padding:0;border:0;background:transparent!important;color:inherit;text-align:left;font:inherit;font-weight:400;white-space:normal;cursor:text;border-radius:0}.statement-cell:hover,.statement-cell:focus{outline:1px dashed #146c57;outline-offset:3px}.cell-edit-hint{opacity:0;font-size:10px}.statement-cell:hover .cell-edit-hint,.statement-cell:focus .cell-edit-hint{opacity:.7}.statement-editor{width:min(900px,95vw);max-height:90vh;overflow:auto;border:0;border-radius:10px;padding:25px;color:var(--ink)}.statement-editor::backdrop{background:#102f2a90}.statement-editor form{gap:12px}.editor-error{color:#b42332}.statement-edit-guide{font-size:12px}.statement-ledger tr[hidden]{display:none}

.statement-ledger .statement-summary-gap td{height:12px;padding:0;border:0;background:transparent!important}

aside{display:flex;flex-direction:column;height:100vh}.navlabel{margin:24px 12px 10px}aside nav{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}aside nav>a{flex-shrink:0}aside .sidebarfoot{position:static;flex-shrink:0;margin-top:12px}.sidebar-customers{display:flex;flex-direction:column;flex:1;min-height:130px;margin:0 4px 12px;padding:0 8px}.sidebar-customers label{color:#c7d9d3;font-size:11px}.sidebar-customers input{min-height:34px;padding:7px 9px;margin:5px 0 8px;font-size:12px}.sidebar-customer-list{overflow-y:auto;flex:1;min-height:50px;scrollbar-width:thin}.sidebar-customer-list a{padding:7px 9px;margin:2px 0;font-size:12px;white-space:normal}.sidebar-customer-list a[hidden]{display:none}.sidebar-customer-list p{color:#c7d9d3;font-size:12px}.sidebar-customers .sidebar-add-customer{font-size:11px;padding:8px 0}.statement-inline-input{font-size:12px;min-height:32px;padding:5px;border:1px solid transparent;border-radius:3px;background:#ffffff90;width:100%;min-width:80px}.statement-inline-input[type=date]{min-width:115px}.statement-inline-input:focus{background:#fff;border-color:#146c57}.statement-dirty td{box-shadow:inset 0 -2px #dfaa38}[data-payment-save-status]{margin-left:12px;font-size:12px;color:#687985}@media(max-width:700px){aside{height:auto}aside nav{display:flex;overflow:visible;flex-wrap:wrap}.sidebar-customers{width:100%;min-height:140px;max-height:260px}.sidebar-customer-list{max-height:170px}}

.statement-button-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.statement-button-row>*{flex-shrink:0}.statement-button-row [data-payment-save-status]{margin-left:4px}

.statement-ledger .statement-created-today td{background:#00eeee}.statement-ledger .statement-due-tomorrow td{background:#ffff00}.statement-ledger .statement-overdue td{background:#ff6600}

.statement-ledger .statement-paid td{background:#bfbfbf}.statement-ledger .statement-paid .statement-inline-input{background:transparent}.statement-ledger .statement-paid .statement-inline-input:focus{background:#fff}

.statement-ledger .statement-due-today td{background:#ffff00}.statement-ledger .statement-paid td{background:#bfbfbf}

.statement-button-row button:disabled{opacity:.45;cursor:default}

.date-entry{display:flex;position:relative;align-items:stretch;width:100%;min-width:0;margin-top:7px}.date-entry>input[data-date-display]{flex:1;min-width:85px;width:0;margin-top:0;border-top-right-radius:0;border-bottom-right-radius:0}.date-entry .date-entry-button{flex:0 0 34px;padding:0;border-radius:0 5px 5px 0;min-height:32px;font-size:20px;align-self:stretch}.date-entry .date-entry-picker{position:absolute;bottom:0;left:0;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none}.statement-ledger .date-entry{margin-top:0}

.sidebar-due-tomorrow{min-height:80px;flex:.7}.sidebar-due-tomorrow>label{color:#ffe36b;margin-bottom:6px}.sidebar-due-tomorrow small{display:block;color:#d7e6df;font-size:11px}.sidebar-due-tomorrow .sidebar-customer-list p{font-size:11px;margin:6px 0}

.profile-photo-link{display:block;border-radius:8px}.profile-photo-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}.profile-photo-link .profile-photo,.profile-photo-link .photo-placeholder{margin-bottom:0}

aside nav{margin-top:22px}.sidebar-customers{border:1px solid #fff;border-radius:5px;padding:8px;margin:0 0 10px;min-height:100px}.sidebar-due-tomorrow,.sidebar-overdue{flex:.7;min-height:85px}.sidebar-overdue>label{color:#ffb176;margin-bottom:6px}.sidebar-overdue small{display:block;color:#d7e6df;font-size:11px}.sidebar-overdue .sidebar-customer-list p{font-size:11px;margin:6px 0}

.import-workspace-preview fieldset{border:0;margin:0;padding:0;min-width:0}.import-workspace-preview a{cursor:default}.import-workspace-preview [data-profile-save-status]{display:none}

.customer-delete{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}.customer-delete summary{color:#b32937;cursor:pointer}.customer-delete form{max-width:460px}.customer-delete button{margin-top:12px}.danger{background:#b32937}.danger:hover{background:#8b1c29}
