:root{color-scheme:light;--navy:#0c303b;--teal:#086d7c;--mint:#e0f1f2;--paper:#f2f6f8;--ink:#132d3d;--muted:#526978;--line:#d8e2e8;--red:#a5233c;--amber:#996b19}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #086d7c;outline-offset:3px}button{border:1px solid var(--line);padding:10px 15px;background:white;color:var(--ink);border-radius:8px;font-size:14px;font-weight:600}button:hover{background:#e0f1f2}.sidebar{background:var(--navy);color:#edf4f6;position:fixed;inset:0 auto 0 0;width:242px;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-size:18px;font-weight:650}.brandmark{width:40px;height:40px;background:#ffffff;color:#a5233c;display:grid;place-items:center;border-radius:10px;font-size:25px}.brand small{display:block;font-size:12px;letter-spacing:1.4px;color:#b7d6df;margin-top:3px}.workspace{font-size:12px;letter-spacing:1.6px;color:#b7d6df;margin:44px 10px 16px}nav{display:flex;flex-direction:column;gap:7px}nav button{background:none;border:0;color:#ffffff;text-align:left;display:flex;gap:12px;align-items:center;padding:13px 12px;font-size:14px;font-weight:450}nav button.active{background:#ffffff;color:#0c303b}nav button:hover{background:#174652}.sidefooter{margin-top:auto;padding:28px 12px 0;font-size:14px}.sidefooter p{color:#b7d6df;font-size:14px}.sidefooter small{color:#b7d6df;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ffffff;margin-right:6px}main{margin-left:242px;padding:30px 36px 20px;max-width:1850px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:12px;letter-spacing:1.4px;color:var(--muted)}h1{font-size:29px;letter-spacing:-.6px;font-weight:650;margin:5px 0}h2{font-size:19px;letter-spacing:-.25px;margin:0 0 5px}h3{font-size:16px;margin:0 0 6px}p{margin:6px 0 14px}.header-actions{display:flex;gap:8px}.quiet{background:transparent}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:18px 0}.filters{display:flex;gap:16px}label{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:5px}select,input[type=number]{border:1px solid #c9d4ce;background:white;color:var(--ink);padding:9px 12px;border-radius:7px;min-width:110px;max-width:100%}.scope{font-size:13px;color:var(--muted);text-align:right}.pill{display:inline-block;padding:4px 9px;border-radius:5px;background:#e0f1f2;color:#0c303b;font-size:12px;font-weight:600;margin-right:6px}.pill.amber{color:#94651d;background:#f4e9d1}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:4px 0 22px}.kpi{padding:20px 21px;border-radius:12px;background:white;border:1px solid var(--line)}.kpi.accent{background:var(--navy);border-color:var(--navy);color:white}.kpi.accent .muted,.kpi.accent small{color:#b7d6df}.kpi .value{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.7px;margin:10px 0}.kpi small{display:block;font-size:13px;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.good{color:var(--teal)}.bad{color:var(--red)}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:20px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px}.grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.chart{display:block;width:100%;height:auto;max-height:340px}.chart text{font-size:14px;fill:var(--muted)}.legend{display:flex;gap:18px;font-size:13px;flex-wrap:wrap}.legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--teal);margin-right:6px}.legend span.expense:before{background:#a5233c}.legend span.balance:before{background:#996b19}.note{padding:15px 18px;border-left:3px solid #bb924c;background:#f7efdf;font-size:14px;border-radius:0 7px 7px 0;margin-bottom:20px}.note.info{background:#edf4f6;border-color:var(--teal)}.decision{padding:15px 0;border-top:1px solid var(--line)}.decision:first-of-type{border-top:0}.decision .num{font-size:12px;letter-spacing:1px;color:var(--teal);font-weight:700}.decision p{font-size:14px;color:var(--muted);margin-bottom:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--line);padding:12px 10px}td{padding:12px 10px;border-bottom:1px solid #edf2f5}td.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th.numeric{text-align:right}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:12px}.child td:first-child{padding-left:30px;color:var(--muted)}.total td{background:#edf4f7;font-weight:650}.barrow{margin:18px 0}.barlabel{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px}.bartrack{height:7px;background:#edf2f5;border-radius:8px;overflow:hidden}.barfill{height:100%;background:var(--teal);border-radius:8px}.statline{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.statline strong{white-space:nowrap}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}input[type=range]{width:100%;accent-color:var(--teal)}.sliderlabel{display:flex;justify-content:space-between;gap:8px}output{font-weight:650;color:var(--ink)}.empty{padding:30px;background:#fafcfd;border:1px dashed #c9d5cd;border-radius:8px;color:var(--muted)}details{margin-top:16px}summary{cursor:pointer;font-size:14px;color:var(--teal)}footer{font-size:12px;color:var(--muted);margin-top:24px}.presentation .sidebar{display:none}.presentation main{margin-left:0;max-width:1400px;margin-right:auto;margin-left:auto}.presentation .toolbar{display:none}.presentation .kpi .value{font-size:36px}.source-name{overflow-wrap:anywhere}.financial-title{font-variant-numeric:tabular-nums}.disabled{opacity:.6}.print-only{display:none}@media(min-width:1500px){main{padding-left:48px;padding-right:48px}}@media(max-width:1100px){.sidebar{width:210px;padding:25px 14px}main{margin-left:210px;padding:25px 22px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.grid.equal{grid-template-columns:1fr}.header-actions{flex-direction:column}.scope{max-width:230px}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:15px}.workspace,.sidefooter{display:none}.brand{font-size:16px}.brandmark{width:32px;height:32px}nav{flex-direction:row;overflow:auto;margin-top:16px}nav button{white-space:nowrap;padding:9px}main{margin:0;padding:22px 14px}header{align-items:start}h1{font-size:23px}.header-actions button{font-size:12px;padding:8px}.toolbar{flex-direction:column;align-items:start}.scope{text-align:left;max-width:none}.filters{width:100%;gap:10px}.filters label:last-child{flex:1}.filters select{width:100%;min-width:0}.kpi{padding:15px}.kpi .value{font-size:24px}.panel{padding:16px}.control-grid{grid-template-columns:1fr}.panel-head{flex-direction:column}.chart text{font-size:15px}}@media print{.sidebar,.toolbar,.header-actions,button{display:none!important}main{margin:0;padding:0}body{background:white;font-size:12px}.panel,.kpi{break-inside:avoid}.grid{display:block}.kpis{grid-template-columns:repeat(4,1fr)}.kpi .value{font-size:22px}.panel{margin:10px 0;padding:12px}.chart{max-height:240px}.table-wrap{overflow:visible}.print-only{display:block}}


/* Ruffo’s House palette. */
.sidebar{background:#0c303b;color:#fff;border-top:0}.brand{color:#fff}.brandmark{background:#fff;color:#086d7c;border:1px solid #aad3d5}
nav button{color:#fff}nav button.active{background:#e0f1f2;color:#163b47;box-shadow:inset 3px 0 #078b9b}nav button:hover{background:#174652}nav button.active:hover{background:#cfebed}
.eyebrow{color:#0c7380}.dot{background:#aad3d5}.kpi.accent{background:#0a6878;border:1px solid #0a6878;color:#fff}.kpi.accent .muted,.kpi.accent small{color:#cfebed}
.note.info{background:#edf4f6}.legend span:before{background:#078b9b}.legend span.expense:before{background:#193d66}.fiscal-credit{font-size:14px;color:var(--ink)}.fiscal-credit strong{font-weight:650}.sidefooter .fiscal-credit{color:#b7d6df}

.brand-fiscal{display:block;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;color:#b7d6df;margin-top:7px}.header-identity{display:flex;align-items:baseline;gap:10px 18px;flex-wrap:wrap}.header-fiscal{font-size:14px;font-weight:400;line-height:1.5;color:var(--muted)}
.login-page{display:block;background:#edf3f8;min-height:100vh}.login-page .login-shell{margin:0 auto;padding:8vh 20px;max-width:520px}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:8px}.login-form input{width:100%}.login-page details{margin-top:24px}.login-page summary{cursor:pointer}dialog{border:1px solid #cdd8e4;border-radius:14px;padding:28px;width:min(480px,calc(100% - 32px));color:#193d66}dialog::backdrop{background:rgba(10,28,48,.5)}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.sidefooter button{margin-top:14px}@media(max-width:700px){.statline:has(.user-actions){align-items:flex-start;flex-direction:column;gap:12px}}

.cash-month{margin:18px 0;border:1px solid #cbdce4;border-radius:12px;background:#fff}.cash-month summary{padding:18px;font-size:1rem;font-weight:650;color:#193d66;cursor:pointer}.cash-month summary:focus-visible{outline:3px solid #078b9b;outline-offset:2px}.cash-month-body{padding:0 16px 16px}.cash-month .panel{margin-top:12px}@media print{.cash-month-body{display:block}.cash-month{break-inside:auto}}

/* Compact financial navigation. */
.sidebar{overflow-y:auto}.sidebar nav{flex-shrink:0}.nav-group{margin:0;border:1px solid transparent;border-radius:9px}.nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 10px;color:#fff;font-size:14px;font-weight:550;line-height:1.4;border-radius:8px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:#174652}.nav-group summary:focus-visible{outline:3px solid #aad3d5;outline-offset:2px}.nav-group:has(button.active)>summary{background:#174652;box-shadow:inset 3px 0 #aad3d5}.nav-chevron{font-size:20px;line-height:1;transition:transform .15s}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{display:flex;flex-direction:column;gap:3px;padding:4px 0 8px 10px;margin-left:10px;border-left:1px solid #41717b}.nav-submenu button{width:100%;font-size:13px;padding:10px;gap:0;line-height:1.4}.sidefooter{flex-shrink:0}@media(max-width:700px){.sidebar nav{flex-direction:column;overflow:visible;gap:6px}.nav-group{width:100%}.nav-group summary{padding:11px 12px}.nav-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-submenu button{white-space:normal}.sidebar nav>button{white-space:normal}}@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

.historical-cash-totals .kpi .value{font-size:clamp(20px,2vw,27px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.historical-cash-totals .kpi{min-width:0}.finding-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.finding-id{font-weight:700;color:var(--teal,#078b9b)}.finding-card h2{margin:0 0 14px}.finding-card p{line-height:1.65}.finding-action{background:#f0f6f3;border-left:3px solid #078b9b;padding:14px 18px;margin:18px 0}.finding-action p{margin:6px 0 0}.finding-source{font-size:13px;color:#52675e}.finding-source summary{cursor:pointer;font-weight:600}.finding-source p{overflow-wrap:anywhere}@media print{.finding-source{display:block}.finding-source p{display:block}.finding-card{break-inside:avoid}}
