:root{--nav:#102d30;--accent:#087f75;--paper:#fff;--ink:#20363a;--muted:#718185;--line:#dde7e7;--bg:#f2f6f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:240px;background:var(--nav);color:#fff;padding:32px 20px;display:flex;flex-direction:column}.brand{font-size:38px;letter-spacing:-2px;font-weight:800;color:white;padding-left:12px}.brand span{color:#6cd3b9}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:0}nav{display:grid;gap:6px;margin-top:40px}nav a{color:#abc4c4;padding:11px 14px;border-radius:8px}nav a:hover,nav a.active{background:#25484a;color:#fff}.identity{margin-top:auto;padding:12px}.identity small{display:block;color:#abc4c4;margin-bottom:12px}main{margin-left:240px;padding:32px 42px;max-width:1800px}body:not(:has(aside)) main{margin:0 auto;max-width:1050px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}header small,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent)}h1{font-size:30px;letter-spacing:-1px;margin:5px 0}h2{font-size:19px;margin:0 0 14px}h3{font-size:16px}p{margin:12px 0}.intro{color:var(--muted);margin-top:-20px;margin-bottom:26px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.cards article{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.cards article:first-child{background:var(--nav);color:#fff}.cards article:first-child small{color:#b1d7d0}.cards small{display:block;color:var(--muted)}.cards strong{display:block;font-size:27px;letter-spacing:-1px;margin-top:15px}section,details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head p{color:var(--muted)}button,.button{display:inline-block;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:7px;padding:10px 17px;font:600 13px system-ui;cursor:pointer;margin:4px 5px 4px 0}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#edf5f3;color:var(--accent);border-color:#d0e5e0}.danger{background:#fce8e6;color:#a52c25;border-color:#f7cbc7}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#51696e;font-weight:600}input,select{width:100%;padding:11px 12px;border:1px solid #cddcdb;border-radius:7px;background:#fff;color:var(--ink);font:14px system-ui}input:focus,select:focus{outline:2px solid #6bc2af;outline-offset:1px}input[type=checkbox]{width:18px;height:18px}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filters label{flex:1;min-width:150px}.filters button{margin-bottom:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-weight:600;background:#f6f9f8;white-space:nowrap}th,td{padding:13px 11px;border-bottom:1px solid var(--line)}td{vertical-align:top}tbody tr:hover{background:#f6faf9}td form{min-width:150px;margin-top:10px}td input{padding:7px}td button,.table-wrap .button{padding:7px 10px;font-size:11px}.details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.details small{display:block;color:var(--muted);font-size:11px}.details b{display:block;margin-top:5px}.badge{padding:6px 12px;border-radius:25px;font-size:12px;background:#e5f6ee;color:#207b57}.badge.overdue{background:#fceae4;color:#a44729}.badge.void{background:#eee;color:#666}.badge.paid{background:#e5effc;color:#3c63a6}.muted{color:var(--muted);font-size:12px}.notice,.error{padding:15px;border-radius:8px;margin:15px 0;background:#e1f3e9;color:#236143}.error{background:#fbe6e4;color:#912c29}.calculator{grid-column:1/-1;background:#eef7f4;border-radius:8px;padding:18px;display:flex;flex-wrap:wrap;gap:26px}.calculator span{display:grid;gap:4px;color:var(--muted);font-size:12px}.calculator strong{color:var(--ink);font-size:20px}.toolbar{margin-bottom:20px}.login{max-width:510px;margin:60px auto;padding:38px}.login h2{font-size:30px;letter-spacing:-1px;margin-top:20px}.login label{margin-top:20px}.login button{width:100%;margin-top:25px}.pagination{display:flex;gap:20px;margin-top:15px;font-size:12px}.signatures{display:flex;justify-content:space-between;margin-top:70px}.total{font-weight:700;text-align:right}.totals{margin-top:24px}summary{cursor:pointer;font-weight:600}details section{border:0;margin:0}.print-sheet{padding:30px}@media(max-width:1100px){aside{width:200px}main{margin-left:200px;padding:25px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){aside{position:static;width:100%;padding:16px}aside .brand{font-size:26px}nav{display:flex;overflow:auto;margin-top:14px;gap:5px}nav a{white-space:nowrap;padding:8px 10px}.identity{display:none}main{margin:0;padding:20px 14px}header{align-items:start;gap:10px}header>span{font-size:10px}h1{font-size:25px}.cards{gap:10px}.cards article{padding:17px}.cards strong{font-size:23px}.form-grid,.details{grid-template-columns:1fr}section{padding:18px}.login{margin:25px auto}.section-head{align-items:start}.calculator{gap:17px}}@page{size:A4 landscape;margin:10mm}@media print{body{background:#fff;font-size:10pt}.no-print,aside,nav,header>span{display:none!important}main,body:not(:has(aside)) main{margin:0;max-width:none;padding:0}header{margin:0 0 15px}section{padding:0;border:0;border-radius:0}.print-sheet{padding:0}table{font-size:8pt}th,td{padding:6px 4px}thead{display:table-header-group}tr{break-inside:avoid}h2,h3{break-after:avoid}.table-wrap{overflow:visible}.details{grid-template-columns:repeat(3,1fr)}a{color:inherit}button{display:none}.totals{break-inside:avoid}.notice,.error{display:none}}

.calculation-note{grid-column:1/-1;margin-top:0}input[readonly]{background:#f2f6f5;color:#51696e}

/* Readable modal feedback, confirmations, and validation. */
.lmis-alert{border:0;border-radius:18px;padding:32px;width:min(480px,calc(100vw - 32px));max-height:85vh;overflow:auto;box-shadow:0 24px 90px #101f4050;text-align:center;color:#25364a;background:#fff}
.lmis-alert::backdrop{background:#0b193b88;backdrop-filter:blur(3px)}
.lmis-alert h2{font-size:24px;margin:18px 0 12px;line-height:1.3}
.lmis-alert p{font-size:16px;line-height:1.65;margin:0 0 25px;white-space:pre-wrap;overflow-wrap:anywhere;color:#526071}
.lmis-alert .alert-icon{width:72px;height:72px;border:3px solid #638bdd;color:#416aca;border-radius:50%;margin:auto;display:grid;place-items:center;font-size:42px;line-height:1;font-weight:600}
.lmis-alert[data-kind=success] .alert-icon{color:#29966b;border-color:#78c8a8}
.lmis-alert[data-kind=error] .alert-icon{color:#d45050;border-color:#ee9a9a}
.lmis-alert[data-kind=confirm] .alert-icon{color:#c38822;border-color:#e4b965}
.lmis-alert .alert-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.lmis-alert button{min-width:110px;font-size:15px;padding:12px 22px}.lmis-alert button[hidden]{display:none}
@media print{.lmis-alert{display:none!important}}

.borrower-picker{display:flex;flex-direction:column;gap:10px}.borrower-picker small{color:#64748b;font-size:12px}.borrower-picker select[size]{min-height:44px}.borrower-picker select option{padding:9px 10px}

.idle-countdown{position:fixed;bottom:14px;right:16px;background:#eef3f8;color:#43576d;border:1px solid #cfdae5;border-radius:8px;padding:8px 12px;font-size:12px;z-index:20;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px #16304815;pointer-events:none}.idle-countdown.idle-warning{background:#fff3df;border-color:#eac47a;color:#8a5e17}@media print{.idle-countdown{display:none!important}}
