:root {
  --font-body:"IBM Plex Sans Arabic",Tahoma,sans-serif;
  --text-xs:clamp(.75rem,.72rem + .15vw,.825rem);
  --text-sm:clamp(.875rem,.84rem + .15vw,.95rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.05rem);
  --text-lg:clamp(1.1rem,1.05rem + .2vw,1.2rem);
  --text-xl:clamp(1.3rem,1.2rem + .4vw,1.5rem);
  --bg:#f4f6f8; --surface:#fff; --text:#172b3d; --muted:#556674;
  --line:#d5dee5; --accent:#164f74; --soft:#e8f0f5; --danger:#9a2929;
  --success:#1c6350; color-scheme:light;
}
body.dark {--bg:#111d27;--surface:#192934;--text:#ecf1f5;--muted:#b3c1cc;--line:#40515e;--soft:#263f50;--accent:#98c9e8;--danger:#ffb5b5;--success:#9bd8bf;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--text-base)/1.7 var(--font-body)}
button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{min-height:44px;cursor:pointer;border:1px solid transparent;background:var(--accent);color:var(--surface);padding:8px 18px;border-radius:5px;font-size:var(--text-sm);font-weight:600}
button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}button.quiet{border-color:var(--line);background:var(--surface);color:var(--text)}
input,select{width:100%;min-height:44px;padding:8px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;min-width:0;font-size:var(--text-sm)}
input[type=number]{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}input[type=checkbox]{width:20px;min-height:20px}
label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:5px}input:focus,select:focus{border-color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent)}.skip{position:absolute;top:-100px;background:var(--surface);padding:10px;z-index:9}.skip:focus{top:0}
.topbar{min-height:90px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:18px 32px;gap:24px}
.mobile-hint{display:none}
.brand{display:flex;align-items:center;gap:13px}.brand strong{font-size:var(--text-lg);display:block}.brand span{font-size:var(--text-xs);color:var(--muted)}
.top-actions{display:flex;gap:12px;align-items:center;font-size:var(--text-sm)}.top-actions label{margin:0;white-space:nowrap}.top-actions select{width:160px}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 90px)}aside{border-left:1px solid var(--line);padding:32px 20px;background:var(--surface)}
.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;color:var(--muted);margin:0 0 8px}
nav{display:grid;gap:8px}nav button{background:transparent;color:var(--text);border-radius:4px;display:flex;justify-content:space-between;align-items:center;text-align:right;padding:12px}
nav button span{font:var(--text-xs) monospace;opacity:.7}nav button.active{background:var(--soft);color:var(--accent)}
.sidebar-note{font-size:var(--text-xs);color:var(--muted);margin:40px 0 24px}.return-link{font-size:var(--text-sm)}
main{padding:32px 40px;max-width:1400px;width:100%;margin:auto}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);line-height:1.5}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.environment,.status{font-size:var(--text-xs);background:var(--soft);color:var(--accent);padding:3px 10px;border-radius:3px}.status.approved{color:var(--success)}
.section-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:22px 0 16px}.section-heading p,.hint{color:var(--muted);font-size:var(--text-sm);margin:5px 0}
.surface{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;margin-bottom:20px}.inline-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.inline-form>div{flex:1;min-width:160px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-sm);white-space:nowrap;text-align:right}th{color:var(--muted);font-weight:500}td,th{padding:14px 10px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}td input{min-width:110px}td select{min-width:150px}.table-wrap.surface{padding:8px 14px}.empty{color:var(--muted);padding:25px;text-align:center;white-space:normal}
.subheading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.allocation-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.4fr) auto;gap:12px;margin-bottom:10px;align-items:end}
.allocation-card .summary{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.allocation-card details{margin-bottom:16px}.approval-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.approval-form input{flex:1;min-width:180px}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.metric{background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:5px}.metric span{font-size:var(--text-sm);color:var(--muted)}.metric strong{display:block;font-size:var(--text-xl);font-variant-numeric:tabular-nums}
#notice{padding:13px 16px;border:1px solid var(--line);background:var(--surface);margin-bottom:20px;border-radius:4px}#notice[data-kind=error]{color:var(--danger)}#notice[data-kind=ok]{color:var(--success)}
footer{font-size:var(--text-xs);color:var(--muted);padding:32px 0 6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:950px){.shell{grid-template-columns:185px minmax(0,1fr)}main{padding:24px}.topbar{padding:18px 20px}.top-actions label{display:none}.inline-form>button{flex:1}}
@media(max-width:680px){.topbar{align-items:start;flex-direction:column;gap:14px}.top-actions{width:100%}.top-actions select{flex:1}.shell{display:block}aside{padding:12px 16px;border:0;border-bottom:1px solid var(--line)}aside>.eyebrow,.sidebar-note,.return-link{display:none}nav{display:flex;gap:5px;overflow:auto}nav button{font-size:var(--text-xs);white-space:nowrap;padding:10px;gap:8px}nav button span{display:none}main{padding:22px 16px}.surface{padding:16px}.grid{grid-template-columns:1fr}.section-heading{align-items:start}.inline-form{gap:14px}.inline-form>div{min-width:100%;flex:1}.allocation-line{grid-template-columns:minmax(0,1fr) 90px 44px;gap:6px}.allocation-line button{padding:8px}.metrics{grid-template-columns:1fr}.page-heading{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.mobile-hint{display:block}}
/* Financial evidence stays readable at narrow widths without page overflow. */
.finance-hash { overflow-wrap: anywhere; }
.finance-snapshot { max-height: 24rem; overflow: auto; white-space: pre; font-size: .78rem; }
#finance .surface { margin-bottom: 1rem; }
#finance details summary { cursor: pointer; padding: .4rem 0; }
#finance table { min-width: 0; }
