:root{--ink:#1b1f2a;--muted:#6b7280;--line:#e5e7eb;--bg:#f6f7f9;--card:#fff;--navy:#1f3864;--accent:#0f766e;--warn:#b45309;--bad:#b91c1c;--ok:#15803d;--hi:#dcfce7;--med:#fef3c7;--lo:#fee2e2;--none:#e5e7eb}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
header.top{display:flex;align-items:center;gap:24px;padding:10px 22px;background:var(--navy);color:#fff}
header .brand{color:#fff;text-decoration:none;font-weight:700;font-size:18px}
header .brand span{color:#9fd3c7}header .brand small{font-weight:400;opacity:.75;margin-left:8px;font-size:12px}
header nav a{color:#dbe5f3;text-decoration:none;margin-right:16px;font-size:13px}header nav a:hover{color:#fff}
header .meta{margin-left:auto;font-size:12px;opacity:.7}
main{max-width:1320px;margin:0 auto;padding:18px 22px 40px}
footer{text-align:center;color:var(--muted);font-size:12px;padding:16px;border-top:1px solid var(--line)}
h1{font-size:22px;margin:6px 0 14px}h2{font-size:16px;margin:18px 0 8px;color:var(--navy)}h3{font-size:14px;margin:12px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:14px}
.grid{display:grid;gap:14px}.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:1fr 1fr 1fr}.grid.c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}
table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
th{background:#f1f3f7;font-weight:600;position:sticky;top:0;z-index:1}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.total td{font-weight:700;background:#eef4fb}tr.grand td{font-weight:700;background:#fff3c4}tr.head td{font-weight:600;text-decoration:underline;padding-top:12px}tr.sub td:first-child{padding-left:22px;color:#374151}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:6px;padding:7px 12px;font-size:13px;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--navy);border:1px solid var(--navy)}.btn.warn{background:var(--warn)}.btn.danger{background:var(--bad)}.btn.small{padding:4px 8px;font-size:12px}.btn.ok{background:var(--accent)}
.btn:disabled{opacity:.5}
input[type=text],input[type=number],input[type=date],select,textarea{padding:6px 8px;border:1px solid #cbd5e1;border-radius:5px;font-size:13px;width:100%;background:#fff}
input.inline{width:auto}label{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.field{margin-bottom:8px}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row .field{flex:1;min-width:140px}
.flashes{margin-bottom:12px}.flash{padding:8px 12px;border-radius:6px;margin-bottom:6px;font-size:13px}.flash.ok{background:#dcfce7;color:#14532d}.flash.error{background:#fee2e2;color:#7f1d1d}.flash.warn{background:#fef3c7;color:#78350f}
.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600}.badge.high{background:var(--hi);color:#14532d}.badge.medium{background:var(--med);color:#78350f}.badge.low{background:var(--lo);color:#7f1d1d}.badge.none{background:var(--none);color:#374151}
.badge.t-ALLOW,.badge.t-COGS,.badge.t-INCOME_BIZ{background:#dcfce7;color:#14532d}.badge.t-DISALLOW,.badge.t-CAPITAL,.badge.t-DONATION,.badge.t-ZAKAT{background:#fee2e2;color:#7f1d1d}.badge.t-PARTIAL,.badge.t-CAP,.badge.t-REVIEW,.badge.t-DOUBLE,.badge.t-INCOME_REVIEW{background:#fef3c7;color:#78350f}.badge.t-INCOME_NONBIZ,.badge.t-INCOME_EXEMPT{background:#dbeafe;color:#1e3a8a}.badge.t-BS,.badge.t-APPROP,.badge.t-IGNORE{background:#e5e7eb;color:#374151}
.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.stat{display:flex;gap:16px;flex-wrap:wrap}.stat .k{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;min-width:120px}.stat .k b{display:block;font-size:20px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.steps.s6{grid-template-columns:repeat(6,1fr)}.steps a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;text-decoration:none;color:var(--ink)}.steps a b{display:block;color:var(--navy);margin-bottom:4px}.steps a.done{border-color:var(--ok)}.steps a small{color:var(--muted)}
tr.conf-high td{background:#f4fdf6}tr.conf-none td{background:#fff5f5}tr.changed td{background:#fff8dc!important}
.filterbar{display:flex;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap}
.note{font-size:12px;color:#374151;background:#f8fafc;border-left:3px solid #cbd5e1;padding:6px 8px;margin-top:4px}
ul.flags li{margin-bottom:4px}.warnbox{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:8px 12px;margin-bottom:10px}.badbox{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;margin-bottom:10px}
details summary{cursor:pointer;font-weight:600;color:var(--navy)}
.sticky-save{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:8px 0;display:flex;gap:10px;align-items:center;z-index:2}
select.map{min-width:320px;max-width:520px}
.kv td:first-child{width:36%;color:#374151}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer;font-size:12px}.tabs button.active{background:var(--navy);color:#fff}
.tabpane{display:none}.tabpane.active{display:block}
.scroll{overflow-x:auto}

table.mtable{min-width:1560px;table-layout:fixed}table.mtable textarea{width:100%;font-size:12px}table.mtable input[type=text]{font-size:12px}
tr.splitrow>td{background:#f0f5ff;border-left:3px solid #1f3864;padding:8px 12px}
.splitbox b{color:#1f3864}.splittbl{margin:6px 0;width:100%}.splittbl input,.splittbl select{font-size:12px;padding:4px 6px}
.splittbl td,.splittbl th{padding:3px 5px}.ptotals{font-size:12px}
.splittbl select.p-scen{width:100%}.splittbl input.p-lbl{width:100%}
a.schlink{color:#0f766e;font-weight:600;text-decoration:none;border:1px solid #99d5cc;border-radius:8px;padding:0 6px;font-size:11px;white-space:nowrap}
a.schlink:hover{background:#e6f4f1}
h3 a.schlink{font-weight:400;margin-left:8px}
.badge.notechip{background:#e6f4f1;color:#0f766e;border:1px solid #99d5cc;font-family:ui-monospace,Menlo,monospace}
tr.noteflash>td, h3.noteflash{animation:noteflash 2.4s ease-out}
@keyframes noteflash{0%{background:#fff3c4}70%{background:#fff3c4}100%{background:transparent}}
.badge.dl-green{background:#dcfce7;color:#14532d}.badge.dl-amber{background:#fef3c7;color:#78350f}.badge.dl-red{background:#fee2e2;color:#7f1d1d}.badge.dl-overdue{background:#7f1d1d;color:#fff}

tr.bizstart td{font-weight:700;background:#eef4fb;border-top:2px solid #1f3864}tr.reset td{font-weight:600;text-decoration:underline;padding-top:12px}

tr.info td:first-child{padding-left:22px;color:#6b7280;font-style:italic}tr.info td.num{color:#6b7280;font-style:italic}

.linkbtn{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
