:root{--font:"IBM Plex Sans Arabic";--ink:#0B2545;--paper:#FFFFFF;--stone:#F7F8FA;--stone-2:#E8EDF3;--line:#D5DDE7;--muted:#5A6676;--brass:#8C6D12;--brass-soft:#F7F0DA;--accent:#C9A227;--ok:#2F6B45;--ok-soft:#E3F0E7;--warn:#8A5A12;--warn-soft:#FBF0DC;--bad:#A3352B;--bad-soft:#F7E7E4;--info:#1F4E79;--info-soft:#E5EDF6;--nav-on-bg:#E8EDF3;--r-sm:6px;--r-md:10px;--r-lg:14px;--top-h:52px;--side-w:236px;--side-w-mini:64px}*{box-sizing:border-box}html,body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--font),system-ui,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}a{color:var(--info)}.boot{padding:60px;text-align:center;color:var(--muted)}[hidden]{display:none!important}.top{background:var(--ink);color:#fff;display:flex;align-items:center;gap:12px;padding:0 16px;height:var(--top-h);position:sticky;top:0;z-index:30}.top .mark{font-size:15px;white-space:nowrap}.top .who{margin-inline-start:auto;font-size:12.5px;opacity:.9;text-align:left;white-space:nowrap;line-height:1.3}.top .who b{font-weight:500;display:block;font-size:13.5px}.top .tb{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:var(--r-sm);padding:5px 10px;cursor:pointer;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.top .tb svg{width:16px;height:16px}.top .tb:hover{border-color:#fff}.top .icon-only{padding:5px 7px}.top select.tb{appearance:none;padding-inline-end:10px}.top select.tb option{color:var(--ink)}.top .menu-btn{display:none}.mark.spaced{font-weight:300;letter-spacing:.28em;direction:ltr}.mark.word{font-weight:700;letter-spacing:.01em;direction:ltr}.mark .dot{color:var(--accent)}.mark img{height:28px;display:block}.layout{display:flex;align-items:flex-start;min-height:calc(100vh - var(--top-h))}.content{flex:1;min-width:0}nav.nav{background:var(--paper);z-index:25}nav.nav a{display:flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none;font-size:14px;white-space:nowrap}nav.nav a svg{width:18px;height:18px;flex:0 0 18px}nav.nav a.on{color:var(--ink);font-weight:500}nav.nav .grp{font-size:11.5px;color:var(--muted);letter-spacing:.02em;padding:14px 16px 4px;opacity:.85}nav.nav .navfoot{display:none}.nav-top .layout{display:block}.nav-top nav.nav{display:flex;gap:2px;overflow-x:auto;padding:0 10px;border-bottom:1px solid var(--line);position:sticky;top:var(--top-h);scrollbar-width:none}.nav-top nav.nav .grp{display:none}.nav-top nav.nav .sep{flex:0 0 1px;background:var(--line);margin:10px 4px}.nav-top nav.nav a{padding:12px 10px 10px;border-bottom:2px solid transparent}.nav-top nav.nav a svg{display:none}.nav-top nav.nav a.on{border-bottom-color:var(--accent)}.nav-side nav.nav{flex:0 0 var(--side-w);width:var(--side-w);position:sticky;top:var(--top-h);height:calc(100vh - var(--top-h));overflow-y:auto;border-inline-end:1px solid var(--line);padding-bottom:12px;display:flex;flex-direction:column}.nav-side nav.nav .sep{display:none}.nav-side nav.nav a{padding:8px 12px;margin:1px 8px;border-radius:var(--r-sm)}.nav-side nav.nav a:hover{background:var(--stone)}.nav-side nav.nav a.on{background:var(--nav-on-bg);box-shadow:inset -3px 0 0 var(--accent)}.nav-side nav.nav .navfoot{display:block;margin-top:auto;padding:10px 8px 0;border-top:1px solid var(--stone-2)}.nav-side.nav-mini nav.nav{flex-basis:var(--side-w-mini);width:var(--side-w-mini)}.nav-side.nav-mini nav.nav a{justify-content:center;padding:9px 0}.nav-side.nav-mini nav.nav a span,.nav-side.nav-mini nav.nav .grp{display:none}.nav-side.nav-mini nav.nav .grp+a{margin-top:10px}.collapse{width:100%;background:none;border:0;color:var(--muted);cursor:pointer;font-size:12.5px;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-sm)}.collapse:hover{background:var(--stone)}.collapse svg{width:16px;height:16px}.nav-mini .collapse{justify-content:center}.nav-mini .collapse span{display:none}.nav-drawer .top .menu-btn{display:inline-flex}.nav-drawer .layout{display:block}.nav-drawer nav.nav{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(290px,86vw);overflow-y:auto;transform:translate(105%);transition:transform .2s ease;box-shadow:0 0 30px #0000002e;z-index:50;padding:6px 0 16px;display:flex;flex-direction:column}.nav-drawer.drawer-open nav.nav{transform:none}.nav-drawer nav.nav .sep{display:none}.nav-drawer nav.nav a{padding:11px 18px}.nav-drawer nav.nav a.on{background:var(--nav-on-bg);box-shadow:inset -3px 0 0 var(--accent)}.nav-drawer nav.nav .navfoot{display:block;margin-top:auto;padding:12px 14px 0;border-top:1px solid var(--stone-2)}.nav-drawer nav.nav .navfoot .collapse{display:none}.drawer-head{display:none}.nav-drawer .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px}.drawer-head b{font-size:15px}.drawer-head button{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}.scrim{display:none}.nav-drawer.drawer-open .scrim{display:block;position:fixed;inset:0;background:#0a0f1959;z-index:45}.navfoot .row{gap:6px}.top .wide-only{display:inline-flex}.nav-drawer .top .wide-only{display:none}@media(max-width:1100px){.top .tb .lbl{display:none}.top .who{font-size:12px}}.drawer-only{display:none!important}.nav-drawer .drawer-only{display:flex!important}main{max-width:1240px;margin:0 auto;padding:18px 16px 40px}.nav-side main{max-width:1320px}footer.stamp{text-align:center;color:var(--muted);font-size:12px;padding:20px 0 30px}footer.stamp a{color:var(--muted)}h1{font-size:21px;font-weight:500;margin:4px 0 14px}h2{font-size:17px;font-weight:500;margin:20px 0 10px}h3{font-size:15px;font-weight:500;margin:14px 0 8px}.muted{color:var(--muted)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1}.stack>*+*{margin-top:12px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.panel+.panel{margin-top:14px}.panel.tight{padding:10px 12px}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:8px 14px;cursor:pointer;font-weight:500;font-size:14px;white-space:nowrap}.btn.ghost{background:var(--paper);color:var(--ink)}.btn.brass{background:var(--brass);border-color:var(--brass)}.btn.danger{background:var(--paper);color:var(--bad);border-color:var(--bad)}.btn.sm{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.link{background:none;border:0;color:var(--info);cursor:pointer;padding:0;font-size:13px}label.f{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}.in,select.in,textarea.in{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--paper)}.in:focus{border-color:var(--ink);outline:none}.in.sm{padding:4px 8px;width:auto;min-width:80px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}.check{display:flex;gap:8px;align-items:center;font-size:14px;margin:8px 0}.check input{accent-color:var(--ink)}.tbl-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:right;font-weight:500;color:var(--muted);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:9px 10px;border-bottom:1px solid var(--stone-2);vertical-align:middle}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--stone)}table.t tfoot td{font-weight:500;border-top:1px solid var(--ink);border-bottom:0}table.t td.l{text-align:left}.pill{display:inline-block;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:500;background:var(--stone-2);color:var(--ink);white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.brass{background:var(--brass-soft);color:var(--brass)}.badge{display:inline-block;min-width:20px;text-align:center;border-radius:999px;background:var(--bad);color:#fff;font-size:11px;padding:0 6px;line-height:18px}.note{border-radius:var(--r-md);padding:10px 14px;font-size:14px;background:var(--info-soft);color:var(--info)}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.bad{background:var(--bad-soft);color:var(--bad)}.note.ok{background:var(--ok-soft);color:var(--ok)}.empty{color:var(--muted);text-align:center;padding:22px 10px;font-size:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px}.kpi span{display:block;font-size:12.5px;color:var(--muted)}.kpi b{font-size:20px;font-weight:500}.chairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.chair{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:118px}.chair.vip{border-color:var(--brass)}.chair .nm{font-weight:500}.chair .emp{font-size:12.5px;color:var(--muted)}.chair .v{display:flex;justify-content:space-between;align-items:center;gap:6px;background:var(--stone);border-radius:var(--r-sm);padding:5px 8px;cursor:pointer;font-size:13px}.chair .v.FINISHED{background:var(--warn-soft)}.chair .v.IN_PROGRESS{background:var(--info-soft)}.chair .add{margin-top:auto}.voucher{border:1px solid var(--ink);border-radius:var(--r-md);padding:2px 12px 10px;max-height:52vh;overflow:auto;background:var(--paper)}.voucher .sec{display:flex;align-items:center;gap:8px;margin:14px 0 4px;font-weight:700}.voucher .sec:after{content:"";flex:1;height:2px;background:var(--ink)}.voucher label{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line);cursor:pointer;font-size:14px}.voucher input{accent-color:var(--ink);width:17px;height:17px}.slab{display:grid;grid-template-columns:28px 1fr 1fr 110px 34px;gap:8px;align-items:center;margin-bottom:8px}.slab .n{color:var(--brass);font-weight:700;text-align:center}@media(max-width:560px){.slab{grid-template-columns:22px 1fr 1fr 80px 30px}}.overlay{position:fixed;inset:0;background:#1a171473;display:flex;align-items:flex-start;justify-content:center;padding:6vh 12px;z-index:50;overflow:auto}.modal{background:var(--paper);border-radius:var(--r-lg);width:100%;max-width:560px;padding:18px 18px 14px;box-shadow:0 18px 50px #1a171440}.modal.wide{max-width:860px}.modal h2{margin-top:0}.modal .actions{display:flex;gap:8px;justify-content:flex-start;margin-top:16px;padding-top:12px;border-top:1px solid var(--stone-2)}.toast{position:fixed;bottom:18px;inset-inline-start:18px;background:var(--ink);color:#fff;border-radius:var(--r-md);padding:10px 16px;z-index:60;max-width:90vw;font-size:14px}.toast.bad{background:var(--bad)}.login{max-width:380px;margin:9vh auto 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px}.login .mark{text-align:center;font-size:20px}.login .mark img{margin:0 auto;height:44px}.login .mark small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.login .mark.spaced small{letter-spacing:.5em;font-size:10px}.login .mark.word{font-size:30px}.err{color:var(--bad);font-size:13px;margin-top:6px}.lines td .in.sm{max-width:110px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.card.alert{border-color:var(--bad)}.card b.n{font-size:26px;font-weight:500;display:block}.card .owner{font-size:12px;color:var(--muted)}details.j{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:8px}details.j summary{padding:9px 12px;cursor:pointer;display:flex;gap:12px;flex-wrap:wrap;align-items:center}details.j .tbl-wrap{padding:0 12px 10px}@media(max-width:640px){main{padding:12px 10px 30px}.top{padding:0 10px;gap:8px}}@media(max-width:420px){.top .mark{display:none}}a.card{display:block;color:inherit;text-decoration:none;transition:border-color .15s}a.card:hover{border-color:var(--ink)}.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.subtabs a{padding:5px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted);font-size:13px;background:var(--paper)}.subtabs a.on{background:var(--ink);border-color:var(--ink);color:#fff}table.t tr.sec td{background:var(--stone);font-weight:500;font-size:13px;color:var(--ink)}table.t tr.sub td{font-weight:500;border-top:1px solid var(--line)}table.t tr.tot td{font-weight:700;border-top:1px solid var(--ink)}table.t tr.grand td{font-weight:700;font-size:15px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}table.t tr.muted td{color:var(--muted);font-size:12.5px}table.t th.l{text-align:left}.zrep{max-width:420px;margin:0 auto}.zrep .zhead{text-align:center;margin-bottom:8px}.zrep .zhead b{font-size:16px}.print-area{display:none}@media print{body>*:not(.print-area){display:none!important}#app{display:none!important}.print-area{display:block;padding:0 6mm;font-size:12px}.print-head{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #000;padding-bottom:6px;margin-bottom:10px}.print-foot{text-align:center;font-size:10px;color:#555;margin-top:14px;border-top:1px solid #999;padding-top:6px}.print-area .tbl-wrap{overflow:visible}.print-area table.t td,.print-area table.t th{padding:4px 6px}.print-area .split,.print-area .wm{display:block}}.print-area{position:relative}.wm{display:none;position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:5}.wm span{position:absolute;white-space:nowrap;transform:rotate(-28deg);font-size:15px;color:#000;opacity:.09;font-weight:600}.print-mark{font-size:10px;text-align:center;margin-top:4px;color:#333}.exp{position:relative;display:inline-block}.exp>summary{list-style:none;cursor:pointer}.exp>summary::-webkit-details-marker{display:none}.exp[open]>.exp-list{display:flex}.exp-list{display:none;flex-direction:column;position:absolute;inset-inline-end:0;top:calc(100% + 4px);background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:30;min-width:190px;padding:4px}.exp-list button{background:none;border:0;text-align:start;padding:9px 12px;border-radius:8px;font:inherit;color:inherit;cursor:pointer}.exp-list button:hover{background:var(--stone,#f2f2f2)}.nav a .badge{margin-inline-start:auto;background:var(--danger,#b42318);color:#fff;border-radius:10px;font-size:11px;padding:0 6px;line-height:18px;min-width:18px;text-align:center}.nav-mini .nav a .badge{position:absolute;margin:0;top:2px;inset-inline-end:4px}.nav a{position:relative}table.tbd td.lv1{padding-inline-start:22px}table.tbd td.lv2{padding-inline-start:40px}table.tbd td.lv3{padding-inline-start:58px}table.tbd tr.grp td{font-weight:700;background:var(--stone,#f6f6f6)}table.tbd tr.lvl0 td{background:var(--line,#e9e9e9)}table.tbd tr.acc{cursor:pointer}table.tbd tr.acc:hover td{background:var(--stone,#f6f6f6)}.help ul{padding-inline-start:20px;margin:4px 0 8px}.help li{margin-bottom:4px}.help h3{margin:12px 0 4px}table.perm-matrix th.c,table.perm-matrix td.c{text-align:center;width:84px}table.perm-matrix td:first-child,table.perm-matrix th:first-child{min-width:220px}table.perm-matrix td.c input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}table.perm-matrix td.c input:disabled{cursor:default}table.perm-matrix tr.perm-diff td:first-child{box-shadow:inset -3px 0 0 var(--warn)}table.perm-matrix td.perm-cell-diff{background:var(--warn-soft)}table.perm-matrix thead th{position:sticky;top:0;background:var(--paper);z-index:1}.perm-labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px}.perm-labels label{display:flex;flex-direction:column;gap:4px}.perm-labels .in.sm{width:100%}
