:root{--bg: #F5F7FA;--surface: #FFFFFF;--surface2: #F9FBFD;--border: #D3DCE7;--grid: #E5EBF3;--ink: #1A2733;--ink2: #41556B;--muted: #5B6878;--navy: #0A1A2F;--gold: #8A6D1B;--gold-hi: #C9A227;--green: #0d8f3f;--red: #c93a3a;--amber: #b45309;--grad-side: linear-gradient(185deg, #14304D 0%, #0A1A2F 62%, #071322 100%);--grad-band: linear-gradient(120deg, #0A1A2F 0%, #14304D 55%, #8A6D1B 140%);--r1: 8px;--r2: 11px;--r3: 14px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--shadow: 0 1px 2px rgba(10, 26, 47, .06), 0 6px 18px rgba(10, 26, 47, .06);--font: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;--ease: cubic-bezier(.22, .61, .36, 1);--side-w: 242px;--side-min: 70px}:root{--head: var(--navy);--fs: 14px;--accent2: #14304D;--grad-pri: linear-gradient(120deg, var(--navy) 0%, var(--accent2) 60%, var(--navy) 100%);--grad-card: linear-gradient(180deg, var(--surface) 0%, var(--surface2) 100%);--glow: 0 10px 30px -12px rgba(10, 26, 47, .35)}:root[data-theme=dark]{--bg: #0b1120;--surface: #141c2d;--surface2: #1a2438;--border: #2a3650;--grid: #222d43;--ink: #e8eef9;--ink2: #c0cadd;--muted: #8292ab;--navy: #24477a;--accent2: #2f5f9e;--head: #9cc1ff;--gold-hi: #e2bd4a;--grad-side: linear-gradient(185deg, #15213a 0%, #0d1526 60%, #070c17 100%);--grad-band: linear-gradient(120deg, #0d1526 0%, #1d3560 55%, #8A6D1B 140%);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 22px rgba(0, 0, 0, .3);--glow: 0 10px 30px -12px rgba(0, 0, 0, .7)}:root[data-theme=crimson]{--bg: #f8f3f4;--surface2: #fbf6f7;--border: #e6d3d7;--grid: #f0e2e5;--ink: #2a1418;--ink2: #5c3a40;--navy: #6b1027;--accent2: #9b1b3a;--head: #6b1027;--gold: #9a7417;--gold-hi: #d4a72c;--grad-side: linear-gradient(185deg, #7d1530 0%, #4a0918 62%, #2c0410 100%);--grad-band: linear-gradient(120deg, #4a0918 0%, #8f1a37 55%, #d4a72c 140%);--glow: 0 10px 30px -12px rgba(107, 16, 39, .45)}:root[data-theme=warm]{--bg: #faf5ec;--surface: #fffdf8;--surface2: #fbf5ea;--border: #e8dcc6;--grid: #f1e7d5;--ink: #2e2216;--ink2: #5b4632;--muted: #806a52;--navy: #5a3816;--accent2: #8a5a22;--head: #6b431a;--gold: #a0701a;--gold-hi: #e0a43a;--grad-side: linear-gradient(185deg, #6e4520 0%, #45280e 62%, #2b1806 100%);--grad-band: linear-gradient(120deg, #45280e 0%, #8a5a22 55%, #e0a43a 140%);--glow: 0 10px 30px -12px rgba(90, 56, 22, .45)}:root[data-theme=pro]{--bg: #eef3f9;--surface2: #f6f9fc;--border: #d4e0ec;--navy: #1f5a96;--accent2: #2a6fb0;--head: #1f5a96;--grad-side: linear-gradient(185deg, #24609c 0%, #163f6b 62%, #0e2b4b 100%);--grad-band: linear-gradient(120deg, #163f6b 0%, #2a6fb0 60%, #7fb2e5 140%);--glow: 0 10px 30px -12px rgba(31, 90, 150, .4)}:root[data-theme=ocean]{--bg: #e9f4f9;--surface2: #f3f9fc;--border: #cfe3ec;--navy: #0b5f80;--accent2: #0e7ea8;--head: #0b5f80;--grad-side: linear-gradient(185deg, #0e7ea8 0%, #0a4f6b 62%, #073447 100%);--grad-band: linear-gradient(120deg, #0a4f6b 0%, #0e7ea8 60%, #5cc6e6 140%);--glow: 0 10px 30px -12px rgba(14, 126, 168, .45)}:root[data-theme=midnight]{--bg: #07090e;--surface: #101319;--surface2: #161a22;--border: #3a4252;--grid: #262c38;--ink: #ffffff;--ink2: #e2e8f0;--muted: #a9b4c4;--navy: #155e75;--accent2: #1f8aa8;--head: #67d8f5;--gold-hi: #ffd34d;--grad-side: linear-gradient(185deg, #10141c 0%, #07090e 100%);--grad-band: linear-gradient(120deg, #07090e 0%, #155e75 70%, #4db6d6 140%);--shadow: 0 0 0 1px #3a4252;--glow: 0 0 0 1px #4db6d6}:root[data-theme=midnight] select,:root[data-theme=midnight] input{color-scheme:dark}:root[data-theme=midnight] .dash-alerts button{background:#ff5a5a29;border-color:#ff6b6b;color:var(--ink)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:var(--fs)/1.6 var(--font);transition:background .3s var(--ease),color .3s var(--ease)}button,input,select{font:inherit}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}:root[data-motion=off] *,:root[data-motion=off] *:after{transition:none!important;animation:none!important}.login{min-height:100%;display:grid;place-items:center;padding:var(--s4);background:var(--grad-side)}.login-card{width:min(380px,100%);background:var(--surface);border-radius:var(--r3);padding:var(--s5);display:grid;gap:var(--s3);box-shadow:0 18px 50px #00000047}.login-card label{display:grid;gap:var(--s1);font-weight:600;color:var(--ink2)}.login-card input{border:1px solid var(--border);border-radius:var(--r1);padding:10px 12px;background:var(--surface2);color:var(--ink)}.login-card input:focus{outline:2px solid var(--gold-hi);outline-offset:1px}.err{margin:0;color:var(--red);font-weight:600}.hint{margin:0;font-size:12px;color:var(--muted)}.pri{border:0;border-radius:var(--r1);padding:11px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(120deg,var(--navy),#14304D);transition:filter .2s var(--ease)}.pri:hover{filter:brightness(1.15)}.pri:disabled{opacity:.6;cursor:wait}.brand{display:flex;align-items:center;gap:var(--s2)}.brand .mark{width:38px;height:38px;flex:none;border-radius:var(--r2);display:grid;place-items:center;color:var(--head);font-weight:800;background:linear-gradient(135deg,var(--gold-hi),#f3dc8a)}.brand .logo{flex:none;border-radius:9px;box-shadow:0 4px 10px #06182959}.brand b{display:block;font-size:16px}.brand small{color:var(--muted)}.login-card .brand b{color:var(--head)}.shell{display:flex;min-height:100%}.side{width:var(--side-w);flex:none;position:sticky;top:0;height:100vh;overflow:hidden auto;background:var(--grad-side);color:#c6d2e6;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s3) var(--s2);transition:width .28s var(--ease)}.side .brand{padding:var(--s1) var(--s2)}.side .brand b{color:#fff}.side nav{display:grid;gap:2px}.side nav button,.who button{all:unset;cursor:pointer;display:flex;align-items:center;gap:var(--s3);padding:9px var(--s3);border-radius:var(--r1);white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease)}.side nav button:hover{background:#ffffff12;color:#fff}.side nav button.on{background:#c9a22729;color:#fff;box-shadow:inset -3px 0 0 var(--gold-hi)}.side nav button:focus-visible,.who button:focus-visible{outline:2px solid var(--gold-hi)}.ni{width:22px;text-align:center;flex:none}.nl{transition:opacity .2s var(--ease)}.who{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--s2) var(--s3);border-top:1px solid rgba(255,255,255,.08)}.shell.collapsed .side{width:var(--side-min)}.shell.collapsed .nl,.shell.collapsed .side .brand div{opacity:0;width:0;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column}.band{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);background:var(--grad-band);background-size:200% 100%;animation:bandFlow 14s var(--ease) infinite alternate;color:#fff}.band h1{margin:0;font-size:20px}@keyframes bandFlow{to{background-position:100% 0}}.frame{padding:var(--s4);display:grid;gap:var(--s3)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s4);box-shadow:var(--shadow)}.card.empty h2{margin:0 0 var(--s2);font-size:16px;color:var(--head)}.card.empty p{margin:0;color:var(--ink2)}@media (max-width: 900px){.side{width:var(--side-min)}.side .nl,.side .brand div{display:none}.band{padding:var(--s3) var(--s4)}.frame{padding:var(--s3) 16px}}.mock-band{padding:var(--s2) var(--s3);border-radius:var(--r1);background:#c9a22724;color:var(--ink);font-weight:600;font-size:13px}.tabs{display:flex;gap:var(--s1);flex-wrap:wrap}.tabs button{all:unset;cursor:pointer;padding:8px var(--s3);border-radius:var(--r1);color:var(--ink2);font-weight:600}.tabs button.on{background:var(--navy);color:#fff}.tabs button:focus-visible{outline:2px solid var(--gold-hi)}.toast{position:fixed;bottom:var(--s4);inset-inline-start:50%;transform:translate(50%);z-index:50;padding:var(--s2) var(--s4);border-radius:var(--r2);color:#fff;font-weight:600;box-shadow:var(--shadow);animation:toastIn .25s var(--ease);max-width:calc(100% - 32px)}.toast.ok{background:var(--green)}.toast.err{background:var(--red)}@keyframes toastIn{0%{opacity:0;transform:translate(50%,8px)}}.grid-card{padding:0;overflow:hidden}.g-tools{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);flex-wrap:wrap}.g-title{flex:1;min-width:180px}.g-title h2{margin:0;font-size:16px;color:var(--head)}.g-title small{color:var(--muted)}.g-search{border:1px solid var(--border);border-radius:var(--r1);padding:8px 12px;background:var(--surface2);color:var(--ink);min-width:200px}.g-tools .pri{padding:9px var(--s3)}.g-chips{display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap;padding:0 var(--s4) var(--s3)}.g-chips button{border:1px solid var(--border);background:var(--surface);color:var(--ink2);border-radius:999px;padding:4px 12px;cursor:pointer;font:inherit;font-size:13px}.g-chips button.on{border-color:var(--head);background:var(--navy);color:#fff}.g-chips b{margin-inline-start:4px}.g-hint{margin-inline-start:auto;font-size:12px;color:var(--muted)}.g-wrap{overflow:auto;max-height:calc(100vh - 260px);border-top:1px solid var(--border)}table.g{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.g th{position:sticky;top:0;z-index:1;background:var(--navy);color:#fff;font-weight:600;padding:8px;white-space:nowrap;text-align:start}.g th i{color:var(--gold-hi);font-style:normal}.g td{border-bottom:1px solid var(--grid);padding:2px 4px;white-space:nowrap}.g td.rn{color:var(--muted);text-align:center;width:32px}.g td.n input{text-align:left}.g input,.g select{width:100%;min-width:90px;border:1px solid transparent;border-radius:6px;padding:5px 6px;background:transparent;color:var(--ink);font:inherit}.g input:hover,.g select:hover{border-color:var(--border)}.g input:focus,.g select:focus{outline:2px solid var(--gold-hi);background:var(--surface)}.g tr.late td{background:#d6454112}.g tbody tr:hover td{background:#0b1f3a0a}.g .pill{border-radius:999px;font-weight:600;min-width:80px}.st-pending.pill{background:#d99b2129}.st-partial.pill{background:#2b6cb024}.st-done.pill{background:#2e9e6229}.st-cancelled.pill{background:#78787829}.g td.act{display:flex;gap:2px}.g td.act button{border:0;background:none;cursor:pointer;color:var(--muted);padding:4px 6px;border-radius:6px}.g td.act button:hover{background:var(--surface2);color:var(--ink)}.g tfoot td{position:sticky;bottom:0;background:var(--surface2);font-weight:700;color:var(--head);padding:8px;border-top:2px solid var(--navy)}.g-empty{text-align:center;color:var(--muted);padding:var(--s4)!important}.ghost{border:1px solid var(--border);background:var(--surface);color:var(--ink2);border-radius:var(--r1);padding:8px var(--s3);font:inherit;font-weight:600;cursor:pointer}.ghost:hover{border-color:var(--head);color:var(--head)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#08142673;display:grid;place-items:center;padding:16px;animation:toastIn .2s var(--ease)}.modal{width:min(980px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r3);box-shadow:0 24px 60px #0000004d;overflow:hidden}.modal>header{display:flex;justify-content:space-between;align-items:start;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.modal>header h2{margin:0;font-size:17px;color:var(--head)}.modal>header small{color:var(--muted)}.modal .x{border:0;background:none;font-size:16px;cursor:pointer;color:var(--muted)}.m-body{overflow:auto;padding:var(--s3) var(--s4);display:grid;gap:var(--s3)}.modal>footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--border);flex-wrap:wrap}.modal>footer .pri{padding:9px var(--s4)}.modal>footer .m-hint{margin-inline-end:auto}.m-hint{margin:0;font-size:12px;color:var(--muted)}.gen fieldset{border:1px solid var(--border);border-radius:var(--r2);padding:var(--s3);margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s2) var(--s3);align-items:end}.gen legend{padding:0 6px;font-weight:700;color:var(--head)}.gen label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--ink2)}.gen label.chk{display:flex;align-items:center;gap:6px}.gen .wide{grid-column:1 / -1}.gen input:not([type=checkbox]),.gen select{border:1px solid var(--border);border-radius:var(--r1);padding:7px 10px;background:var(--surface2);color:var(--ink);font:inherit}.gen input:disabled,.gen select:disabled{opacity:.6}.skip-add{display:flex;gap:6px}.chip{border:1px solid var(--border);background:var(--surface2);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}.prev{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:var(--r2)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2)}.kpis div{background:var(--surface2);border-radius:var(--r2);padding:var(--s2) var(--s3);display:grid}.kpis small{color:var(--muted)}.kpis b{font-size:18px;color:var(--head)}.kpis b.ok{color:var(--green)}.kpis b.due{color:#0b2d5c}.gap{margin:0;padding:var(--s2) var(--s3);border-radius:var(--r1);font-weight:600}.gap.under{background:#d99b2124}.gap.over{background:#d645411a;color:var(--red)}.g tr.muted td{color:var(--muted);text-decoration:line-through}.g tfoot.total td{font-size:15px;color:#0b2d5c}.print-head{display:none}@media print{@page{margin:1cm}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;inset:0 0 auto 0;overflow:visible;padding:0}.print-head{display:block}.print-head h2{margin:0}.np,.print-area input,.print-area select{border:0!important}.np{display:none}.g th,.g tfoot td{position:static}}.kpis .grand b{font-size:23px;color:#0b2d5c}.kpis b i{font-style:normal;font-size:11px;color:var(--muted)}.kpis .alert{background:#d99b2129}.kpis .alert b{color:#994d00}.pb-bar{display:flex;align-items:center;justify-content:space-between}.pb-bar b{color:var(--head)}.pb-sum summary{cursor:pointer;font-weight:700;color:var(--head);margin-bottom:var(--s2)}.gen .prev input{border:1px solid var(--border)}@media print{.pb-sum summary{list-style:none}}.pst{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.pst.paid{background:#2e9e6229;color:var(--green)}.pst.awaiting{background:#d99b212e;color:#8a5a0e}.pst.unposted{background:#d645411f;color:var(--red)}.pst.manual{background:var(--surface2);color:var(--ink2)}.cap-line{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end}.cap-line label{flex:1;min-width:130px}.st-reviewed.pill{background:#2b6cb024}.st-inhand.pill{background:#d99b2129}.st-processing.pill{background:#2b6cb024}.st-paid.pill{background:#2e9e6229}.g-kpis{margin:0 var(--s3) var(--s2)}.pw-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s3);padding:var(--s3) var(--s4)}.pw-bar label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--ink2)}.pw-bar input,.pw-bar select{border:1px solid var(--border);border-radius:var(--r1);padding:7px 10px;background:var(--surface2);color:var(--ink);font:inherit}.pw-weeks{display:flex;gap:4px}.pw-kpis div{gap:2px}.pw-kpis i{font-style:normal;font-size:11px;color:var(--muted)}.neg{color:var(--red);font-weight:800}.g tr.auto td{background:#2b6cb00d;color:var(--ink2)}.src-chip{font-size:11px;color:#2a6fb0;white-space:nowrap;padding:0 6px}.lr-list{display:grid;gap:var(--s1);max-height:320px;overflow:auto}.lr-list label{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s2);align-items:center;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r1);cursor:pointer}.lr-list label.on{border-color:var(--head);background:var(--surface2)}.lr-list span{display:grid}.lr-list small{color:var(--muted)}.lr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.lr-card{border:1px solid var(--border);border-inline-start:5px solid var(--navy);border-radius:var(--r2);padding:var(--s3);break-inside:avoid}.lr-top{display:flex;justify-content:space-between;gap:var(--s3);align-items:flex-start}.lr-top h3{margin:0}.lr-top small{color:var(--muted)}.lr-top .pill{border-radius:999px;padding:3px 12px;font-weight:700;font-size:12px;white-space:nowrap}.lr-n{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s1);margin:var(--s2) 0}.lr-n span{background:var(--surface2);border-radius:var(--r1);padding:var(--s2);color:var(--muted);font-size:11px}.lr-n b{display:block;color:var(--head);font-size:14px}.lr-n b.ok{color:var(--green)}.lr-n b.neg{color:var(--red)}.lr-bar{height:7px;background:var(--surface2);border-radius:99px;overflow:hidden}.lr-bar i{display:block;height:100%;background:var(--green)}.lr-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2);margin-top:var(--s2);color:var(--muted);font-size:12px}.lr-unit{display:grid;gap:var(--s2);min-width:0}.lr{grid-template-columns:minmax(0,1fr)}.lr>*,.lr-grid>*{min-width:0}.lr-scroll{overflow-x:auto;max-width:100%}.lr-unit+.lr-unit{margin-top:var(--s4, 24px)}@media (max-width: 760px){.lr-grid{grid-template-columns:1fr}.lr-n{grid-template-columns:repeat(2,1fr)}}@media print{.lr-scroll{overflow:visible}.lr-unit+.lr-unit{break-before:page;margin-top:0}.lr-bar i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.fx-kpis div i{font-style:normal;font-size:12px;color:var(--muted)}.fx-kpis div i.err{color:var(--red)}.pp-filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end}.pp-filters label{display:grid;font-size:12px;color:var(--muted)}.pp-filters fieldset{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end}.g tr.pp-grp td{background:var(--surface2)}.g tr.pp-grp.l0 td{font-size:14px}.pp-rep .pb-bar{flex-wrap:wrap;gap:var(--s2);justify-content:flex-start}.pp-rep .pb-bar .pill{border-radius:999px;padding:3px 12px;font-weight:700;font-size:12px}.pp-rep .pb-bar b{margin-inline-start:auto}.dash{display:grid;gap:var(--s3);grid-template-columns:minmax(0,1fr)}.dash h2{margin:0 0 var(--s2);font-size:15px;color:var(--head)}.dash-alerts{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.dash-alerts button{width:100%;display:flex;gap:var(--s2);align-items:center;text-align:start;background:#fdecec;border:1px solid #F3C4C4;border-radius:var(--r2);padding:var(--s2) var(--s3);cursor:pointer}.dash-alerts b{color:var(--red);min-width:3ch}.dash-alerts span{flex:1}.dash-alerts i{font-style:normal;color:var(--muted)}.dash-ok{margin:0;color:var(--green)}.dash-kpis button{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s2) var(--s3);display:grid;text-align:start;cursor:pointer}.dash-kpis button small{color:var(--muted)}.dash-kpis button b{font-size:18px;color:var(--head)}.dash-cf{max-width:560px}.dash-cf tr.tot td{font-weight:700}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s2)}.dash-tiles button{display:grid;gap:2px;text-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s3);cursor:pointer}.dash-tiles small{color:var(--muted);font-size:11px}.dash-tiles b{color:var(--head)}.dash-tiles span{font-size:12px;color:var(--ink2)}.dash-tiles em{color:var(--red);font-style:normal}.dims{display:grid;gap:var(--s2);grid-template-columns:minmax(0,1fr)}.dims-pick{display:flex;flex-wrap:wrap;gap:var(--s1)}.dims-pick button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 12px;cursor:pointer;font-size:13px}.dims-pick button.on{background:var(--navy);color:#fff;border-color:var(--head)}.dims-pick b{font-weight:700;opacity:.7;margin-inline-start:4px}.users{display:grid;gap:var(--s2);grid-template-columns:minmax(0,1fr)}.u-guide{display:flex;gap:var(--s3);align-items:start;flex-wrap:wrap}.u-guide p{flex:1;min-width:240px;margin:0}.u-list{display:grid;gap:var(--s2)}.u-card.dirty{border-color:#e0a100}.u-card.off{opacity:.65}.u-head{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.u-head input:not([type]){min-width:160px;font-weight:700}.u-act{margin-inline-start:auto;display:flex;gap:var(--s1)}.u-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s2)}.u-tabs label{font-size:12px;border:1px solid var(--border);border-radius:999px;padding:2px 10px;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.u-tabs label.on{background:var(--surface2);border-color:var(--head)}.perm fieldset{display:flex;flex-wrap:wrap;gap:var(--s2);border:1px solid var(--border);border-radius:var(--r2)}.rep{display:grid;gap:var(--s2);grid-template-columns:minmax(0,1fr)}.rep-cols{font-size:13px}.rep-cols label{display:inline-flex;gap:4px;margin-inline-end:var(--s3)}.rep-foot{display:flex;justify-content:flex-end}.rep-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s2);margin-bottom:var(--s2)}.rep-bar label{display:flex;flex-direction:column;font-size:12px}.rep-foot .m-hint{margin:0 0 0 auto;align-self:center}.g tr.sub td{border-bottom:2px solid var(--border)}.cf-rep td.cf-acc{padding-inline-start:24px}@media print{.rep{box-shadow:none;border:0}}.cp fieldset{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end;border:1px solid var(--border);border-radius:var(--r2)}.cp-state{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.cp-t td.neg{color:var(--red)}.cp-t tr.cp-adj td{background:var(--surface2);font-size:12px}.cp-adj input{width:90px;margin-inline:4px}.cp-t td input[type=date]{font-size:12px}.cp-extra{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.cp-x{display:flex;gap:var(--s2);padding:2px 0}button.link{background:none;border:0;color:var(--head);cursor:pointer;padding:0 2px}.exp-alerts{margin:0;padding-inline-start:var(--s4);display:grid;gap:4px;color:#994d00}.bk-cards{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s2)}.bk-cards button{display:grid;gap:2px;min-width:150px;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s2) var(--s3);cursor:pointer}.bk-cards button.on{border-color:var(--head);box-shadow:inset 0 -3px 0 var(--gold)}.bk-cards button.neg-card{background:#c93a3a12}.bk-cards small{color:var(--muted)}.bk-cards b{font-size:17px;color:var(--head)}.bk-cards i{font-style:normal;font-size:11px;color:var(--muted)}.g tr.sel td{background:var(--surface2)}.fu-sec{margin-top:var(--s2)}.fu-sec summary{cursor:pointer;padding:var(--s1) 0}.fu-act{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.fu-act small,.g tr.muted-row td{color:var(--muted)}button.link{background:none;border:0;padding:0;color:var(--head);font:inherit;font-weight:700;cursor:pointer;text-align:start}button.link:hover{text-decoration:underline}.tw-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);align-items:start}.tw-hero h2{margin:2px 0}.tw-hero small{color:var(--muted)}.tw-actions{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:var(--s2) 0}.tw-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s2);margin:var(--s3) 0}.tw-card{display:grid;gap:4px;text-align:start;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r2);background:var(--surface2);cursor:pointer}.tw-card span,.tw-card small{color:var(--muted);font-size:12px}.tw-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);margin:var(--s3) 0}.tw-tabs button{border:0;background:none;padding:8px 12px;cursor:pointer;border-bottom:3px solid transparent;color:var(--muted)}.tw-tabs button.on{border-bottom-color:var(--head);color:var(--head);font-weight:700}.tw-alert{background:#c4323214;border:1px solid rgba(196,50,50,.35);color:var(--red);border-radius:var(--r2);padding:var(--s2) var(--s3);margin-bottom:var(--s2)}.tw-sched{border:1px solid var(--border);border-radius:var(--r2);padding:var(--s2) var(--s3);margin:var(--s2) 0}.tw-sched summary{font-weight:700;cursor:pointer}.tw-sched summary small{color:var(--muted);font-weight:400}.tw-sub{display:block;font-size:11px;color:var(--muted)}.tw .neg{color:var(--red)}.tw-x td{opacity:.55}.tw-check{display:flex;gap:6px;align-items:center;margin:6px 0}.tw-wide{display:grid;width:100%}.tw .g td label{display:block}.tw .g td input:not([type=checkbox]){width:100%;min-width:90px}.tw-print{display:none}@media print{.tw-print{display:block}}.print-only{display:none}.g tr.off td{opacity:.45;text-decoration:line-through}@media print{.print-only{display:block}}.sl-slide{border:1px solid var(--border);border-radius:12px;padding:var(--s3, 16px);margin-bottom:var(--s2);min-height:320px}.sl-slide header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #0B2D5C;margin-bottom:var(--s2)}.sl-slide h2{margin:0;color:#0b2d5c}.sl-bars{display:grid;gap:6px}.sl-bar{display:grid;grid-template-columns:minmax(120px,30%) 1fr auto;gap:8px;align-items:center;font-size:13px}.sl-bar i{display:block;height:14px;border-radius:4px;min-width:2px}.sl-bar b{direction:ltr;font-variant-numeric:tabular-nums}.sl-kpis b{font-size:22px}.sl-recs li{margin-bottom:8px;font-size:15px}@media print{.sl-slide{break-after:page;border:0}.sl-bar i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.mb{display:grid;gap:var(--s2);max-width:640px}.mb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-card h3{margin:0 0 8px;color:#0b2d5c;font-size:15px}.mb-list{list-style:none;margin:0;padding:0}.mb-list li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);cursor:pointer}.mb-list li span{display:grid;min-width:0}.mb-list small{color:var(--muted)}.rep-num{display:flex;gap:4px}.rep-num input{width:90px}.rep.board .g thead th{background:linear-gradient(180deg,#1f4e8c,#0b2d5c);color:#fff}.rep.board .g tr.pp-grp td{background:linear-gradient(90deg,#1f4e8c24,#1f4e8c0a)}.rep.board .g tfoot td{background:#0b2d5c;color:#fff}.rep.board .print-head h2{color:#1f4e8c}.ins-tabs{flex-wrap:wrap}.ins-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s3)}.full-rep h3{margin:var(--s3) 0 var(--s1);color:var(--head)}.full-notes{width:100%}.full-notes-p{white-space:pre-wrap}.g-more{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);padding:4px 2px;flex-wrap:wrap}.crash{margin:40px auto;max-width:640px}.crash pre{white-space:pre-wrap;font-size:12px;background:var(--surface2);padding:8px;border-radius:6px}.ico{display:block}.side{box-shadow:-8px 0 30px -18px #00000080}.side:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 40% at 100% 0%,rgba(201,162,39,.14),transparent 60%)}.side nav button{position:relative;overflow:hidden}.side nav button .ni{transition:transform .25s var(--ease),color .25s var(--ease)}.side nav button:hover .ni{transform:scale(1.12) rotate(-4deg);color:var(--gold-hi)}.side nav button.on{background:linear-gradient(90deg,#c9a2270d,#c9a22738)}.side nav button.on .ni{color:var(--gold-hi)}.band{position:sticky;top:0;z-index:20;gap:var(--s2);justify-content:flex-start;padding:var(--s3) var(--s4);box-shadow:0 6px 24px -10px #00000073}.band:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);background-size:250% 100%;animation:sheen 7s ease-in-out infinite}.band-t{animation:riseIn .35s var(--ease)}.band-d{margin-inline-start:auto;opacity:.85;font-size:13px}.band-btn{border:0;background:#ffffff1a;color:#fff;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);position:relative;z-index:1}.band-btn:hover{background:#fff3;transform:translateY(-1px)}.band-btn.on{background:var(--gold-hi);color:#1a1205}@keyframes sheen{0%{background-position:120% 0}60%,to{background-position:-120% 0}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}}.frame>*{animation:riseIn .4s var(--ease) both}.frame>*:nth-child(2){animation-delay:.04s}.frame>*:nth-child(3){animation-delay:.08s}.frame>*:nth-child(n+4){animation-delay:.12s}.card{background:var(--grad-card);transition:box-shadow .25s var(--ease)}.pri{background:var(--grad-pri);background-size:200% 100%;box-shadow:var(--glow);transition:background-position .5s var(--ease),transform .2s var(--ease),filter .2s}.pri:hover{background-position:100% 0;transform:translateY(-1px)}.pri:active,.ghost:active{transform:translateY(0) scale(.98)}.ghost{transition:border-color .2s,color .2s,box-shadow .2s,transform .2s var(--ease)}.ghost:hover{box-shadow:0 4px 14px -8px #00000059;transform:translateY(-1px)}.tabs button{position:relative;transition:background .25s var(--ease),color .25s var(--ease)}.tabs button:not(.on):hover{background:var(--surface2);color:var(--head)}.tabs button.on{background:var(--grad-pri);background-size:200% 100%;box-shadow:var(--glow)}.g th{background:linear-gradient(180deg,var(--accent2),var(--navy))}.kpis div,.dash-kpis button,.dash-tiles button,.bk-cards button,.tw-card{position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.kpis div:before,.dash-kpis button:before,.dash-tiles button:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold-hi),var(--accent2))}.kpis div:hover,.dash-kpis button:hover,.dash-tiles button:hover,.bk-cards button:hover,.tw-card:hover{transform:translateY(-2px);box-shadow:var(--glow)}.modal{animation:popIn .28s var(--ease)}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}}.modal-back{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.toast{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root[data-theme=dark] .dash-alerts button{background:#c93a3a24;border-color:#c93a3a59;color:var(--ink)}:root[data-theme=dark] .g input,:root[data-theme=dark] .g select{color-scheme:dark}:root[data-theme=dark] select,:root[data-theme=dark] input{color-scheme:dark}.disp{display:grid;gap:var(--s2)}.disp h3{margin:var(--s2) 0 0;font-size:14px;color:var(--head)}.disp-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}.disp-themes button{border:2px solid var(--border);border-radius:var(--r2);background:var(--surface);padding:6px;cursor:pointer;display:grid;gap:4px;color:var(--ink);font:inherit;transition:transform .2s var(--ease),border-color .2s}.disp-themes button:hover{transform:translateY(-2px)}.disp-themes button.on{border-color:var(--gold-hi);box-shadow:var(--glow)}.disp-themes i{height:34px;border-radius:8px}.th-light i{background:linear-gradient(135deg,#f5f7fa 50%,#0a1a2f 50%)}.th-dark i{background:linear-gradient(135deg,#141c2d 50%,#24477a 50%)}.th-crimson i{background:linear-gradient(135deg,#f8f3f4 50%,#6b1027 50%)}.th-warm i{background:linear-gradient(135deg,#faf5ec 50%,#5a3816 50%)}.disp-fonts{display:flex;flex-wrap:wrap;gap:var(--s1)}.disp-fonts button{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:13px}.disp-fonts button.on{background:var(--grad-pri);color:#fff;border-color:transparent}.disp-fonts small{opacity:.6}.disp-pop{position:relative;z-index:1}.disp-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:min(420px,calc(100vw - 32px));color:var(--ink);z-index:60;animation:popIn .22s var(--ease)}.cx-note{margin:0;font-size:12px;color:var(--ink2);background:var(--surface2);border-radius:var(--r1);padding:var(--s2) var(--s3)}.mb-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2)}.mb-doors button{display:grid;gap:2px;text-align:start;border:0;border-radius:var(--r2);padding:var(--s3);cursor:pointer;color:#fff;background:var(--grad-pri);background-size:200% 100%;box-shadow:var(--glow);font:inherit;transition:transform .2s var(--ease),background-position .5s var(--ease)}.mb-doors button:hover{transform:translateY(-2px);background-position:100% 0}.mb-doors small{opacity:.8;font-size:11px}:root{--depth: 1;--id-accent: var(--gold-hi);--fw: 400;--fw-b: 700;--font-head: var(--font)}body{font-weight:var(--fw)}b,strong,th,h1,h2,h3{font-weight:var(--fw-b)}.side{font-family:var(--font-side, var(--font))}.main{font-family:var(--font-main, var(--font))}.modal,.toast,.login,.disp-menu{font-family:var(--font-ui, var(--font))}@media print{.print-area,.print-area *{font-family:var(--font-rep, var(--font))!important}}h1,h2,h3,.brand b{font-family:var(--font-head)}.card{box-shadow:0 calc(1px * var(--depth)) calc(2px * var(--depth)) rgba(10,26,47,calc(.06 * var(--depth))),0 calc(6px * var(--depth)) calc(18px * var(--depth)) rgba(10,26,47,calc(.07 * var(--depth)))}.side nav button.on{box-shadow:inset -3px 0 0 var(--id-accent)}.side nav button.on .ni,.side nav button:hover .ni{color:var(--id-accent)}.kpis div:before,.dash-kpis button:before,.dash-tiles button:before{background:linear-gradient(180deg,var(--id-accent),var(--accent2))}.g tfoot td{border-top-color:var(--id-accent)}.band-btn.on{background:var(--id-accent)}:root[data-ident=board] .g th{background:#111}:root[data-ident=board] .band{background:#111;animation:none}:root[data-ident=board] .kpis b,:root[data-ident=board] .g-title h2{color:#111}:root[data-ident=swiss] .g td,:root[data-ident=blueprint] .g td{font-variant-numeric:tabular-nums}:root[data-ident=blueprint] .main{background-image:linear-gradient(rgba(46,163,242,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(46,163,242,.06) 1px,transparent 1px);background-size:22px 22px}:root[data-ident=manuscript] .card{background:repeating-linear-gradient(180deg,var(--surface) 0 27px,rgba(140,109,79,.12) 27px 28px)}:root[data-ident=poster] h1,:root[data-ident=poster] .g-title h2{font-size:1.35em;letter-spacing:-.01em}:root[data-ident=poster] .card,:root[data-ident=bold] .card{border-width:2px;border-color:var(--ink)}:root[data-ident=neon] .card{border-color:#22d3ee59;box-shadow:0 0 22px -8px #22d3ee8c}:root[data-ident=vivid] .band{background:linear-gradient(120deg,#241a3d,#6d28d9 55%,#db2777 120%)}:root[data-ident=royal] .card{border:1px double var(--id-accent);outline:1px solid rgba(201,162,39,.35);outline-offset:-4px}:root[data-ident=kufic] .band{box-shadow:inset 0 -4px 0 var(--id-accent)}:root[data-ident=corporate] h2{letter-spacing:.02em;font-weight:600}:root[data-ident=calm] .card,:root[data-ident=minimal] .card{border-color:var(--grid)}.disp-ids{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--s2)}.disp-ids button{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:7px 9px;cursor:pointer;font-size:13px;transition:transform .2s var(--ease)}.disp-ids button:hover{transform:translateY(-2px)}.disp-ids button.on{border:2px solid var(--id-accent)}.disp-ids i{width:12px;height:12px;border-radius:50%;flex:none}.disp-sep{width:1px;background:var(--border);margin:0 4px}.disp-themes{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.th-pro i{background:linear-gradient(135deg,#eef3f9 50%,#2a6fb0 50%)}.th-ocean i{background:linear-gradient(135deg,#e9f4f9 50%,#0e7ea8 50%)}.th-midnight i{background:linear-gradient(135deg,#07090e 50%,#4db6d6 50%)}.disp-menu{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow:auto}.side nav button.nav-sub{padding-block:6px;padding-inline-start:46px;font-size:.9em;opacity:.85}.side nav button.nav-sub.on{opacity:1}.collapsed .side nav button.nav-sub{display:none}.g th{position:sticky}.col-rz{position:absolute;inset-inline-end:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:2}.col-rz:hover{background:var(--gold-hi);opacity:.6}.g td[style] input,.g td[style] select{min-width:0}.g td[style] .ro-v{overflow:hidden;text-overflow:ellipsis}.g .ro-v{display:block;padding:6px 7px;min-height:1.2em}.g td.n .ro-v{text-align:left}.g tr.auto td{background:#c9a22717;color:var(--ink2)}.g tr.auto td:first-child{box-shadow:inset -4px 0 0 var(--gold-hi)}.g tr.auto td:first-child:after{content:" ↻";color:#b8860b;font-weight:700}.g tr.auto:hover td{background:#c9a22729}.src-chip{color:#8a6d0b;background:#c9a22726;border-radius:999px;padding:2px 8px}
