:root{--radius:10px;--radius-sm:7px;--pad:22px;--row-pad:13px;--font:"IBM Plex Sans Arabic", system-ui, sans-serif;--font-display:var(--font);--shadow:0 1px 2px #1018280d;--border-w:1px}[data-theme=ledger]{--bg:#e8ebee;--surface:#fff;--surface-2:#f7f9fb;--header:#16242b;--header-fg:#fff;--header-muted:#8b9aa4;--ink:#16242b;--muted:#5e6b74;--faint:#8b9aa4;--line:#d9dee3;--accent:#b8912f;--accent-fg:#16242b;--accent-soft:#fdf8ec;--accent-line:#e3d3a8;--good:#1d7a5f;--good-soft:#e6f4f1;--bad:#a32d2d;--bad-soft:#fcebeb;--warn:#8a6a12;--warn-soft:#fdf4e3;--font:"Tajawal", system-ui, sans-serif;--font-display:"Tajawal", system-ui, sans-serif;--radius:4px;--radius-sm:3px}[data-theme=deck]{--bg:#f2f4f7;--surface:#fff;--surface-2:#f9fafb;--header:#fff;--header-fg:#101828;--header-muted:#667085;--ink:#101828;--muted:#475467;--faint:#98a2b3;--line:#e4e7ec;--accent:#1e5ea8;--accent-fg:#fff;--accent-soft:#eaf1f9;--accent-line:#c7daee;--good:#0f7b6c;--good-soft:#e6f4f1;--bad:#b42318;--bad-soft:#fef3f2;--warn:#b54708;--warn-soft:#fdf2e6;--font:"IBM Plex Sans Arabic", system-ui, sans-serif;--font-display:"IBM Plex Sans Arabic", system-ui, sans-serif;--radius:10px;--radius-sm:7px}[data-theme=classic]{--bg:#efebe1;--surface:#fbf9f3;--surface-2:#f5f1e7;--header:#fbf9f3;--header-fg:#1c1a17;--header-muted:#6b6356;--ink:#1c1a17;--muted:#4a443a;--faint:#8a8172;--line:#d6cfc0;--accent:#7a2e2e;--accent-fg:#fbf9f3;--accent-soft:#f3e9e4;--accent-line:#d9c3bb;--good:#2e5a3a;--good-soft:#e9efe6;--bad:#8a2222;--bad-soft:#f6e7e5;--warn:#7a5a14;--warn-soft:#f4eddc;--font:"Noto Sans Arabic", system-ui, sans-serif;--font-display:"Amiri", Georgia, serif;--radius:2px;--radius-sm:2px;--shadow:none;--border-w:1px}[data-theme=night]{--bg:#0f1518;--surface:#172127;--surface-2:#1d2930;--header:#0b1114;--header-fg:#e9eef1;--header-muted:#7d8f99;--ink:#e9eef1;--muted:#a8b8c1;--faint:#7d8f99;--line:#2b3a43;--accent:#d2a94a;--accent-fg:#0f1518;--accent-soft:#241f12;--accent-line:#4a3d1d;--good:#46c49b;--good-soft:#10251f;--bad:#e2726b;--bad-soft:#2a1715;--warn:#d9a441;--warn-soft:#27200f;--font:"IBM Plex Sans Arabic", system-ui, sans-serif;--font-display:"IBM Plex Sans Arabic", system-ui, sans-serif;--radius:10px;--radius-sm:7px;--shadow:0 1px 2px #0006}[data-density=compact]{--pad:14px;--row-pad:8px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6;transition:background-color .18s,color .18s}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.3}h1{font-size:24px;font-weight:700}h2{font-size:19px;font-weight:700}h3{font-size:16px;font-weight:700}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border-radius:var(--radius-sm);border:var(--border-w) solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-sm{min-height:36px;padding:6px 14px;font-size:13px}.field{margin-bottom:14px;display:block}.field>span{color:var(--muted);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.input,.select{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:10px 13px;font-family:inherit;font-size:14.5px}.input:focus,.select:focus{border-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:right;color:var(--muted);background:var(--surface-2);border-bottom:var(--border-w) solid var(--line);white-space:nowrap;padding:11px 14px;font-size:12.5px;font-weight:700}tbody td{padding:var(--row-pad) 14px;border-bottom:var(--border-w) solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:none}.tag{border-radius:var(--radius-sm);white-space:nowrap;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:12.5px}.num{font-variant-numeric:tabular-nums;text-align:right;direction:ltr;unicode-bidi:isolate}.scroll-x{overflow-x:auto}.err{background:var(--bad-soft);color:var(--bad);border:var(--border-w) solid var(--bad);border-radius:var(--radius-sm);padding:11px 14px;font-size:13.5px;font-weight:600}.ok{background:var(--good-soft);color:var(--good);border:var(--border-w) solid var(--good);border-radius:var(--radius-sm);padding:11px 14px;font-size:13.5px;font-weight:600}.sheet{background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:30px 34px 26px}.sheet-head{border-bottom:3px solid var(--accent);flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:16px;display:flex}.sheet-mark{flex:none;width:auto;height:52px;display:block}.sheet-org{font-family:var(--font-display);font-size:22px;font-weight:700}.sheet-sub{color:var(--accent);margin-top:2px;font-size:12.5px;font-weight:600}.sheet-title{font-family:var(--font-display);margin:22px 0 4px;font-size:23px;font-weight:700}.sheet-period{color:var(--muted);margin:0 0 18px;font-size:14px}.kpis{background:var(--line);border:var(--border-w) solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:8px;display:grid}.kpi{background:var(--surface-2);text-align:center;padding:16px 18px}.kpi-v{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.kpi-l{color:var(--muted);margin-top:5px;font-size:11.5px}.sec{font-family:var(--font-display);border-bottom:var(--border-w) solid var(--line);margin:24px 0 8px;padding-bottom:5px;font-size:16px;font-weight:700}.sheet table{margin-bottom:2px}.sheet thead th{background:var(--surface-2)}.sheet .total-row td{background:var(--surface-2);border-top:2px solid var(--ink);font-weight:800}.bar{background:var(--surface-2);border-radius:2px;height:8px;overflow:hidden}.bar-fill{background:var(--accent);height:8px}.two-up{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:start;gap:26px;display:grid}.note{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.6}.notes{color:var(--muted);margin:0;padding-inline-start:20px;font-size:12.5px}.notes li{margin-bottom:5px;line-height:1.7}.sheet-foot{border-top:2px solid var(--accent);text-align:center;color:var(--muted);margin-top:26px;padding-top:12px;font-size:11.5px}.app-aside{align-self:flex-start;height:100dvh;position:sticky;top:0}@supports not (height:100dvh){.app-aside{height:100vh}}.tabbar{display:none}@media (width<=720px){.tabbar{z-index:35;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);inset-inline:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;box-shadow:0 -2px 14px #00000012}.tab{appearance:none;font:inherit;color:var(--faint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:7px 2px 6px;display:flex}.tab.on{color:var(--accent)}.tab.on .tab-icon:before{content:"";background:var(--accent);inset-inline:-9px;border-radius:0 0 3px 3px;height:3px;position:absolute;top:-8px}.tab-icon{line-height:0;display:block;position:relative}.tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.tab-dot{background:var(--bad,#a32d2d);color:#fff;text-align:center;top:-6px;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;inset-inline-start:-9px}main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.app-footer{display:none}.helper-fab{opacity:.93;bottom:calc(70px + env(safe-area-inset-bottom,0px))!important;width:46px!important;height:46px!important}main label{margin-bottom:2px}main form>div,main .field{margin-bottom:10px}main input,main select,main textarea{min-height:44px;padding:9px 12px}.app-topbar{padding-top:calc(10px + env(safe-area-inset-top,0px))!important}.app-aside{padding-top:env(safe-area-inset-top,0px)}input,select,textarea{font-size:16px!important}main table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.sheet{padding:18px 14px 16px!important}.kpi-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.kpi-grid>*{padding:12px!important}:root{--pad:14px}html,body,#root{height:auto;min-height:100%}html{overflow-x:hidden}body{max-width:100%;font-size:15px}h1{font-size:20px}h2{font-size:17px}.scroll-x{-webkit-overflow-scrolling:touch;border-radius:var(--radius);overflow-x:auto}.scroll-x table{width:auto;min-width:max-content}.scroll-x td,.scroll-x th{white-space:nowrap}.scroll-x th:first-child,.scroll-x td:first-child{z-index:1;background:var(--surface);position:sticky;right:0}.scroll-x thead th:first-child{background:var(--surface-2)}.scroll-x th:first-child:after,.scroll-x td:first-child:after{content:"";inset-block:0;background:var(--line);width:1px;position:absolute;left:0}.btn{min-height:42px}.btn-sm{min-height:38px;padding:8px 14px;font-size:13.5px}.input,.select{min-height:42px;font-size:16px}.app-aside{z-index:40;transition:transform .18s ease-out;inset-block:0;inset-inline-start:0;transform:translate(-100%);box-shadow:0 0 24px #0000004d;width:270px!important;height:100dvh!important;position:fixed!important}html[dir=rtl] .app-aside{transform:translate(100%)}.app-aside[data-open=yes]{transform:translate(0)!important}.aside-toggle,.aside-close{display:inline-flex!important}.app-topbar{padding:10px 14px!important}main{padding:14px!important}.theme-picker,.status-word{display:none}nav.main-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;flex-wrap:nowrap!important;padding:0 10px!important;display:flex!important;overflow-x:auto!important}nav.main-nav::-webkit-scrollbar{display:none}nav.main-nav>*{white-space:nowrap;flex:none;align-items:center;min-height:44px;display:inline-flex}.card{border-radius:var(--radius-sm)}.grid-2,.grid-3{grid-template-columns:1fr!important}}@media print{:root,:root[data-theme]{--bg:#fff;--surface:#fff;--surface-2:#f4f4f4;--ink:#000;--muted:#333;--faint:#555;--line:#999;--accent:#000;--accent-fg:#fff;--shadow:none}.voucher{--surface:#fff;--surface-2:#faf6ec;--ink:#1a1a1a;--muted:#4a5a66;--faint:#6e7b85;--line:#d8d2c4;--accent:#b8912f;--accent-fg:#1a1a1a;--header:#1e2c33;--header-fg:#fff;--header-muted:#aebac1;--bad:#a32d2d;break-inside:avoid;page-break-inside:avoid;font-size:12px;overflow:hidden;border:1px solid #d8d2c4!important;border-radius:8px!important}.voucher,.voucher *{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:14mm 12mm}body{background:#fff;font-size:11px}.no-print,header[style],footer,nav{display:none!important}.sheet{box-shadow:none;border:none;border-radius:0;padding:0}.sheet-head{border-bottom-color:#000}.sheet-foot{border-top-color:#000}.sec{break-after:avoid;page-break-after:avoid}table{break-inside:auto}thead{display:table-header-group}tr{break-inside:avoid;page-break-inside:avoid}.kpis{break-inside:avoid}.bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#000!important}.kpi,.sheet thead th,.total-row td{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:#000;text-decoration:none}img.brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{display:flex!important}span.print-only{display:inline!important}}.print-only{display:none}input[type=search]::-webkit-search-cancel-button{appearance:none}input[type=search]::-webkit-search-decoration{appearance:none}@media (prefers-reduced-motion:no-preference){.page-in{animation:.28s cubic-bezier(.2,.7,.2,1) both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stagger>*{animation:.32s cubic-bezier(.2,.7,.2,1) both page-in}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(n+6){animation-delay:.2s}.btn,.tab,.tick,.nav-item,button.card{transition:transform .12s,background-color .18s,color .18s,box-shadow .18s,filter .15s}.btn:active:not(:disabled),.tab:active,button.card:active{transform:scale(.97)}@media (hover:hover){.card.clickable:hover,.kpi.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}}.card.clickable,.kpi.clickable{transition:transform .18s,box-shadow .18s}.grow-y{transform-origin:bottom;animation:.6s cubic-bezier(.2,.7,.2,1) both grow-y}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.grow-x{transform-origin:100%;animation:.7s cubic-bezier(.2,.7,.2,1) both grow-x}[dir=ltr] .grow-x{transform-origin:0}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pulse{position:relative}.pulse:after{content:"";opacity:0;border:2px solid;border-radius:50%;animation:2s ease-out infinite pulse;position:absolute;inset:-3px}@keyframes pulse{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.err,.note{animation:.32s cubic-bezier(.2,.8,.2,1) both drop-in}.aside-veil{animation:.25s both veil-in}.drop-in{animation:.42s cubic-bezier(.2,.8,.2,1.08) both drop-in}@keyframes drop-in{0%{opacity:0;transform:translateY(-14px)scale(.98)}to{opacity:1;transform:none}}.shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.ticker-track:not(.still){animation:linear infinite tick}.ticker:hover .ticker-track,.ticker:focus-within .ticker-track,.ticker:active .ticker-track{animation-play-state:paused}@keyframes tick{0%{transform:translate(0)}to{transform:translate(50%)}}.lock-veil{animation:.35s both veil-in}@keyframes veil-in{0%{opacity:0}to{opacity:1}}.lock-card{animation:.42s cubic-bezier(.2,.8,.2,1.08) both drop-in}}.ticker{z-index:18;background:var(--header,var(--surface));color:var(--header-fg,var(--ink));border-top:1px solid var(--line);align-items:stretch;height:34px;font-size:13px;display:flex;position:sticky;bottom:0}.ticker-window{flex:auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.ticker-track{white-space:nowrap;will-change:transform;align-items:center;height:100%;display:inline-flex}.ticker-track.still{max-width:100%;display:flex;overflow-x:auto}.tick{appearance:none;font:inherit;color:inherit;border:none;background:0 0;border-inline-start:1px solid #7f7f7f38;align-items:center;gap:7px;height:100%;padding:0 22px;display:inline-flex}.tick:hover{filter:brightness(1.15)}.tick-dot{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.tick-info .tick-dot{background:var(--accent)}.tick-good .tick-dot{background:var(--good)}.tick-warn .tick-dot{background:var(--warn)}.tick-bad .tick-dot{background:var(--bad)}.tick-bad{font-weight:700}.tick-pin{opacity:.75;font-size:12px}.ticker-close{appearance:none;color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;border-inline-end:1px solid #7f7f7f38;flex:none;width:34px;font-size:18px}.ticker-close:hover{opacity:1}@media (width<=720px){.ticker{bottom:calc(56px + env(safe-area-inset-bottom,0px));height:32px;font-size:12.5px}main{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}.helper-fab{bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}}.lock-veil{z-index:1000;-webkit-backdrop-filter:blur(14px)saturate(.8);background:#0a1216b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lock-card{background:var(--surface);width:min(360px,100%);color:var(--ink);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:28px 24px 18px;display:flex;box-shadow:0 24px 60px #00000059}.lock-avatar{background:var(--accent);width:64px;height:64px;color:var(--accent-fg,#fff);box-shadow:0 0 0 6px var(--accent-soft,#b8912f26);border-radius:50%;place-items:center;font-size:28px;font-weight:800;display:grid}.app-locked{filter:blur(18px);pointer-events:none;-webkit-user-select:none;user-select:none}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot-active{background:var(--good);color:var(--good)}.dot-idle{background:var(--warn);color:var(--warn)}.dot-locked{background:var(--faint);color:var(--faint)}.people{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;display:grid}.person{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.person-av{background:var(--accent-soft,var(--surface-2));width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;font-size:17px;font-weight:800;display:grid;position:relative}.person-av .dot{bottom:0;box-shadow:0 0 0 2px var(--surface);position:absolute;inset-inline-end:0}.fold-head{appearance:none;width:100%;font:inherit;color:inherit;cursor:pointer;text-align:start;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.fold-head .chev{transition:transform .2s;display:inline-block}.fold-head[aria-expanded=true] .chev{transform:rotate(90deg)}.mover-up{color:var(--bad)}.mover-down{color:var(--good)}.proj-page{border-top:2px solid var(--accent-line,var(--line));margin-top:28px;padding-top:18px}.proj-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.proj-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:10px;display:grid}.hbar{grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:4px 10px;font-size:12.5px;display:grid}.hbar-track{background:var(--surface-2);border-radius:3px;grid-column:1/-1;height:5px;overflow:hidden}.hbar-fill{background:var(--accent);border-radius:3px;height:100%}@media print{.ticker,.lock-veil{display:none!important}.fold-body{display:block!important}.fold-head .chev{display:none}.proj-page{break-before:page;page-break-before:always;border-top:none;margin-top:0}.grow-y,.grow-x,.page-in,.stagger>*{opacity:1!important;animation:none!important;transform:none!important}.hbar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#000!important}}.proj-grid.movers{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.await-seen{visibility:hidden}@media print{.await-seen{visibility:visible!important}}@media (prefers-reduced-motion:reduce){.await-seen{visibility:visible}}@media (width<=720px){table.wide td{white-space:nowrap}}
