:root{--navy:#082d59;--navy-2:#0b3b71;--navy-3:#123f75;--orange:#ee7d11;--orange-2:#f39a35;--ink:#102b4b;--muted:#6c7c8f;--line:#e4e9ef;--soft:#f6f8fb;--white:#fff;--green:#198754;--red:#b9433b;--amber:#b86a00;--shadow:0 16px 42px rgba(10,43,79,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Inter','Segoe UI Variable','Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--soft);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.auth{min-height:100vh;background:linear-gradient(135deg,#061d3a 0%,#0a3669 58%,#0d477d 100%);padding:34px;display:grid;place-items:center}.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .75fr;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-story{padding:64px 56px;color:#fff;min-height:610px;background:radial-gradient(circle at 20% 15%,rgba(238,125,17,.18),transparent 30%),linear-gradient(150deg,rgba(255,255,255,.04),rgba(255,255,255,0));display:flex;flex-direction:column;justify-content:center}.auth-story h1{font-size:46px;line-height:1.06;max-width:620px;margin:22px 0 16px}.auth-story p{font-size:16px;line-height:1.8;color:#d8e3ef;max-width:600px}.auth-points{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;font-size:12px;font-weight:600;color:#f4f7fb}.auth-card{background:#fff;padding:48px 42px;display:flex;flex-direction:column;justify-content:center}.brand,.side-brand{display:flex;align-items:center;gap:11px}.brand{margin-bottom:32px}.brand b,.side-brand b{font-size:28px;font-weight:700;letter-spacing:-.04em}.brand small,.side-brand small{display:block;font-size:8px;letter-spacing:.14em;color:var(--orange);font-weight:800}.brand-light small{color:#ffb467}.mark{display:flex;gap:5px;align-items:center;width:32px}.mark i{display:block;width:10px;height:24px;border-radius:7px;background:var(--orange);transform:rotate(38deg)}.mark i:first-child{height:9px;width:9px;border-radius:50%;transform:none}.eyebrow{font-size:10px;color:var(--orange);font-weight:800;letter-spacing:.14em}.eyebrow.light{color:#ffad53}.auth h2{font-size:31px;margin:8px 0 8px;letter-spacing:-.03em}.auth-card>div>p{color:var(--muted);font-size:14px;line-height:1.6}.auth form,.form{display:grid;gap:13px;margin-top:20px}.auth label,.form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#314963}.auth input,.form input,.form select,.form textarea{padding:12px 13px;border:1px solid #d7e0e8;border-radius:9px;width:100%;outline:none;background:#fff;color:var(--ink);transition:.15s}.auth input:focus,.form input:focus,.form select:focus,.form textarea:focus{border-color:#f2a052;box-shadow:0 0 0 3px rgba(238,125,17,.10)}.auth form button,.primary{border:0;background:linear-gradient(135deg,var(--orange),#d96d08);color:#fff;padding:12px 15px;border-radius:9px;font-weight:700;box-shadow:0 8px 18px rgba(238,125,17,.20)}.secondary{border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 13px;border-radius:9px;font-weight:700}.danger{border:0;background:#fff0ee;color:var(--red);padding:9px 12px;border-radius:8px;font-weight:700}.link{border:0;background:none;color:var(--navy);font-weight:600;margin-top:15px;padding:0}.check{display:flex!important;gap:8px!important;align-items:center}.check input{width:auto}.app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{position:fixed;width:252px;height:100vh;background:linear-gradient(180deg,#062a55,#0a3a6e 64%,#072c56);color:#fff;display:flex;flex-direction:column;z-index:20;box-shadow:8px 0 22px rgba(5,35,69,.08)}.side-brand{height:82px;padding:0 20px;border-bottom:1px solid #ffffff17}.side-brand b{font-size:24px}.side-section{font-size:9px;letter-spacing:.16em;color:#8fb0d0;font-weight:800;padding:18px 20px 7px}.sidebar nav{display:grid;padding:5px 11px;gap:3px;overflow:auto}.sidebar nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;color:#d4e0ec;text-decoration:none;border-radius:9px;font-size:12px;font-weight:500}.sidebar nav a span{width:18px;color:#9fc0df;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.10);color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--orange)}.side-bottom{margin-top:auto;padding:16px;border-top:1px solid #ffffff18;font-size:10px;color:#d2deeb;line-height:1.5}.side-bottom b{color:#fff}.side-bottom button{width:100%;margin-top:11px;border:1px solid #ffffff35;background:transparent;color:#fff;border-radius:8px;padding:9px}.app>main{grid-column:2;min-width:0}.top{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:10}.crumb small{color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.13em}.top h2{font-size:20px;margin:2px 0 0;letter-spacing:-.02em}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:20px}.avatar{width:38px;height:38px;border-radius:50%;background:#edf3f9;color:var(--navy);display:grid;place-items:center;font-size:11px;font-weight:800;border:1px solid #dce6ef}#menu{display:none;border:0;background:none;font-size:22px}.view{padding:27px;max-width:1520px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:19px}.welcome h1{margin:0;font-size:29px;letter-spacing:-.03em}.welcome p,.section-head p,.muted{color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:18px}.section-head h1{margin:0;font-size:27px;letter-spacing:-.03em}.section-head p{margin:5px 0 0;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#edf2f7;text-transform:capitalize}.badge.active,.badge.paid,.badge.occupied,.badge.completed,.badge.approved,.badge.held{background:#eaf7ef;color:#187343}.badge.overdue,.badge.urgent,.badge.rejected{background:#fff0ee;color:#a13b34}.badge.vacant,.badge.open,.badge.unpaid,.badge.pending,.badge.not_screened{background:#fff4e8;color:#a95e00}.badge.in_progress,.badge.assigned,.badge.screened,.badge.partial{background:#eaf2ff;color:#2c5c9b}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpi,.panel,.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 3px 12px rgba(15,46,79,.025)}.kpi span{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.05em}.kpi strong{display:block;font-size:25px;margin-top:8px;letter-spacing:-.03em}.kpi em{display:block;font-style:normal;font-size:10px;color:var(--muted);margin-top:4px}.kpi.accent{border-top:3px solid var(--orange)}.grid2{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.panel h3{margin:0 0 13px;font-size:16px}.panel-sub{font-size:11px;color:var(--muted);margin-top:-8px;margin-bottom:14px}.bars{display:grid;gap:13px}.barrow{display:grid;grid-template-columns:120px 1fr 45px;gap:9px;align-items:center;font-size:11px}.bar{height:8px;background:#edf1f5;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#f5a84e)}.activity div{padding:9px 0;border-bottom:1px solid #edf1f4;font-size:11px}.activity div:last-child{border-bottom:0}.activity small{display:block;color:var(--muted);margin-top:3px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.card{transition:.15s}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card h3{margin:11px 0 4px;font-size:16px}.card p{font-size:11px;color:var(--muted);line-height:1.6}.card small{font-size:10px;color:#53677c}.card-top{display:flex;justify-content:space-between;align-items:center}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f4}.metric-row span{font-size:9px;color:var(--muted)}.metric-row b{display:block;font-size:13px;margin-top:2px}.table-tools{display:flex;gap:8px;margin:0 0 12px}.search{min-width:230px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:820px}.table th{text-align:left;background:#f8fafc;padding:11px 13px;font-size:9px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.table td{padding:11px 13px;border-top:1px solid #edf0f3;font-size:11px;vertical-align:middle}.table tr:hover td{background:#fcfdfe}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;font-size:10px;color:var(--navy)}.modal{position:fixed;inset:0;background:rgba(2,21,43,.62);display:grid;place-items:center;padding:20px;z-index:40;backdrop-filter:blur(2px)}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:26px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-card h2{margin:0 0 5px}.modal-card>p{color:var(--muted);font-size:12px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;color:#708096}.form{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}.empty{text-align:center;padding:34px;color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-grid strong{font-size:22px;color:var(--navy)}.report-grid p{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:8px;font-size:10px;font-weight:700;color:#51667b}.tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.upload-box{border:1.5px dashed #cad6e2;background:#fbfcfe;border-radius:13px;padding:20px}.upload-box input[type=file]{padding:9px;background:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toast{position:fixed;right:20px;top:20px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:9px;z-index:100;opacity:0;transform:translateY(-6px);transition:.2s;box-shadow:var(--shadow);font-size:12px}.toast.show{opacity:1;transform:none}.toast.error{background:var(--red)}.pill{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.pill b{color:var(--ink)}.notice{background:#fff8ef;border:1px solid #ffe1bd;color:#86511a;border-radius:10px;padding:11px 13px;font-size:11px;margin-bottom:14px}.progress{height:6px;background:#edf1f5;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:var(--orange)}
@media(max-width:1150px){.kpis{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.app{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app>main{grid-column:auto}.top{padding:0 16px}.view{padding:17px}#menu{display:block}.grid2,.grid3,.split{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.cards,.report-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.span2{grid-column:auto}.section-head,.welcome{display:block}.actions{margin-top:12px}.auth{padding:0}.auth-shell{grid-template-columns:1fr;border:0;border-radius:0;min-height:100vh}.auth-story{display:none}.auth-card{padding:30px 24px}.sidebar{width:250px}.app{grid-template-columns:250px 1fr}}
@media(max-width:480px){.kpis{grid-template-columns:1fr}.view{padding:14px}.top{height:72px}.auth-card{padding:25px 20px}}
[hidden]{display:none!important}

.collections-stats{margin-top:12px;grid-template-columns:repeat(4,1fr)}
.collections-stats .card span,.case-summary span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.collections-stats .card strong{font-size:22px;color:var(--navy)}
.case-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.case-summary>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.case-summary strong{font-size:18px;color:var(--navy);text-transform:capitalize}
@media(max-width:900px){.collections-stats,.case-summary{grid-template-columns:repeat(2,1fr)}}

/* v0.7 arrangement servicing */
.arrangement-metrics{margin:12px 0}.progress-track{height:10px;background:var(--soft,#eef2f6);border-radius:999px;overflow:hidden;margin-top:10px}.progress-fill{height:100%;background:var(--orange,#e98218);border-radius:999px;transition:width .2s ease}

/* v0.7.1 arrangement visibility + workflow intelligence */
.arrangement-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}
.arr-progress-line{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:8px 0 12px;flex-wrap:wrap}
.workflow-note{display:inline-flex;align-items:center;background:#eef7ff;border:1px solid #d6e9fb;color:#315e86;border-radius:9px;padding:7px 9px;font-size:10px}
.workflow-note.warn{background:#fff8ef;border-color:#ffe1bd;color:#86511a}
.arr-schedule{display:grid;gap:9px}
.arr-instalment{display:grid;grid-template-columns:55px 1.15fr 1fr 1fr 1fr 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}
.arr-instalment span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;margin-bottom:3px}
.arr-instalment b{font-size:11px;color:var(--navy)}
.arr-seq{font-weight:800;color:var(--orange);font-size:12px}
.modal-card:has(.arr-schedule){width:min(1040px,96vw)}
@media(max-width:900px){.arrangement-metrics{grid-template-columns:repeat(2,1fr)}.arr-instalment{grid-template-columns:45px 1fr 1fr}.arr-instalment>div:nth-child(n+4){margin-top:4px}}
@media(max-width:620px){.arr-instalment{grid-template-columns:1fr 1fr}.arr-seq{grid-column:1/-1}.modal-card:has(.arr-schedule){width:100%}}

/* v0.11 inspections & property condition */
.inspection-area{margin-top:16px}.inspection-area h4{margin:0 0 8px;font-size:13px;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}.case-summary small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.badge.excellent,.badge.good,.badge.finalised{background:#eaf7ef;color:#187343}.badge.fair,.badge.monitor,.badge.awaiting_signoff{background:#fff4e8;color:#9a600a}.badge.poor,.badge.maintenance_required,.badge.urgent_repair{background:#fff0df;color:#9b5700}.badge.critical,.badge.safety_hazard{background:#fff0ee;color:#a13b34}.badge.no_defect{background:#edf7f1;color:#187343}.badge.cosmetic_issue,.badge.replacement_recommended{background:#eef3fb;color:#315e86}.modal-card:has(.inspection-area){width:min(1180px,96vw)}
@media(max-width:900px){.modal-card:has(.inspection-area){width:100%}}

/* v0.12 advanced inspections, evidence, digital signatures & move-out control */
.modal-card:has(.evidence-grid),.modal-card:has(.signature-pad),.modal-card:has(.compare-note){width:min(1240px,97vw)}
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.evidence-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff;color:var(--ink)}.evidence-card:hover{box-shadow:var(--shadow)}.evidence-thumb{height:120px;border-radius:9px;background:#eef3f8;overflow:hidden;display:grid;place-items:center;margin-bottom:8px}.evidence-thumb img{width:100%;height:100%;object-fit:cover}.evidence-thumb span{font-weight:800;color:var(--muted);font-size:12px}.evidence-card b{display:block;font-size:11px;text-transform:capitalize}.evidence-card small{display:block;color:var(--orange);font-size:9px;margin-top:2px;text-transform:capitalize}.evidence-card p{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.5}.empty.compact{padding:18px}
.signature-field{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcfe}.signature-field>b{display:block;font-size:12px;margin-bottom:8px}.signature-pad{display:block;width:100%;height:150px;border:1px dashed #9eb1c5;border-radius:9px;background:#fff;touch-action:none}.signature-field .text-btn{margin-top:7px}.signoff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.signoff-card{border:1px solid var(--line);border-radius:12px;padding:13px}.signoff-card>span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}.signoff-card>b{display:block;margin:4px 0 8px}.signature-preview{display:block;width:100%;height:85px;object-fit:contain;border:1px solid #edf1f5;background:#fff;border-radius:8px}.signature-status{margin:8px 0}.signoff-card p{font-size:10px;color:var(--muted)}.signoff-card small{font-size:9px;color:var(--muted)}
.compare-note{background:#eef7ff;border-color:#d6e9fb;color:#315e86}.badge.deteriorated,.badge.tenant_damage{background:#fff0ee;color:#a13b34}.badge.unchanged,.badge.pre_existing_condition{background:#edf2f7;color:#526579}.badge.improved,.badge.fair_wear_and_tear{background:#eaf7ef;color:#187343}.badge.owner_maintenance,.badge.investigation_required{background:#fff4e8;color:#9a600a}.row-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}.text-btn{border:0;background:none;color:var(--navy);font-weight:700;padding:4px 5px;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.signoff-grid{grid-template-columns:1fr}.evidence-grid{grid-template-columns:repeat(2,1fr)}.modal-card:has(.evidence-grid),.modal-card:has(.signature-pad),.modal-card:has(.compare-note){width:100%}}
@media(max-width:520px){.evidence-grid{grid-template-columns:1fr}.signature-pad{height:130px}}

/* v0.13 documents, compliance & records management */
.document-kpis{grid-template-columns:repeat(5,1fr);margin-bottom:16px}.document-tabs{margin-top:4px}.compact-head{margin-bottom:10px}.document-filters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:8px;margin-bottom:12px}.document-filters select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:11px}.document-table{min-width:1180px}.compliance-table{min-width:980px}.document-table td:first-child{min-width:220px}.document-table td:nth-child(3){min-width:190px}.badge.expiring_soon{background:#fff4e8;color:#9a600a}.badge.expired,.badge.missing{background:#fff0ee;color:#a13b34}.badge.pending_verification{background:#eef3fb;color:#315e86}.badge.valid,.badge.filed{background:#eaf7ef;color:#187343}.badge.archived{background:#edf2f7;color:#526579}.modal-card:has(#documentUploadForm),.modal-card:has(#documentMetadataForm),.modal-card:has(#documentVersionForm),.modal-card:has(#requirementForm){width:min(980px,96vw)}
@media(max-width:1100px){.document-kpis{grid-template-columns:repeat(3,1fr)}.document-filters{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.document-kpis{grid-template-columns:1fr 1fr}.document-filters{grid-template-columns:1fr}.document-filters .search{min-width:0;width:100%}}
@media(max-width:480px){.document-kpis{grid-template-columns:1fr}}

/* v0.13.2 document details, preview and archive recovery */
.document-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.document-detail-grid>div{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fbfcfe;min-width:0}.document-detail-grid span,.detail-notes>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:5px}.document-detail-grid b{display:block;font-size:11px;overflow-wrap:anywhere}.document-detail-grid small{display:block;color:var(--muted);font-size:9px;margin-top:4px;overflow-wrap:anywhere}.detail-notes{border:1px solid var(--line);border-radius:11px;padding:12px;margin:10px 0;background:#fff}.detail-notes p{margin:0;font-size:11px;line-height:1.6;color:#40566c;white-space:pre-wrap}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.document-preview{border:1px solid var(--line);border-radius:12px;background:#f6f8fb;overflow:hidden;min-height:440px;margin-top:14px}.document-preview iframe{display:block;width:100%;height:68vh;min-height:520px;border:0;background:#fff}.document-preview img{display:block;max-width:100%;max-height:68vh;margin:auto;object-fit:contain;background:#fff}.preview-unavailable{border:1px solid #dce6ef;background:#f8fbfe;border-radius:12px;padding:22px;margin-top:16px}.preview-unavailable b{display:block;font-size:15px;margin-bottom:7px}.preview-unavailable p{font-size:11px;line-height:1.65;color:var(--muted);max-width:720px}.modal-card:has(.document-preview),.modal-card:has(.document-detail-grid),.modal-card:has(.version-table){width:min(1180px,97vw)}.version-table{min-width:1180px}.badge.current{background:#eaf7ef;color:#187343}.badge.superseded{background:#edf2f7;color:#526579}
@media(max-width:850px){.document-detail-grid{grid-template-columns:1fr 1fr}.document-preview iframe{min-height:430px}.modal-card:has(.document-preview),.modal-card:has(.document-detail-grid),.modal-card:has(.version-table){width:100%}}
@media(max-width:560px){.document-detail-grid{grid-template-columns:1fr}.document-preview{min-height:320px}.document-preview iframe{height:58vh;min-height:360px}}

/* v0.14 premium enterprise visual language */
.kpi,.panel,.card,.table-wrap{border-radius:7px}.modal-card{border-radius:10px}.auth input,.form input,.form select,.form textarea,.secondary,.primary,.search,.document-filters select,.icon-btn{border-radius:6px}.notice,.workflow-note,.upload-box,.document-detail-grid>div,.detail-notes,.document-preview,.preview-unavailable,.signature-field,.signoff-card,.evidence-card,.arr-instalment,.case-summary>div{border-radius:7px}.sidebar nav a{border-radius:5px}.row-actions button,.tabs button{border-radius:5px}
.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.executive-kpis .kpi{appearance:none;text-align:left;color:var(--ink);cursor:default}.executive-kpis button.kpi{cursor:pointer}.executive-kpis button.kpi:hover{border-color:#cbd7e2;box-shadow:0 8px 20px rgba(12,48,84,.07)}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.span-dashboard-2{grid-column:1/-1}.premium-welcome{align-items:center}.dashboard-period{font-size:10px;color:var(--muted);border-left:2px solid var(--orange);padding-left:10px}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.text-btn{border:0;background:none;color:var(--navy);font-size:10px;font-weight:700;padding:4px}.mini-chart{height:205px;display:flex;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:15px 6px 0}.mini-month{height:100%;flex:1;display:grid;grid-template-rows:1fr 22px;gap:5px;min-width:0}.mini-stack{display:flex;gap:4px;align-items:end;justify-content:center;height:100%}.mini-stack i{display:block;width:min(18px,28%);min-height:3px;border-radius:2px 2px 0 0}.mini-month>span{text-align:center;font-size:9px;color:var(--muted);white-space:nowrap}.series.s1,.dot.s1{background:#0b3b71}.series.s2,.dot.s2{background:#ee7d11}.series.s3,.dot.s3{background:#aebac7}.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:9px;color:var(--muted)}.chart-legend span{display:flex;gap:6px;align-items:center}.dot{width:8px;height:8px;border-radius:2px;display:inline-block}.ratio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ratio-tile{border:1px solid var(--line);padding:11px;background:#fbfcfe;border-radius:5px}.ratio-tile span{display:block;font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase}.ratio-tile strong{display:block;font-size:18px;margin:5px 0 1px}.ratio-tile small{font-size:8px;color:var(--muted)}.risk-list{display:grid}.risk-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f4}.risk-list>div:last-child{border-bottom:0}.risk-list b{display:block;font-size:11px}.risk-list small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.45}.risk-level{font-size:8px;font-weight:800;text-transform:uppercase;padding:4px 7px;border-radius:4px;background:#eaf7ef;color:#187343;white-space:nowrap}.risk-level.attention{background:#fff4e8;color:#9a600a}.risk-level.high{background:#fff0ee;color:#a13b34}.position-list{display:grid}.position-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f4;font-size:10px}.position-list .total{border-top:2px solid var(--ink);font-size:11px}.compact-table{min-width:760px}.compact-table th,.compact-table td{padding:8px 10px}.report-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:8px;align-items:end;background:#fff;border:1px solid var(--line);padding:12px;margin-bottom:12px;border-radius:7px}.report-filter-bar label{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.report-filter-bar input,.report-filter-bar select{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}.analytics-tabs{gap:4px;border-bottom:1px solid var(--line);padding-bottom:8px}.analytics-tabs button{padding:8px 10px}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.report-top-grid{margin-bottom:14px}.report-table{min-width:980px}.ageing-bars{display:grid;gap:13px}.ageing-bars>div{display:grid;grid-template-columns:90px 95px 1fr;gap:9px;align-items:center;font-size:10px}.ageing-bars i{display:block;height:8px;background:var(--orange);min-width:2px}.finance-warning{border-left:4px solid var(--orange);background:#fff8ef;padding:13px 15px;margin-bottom:14px}.finance-warning b{font-size:12px}.finance-warning p{font-size:10px;color:#6c5d4e;line-height:1.6;margin:5px 0 0}.financial-statements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.statement h3{margin-bottom:18px}.statement-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:10px}.statement-row.subtotal{font-weight:700;border-top:1px solid var(--ink)}.statement-row.total{font-size:12px;font-weight:800;border-top:2px solid var(--ink);border-bottom:0}.statement>small{display:block;color:var(--muted);font-size:8px;line-height:1.5;margin-top:12px}
@media(max-width:1150px){.executive-kpis,.report-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.span-dashboard-2{grid-column:auto}.financial-statements{grid-template-columns:1fr}.report-filter-bar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.executive-kpis,.report-kpis{grid-template-columns:1fr 1fr}.report-filter-bar{grid-template-columns:1fr}.dashboard-period{margin-top:10px}.ratio-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.executive-kpis,.report-kpis{grid-template-columns:1fr}.ratio-grid{grid-template-columns:1fr}}
@media print{.sidebar,.top,.actions,.report-filter-bar,.analytics-tabs,#toast{display:none!important}.app{display:block!important}.app>main{display:block!important}.view{padding:0;max-width:none}.panel,.kpi{break-inside:avoid;box-shadow:none}.table-wrap{overflow:visible}.table{min-width:0;font-size:9px}}

/* v0.14.1 reporting truth engine */
.report-basis-note{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-left:3px solid var(--orange);background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;margin:0 0 12px;border-radius:5px;font-size:9px;color:var(--muted)}.report-basis-note b{color:var(--ink);font-size:10px}.recon-status{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;padding:9px 10px;border-radius:5px;font-size:9px;font-weight:700}.recon-status.ok{background:#eaf7ef;color:#187343}.recon-status.warn{background:#fff0ee;color:#a13b34}.statement-row.total+ .recon-status{margin-top:10px}


/* v0.14.5 property performance truth layer */
.property-performance-shell{padding:18px}.property-performance-list{display:grid;gap:12px;margin-top:14px}.property-performance-card{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.property-performance-head{display:grid;grid-template-columns:minmax(210px,.85fr) 2.15fr;gap:18px;align-items:center;padding:17px 18px;background:#fbfcfe;border-bottom:1px solid var(--line)}.property-performance-head h3{margin:4px 0 2px;font-size:18px}.property-performance-head>div>small{font-size:9px;color:var(--muted)}.property-head-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.property-head-metrics>div{border-left:1px solid var(--line);padding:4px 10px}.property-head-metrics span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.property-head-metrics b{display:block;font-size:17px;margin-top:4px}.property-head-metrics small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.property-performance-blocks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.property-performance-blocks section{padding:15px 16px;border-right:1px solid var(--line)}.property-performance-blocks section:last-child{border-right:0}.property-performance-blocks h4{margin:0 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy)}.performance-line{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #edf1f4}.performance-line:last-child{border-bottom:0}.performance-line span{display:block;font-size:9px;color:#52677d}.performance-line small{display:block;font-size:7px;line-height:1.4;color:var(--muted);margin-top:2px}.performance-line b{font-size:10px;text-align:right;white-space:nowrap}.property-performance-card,.property-performance-head,.property-performance-shell{box-shadow:none}
@media(max-width:1180px){.property-performance-head{grid-template-columns:1fr}.property-head-metrics{grid-template-columns:repeat(2,1fr)}.property-performance-blocks{grid-template-columns:repeat(2,1fr)}.property-performance-blocks section{border-bottom:1px solid var(--line)}.property-performance-blocks section:nth-child(even){border-right:0}}
@media(max-width:680px){.property-head-metrics,.property-performance-blocks{grid-template-columns:1fr}.property-head-metrics>div{border-left:0;border-top:1px solid var(--line);padding:8px 0}.property-performance-blocks section{border-right:0}.property-performance-head{padding:14px}.property-performance-blocks section{padding:13px 14px}}

/* v0.14.6 — Owner statement & remittance workspace */
.badge.payable{background:#fff4e8;color:#9a600a}.badge.settled{background:#eaf7ef;color:#187343}.badge.owner_due{background:#fff0ee;color:#a13b34}.badge.retained{background:#eaf2ff;color:#2c5c9b}.badge.released{background:#edf2f7;color:#526579}.badge.debit{background:#fff0ee;color:#a13b34}.badge.credit{background:#eaf7ef;color:#187343}
.owner-statement-shell{padding:18px}.owner-statement-list{display:grid;gap:14px;margin-top:14px}.owner-statement-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.owner-statement-head{display:grid;grid-template-columns:minmax(230px,.85fr) 2.15fr;gap:18px;align-items:center;padding:18px;background:#fbfcfe;border-bottom:1px solid var(--line)}.owner-identity h3{font-size:19px;margin:4px 0 3px}.owner-identity small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.owner-head-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.owner-head-metrics>div{border-left:1px solid var(--line);padding:4px 10px}.owner-head-metrics span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.owner-head-metrics b{display:block;font-size:17px;margin-top:4px}.owner-head-metrics small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.owner-head-metrics .badge{margin-top:2px}.owner-closing{background:#f7fafc}.owner-actions{display:flex;gap:8px;justify-content:flex-end;padding:9px 16px;border-bottom:1px solid var(--line);background:#fff}.owner-statement-blocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.owner-statement-blocks section{padding:15px 16px;border-right:1px solid var(--line)}.owner-statement-blocks section:last-child{border-right:0}.owner-statement-blocks h4,.owner-statement-detail h4{margin:0 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy)}.owner-statement-detail{padding:16px}.owner-detail-heading{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:10px}.owner-detail-heading h4{margin-bottom:2px}.owner-detail-heading p{font-size:8px;color:var(--muted);margin:0}.owner-property-table .table{min-width:900px}.owner-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.owner-register-grid>section{min-width:0}.small-empty{padding:22px}.owner-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-directory-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.owner-directory-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px 17px;background:#fbfcfe;border-bottom:1px solid var(--line)}.owner-directory-head h3{font-size:17px;margin:4px 0 0}.owner-directory-body{display:grid;grid-template-columns:1fr 1fr}.owner-directory-body>div{padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.owner-directory-body>div:nth-child(even){border-right:0}.owner-directory-body span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em}.owner-directory-body b{display:block;font-size:10px;margin-top:4px;overflow-wrap:anywhere}.owner-directory-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 14px}
@media(max-width:1180px){.owner-statement-head{grid-template-columns:1fr}.owner-head-metrics{grid-template-columns:repeat(2,1fr)}.owner-statement-blocks{grid-template-columns:repeat(2,1fr)}.owner-statement-blocks section:nth-child(even){border-right:0}.owner-register-grid{grid-template-columns:1fr}}
@media(max-width:760px){.owner-directory-grid{grid-template-columns:1fr}.owner-head-metrics,.owner-statement-blocks{grid-template-columns:1fr}.owner-head-metrics>div{border-left:0;border-top:1px solid var(--line);padding:8px 0}.owner-statement-blocks section{border-right:0;border-bottom:1px solid var(--line)}.owner-actions{justify-content:flex-start;flex-wrap:wrap}.owner-directory-body{grid-template-columns:1fr}.owner-directory-body>div{border-right:0}.owner-statement-head,.owner-statement-detail{padding:14px}}
@media print{.no-print{display:none!important}.owner-statement-card{break-inside:avoid}.owner-register-grid{grid-template-columns:1fr}.owner-statement-detail{padding:10px}.owner-statement-shell{border:0;padding:0}}

/* v0.15 — Maintenance reporting & analytics */
.maintenance-command{background:linear-gradient(130deg,#102c46,#173d5d);color:#fff;border:1px solid #244b69;border-radius:6px;padding:20px;margin-bottom:14px}.maint-title,.maint-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.maint-title h2{margin:4px 0 5px;font-size:22px}.maint-title p{margin:0;color:#c7d7e4;font-size:9px}.maintenance-command .eyebrow{color:#86d0c7}.maint-position-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px}.maint-stat{min-width:0;background:#f8fafc;border:1px solid var(--line);border-radius:4px;padding:12px 13px;color:var(--ink)}.maintenance-command .maint-stat{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14);color:#fff}.maint-stat span{display:block;font-size:7px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.maintenance-command .maint-stat span{color:#adc1d1}.maint-stat strong{display:block;font-size:16px;margin-top:5px;overflow-wrap:anywhere}.maint-stat small{display:block;font-size:7px;color:var(--muted);margin-top:3px;line-height:1.35}.maintenance-command .maint-stat small{color:#a9bdcd}.maint-stat.accent{border-left:3px solid var(--orange)}.maint-stat.risk{border-left:3px solid #d76355}.maint-stat.warn{border-left:3px solid #dfad4a}.maint-stat.good{border-left:3px solid #48a578}.maint-workspace{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.maint-flow-panel,.maint-performance,.maint-chart-grid>.panel,.maint-insight-grid>.panel{padding:16px}.maint-section-head{align-items:center;margin-bottom:13px}.maint-section-head h3{font-size:14px;margin:3px 0 0}.maint-chip{font-size:8px;font-weight:800;padding:5px 8px;background:#edf3f7;color:var(--navy);border-radius:99px}.maint-flow{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}.maint-flow>div{position:relative;padding:11px 9px;border-right:1px solid var(--line);background:#fbfcfd;min-width:0}.maint-flow>div:last-child{border-right:0}.maint-flow span{display:block;font-size:7px;color:var(--muted);min-height:18px}.maint-flow strong{font-size:17px}.maint-flow i{position:absolute;right:-5px;top:24px;z-index:1;color:#93a7b7;font-style:normal;background:#fff;border-radius:50%}.maint-flow .late{background:#fff5f3}.maint-flow .late strong{color:#a13b34}.maint-performance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.maint-performance-grid .maint-stat{padding:9px}.maint-performance-grid .maint-stat strong{font-size:14px}.maint-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.maint-chart-grid>.panel:nth-child(1),.maint-chart-grid>.panel:nth-child(2){grid-column:span 2}.maint-bars{display:grid;gap:8px}.maint-bars>div{display:grid;grid-template-columns:55px minmax(40px,1fr) 62px;gap:8px;align-items:center}.maint-bars span,.dual-chart>div>small{font-size:7px;color:var(--muted)}.maint-bars i,.variance-compare i{display:block;height:6px;background:#edf1f4;border-radius:1px;overflow:hidden}.maint-bars i b,.variance-compare i b{display:block;height:100%;background:#2c6c82}.maint-bars strong{font-size:8px;text-align:right}.dual-chart{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dual-chart>div>small{display:block;text-transform:uppercase;font-weight:800;margin-bottom:8px}.variance-compare{display:grid;gap:10px}.variance-compare>div{display:grid;grid-template-columns:65px 1fr;gap:6px;align-items:center}.variance-compare span{font-size:8px;color:var(--muted)}.variance-compare strong{font-size:12px;text-align:right}.variance-compare i{grid-column:1/-1}.variance-compare i b.actual{background:var(--orange)}.variance-compare p{font-size:8px;font-weight:800;margin:2px 0 0}.variance-compare .negative{color:#a13b34}.variance-compare .positive{color:#187343}.maint-insight-grid{display:grid;grid-template-columns:1.15fr 1.15fr .7fr;gap:14px;margin-top:14px}.maint-insight-grid h4{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin:16px 0 7px}.maint-rank-list{border-top:1px solid var(--line)}.maint-rank-list>div{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--line)}.maint-rank-list i{display:grid;place-items:center;width:17px;height:17px;background:#edf3f7;color:var(--navy);border-radius:2px;font-size:7px;font-style:normal;font-weight:800}.maint-rank-list b,.maint-rank-list strong{font-size:8px}.maint-rank-list small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.maint-empty{padding:12px;background:#fafbfc;border:1px dashed var(--line);font-size:8px;color:var(--muted)}.maint-signal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.maint-signal-row .maint-stat{padding:9px}.maint-register{margin-top:14px;padding:17px}.maint-register .table{min-width:1050px}
@media(max-width:1200px){.maint-position-grid{grid-template-columns:repeat(3,1fr)}.maint-workspace{grid-template-columns:1fr}.maint-flow{grid-template-columns:repeat(5,1fr)}.maint-chart-grid{grid-template-columns:repeat(2,1fr)}.maint-chart-grid>.panel:nth-child(1),.maint-chart-grid>.panel:nth-child(2){grid-column:span 1}.maint-insight-grid{grid-template-columns:1fr 1fr}.maint-insight-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:760px){.maint-position-grid,.maint-performance-grid{grid-template-columns:repeat(2,1fr)}.maint-flow{grid-template-columns:repeat(3,1fr)}.maint-chart-grid,.maint-insight-grid{grid-template-columns:1fr}.maint-insight-grid>.panel:last-child{grid-column:auto}.dual-chart{grid-template-columns:1fr}.maint-title{display:block}.maint-title button{margin-top:10px}.maintenance-command{padding:15px}}
@media print{.maintenance-command{background:#fff;color:var(--ink);border-color:var(--line)}.maintenance-command .eyebrow,.maintenance-command .maint-stat span,.maintenance-command .maint-stat small{color:var(--muted)}.maintenance-command .maint-stat{color:var(--ink);border-color:var(--line);background:#fff}.maint-chart-grid,.maint-insight-grid{grid-template-columns:1fr 1fr}.panel{break-inside:avoid}}

/* v0.15.1 — keep the analytics visible beneath the app chrome */
body:has(.analytics-tabs) .top{height:58px;box-shadow:0 4px 14px rgba(15,46,79,.05)}
body:has(.analytics-tabs) .top h2{font-size:16px;margin-top:0}
body:has(.analytics-tabs) .top .crumb small{display:none}
body:has(.analytics-tabs) .view{padding-top:20px}

/* v0.16 — Occupancy & leasing intelligence */
.leasing-command{background:linear-gradient(135deg,#153b49,#1e5d64);color:#fff;border:1px solid #2d6870;border-radius:6px;padding:20px;margin-bottom:14px}.leasing-command .eyebrow{color:#9be0d3}.leasing-command .maint-title p{color:#cae1df}.leasing-command .maint-stat{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15);color:#fff}.leasing-command .maint-stat span,.leasing-command .maint-stat small{color:#bad3d2}.leasing-workspace{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.leasing-pipeline,.leasing-income,.leasing-chart-grid>.panel,.leasing-intelligence-grid>.panel{padding:16px}.leasing-flow{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}.leasing-flow>div{position:relative;padding:11px 9px;border-right:1px solid var(--line);background:#fbfcfd;min-width:0}.leasing-flow>div:last-child{border-right:0}.leasing-flow span{display:block;font-size:7px;color:var(--muted);min-height:18px}.leasing-flow strong{font-size:17px}.leasing-flow i{position:absolute;right:-5px;top:24px;z-index:1;color:#93a7b7;font-style:normal;background:#fff;border-radius:50%}.leasing-flow .attention{background:#fff8ef}.leasing-flow .attention strong{color:#9a600a}.leasing-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.leasing-intelligence-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.leasing-intelligence-grid .report-table{min-width:980px}.leasing-success{display:grid;place-items:center;text-align:center;min-height:220px;background:#f4faf7;border:1px dashed #bcd9ca;border-radius:5px;color:#187343}.leasing-success b{font-size:16px}.leasing-success span{font-size:9px;color:#5f7b6b;margin-top:-70px}.leasing-risk-register{margin-top:14px;padding:17px}.leasing-risk-register .report-table{min-width:1250px}
@media(max-width:1200px){.leasing-workspace,.leasing-intelligence-grid{grid-template-columns:1fr}.leasing-flow{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.leasing-command{padding:15px}.leasing-chart-grid{grid-template-columns:1fr}.leasing-flow{grid-template-columns:repeat(2,1fr)}}
@media print{.leasing-command{background:#fff;color:var(--ink);border-color:var(--line)}.leasing-command .maint-stat{background:#fff;color:var(--ink);border-color:var(--line)}.leasing-command .eyebrow,.leasing-command .maint-stat span,.leasing-command .maint-stat small{color:var(--muted)}}

/* v0.17 — Inspection & compliance intelligence */
.inspection-command{background:linear-gradient(132deg,#202f4d,#414768);color:#fff;border:1px solid #4e5577;border-radius:5px;padding:20px;margin-bottom:14px}.inspection-command .eyebrow{color:#a9d9d2}.inspection-command .maint-title p{color:#cbd1df}.inspection-command .maint-stat{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#fff}.inspection-command .maint-stat span,.inspection-command .maint-stat small{color:#c0c7d8}.inspection-workspace{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.inspection-flow-panel,.inspection-performance,.inspection-chart-grid>.panel,.inspection-intelligence-grid>.panel{padding:16px}.inspection-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:3px;overflow:hidden}.inspection-flow>div{position:relative;padding:12px 10px;border-right:1px solid var(--line);background:#fbfcfd;min-width:0}.inspection-flow>div:last-child{border-right:0}.inspection-flow span{display:block;font-size:7px;color:var(--muted);min-height:18px}.inspection-flow strong{font-size:17px}.inspection-flow i{position:absolute;right:-5px;top:25px;z-index:1;color:#8797ad;font-style:normal;background:#fff}.inspection-flow .late{background:#fff2ef}.inspection-flow .late strong{color:#a13b34}.inspection-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.inspection-chart-grid .inspection-chart-wide{grid-column:span 2}.inspection-intelligence-grid{display:grid;grid-template-columns:1.05fr .95fr 1fr;gap:14px;margin-top:14px}.inspection-intelligence-grid h4{font-size:8px;text-transform:uppercase;letter-spacing:.055em;color:var(--navy);margin:16px 0 7px}.compliance-control{border-top:3px solid #d5a241}.compliance-score{display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);padding:2px 0 13px;margin-bottom:10px}.compliance-score strong{font-size:27px;color:#283c5d}.compliance-score span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em}.compliance-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.compliance-mini-grid .maint-stat{padding:9px}.compliance-mini-grid .maint-stat strong{font-size:14px}.inspection-register{margin-top:14px;padding:17px}.inspection-register .report-table{min-width:1450px}.inspection-register-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.inspection-register-grid>.panel{padding:17px;min-width:0}.inspection-register-grid .report-table{min-width:1120px}.inspection-register-grid>section:last-child .report-table{min-width:920px}.inspection-command,.inspection-flow,.inspection-chart-grid>.panel,.inspection-intelligence-grid>.panel,.inspection-register,.inspection-register-grid>.panel{box-shadow:none}
@media(max-width:1200px){.inspection-workspace{grid-template-columns:1fr}.inspection-chart-grid{grid-template-columns:repeat(2,1fr)}.inspection-chart-grid .inspection-chart-wide{grid-column:span 2}.inspection-intelligence-grid{grid-template-columns:1fr 1fr}.inspection-intelligence-grid>.panel:last-child{grid-column:1/-1}.inspection-register-grid{grid-template-columns:1fr}}
@media(max-width:760px){.inspection-command{padding:15px}.inspection-flow{grid-template-columns:repeat(2,1fr)}.inspection-chart-grid,.inspection-intelligence-grid{grid-template-columns:1fr}.inspection-chart-grid .inspection-chart-wide,.inspection-intelligence-grid>.panel:last-child{grid-column:auto}.compliance-mini-grid{grid-template-columns:1fr 1fr}}
@media print{.inspection-command{background:#fff;color:var(--ink);border-color:var(--line)}.inspection-command .maint-stat{background:#fff;color:var(--ink);border-color:var(--line)}.inspection-command .eyebrow,.inspection-command .maint-stat span,.inspection-command .maint-stat small{color:var(--muted)}.inspection-chart-grid,.inspection-intelligence-grid{grid-template-columns:1fr 1fr}.inspection-register-grid{grid-template-columns:1fr}}

/* v0.18 — General ledger & financial statements */
.gl-basis{border-left-color:#a87935}.gl-sync-alert{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 15px;margin-bottom:12px;background:#fff8eb;border:1px solid #e7c995;border-left:3px solid #c88a2f;border-radius:3px}.gl-sync-alert b,.gl-sync-alert span{display:block}.gl-sync-alert b{font-size:11px;color:#6c4b19}.gl-sync-alert span{font-size:8px;color:#80694a;margin-top:3px}.gl-command{background:linear-gradient(132deg,#172d35,#294348 58%,#344a48);color:#fff;border:1px solid #3e5654;border-radius:4px;padding:20px;margin-bottom:14px}.gl-command .eyebrow{color:#d9b471}.gl-command .maint-title p{color:#cad8d6}.gl-command-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gl-command-actions .secondary{background:#fff;border-color:#fff}.gl-position-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gl-command .maint-stat{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.14);color:#fff}.gl-command .maint-stat span,.gl-command .maint-stat small{color:#c5d2d0}.gl-statement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gl-statement{padding:17px;border-radius:4px;box-shadow:none}.gl-statement h3{font-size:15px;margin:4px 0 13px}.gl-statement-lines{border-top:1px solid var(--line)}.gl-statement-lines>div{display:flex;justify-content:space-between;gap:14px;padding:9px 1px;border-bottom:1px solid var(--line)}.gl-statement-lines span{font-size:9px;color:#52677d}.gl-statement-lines b{font-size:10px;white-space:nowrap}.gl-statement-lines .total{padding-top:12px;border-top:2px solid #344c52;background:#f8faf9;padding-left:7px;padding-right:7px}.gl-statement-lines .total span,.gl-statement-lines .total b{font-weight:900;color:var(--ink)}.gl-statement>p{font-size:7px;line-height:1.55;color:var(--muted);margin:11px 0 0}.gl-control-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.gl-control-grid>.panel{padding:17px}.gl-control-chip{font-size:8px;font-weight:900;padding:5px 8px;border-radius:2px}.gl-control-chip.good{background:#e7f6ed;color:#187343}.gl-control-chip.attention{background:#fff1e4;color:#98601c}.gl-reconciliation{border-top:1px solid var(--line)}.gl-reconciliation>div{display:grid;grid-template-columns:minmax(145px,1fr) 82px 82px 76px;gap:8px;align-items:center;padding:9px 3px;border-bottom:1px solid var(--line)}.gl-reconciliation>div>div b,.gl-reconciliation>div>div small{display:block}.gl-reconciliation>div>div b{font-size:8px}.gl-reconciliation>div>div small{font-size:7px;color:var(--muted);margin-top:2px}.gl-reconciliation>div>span,.gl-reconciliation>div>strong{font-size:8px;text-align:right}.gl-reconciliation>div.reconciled{border-left:2px solid #48a578;padding-left:8px}.gl-reconciliation>div.attention{border-left:2px solid #d99a37;padding-left:8px;background:#fffaf2}.gl-reconciliation>div.attention strong{color:#996020}.gl-recon-key{display:grid;grid-template-columns:82px 82px 76px;gap:8px;justify-content:end;margin-top:6px}.gl-recon-key span{font-size:6px;text-align:right;text-transform:uppercase;font-weight:800;color:var(--muted)}.gl-trend-summary{display:flex;gap:8px;margin-top:15px}.gl-trend-summary span{flex:1;padding:10px;background:#f7f9fa;border-left:2px solid #3e6970;font-size:7px;color:var(--muted)}.gl-trend-summary b{display:block;font-size:11px;color:var(--ink);margin-top:3px}.gl-trial{margin-top:14px;padding:17px;box-shadow:none}.gl-trial .table{min-width:1020px}.gl-trial tfoot td{background:#f4f7f8;border-top:2px solid #344c52}.gl-register-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:14px}.gl-register-grid>.panel{padding:17px;min-width:0;box-shadow:none}.gl-register-grid .table{min-width:960px}.gl-account-list{border-top:1px solid var(--line)}.gl-account-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--line)}.gl-account-list b{font-size:8px;color:#9a661c}.gl-account-list span{font-size:8px}.gl-account-list small{font-size:7px;color:var(--muted);text-transform:uppercase}.finance-scope-note{margin-top:14px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid #3e6970;background:#f8faf9;border-radius:2px}.finance-scope-note b{font-size:9px}.finance-scope-note p{font-size:8px;line-height:1.5;color:var(--muted);margin:3px 0 0}.badge.asset,.badge.liability,.badge.equity,.badge.income,.badge.expense,.badge.system{background:#edf3f4;color:#375b60}
@media(max-width:1200px){.gl-position-grid{grid-template-columns:repeat(3,1fr)}.gl-statement-grid{grid-template-columns:1fr 1fr}.gl-statement-grid>.panel:last-child{grid-column:1/-1}.gl-register-grid{grid-template-columns:1fr}.gl-control-grid{grid-template-columns:1fr}}
@media(max-width:760px){.gl-command{padding:15px}.gl-position-grid,.gl-statement-grid{grid-template-columns:1fr}.gl-statement-grid>.panel:last-child{grid-column:auto}.gl-sync-alert,.gl-command .maint-title{display:block}.gl-sync-alert button,.gl-command-actions{margin-top:10px}.gl-command-actions{justify-content:flex-start}.gl-reconciliation>div{grid-template-columns:1fr 62px 62px}.gl-reconciliation>div>strong{grid-column:2/-1}.gl-recon-key{display:none}.gl-trend-summary{display:grid}}
@media print{.gl-command{background:#fff;color:var(--ink);border-color:var(--line)}.gl-command .maint-stat{background:#fff;color:var(--ink);border-color:var(--line)}.gl-command .eyebrow,.gl-command .maint-stat span,.gl-command .maint-stat small{color:var(--muted)}.gl-sync-alert,.gl-command-actions{display:none}.gl-statement-grid{grid-template-columns:repeat(3,1fr)}.gl-control-grid,.gl-register-grid{grid-template-columns:1fr}.gl-trial,.gl-register-grid>.panel{break-inside:avoid}}
/* v0.19 — Risk Management & Portfolio Controls */
.risk-basis{border-left-color:#a66b43}.risk-command{background:linear-gradient(128deg,#172d42 0%,#29374d 56%,#4a3541 100%);color:#fff;border:1px solid #3e4a5b;border-radius:5px;padding:20px;margin-bottom:14px}.risk-command .eyebrow{color:#e4b88f}.risk-command .maint-title p{color:#d3d8e0}.risk-command-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.risk-command .maint-stat{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14);color:#fff}.risk-command .maint-stat span,.risk-command .maint-stat small{color:#bdc8d4}.risk-position-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.risk-top-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin-top:14px}.risk-top-grid>.panel,.risk-control-grid>.panel,.risk-monitor-grid>.panel,.risk-detail-grid>.panel{padding:16px}.risk-heat{position:relative;padding:0 0 18px 23px}.risk-axis-title{position:absolute;left:-13px;top:44%;font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;transform:rotate(-90deg)}.risk-axis-bottom{text-align:center;font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:6px}.risk-heat-grid{display:grid;grid-template-columns:repeat(5,minmax(38px,1fr));gap:4px}.risk-heat-cell{min-height:48px;padding:6px;display:grid;grid-template-columns:1fr auto;align-content:space-between;border:1px solid rgba(20,44,67,.08);font-size:8px}.risk-heat-cell>span{font-weight:800;color:rgba(14,36,58,.58)}.risk-heat-cell b,.risk-heat-cell em{font-size:7px;font-style:normal;align-self:end}.risk-heat-cell b{color:#0b3b71}.risk-heat-cell em{color:#8c3f52}.risk-heat-cell.low{background:#e8f5ec}.risk-heat-cell.moderate{background:#fff4d9}.risk-heat-cell.high{background:#fde1cb}.risk-heat-cell.critical{background:#f5c8c6}.risk-heat-key{display:flex;gap:10px;font-size:7px;color:var(--muted)}.risk-signal-list{display:grid;gap:0;border-top:1px solid var(--line)}.risk-signal-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:9px 4px 9px 10px;border-bottom:1px solid var(--line);border-left:3px solid #8bb79b}.risk-signal-list>div.moderate{border-left-color:#d9ad4e}.risk-signal-list>div.high{border-left-color:#dc8c4c}.risk-signal-list>div.critical{border-left-color:#b84b4b}.risk-signal-list b{display:block;font-size:9px}.risk-signal-list small{display:block;font-size:7px;color:var(--muted);line-height:1.45;margin:2px 0 5px}.risk-signal-list>div>div>span{display:flex;align-items:center;gap:7px}.risk-signal-list strong{font-size:8px}.secondary.mini{padding:6px 8px;font-size:8px}.risk-control-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:14px}.risk-bars{display:grid;gap:10px}.risk-bars>div{display:grid;grid-template-columns:90px 1fr 35px;gap:8px;align-items:center}.risk-bars span{font-size:8px;color:var(--muted)}.risk-bars i{height:7px;background:#edf1f4;overflow:hidden}.risk-bars i b{display:block;height:100%;background:linear-gradient(90deg,#304e68,#9b5a51)}.risk-bars strong{font-size:8px;text-align:right}.risk-control-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.risk-control-summary .maint-stat{padding:10px}.risk-control-summary .maint-stat strong{font-size:15px}.risk-monitor-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.risk-kri-list,.risk-incident-list,.risk-mini-register{display:grid;border-top:1px solid var(--line)}.risk-kri-list>div{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--line)}.risk-kri-list b,.risk-incident-list b,.risk-mini-register b{font-size:8px}.risk-kri-list small,.risk-incident-list small,.risk-mini-register small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.risk-kri-list strong{font-size:9px}.kri-light{width:8px;height:8px;border-radius:50%;background:#9ba9b5;box-shadow:0 0 0 3px #eef1f4}.kri-light.green{background:#2d9563;box-shadow:0 0 0 3px #e5f4ec}.kri-light.amber{background:#d79928;box-shadow:0 0 0 3px #fff2d8}.kri-light.red{background:#c34a47;box-shadow:0 0 0 3px #fbe5e3}.risk-incident-list>div,.risk-mini-register>div{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.risk-incident-list strong{font-size:9px}.risk-success{min-height:150px;display:grid;place-items:center;text-align:center;background:#f5faf7;border:1px dashed #bcd9ca;color:#187343}.risk-success b{font-size:13px}.risk-success span{font-size:8px;color:#5f7b6b;margin-top:-45px}.risk-register{margin-top:14px;padding:17px}.risk-table{min-width:1320px}.risk-table td:first-child small{display:block;min-width:190px;color:var(--muted);font-size:8px;margin-top:3px}.risk-table .row-actions{display:flex;gap:3px;min-width:175px}.risk-table .row-actions button{font-size:8px;padding:3px}.risk-text{color:#a13b34;font-weight:700}.risk-pill{display:inline-block;padding:3px 5px;border-radius:3px;background:#eef3f5;color:#455f6d;font-size:7px;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}.risk-pill.low,.risk-pill.within_appetite,.risk-pill.effective,.risk-pill.completed,.risk-pill.contained{background:#e6f4eb;color:#187343}.risk-pill.moderate,.risk-pill.outside_appetite,.risk-pill.partial,.risk-pill.planned,.risk-pill.in_progress,.risk-pill.investigating{background:#fff1d8;color:#8b5b09}.risk-pill.high,.risk-pill.blocked,.risk-pill.ineffective{background:#fde5d7;color:#9c4d1d}.risk-pill.critical,.risk-pill.breach,.risk-pill.red,.risk-pill.open{background:#fbe3e1;color:#a13b34}.risk-register-empty{min-height:170px;display:grid;place-items:center;text-align:center;background:#fafbfc;border:1px dashed var(--line);padding:25px}.risk-register-empty b{font-size:14px}.risk-register-empty span{font-size:9px;color:var(--muted);margin-top:-35px}.risk-detail-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:14px;margin-top:14px}.risk-mini-register>div{grid-template-columns:1fr auto}.risk-mini-register>div.overdue{border-left:3px solid #b84b4b;padding-left:8px}.risk-appetite-list{display:grid;border-top:1px solid var(--line)}.risk-appetite-list>div{display:grid;grid-template-columns:1fr 30px 30px;gap:8px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:8px}.risk-appetite-list b,.risk-appetite-list strong{text-align:right}.risk-appetite-list b{color:#9a600a}.risk-appetite-list strong{color:#a13b34}.risk-appetite-key{display:flex;justify-content:flex-end;gap:12px;font-size:7px;color:var(--muted);margin-top:6px}.risk-appetite-key span:first-child{color:#9a600a}.risk-appetite-key span:last-child{color:#a13b34}
@media(max-width:1100px){.risk-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-top-grid,.risk-monitor-grid{grid-template-columns:1fr}.risk-control-grid{grid-template-columns:1fr 1fr}.risk-detail-grid{grid-template-columns:1fr 1fr}.risk-detail-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:760px){.risk-command .maint-title{display:block}.risk-command-actions{justify-content:flex-start;margin-top:13px}.risk-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-control-grid,.risk-detail-grid{grid-template-columns:1fr}.risk-detail-grid>.panel:last-child{grid-column:auto}.risk-heat-grid{grid-template-columns:repeat(5,minmax(28px,1fr))}.risk-heat-cell{min-height:42px}.risk-signal-list>div{grid-template-columns:1fr}.risk-control-summary{grid-template-columns:repeat(2,1fr)}}
@media print{.risk-command-actions,.risk-table .row-actions,.risk-signal-list button,#manageRiskAppetite,#addRisk{display:none!important}.risk-command{break-inside:avoid}.risk-top-grid,.risk-control-grid,.risk-monitor-grid,.risk-detail-grid{break-inside:avoid}}

/* v0.19.2 — structured operational forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.form-grid>label,.form-grid label{display:grid;align-content:start;gap:6px;min-width:0;font-size:10px;font-weight:700;color:#314963}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;padding:11px 12px;border:1px solid #d7e0e8;border-radius:5px;background:#fff;color:var(--ink);outline:none}.form-grid textarea{resize:vertical;line-height:1.55}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#e69343;box-shadow:0 0 0 3px rgba(238,125,17,.10)}.form-grid label>small{font-size:7px;line-height:1.45;color:var(--muted);font-weight:500}.form-grid .span2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:3px}
.modal-card:has(#riskForm){width:min(980px,96vw);max-height:92vh;padding:24px 26px}.risk-form-heading h2{margin:3px 0 5px;font-size:23px}.risk-form-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.risk-source-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:15px;padding:11px 13px;border:1px solid #dce5ed;border-left:3px solid var(--orange);background:#f8fafc;border-radius:4px}.risk-source-summary>div:first-child{min-width:0}.risk-source-summary span{display:block;font-size:7px;letter-spacing:.08em;font-weight:800;color:#9b6429}.risk-source-summary b{display:block;font-size:11px;margin:3px 0}.risk-source-summary small{display:block;color:var(--muted);font-size:8px;line-height:1.45}.risk-source-summary>div:last-child{display:flex;align-items:center;gap:8px;white-space:nowrap}.risk-source-summary strong{font-size:11px}.risk-form{gap:12px}.risk-form-section{border:1px solid var(--line);background:#fbfcfd;border-radius:5px;padding:14px}.risk-form-section-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.risk-form-section-head>span{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:4px;background:#17334d;color:#fff;font-size:9px;font-weight:800}.risk-form-section-head b{display:block;font-size:11px}.risk-form-section-head small{display:block;color:var(--muted);font-size:8px;line-height:1.45;margin-top:2px}.risk-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.risk-form-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-form-fields .span2,.risk-form-fields .span3{grid-column:1/-1}.risk-assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.risk-score-card{border:1px solid #dce5ed;background:#fff;padding:12px;border-radius:4px}.risk-score-card.residual{border-left:3px solid #8b5960}.risk-score-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.risk-score-card>div:first-child b{font-size:10px}.risk-score-card>div:first-child small{font-size:7px;color:var(--muted)}.risk-score-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.risk-score-result{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-top:1px solid var(--line);margin-top:11px;padding-top:9px}.risk-score-result>span{font-size:7px;color:var(--muted);text-transform:uppercase;font-weight:800}.risk-score-result>strong{font-size:17px}.risk-score-key{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;padding-left:2px;font-size:7px;color:var(--muted)}.risk-score-key span{display:flex;align-items:center;gap:5px}.risk-score-key i{display:block;width:7px;height:7px;border-radius:2px}.risk-score-key i.low{background:#72aa87}.risk-score-key i.moderate{background:#d5aa4f}.risk-score-key i.high{background:#df8a4b}.risk-score-key i.critical{background:#bb4d4d}.risk-form-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px;margin-top:1px}.risk-form-actions>div{margin-right:auto}.risk-form-actions>div b{display:block;font-size:10px}.risk-form-actions>div small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.risk-form-actions button{min-width:105px}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.modal-card:has(#riskForm){width:100%;padding:20px 16px}.risk-source-summary{align-items:flex-start}.risk-assessment-grid,.risk-form-fields,.risk-form-fields.three,.risk-score-fields{grid-template-columns:1fr}.risk-form-fields .span2,.risk-form-fields .span3{grid-column:auto}.risk-form-section{grid-column:auto}.risk-form-actions{display:grid;grid-template-columns:1fr 1fr}.risk-form-actions>div{grid-column:1/-1}.risk-form-actions button{width:100%}}

/* v0.20 navigation resilience, shared presentation and responsive workspace */
:root{--content-max:1480px;--touch:44px;--radius-panel:11px;--focus:0 0 0 3px rgba(238,125,17,.2)}
body{min-width:320px;overflow-x:hidden;background:#f4f7fb}body.modal-open,body.nav-open{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus)}
.skip-link{position:fixed;left:-100vw;top:12px;z-index:200;background:#fff;color:var(--navy);padding:11px 16px;border-radius:8px;font-weight:700;text-decoration:none;box-shadow:var(--shadow)}.skip-link:focus-visible{left:16px}.skip-link:focus:not(:focus-visible){left:-100vw}
.payment-control-note{display:grid;gap:5px;margin:14px 0 18px;padding:14px 16px;border-left:3px solid var(--orange);background:#fff8ed;color:var(--navy)}.payment-control-note span{color:var(--muted);font-size:.9rem;line-height:1.45}
.app{grid-template-columns:244px minmax(0,1fr)}.sidebar{width:244px}.sidebar nav{scrollbar-width:thin;scrollbar-color:#ffffff36 transparent;overscroll-behavior:contain}.sidebar nav a{min-height:42px;border-radius:7px;transition:background .16s,color .16s,transform .16s}.sidebar nav a:hover{transform:translateX(2px)}.app>main{grid-column:2;min-width:0;width:100%}
.top{height:76px;padding:0 clamp(18px,2.2vw,34px);box-shadow:0 1px 12px rgba(13,44,78,.035)}.view{width:100%;max-width:var(--content-max);padding:clamp(20px,2.4vw,34px);margin:0 auto}.panel,.card,.kpi{border-radius:var(--radius-panel);box-shadow:0 4px 18px rgba(15,46,79,.035)}.primary,.secondary,.danger,.icon-btn{min-height:40px}.section-head.module-heading{align-items:center;margin-bottom:16px}.module-heading h1{font-size:clamp(25px,2.2vw,34px)}.module-heading p{max-width:720px;line-height:1.6}
.sidebar-backdrop{display:none;position:fixed;inset:0;border:0;background:rgba(3,21,42,.54);z-index:19;opacity:0;transition:opacity .2s;backdrop-filter:blur(2px)}.sidebar-backdrop.show{opacity:1}
.route-loading{display:grid;gap:16px;min-height:55vh;align-content:start;position:relative;overflow:hidden}.route-loading>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.route-loading i{display:block;background:linear-gradient(100deg,#e9eef4 25%,#f8fafc 42%,#e9eef4 60%);background-size:220% 100%;animation:route-shimmer 1.25s ease-in-out infinite;border-radius:8px}.loading-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.loading-head>i{width:220px;height:34px}.loading-head>div{display:flex;gap:8px}.loading-head>div i{width:105px;height:40px}.loading-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.loading-kpis i{height:112px}.loading-panels{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.loading-panels i{height:330px}@keyframes route-shimmer{to{background-position-x:-220%}}@media(prefers-reduced-motion:reduce){.route-loading i{animation:none}.sidebar,.sidebar-backdrop{transition:none}}
.route-error{min-height:58vh;display:grid;place-items:start;align-content:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:12px;padding:42px;box-shadow:0 12px 35px rgba(15,46,79,.06)}.route-error-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#fff3e7;color:#b45d04;font-size:25px;font-weight:800}.route-error h1{font-size:26px;margin:6px 0}.route-error p{max-width:560px;color:var(--muted);line-height:1.7}.route-error .actions{justify-content:center;margin:12px 0}.route-error small{color:var(--muted)}
.collection-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.collection-overview>div{background:linear-gradient(145deg,#0b355f,#123f6a);color:#fff;border:1px solid #ffffff22;border-radius:10px;padding:16px 17px;min-height:104px;display:flex;flex-direction:column;justify-content:center}.collection-overview span{font-size:9px;letter-spacing:.09em;font-weight:800;color:#9ec4dc}.collection-overview strong{font-size:24px;line-height:1.15;margin:7px 0 4px}.collection-overview small{font-size:9px;color:#c3d6e5}
.record-panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;box-shadow:0 4px 18px rgba(15,46,79,.035)}.record-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px}.record-toolbar h3{margin:0;font-size:16px}.record-toolbar p{margin:3px 0 0;color:var(--muted);font-size:10px}.record-search{display:grid;gap:4px;min-width:min(300px,100%);font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.record-search input{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);text-transform:none;letter-spacing:0;background:#fbfcfe}.responsive-register{border-radius:9px}.compact-action{padding:7px 10px;min-height:34px;font-size:10px;white-space:nowrap}.empty-state{display:grid;gap:6px}.empty-state b{color:var(--navy)}.empty-state span{font-size:11px;color:var(--muted)}.table-wrap{scrollbar-width:thin;scrollbar-color:#aab5c0 #edf1f5;-webkit-overflow-scrolling:touch}.table th{position:sticky;top:0;z-index:1}.table td{line-height:1.45}.modal{overscroll-behavior:contain}.modal-card{border-radius:12px;overscroll-behavior:contain}.close{width:42px;height:42px;display:grid;place-items:center;z-index:2}
@media(max-width:1100px){.app{display:block}.app>main{grid-column:auto}.sidebar{transform:translateX(-105%);transition:transform .2s ease;width:min(310px,86vw);box-shadow:18px 0 46px rgba(3,23,46,.25)}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;pointer-events:none}.sidebar-backdrop.show{pointer-events:auto}#menu{display:grid;place-items:center;width:var(--touch);height:var(--touch);border-radius:8px;color:var(--navy)}.top{height:70px}.view{padding:24px}.loading-kpis{grid-template-columns:repeat(3,1fr)}.collection-overview{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body{font-size:13px}.view{padding:16px}.top{padding:0 12px;height:64px}.top h2{font-size:17px}.crumb small{display:none}.avatar{width:36px;height:36px}.icon-btn{width:40px;height:40px}.section-head,.section-head.module-heading,.welcome{display:flex;align-items:flex-start;flex-direction:column}.section-head .actions,.module-heading .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.section-head .actions>*{width:100%}.primary,.secondary,.danger{min-height:var(--touch)}.collection-overview{grid-template-columns:1fr 1fr;gap:8px}.collection-overview>div{min-height:92px;padding:13px}.collection-overview strong{font-size:20px}.record-panel{padding:12px}.record-toolbar{align-items:stretch;flex-direction:column}.record-search{min-width:0;width:100%}.form{grid-template-columns:1fr}.form .span2{grid-column:auto}.form input,.form select,.form textarea{min-height:var(--touch);font-size:16px}.form textarea{min-height:96px}.modal{padding:0;place-items:end center}.modal-card{width:100%!important;max-width:none!important;max-height:96dvh;border-radius:16px 16px 0 0;padding:22px 16px calc(18px + env(safe-area-inset-bottom))}.modal-card h2{font-size:21px;padding-right:38px}.case-summary{grid-template-columns:1fr 1fr}.case-summary>div{padding:11px}.case-summary strong{font-size:14px}.responsive-register{border:0;background:transparent;overflow:visible}.responsive-register .table{min-width:0;display:block}.responsive-register thead{display:none}.responsive-register tbody{display:grid;gap:10px}.responsive-register tr{display:block;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px}.responsive-register td{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(0,1.3fr);gap:10px;align-items:start;border-top:1px solid #edf0f3;padding:9px 8px;font-size:11px;overflow-wrap:anywhere}.responsive-register td:first-child{border-top:0}.responsive-register td::before{content:attr(data-label);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.responsive-register td .compact-action{width:100%}.loading-head>div{display:none}.loading-kpis{grid-template-columns:1fr 1fr}.loading-panels{grid-template-columns:1fr}.loading-panels i{height:250px}.loading-panels i:last-child{display:none}.route-error{min-height:65vh;padding:28px 18px}.route-error .actions{display:grid;width:100%;grid-template-columns:1fr}.route-error .actions button{width:100%}.grid2,.grid3,.split{gap:10px}.panel{padding:14px}.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:13px}.kpi strong{font-size:21px}.table-wrap:not(.responsive-register){max-width:calc(100vw - 32px)}}
@media(max-width:460px){.view{padding:13px}.top-actions{gap:6px}.collection-overview,.kpis{grid-template-columns:1fr}.collection-overview>div{min-height:82px}.collection-overview strong{font-size:21px}.section-head .actions,.module-heading .actions{grid-template-columns:1fr}.loading-kpis{grid-template-columns:1fr}.loading-kpis i:nth-child(n+4){display:none}.case-summary{grid-template-columns:1fr}.route-error h1{font-size:22px}}
@media print{.skip-link,.sidebar-backdrop,.route-loading,.route-error{display:none!important}}

/* v0.20.3 — separate operational closure from supplier-payment state */
.finance-state{width:max-content;max-width:180px;margin-top:6px;padding:4px 6px;border-radius:4px;font-weight:800;line-height:1.3}.finance-state.pending,.finance-state.due{background:#fff1d8;color:#8b5b09}.finance-state.settled{background:#e6f4eb;color:#187343}
@media(max-width:760px){.finance-state{max-width:none}}

/* v0.20.4 — recognise unpaid contractor invoices as supplier payables */

/* =========================================================
   v0.21 Property Stokvel & Investor workspaces
   ========================================================= */
.investment-command,.investor-command{background:linear-gradient(128deg,#142d42 0%,#1f425c 56%,#405163 100%);color:#fff;border:1px solid #344b5e;border-radius:6px;padding:20px;margin-bottom:14px}.investment-command .eyebrow,.investor-command .eyebrow{color:#f0be8b}.investment-command .maint-title p,.investor-command .maint-title p{color:#d6dfe6;max-width:760px}.investment-command-note{min-width:210px;border-left:1px solid rgba(255,255,255,.18);padding-left:18px;display:grid;gap:4px;align-content:center}.investment-command-note b{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.investment-command-note span{font-size:8px;color:#c9d3dc;line-height:1.45}.investment-command>.maint-title,.investor-command>.maint-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.investment-position-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}.investment-command .maint-stat,.investor-command .maint-stat{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14);color:#fff}.investment-command .maint-stat span,.investment-command .maint-stat small,.investor-command .maint-stat span,.investor-command .maint-stat small{color:#c0ccd5}.investment-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.investment-main-grid>.panel,.investment-bottom-grid>.panel,.investor-grid>.panel{padding:17px}.investment-card-list{display:grid;gap:8px}.investment-card-list article{border:1px solid var(--line);padding:12px;background:#fbfcfd;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.investment-card-list article>div:first-child b{display:block;font-size:10px;color:#1d3852}.investment-card-list article small{display:block;font-size:7px;color:var(--muted);margin-top:3px}.investment-card-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:8px;gap:7px}.investment-card-metrics span{font-size:7px;color:var(--muted)}.investment-card-metrics b{display:block;font-size:9px;color:#243d58;margin-top:2px}.investment-pill{display:inline-block;padding:4px 6px;border-radius:3px;background:#edf1f4;color:#4d6477;font-size:7px;font-weight:800;text-transform:uppercase;white-space:nowrap}.investment-pill.active,.investment-pill.operational,.investment-pill.paid,.investment-pill.low{background:#e6f4eb;color:#187343}.investment-pill.fundraising,.investment-pill.forming,.investment-pill.committed,.investment-pill.moderate,.investment-pill.due_diligence{background:#fff1d8;color:#8b5b09}.investment-pill.high,.investment-pill.construction,.investment-pill.pending{background:#fde5d7;color:#9c4d1d}.investment-pill.very_high,.investment-pill.suspended{background:#fbe3e1;color:#a13b34}.investment-pill.exited,.investment-pill.closed{background:#eceff2;color:#66727d}.invest-empty{min-height:150px;display:grid;place-items:center;text-align:center;border:1px dashed var(--line);background:#fafbfc;padding:24px}.invest-empty b{font-size:12px;color:#263f58}.invest-empty span{font-size:8px;color:var(--muted);margin-top:-48px;max-width:310px}.investment-members{margin-top:14px;padding:17px}.table-sub{display:block;color:var(--muted);font-size:7px;margin-top:3px}.investment-bottom-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.investment-project-list{display:grid;gap:7px}.investment-project-list article{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px 2px;border-bottom:1px solid var(--line)}.investment-project-list article>div:first-child b{display:block;font-size:9px}.investment-project-list small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.investment-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.investment-progress i{height:6px;background:#edf1f4;overflow:hidden}.investment-progress i b{display:block;height:100%;background:linear-gradient(90deg,#30566f,#d29152)}.investment-progress span{font-size:7px;color:var(--muted)}.governance-mini{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:baseline;margin:16px 0}.governance-mini b{font-size:25px;color:#203d5a}.governance-mini span{font-size:8px;color:var(--muted)}.investor-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:14px;margin-top:14px}.investor-return-panel{background:#f8fafc}.invest-return-line{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:8px}.invest-return-line b{font-size:11px}.invest-return-line.total{border-top:2px solid #b47b4e;border-bottom:0;margin-top:6px}.investor-return-panel p{font-size:8px;line-height:1.55;color:var(--muted);margin-top:14px}.positive{color:#187343;font-weight:700}.negative{color:#a13b34;font-weight:700}.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.opportunity-grid article{border:1px solid var(--line);padding:12px;background:#fbfcfd}.opportunity-top{display:flex;gap:5px;justify-content:space-between;margin-bottom:10px}.opportunity-grid article>b{display:block;font-size:10px;color:#223e58}.opportunity-grid article>small{display:block;font-size:7px;color:var(--muted);margin:3px 0 10px}.opportunity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.opportunity-metrics span{font-size:7px;color:var(--muted)}.opportunity-metrics b{display:block;font-size:9px;color:#233c54;margin-top:2px}.distribution-list{display:grid;border-top:1px solid var(--line)}.distribution-list>div{display:grid;grid-template-columns:1fr 100px 75px;gap:8px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.distribution-list b{font-size:9px}.distribution-list small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.distribution-list>div>span{font-size:7px;color:var(--muted)}.distribution-list strong{font-size:9px;text-align:right}.investment-members .table{min-width:1080px}.investor-holdings .table{min-width:1100px}
@media(max-width:1400px){.investment-position-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.investment-main-grid,.investment-bottom-grid,.investor-grid{grid-template-columns:1fr}.investment-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.investment-command>.maint-title,.investor-command>.maint-title{display:block}.investment-command-note{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:12px 0 0;margin-top:12px}.investment-position-grid{grid-template-columns:1fr 1fr}.investment-card-metrics{grid-template-columns:1fr 1fr}.opportunity-grid{grid-template-columns:1fr}.distribution-list>div{grid-template-columns:1fr auto}.distribution-list>div>span{grid-column:1/-1}.distribution-list strong{grid-column:2;grid-row:1}}
@media(max-width:460px){.investment-position-grid{grid-template-columns:1fr}}
/* v0.22 Stokvel contribution control */
.contribution-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.contribution-control{margin-top:14px;padding:17px}.period-control{display:grid;gap:5px;font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.period-control input{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 10px;border-radius:6px}.contribution-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:13px 0}.contribution-summary>div{border:1px solid var(--line);background:#f8fafc;padding:12px}.contribution-summary span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800}.contribution-summary b{display:block;font-size:16px;color:#203d5a;margin-top:5px}.contribution-table{min-width:980px}.contribution-status{display:inline-flex;padding:5px 7px;border-radius:4px;font-size:8px;font-weight:850;text-transform:uppercase;white-space:nowrap}.contribution-status.current,.contribution-status.paid_ahead{background:#e6f4eb;color:#187343}.contribution-status.partially_paid,.contribution-status.payment_arrangement{background:#fff1d8;color:#8b5b09}.contribution-status.unpaid,.contribution-status.in_arrears,.contribution-status.suspended{background:#fbe3e1;color:#a13b34}.contribution-status.exited{background:#eceff2;color:#66727d}.statement-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.statement-metrics>div{border:1px solid var(--line);background:#f8fafc;padding:12px}.statement-metrics span{display:block;color:var(--muted);font-size:9px}.statement-metrics b{display:block;color:#203d5a;font-size:15px;margin-top:5px}.secondary-statement{grid-template-columns:repeat(4,1fr);padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:1000px){.contribution-kpis{grid-template-columns:repeat(2,1fr)}.contribution-summary{grid-template-columns:repeat(2,1fr)}.secondary-statement{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.contribution-kpis,.contribution-summary,.statement-metrics,.secondary-statement{grid-template-columns:1fr}}

/* v0.23 investment project funding & holdings */
.project-open{cursor:pointer;position:relative;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.project-open:hover,.project-open:focus{transform:translateY(-1px);border-color:#c7d5e5;box-shadow:0 10px 24px rgba(14,48,84,.08);outline:none}.project-open-label{display:block;margin-top:8px;color:#e97908;font-size:11px;font-weight:800}.project-command{margin-bottom:16px}.project-workspace-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:16px;margin-bottom:16px}.project-controls{align-self:start}.stack-label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#314969;margin:14px 0}.stack-label select{min-height:40px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;padding:8px 10px;color:#17345f}.project-controls .secondary{width:100%;margin-top:8px}.project-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px}.modal-metrics span{padding:10px;border:1px solid #e2e7ed;background:#f8fafc;border-radius:7px;font-size:10px;color:#627086}.modal-metrics b{display:block;margin-top:3px;font-size:14px;color:#17345f}.proportional-preview tfoot th{padding:12px;background:#f7f9fc;color:#17345f}.investment-pill.allocate{background:#e7f3ff;color:#1767a5}.investment-pill.release{background:#fff1df;color:#a45a00}.investment-pill.voided{background:#f2f3f5;color:#6d7680}.investment-pill.funded{background:#e9f7ee;color:#168348}
@media(max-width:1000px){.project-workspace-grid{grid-template-columns:1fr}.project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.project-kpis,.modal-metrics{grid-template-columns:1fr}.project-command .maint-title{display:block}}
/* v0.24 Investor profiles + project distributions */
.investor-holdings{margin-top:14px}.investor-table-wrap{overflow-x:auto;overflow-y:visible}.investor-holdings .table{min-width:1080px}.investor-link{border:0;background:none;padding:0;color:#173e66;font-weight:800;text-align:left;cursor:pointer}.investor-link:hover{text-decoration:underline;color:var(--orange)}
.investor-return-summary{margin-top:14px}.return-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px}.return-summary-grid>div,.capital-account-grid>div{border:1px solid var(--line);background:#fbfcfd;padding:13px;border-radius:5px}.return-summary-grid span,.capital-account-grid span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em}.return-summary-grid b,.capital-account-grid b{display:block;font-size:18px;margin:6px 0 2px;color:#173a5b}.return-summary-grid small{display:block;font-size:7px;color:var(--muted);line-height:1.4}
.distribution-batches{display:grid;border-top:1px solid var(--line)}.distribution-batches>div{display:grid;grid-template-columns:minmax(0,1fr) auto 90px auto;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.distribution-batches b{font-size:9px}.distribution-batches small{display:block;color:var(--muted);font-size:7px;margin-top:3px}.distribution-batches strong{text-align:right;font-size:10px}
.investor-profile-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px}.capital-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.risk-exposure-list{display:grid}.risk-exposure-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.risk-exposure-list b{font-size:9px}.risk-exposure-list small{display:block;font-size:7px;color:var(--muted);margin-top:3px}.risk-exposure-list strong{font-size:13px;color:#173a5b}.risk-exposure-list>div>span{font-size:8px;color:var(--muted)}.profile-counts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.profile-counts div{border:1px solid var(--line);padding:14px;background:#fbfcfd}.profile-counts b{display:block;font-size:22px}.profile-counts span{font-size:8px;color:var(--muted)}.investor-timeline{display:grid}.investor-timeline>div{display:grid;grid-template-columns:90px 145px 90px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.investor-timeline span,.investor-timeline small{font-size:8px;color:var(--muted)}.investor-timeline b{font-size:9px;text-transform:capitalize}.investor-timeline strong{font-size:10px}.distribution-preview-head{margin:18px 0 10px}.distribution-preview-head h3{margin:3px 0}.distribution-preview-head p{font-size:9px;color:var(--muted)}.distribution-confirm{width:100%;margin-top:12px}.modal-card:has(#projectDistributionForm){width:min(980px,96vw)}
@media(max-width:1100px){.investor-profile-grid{grid-template-columns:1fr}.return-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.return-summary-grid,.capital-account-grid{grid-template-columns:1fr 1fr}.distribution-batches>div{grid-template-columns:1fr auto}.distribution-batches strong{grid-column:2;grid-row:1}.distribution-batches button{grid-column:1/-1}.investor-timeline>div{grid-template-columns:1fr auto}.investor-timeline small{grid-column:1/-1}}
.investor-profile-grid .table{min-width:760px}.investor-document-list{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.investor-document-list .text-btn{text-align:left;overflow-wrap:anywhere}.investor-profile-grid .table-wrap{max-width:100%;overflow-x:auto}.investor-profile-grid .table th,.investor-profile-grid .table td{white-space:normal;min-width:90px}.investor-profile-grid .table th:first-child,.investor-profile-grid .table td:first-child{min-width:190px}
.investor-register-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.investor-register-tools input,.investor-register-tools select{min-height:34px;border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;color:var(--navy)}.investor-onboarding-panel{margin-top:14px}.onboarding-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.onboarding-summary>div{border:1px solid var(--line);padding:12px;background:#fbfcfd}.onboarding-summary span{display:block;font-size:8px;color:var(--muted);font-weight:800}.onboarding-summary b{display:block;margin:6px 0;font-size:13px;color:var(--navy)}.onboarding-summary small{font-size:8px;color:var(--muted)}.compliance-checks{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.compliance-checks span{padding:7px 9px;border-radius:999px;font-size:8px;font-weight:800}.compliance-checks .complete{background:#e8f6ed;color:#187343}.compliance-checks .pending{background:#fff3df;color:#9a6000}.onboarding-history{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.onboarding-history>div{display:grid;grid-template-columns:90px 170px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid var(--line);font-size:8px}.onboarding-history small{color:var(--muted)}.compliance-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);padding:12px}.compliance-fieldset legend{font-size:10px;font-weight:800;color:var(--navy)}.compliance-fieldset label{display:flex;align-items:center;gap:7px}.compliance-fieldset input{width:auto}
@media(max-width:760px){.onboarding-summary{grid-template-columns:1fr 1fr}.onboarding-history>div{grid-template-columns:1fr}.compliance-fieldset{grid-template-columns:1fr}.investor-register-tools{width:100%}.investor-register-tools input{flex:1}}
.investor-communications-panel{margin-top:14px}.communication-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.communication-columns h4{margin:0 0 8px}.communication-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.communication-row b{display:block;font-size:9px}.communication-row small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.communication-row strong{white-space:nowrap;color:var(--navy)}
@media(max-width:760px){.communication-columns{grid-template-columns:1fr}}
.investor-request-panel{margin-top:14px}.investor-request-list{display:grid;margin-top:12px}.investor-request-list>div{display:grid;grid-template-columns:90px 150px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:8px}.investor-request-list p{margin:0;color:var(--muted)}
@media(max-width:760px){.investor-request-list>div{grid-template-columns:1fr auto}.investor-request-list p{grid-column:1/-1}}


/* =========================================================
   v0.24.4 — Workspace fit, professional typography & desktop nav collapse
   ========================================================= */
body{overflow-x:hidden;font-feature-settings:"tnum" 1,"cv02" 1,"cv03" 1,"cv04" 1}
.app{grid-template-columns:252px minmax(0,1fr);transition:grid-template-columns .2s ease}
.app>main,.view,.panel,.card,.table-wrap,.investor-profile-grid>*,.investor-grid>*,.investment-main-grid>*,.investment-bottom-grid>*{min-width:0}
.sidebar{transition:width .2s ease,transform .2s ease}
.sidebar nav a{min-width:0}
.sidebar nav a .nav-icon{flex:0 0 18px;width:18px;color:#9fc0df;text-align:center}
.sidebar nav a .nav-label{width:auto;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-brand-copy{min-width:0;overflow:hidden;white-space:nowrap;transition:opacity .12s ease,width .2s ease}
.sidebar-toggle-desktop{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:18px;font-weight:800;line-height:1;flex:0 0 auto}
.sidebar-toggle-desktop:hover{border-color:#cbd7e3;background:#f8fafc}

@media(min-width:1101px){
  .app.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}
  .app.sidebar-collapsed .sidebar{width:76px}
  .app.sidebar-collapsed .side-brand{padding:0;justify-content:center}
  .app.sidebar-collapsed .side-brand-copy,.app.sidebar-collapsed .side-section,.app.sidebar-collapsed #userMini{display:none}
  .app.sidebar-collapsed .sidebar nav{padding:8px 9px;gap:5px}
  .app.sidebar-collapsed .sidebar nav a{justify-content:center;padding:11px 8px;gap:0}
  .app.sidebar-collapsed .sidebar nav a .nav-label{display:none}
  .app.sidebar-collapsed .sidebar nav a .nav-icon{flex-basis:auto;width:24px;font-size:14px}
  .app.sidebar-collapsed .side-bottom{padding:12px 9px}
  .app.sidebar-collapsed .side-bottom button{font-size:0;padding:10px 5px}
  .app.sidebar-collapsed .side-bottom button::before{content:'↪';font-size:18px}
}

/* Financial/investor pages should fit the available workspace rather than force the page wider. */
.investor-profile-grid{grid-template-columns:minmax(0,1fr) minmax(270px,310px);align-items:start}
.investor-profile-grid>.panel{overflow:hidden}
.capital-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.capital-account-grid>div{min-width:0;overflow:hidden;padding:11px}
.capital-account-grid span{overflow-wrap:anywhere;line-height:1.3}
.capital-account-grid b{font-size:16px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.return-summary-grid b,.investor-command b,.investor-profile-grid strong,.investor-timeline strong{font-variant-numeric:tabular-nums}
.risk-exposure-list>div{grid-template-columns:minmax(0,1fr) auto auto}
.risk-exposure-list b,.risk-exposure-list small{overflow-wrap:anywhere}
.investor-holdings .table{min-width:900px}
.investor-table-wrap{max-width:100%;overscroll-behavior-inline:contain}
.investor-timeline>div{grid-template-columns:minmax(78px,90px) minmax(125px,145px) minmax(85px,100px) minmax(0,1fr)}
.investor-timeline small{overflow-wrap:anywhere}
.view{width:100%;min-width:0}

/* Earlier than mobile, stack the investor side account if space becomes tight. */
@media(max-width:1220px) and (min-width:1101px){
  .investor-profile-grid{grid-template-columns:minmax(0,1fr) 270px}
  .capital-account-grid{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .sidebar-toggle-desktop{display:none}
  .investor-profile-grid{grid-template-columns:1fr}
  .capital-account-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
  .capital-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .investor-holdings .table{min-width:760px}
}
@media(max-width:520px){
  .capital-account-grid{grid-template-columns:1fr}
}

/* v0.24.5 — expanded desktop navigation label restoration */
@media(min-width:1101px){
  .app:not(.sidebar-collapsed) .sidebar nav a .nav-label{width:auto;flex:1 1 auto;display:block;overflow:visible;text-overflow:clip}
}

/* v0.24.6 — left-aligned expanded desktop navigation labels */
@media(min-width:1101px){
  .app:not(.sidebar-collapsed) .sidebar nav a{text-align:left}
  .app:not(.sidebar-collapsed) .sidebar nav a .nav-label{text-align:left}
}

/* v0.27.2 — consistent square module navigation on desktop and mobile */
.sidebar nav a{justify-content:flex-start;text-align:left;border-radius:0}
.sidebar nav a .nav-label{text-align:left}
.sidebar nav a.active{box-shadow:inset 3px 0 var(--orange)}
@media(max-width:1100px){
  .sidebar nav a{padding-left:12px;padding-right:12px}
  .sidebar nav a .nav-label{display:block;width:auto;flex:1 1 auto;text-align:left}
}

/* v0.28.0 — contractor self-service */
.contractor-job-list{display:grid;gap:10px}.contractor-job-list>.panel-title-row{margin-bottom:4px}.contractor-job-card{border:1px solid var(--line);background:#fbfcfd;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.contractor-job-card>div:first-child>b{display:block;font-size:12px}.contractor-job-card small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.contractor-job-card p{font-size:10px;line-height:1.55;color:#40566c}.contractor-job-card .notice{margin:9px 0 0}.contractor-job-card>.actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.contractor-job-facts{display:grid;grid-template-columns:repeat(3,auto);gap:12px;align-content:start}.contractor-job-facts span{font-size:8px;color:var(--muted)}.contractor-job-facts b{display:block;color:var(--navy);font-size:10px;margin-top:3px}.contractor-access-panel{margin-top:14px}.contractor-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contractor-access-grid article{border:1px solid var(--line);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.contractor-access-grid b,.contractor-access-grid small{display:block}.contractor-access-grid small{font-size:8px;color:var(--muted);margin-top:4px}@media(max-width:760px){.contractor-job-card{grid-template-columns:1fr}.contractor-job-facts{grid-template-columns:repeat(3,1fr)}.contractor-access-grid{grid-template-columns:1fr}}@media(max-width:480px){.contractor-job-facts{grid-template-columns:1fr 1fr}.contractor-access-grid article{align-items:flex-start;flex-direction:column}}

/* v0.25.0 — FoundaCore client subscription operations */
.subscription-command{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 28px;background:linear-gradient(135deg,#0b345f,#173f61 55%,#315160);color:#fff;border-left:4px solid var(--orange);box-shadow:0 14px 34px rgba(10,43,79,.12)}
.subscription-command span{display:block;color:#8dd6cf;font-size:9px;letter-spacing:.14em;font-weight:800}.subscription-command h2{margin:8px 0 5px;font-size:25px}.subscription-command p{margin:0;max-width:760px;color:#cbd9e5;font-size:11px;line-height:1.65}.subscription-command>b{flex:0 0 auto;font-size:15px;padding:13px 15px;border:1px solid #ffffff33;background:#ffffff14}
.subscription-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.subscription-summary>div{background:#fff;border:1px solid var(--line);border-top:3px solid #2b6a79;padding:15px 17px}.subscription-summary span{display:block;font-size:8px;color:var(--muted);letter-spacing:.08em;font-weight:800}.subscription-summary strong{display:block;margin-top:5px;font-size:23px}
.client-subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-subscription-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px;display:flex;flex-direction:column;gap:14px}.client-subscription-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.client-subscription-card header span,.client-subscription-card header small{display:block}.client-subscription-card header span{font-size:14px;font-weight:800;overflow-wrap:anywhere}.client-subscription-card header small{font-size:8px;color:var(--muted);margin-top:3px}
.subscription-state{flex:0 0 auto;padding:5px 7px;background:#edf2f7;color:#54687c;border-radius:4px;font-size:8px;text-transform:uppercase}.subscription-state.active{background:#e8f5ed;color:#187343}.subscription-state.trialing{background:#fff0dd;color:#9a5b08}.subscription-state.suspended,.subscription-state.cancelled,.subscription-state.expired{background:#fff0ee;color:#a13b34}.client-contact b,.client-contact span,.client-contact small{display:block;overflow-wrap:anywhere}.client-contact b{font-size:11px}.client-contact span{font-size:10px;color:#405a72;margin-top:3px}.client-contact small{font-size:8px;color:var(--muted);margin-top:5px}
.client-plan-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.client-plan-row>div{padding:10px}.client-plan-row>div+div{border-left:1px solid var(--line)}.client-plan-row span{display:block;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.08em}.client-plan-row strong{display:block;margin-top:4px;font-size:11px;text-transform:capitalize}.client-capacity{display:grid;gap:6px}.client-capacity>span{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.client-capacity>span b{color:var(--ink)}.client-capacity>i{height:5px;background:#edf1f5;overflow:hidden}.client-capacity>i em{display:block;height:100%;background:linear-gradient(90deg,#2d7380,var(--orange))}.subscription-notes{margin:0;padding:8px 9px;border-left:3px solid var(--orange);background:#fff8ed;color:#825217;font-size:9px;line-height:1.5}.manage-subscription{width:100%;margin-top:auto}
@media(max-width:1100px){.client-subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.subscription-command{align-items:flex-start;flex-direction:column;padding:21px}.subscription-command>b{width:100%;text-align:center}.subscription-summary{grid-template-columns:1fr 1fr}.client-subscription-grid{grid-template-columns:1fr}}@media(max-width:460px){.subscription-summary{grid-template-columns:1fr}.client-plan-row{grid-template-columns:1fr}.client-plan-row>div+div{border-left:0;border-top:1px solid var(--line)}}
/* v0.35.0 — rectangular information language across desktop and mobile */
:root{--information-radius:3px}
.panel,.kpi,.executive-kpis>*,.collection-overview>div,.investment-command,.investment-position-grid>div,.maint-position-grid>div,.maint-performance-grid>div,.capital-account-grid>div,.ratio-grid>div,.property-card,.contractor-job-card,.notice,.empty,.table-wrap,.report-filter-bar,.tabs,.modal,.login-card,.setup-card,.invite-card,.document-detail-grid>div,.case-summary>div,.arr-instalment,.communication-row,.leasing-flow>div,.risk-list>div,.position-list,.subscription-card,.member-module-card{border-radius:var(--information-radius)!important}
button,input,select,textarea,.badge,.risk-level,.maint-chip{border-radius:3px!important}
.avatar,.user-avatar,.brand-mark,.progress-track,.progress-fill{border-radius:999px!important}

/* v0.40.0 — Business Toolkit */
.toolkit-command{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#103b5b,#274e66);color:#fff;border-left:4px solid var(--orange);padding:24px 27px;margin-bottom:14px}.toolkit-command span{font-size:8px;letter-spacing:.13em;color:#f6ad63;font-weight:800}.toolkit-command h2{margin:7px 0;font-size:23px}.toolkit-command p{margin:0;color:#d7e2e8;font-size:10px}.toolkit-command>b{white-space:nowrap;border:1px solid #ffffff35;padding:12px}.toolkit-section{margin-bottom:14px}.toolkit-section h3{margin:5px 0 13px}.toolkit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.toolkit-card{min-width:0;text-align:left;border:1px solid var(--line);background:#fbfcfd;padding:15px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start}.toolkit-card:hover{border-color:var(--orange);background:#fffaf4}.toolkit-card span{font-size:7px;color:var(--orange);font-weight:800;letter-spacing:.08em}.toolkit-card b{font-size:12px;margin:8px 0 5px}.toolkit-card p{font-size:9px;line-height:1.5;color:var(--muted);margin:0;flex:1}.toolkit-card em{font-style:normal;font-size:9px;color:#b76008;font-weight:800;margin-top:12px}.toolkit-builder{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px;border-left:4px solid var(--orange)}.toolkit-builder h3{margin:6px 0}.toolkit-builder p{margin:0;color:var(--muted);font-size:10px}.toolkit-scenarios{display:grid}.toolkit-scenarios article{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.toolkit-scenarios b,.toolkit-scenarios small{display:block}.toolkit-scenarios small{font-size:8px;color:var(--muted);margin-top:3px}.toolkit-scenarios p{font-size:9px;margin:6px 0 0}.toolkit-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0}.toolkit-result-grid>div{border:1px solid var(--line);padding:12px}.toolkit-result-grid span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.toolkit-result-grid b{display:block;margin-top:5px;font-size:17px}.decision-brief #saveToolkitScenario{width:100%;margin-top:13px}@media(max-width:900px){.toolkit-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.toolkit-grid{grid-template-columns:1fr}.toolkit-command,.toolkit-builder{align-items:flex-start;flex-direction:column}.toolkit-result-grid{grid-template-columns:1fr}}
 
/* v0.41.0 — Professional Document Builder */
.document-library{margin-bottom:14px}.document-builder-context{border-left:4px solid var(--orange);background:#f7f9fb;padding:12px;display:grid}.document-builder-context small{font-size:8px;color:var(--muted);margin-top:4px}.document-scenario-picker{border:1px solid var(--line);padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.document-scenario-picker legend{font-size:9px;font-weight:800}.document-scenario-picker .check{border:1px solid var(--line);padding:10px;align-items:flex-start}.document-scenario-picker b,.document-scenario-picker small{display:block}.document-scenario-picker small{font-size:8px;color:var(--muted)}.document-preview-actions{display:flex;justify-content:flex-end;gap:7px;margin-bottom:12px;position:sticky;top:0;background:#fff;padding:8px;z-index:2}.professional-document{background:#fff;color:#17344f;max-width:850px;margin:auto;border:1px solid #d9e1e8;line-height:1.65}.professional-document>header{background:#103b5b;color:#fff;border-left:7px solid var(--orange);padding:34px}.professional-document>header>span{font-size:8px;letter-spacing:.13em;color:#f5ad64;font-weight:800}.professional-document>header h1{font-size:32px;line-height:1.15;margin:12px 0 8px}.professional-document>header p{color:#d9e5eb}.professional-document>header div{display:flex;gap:18px;border-top:1px solid #ffffff36;padding-top:14px;margin-top:20px;font-size:9px}.professional-document>aside{margin:24px 34px;background:#f4f7fa;border-left:4px solid var(--orange);padding:16px;display:grid;grid-template-columns:90px 1fr;gap:7px 12px;font-size:10px}.professional-document>section{padding:5px 34px 18px}.professional-document h2{font-size:17px;border-bottom:2px solid var(--orange);padding-bottom:7px;margin:22px 0 12px}.professional-document p{font-size:11px;color:#3d5265}.document-evidence{border:1px solid var(--line);padding:13px;margin:8px 0}.document-evidence small{display:block;color:var(--muted);font-size:8px}.professional-document>footer{margin:20px 34px 30px;border-top:1px solid var(--line);padding-top:12px;font-size:8px;color:var(--muted)}@media(max-width:650px){.document-scenario-picker{grid-template-columns:1fr}.document-preview-actions{flex-wrap:wrap}.professional-document>header,.professional-document>section{padding-left:20px;padding-right:20px}}@media print{body *{visibility:hidden!important}#professionalDocumentPreview,#professionalDocumentPreview *{visibility:visible!important}#professionalDocumentPreview{position:absolute;left:0;top:0;width:100%}.professional-document{border:0;max-width:none}.document-preview-actions{display:none!important}}

/* v0.42.0 — visible mobile sign-out and investment self-service */
.portal-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-project-grid article{border:1px solid var(--line);padding:14px;background:#fbfcfd}.portal-project-grid article b,.portal-project-grid article small{display:block}.portal-project-grid article small{font-size:8px;color:var(--muted);margin-top:4px}.portal-project-grid article>div+div{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.portal-project-grid span{font-size:8px;color:var(--muted)}.portal-project-grid strong{font-size:9px}.portal-scheme-summary,.portal-document-actions,.organisation-portal-message{margin-bottom:14px}.organisation-portal-message{border-left:4px solid var(--orange)}.organisation-portal-message article+article{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.organisation-portal-message h3{margin:6px 0}.organisation-portal-message p{font-size:10px;line-height:1.6;color:var(--muted)}.portal-management-history{margin-top:18px}.portal-document-actions .communication-row p{font-size:9px;color:var(--muted)}@media(max-width:720px){.portal-project-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.sidebar{display:flex;flex-direction:column;min-height:100dvh;overflow-y:auto}.sidebar nav{flex:1 0 auto}.side-bottom{position:sticky;bottom:0;z-index:5;background:#082d59;border-top:1px solid rgba(255,255,255,.2);padding:14px 12px 18px!important;box-shadow:0 -10px 22px rgba(2,20,42,.3)}.side-bottom #logout{display:block!important;visibility:visible!important;opacity:1!important;width:100%;min-height:46px;background:#fff!important;color:#082d59!important;border:2px solid #f39a35!important;font-weight:800!important;font-size:12px!important}.side-bottom #logout::before{content:'↪ ';color:#ee7d11}}
@media print{.sidebar,.top,.sidebar-backdrop,#selfServicePdf,.portal-document-actions button{display:none!important}.app{display:block!important}.view{padding:0!important}.panel,.investment-command{break-inside:avoid;box-shadow:none!important}}

/* v0.42.1 — compact mobile menu, reliable report printing and document security */
.secure-code-card{border:2px solid var(--orange);background:#fff9f1;padding:20px;margin:18px 0;text-align:center}.secure-code-card b{display:block;font-size:25px;letter-spacing:.16em;color:var(--navy)}.secure-code-card small{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:1100px){
  .sidebar{height:calc(100dvh - 14px);min-height:0!important;overflow:hidden!important}
  .sidebar nav{flex:0 1 auto!important;align-content:start;grid-auto-rows:min-content;gap:3px;overflow-y:auto;padding-bottom:8px}
  .sidebar nav a{min-height:43px;padding-top:10px;padding-bottom:10px}
  .side-bottom{position:relative!important;bottom:auto!important;margin-top:auto!important;flex:0 0 auto;padding:10px 12px 12px!important;box-shadow:0 -6px 15px rgba(2,20,42,.24)}
  .side-bottom #logout{min-height:43px!important;margin-top:7px!important}
}
@media print{
  body:not(.printing-professional) *{visibility:visible!important}
  body:not(.printing-professional) .modal{display:none!important}
  body.printing-self-service{background:#fff!important}
  body.printing-self-service .sidebar,body.printing-self-service .top,body.printing-self-service .sidebar-backdrop,body.printing-self-service .section-head .actions,body.printing-self-service .portal-document-actions{display:none!important}
  body.printing-self-service .app,body.printing-self-service .app>main{display:block!important}
  body.printing-self-service .view{display:block!important;width:100%!important;max-width:none!important;padding:0!important}
  body.printing-self-service .investment-command{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:4px solid var(--orange)!important}
  body.printing-self-service .investment-command .eyebrow,body.printing-self-service .investment-command p,body.printing-self-service .investment-command span,body.printing-self-service .investment-command small{color:var(--muted)!important}
  body.printing-self-service .investment-position-grid>div{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
  body.printing-self-service .panel,body.printing-self-service .investment-command{break-inside:avoid;box-shadow:none!important}
}

/* v0.43.0 — client brand layer and investment servicing */
.client-brand-ribbon{display:flex;align-items:center;gap:9px;border-left:3px solid var(--client-accent,var(--orange));padding-left:10px;min-width:0}.client-brand-ribbon img{width:38px;height:38px;object-fit:contain;background:#fff;border:1px solid var(--line)}.client-brand-ribbon span,.client-brand-ribbon b,.client-brand-ribbon small{display:block;min-width:0}.client-brand-ribbon b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-brand-ribbon small{font-size:7px;color:var(--muted);white-space:nowrap}.brand-asset-register{margin-top:18px}.brand-asset-register article{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.brand-asset-register img{width:58px;height:45px;object-fit:contain;border:1px solid var(--line);background:#fff}.brand-asset-register b,.brand-asset-register small{display:block}.brand-asset-register small{font-size:8px;color:var(--muted);margin-top:3px}.portal-brand-gallery{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.portal-brand-gallery article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;border:1px solid var(--line);padding:9px;min-width:210px}.portal-brand-gallery img{width:48px;height:42px;object-fit:contain}.portal-brand-gallery b,.portal-brand-gallery small{display:block}.portal-brand-gallery small{font-size:7px;color:var(--muted)}.investment-self-service-actions{margin-top:14px}.report-interpretation{margin-top:18px}.report-interpretation article{border-top:1px solid var(--line);padding:13px 0}.report-interpretation article p{color:var(--muted);line-height:1.6}.investment-report-print footer{margin-top:20px;border-top:1px solid var(--line);padding-top:10px;font-size:8px;color:var(--muted)}.servicing-admin-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;border-bottom:1px solid var(--line);padding:13px 0}.servicing-admin-list b,.servicing-admin-list small{display:block}.servicing-admin-list small{font-size:8px;color:var(--muted);margin-top:4px}.servicing-admin-list p{font-size:9px;color:var(--muted)}.servicing-admin-list article>div:last-child{display:grid;gap:7px;align-content:start}
@media(max-width:760px){.client-brand-ribbon small{display:none}.client-brand-ribbon b{max-width:100px}.client-brand-ribbon img{width:32px;height:32px}.servicing-admin-list article{grid-template-columns:1fr}.investment-self-service-actions .panel-title-row{align-items:flex-start;flex-direction:column}}
@media print{body:not(.printing-investment-intelligence) .investment-report-print{display:none!important}body.printing-investment-intelligence *{visibility:hidden!important}body.printing-investment-intelligence .investment-report-print,body.printing-investment-intelligence .investment-report-print *{visibility:visible!important}body.printing-investment-intelligence .investment-report-print{position:absolute;inset:0;width:100%;background:#fff;padding:20px}body.printing-investment-intelligence .document-preview-actions{display:none!important}body.printing-investment-intelligence .investment-position-grid>div{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}}
/* v0.43.2 — persistent modal controls and visible subordinate brand banners */
.modal-card>.close{position:sticky;float:right;right:0;top:0;z-index:8;width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:25px;line-height:1;color:#445b72;box-shadow:0 4px 14px rgba(10,43,79,.12)}
.modal-close-footer{position:sticky;bottom:-26px;z-index:7;display:flex;justify-content:flex-end;margin:24px -26px -26px;padding:12px 26px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -7px 18px rgba(10,43,79,.07)}
.modal-close-footer button{min-width:130px}
.portal-brand-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.portal-brand-banner{grid-column:1/-1;position:relative;min-height:190px;overflow:hidden;border:1px solid var(--line);background:#0a315b;color:#fff}
.portal-brand-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portal-brand-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,53,.86),rgba(4,27,53,.18))}
.portal-brand-banner div{position:relative;z-index:1;display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:22px;max-width:72%}
.portal-brand-banner b{font-size:22px}.portal-brand-banner small{margin-top:5px;color:#e4edf6}
.portal-brand-logo{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;background:#fff}
.portal-brand-logo img{width:58px;height:58px;object-fit:contain;background:#fff}
.portal-brand-logo b,.portal-brand-logo small{display:block}.portal-brand-logo small{margin-top:3px;color:var(--muted)}
@media(max-width:700px){.modal-close-footer{bottom:-20px;margin:20px -16px -20px;padding:11px 16px}.portal-brand-gallery{grid-template-columns:1fr}.portal-brand-banner{min-height:150px}.portal-brand-banner div{min-height:150px;max-width:88%;padding:16px}.portal-brand-banner b{font-size:18px}}
.scheme-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);padding-top:9px}.scheme-card-actions button{min-height:34px}
.danger-zone{margin-top:18px;padding:14px;border:1px solid #f0c9c5;background:#fff8f7}.danger-zone b{color:var(--red)}.danger-zone p{font-size:11px;color:var(--muted)}
.private-capital-grid{display:grid;gap:14px}.private-capital-grid>article{border:1px solid var(--line);padding:16px;background:#fff}.private-capital-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.private-capital-head b,.private-capital-head small{display:block}.private-capital-head small,.projection-note{color:var(--muted);margin-top:4px}.vesting-progress{height:7px;background:#e7edf3;margin-top:14px;overflow:hidden}.vesting-progress span{display:block;height:100%;background:var(--orange)}
