:root{--navy:#12213a;--navy-2:#1b2f4f;--gold:#b08d57;--gold-soft:#f1e8d8;--forest:#366259;--forest-soft:#e3ece9;--slate:#5b6472;--paper:#f7f5f0;--bg:var(--paper);--panel:#ffffff;--ink:var(--navy);--muted:var(--slate);--line:#e4dfd4;--brand:var(--navy);--brand-ink:#ffffff;--danger:#9e3b32;--danger-soft:#f6e6e3;--ok:var(--forest);--radius:10px;--serif-ar:"Noto Naskh Arabic","Source Serif 4",Georgia,serif;--serif-lat:"Source Serif 4",Georgia,serif;--sans:"IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0c1728;--panel:#12213a;--ink:#f2efe8;--muted:#a4acb8;--line:#24365a;--brand:var(--gold);--brand-ink:#12213a;--gold-soft:#2a2a24;--forest-soft:#183330;--danger:#e08378;--danger-soft:#3a1f1d;--ok:#7fb3a6}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--serif-ar);color:var(--ink);font-weight:700}h1{font-size:26px;margin:0 0 18px}h1:after{content:"";display:block;width:48px;height:2px;background:var(--gold);margin-top:8px}h2{font-size:19px;margin:28px 0 12px}h3{font-size:16px;margin:16px 0 8px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr;text-align:left;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:13px}.lockup{display:flex;align-items:center;gap:12px}.lockup img{display:block;height:auto}.lockup .word{font-family:var(--serif-lat);font-weight:700;letter-spacing:.04em;line-height:1}.lockup .tag{font-family:var(--sans);font-size:9.5px;letter-spacing:.22em;margin-top:6px;white-space:nowrap}.lockup.on-navy .word{color:#fff}.lockup.on-navy .tag{color:#c9cfd8}.lockup.on-paper .word{color:var(--navy)}.lockup.on-paper .tag{color:var(--slate)}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side{background:linear-gradient(180deg,var(--navy) 0,#0e1a2f 100%);color:#e9ecf1;padding:22px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.side .company{margin:18px 4px 8px;padding:12px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(176,141,87,.35);font-size:12.5px}.side .company b{display:block;color:#fff;font-family:var(--serif-ar);font-size:15px}.side .company span{color:#b9c1cc}.side .group{font-size:11.5px;letter-spacing:.04em;color:var(--gold);padding:16px 10px 6px;font-weight:600}.side a{display:block;padding:7px 12px;border-radius:7px;color:#d9dee6;border-right:2px solid transparent}.side a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}.side a.active{background:rgba(176,141,87,.15);color:#fff;border-right-color:var(--gold)}.side form{margin:20px 4px 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.side .who{color:#9aa4b2;font-size:12px;margin-bottom:8px;word-break:break-all}.side .btn.ghost{color:#e9ecf1;border-color:rgba(255,255,255,.2)}.main{padding:32px 36px 64px;min-width:0;max-width:1280px}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:static;height:auto}.side nav{display:flex;flex-wrap:wrap;gap:2px}.side .group{width:100%;padding-top:8px}.main{padding:20px 16px 48px}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi{border-top:3px solid var(--gold)}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:22px;font-weight:600;color:var(--ink);margin-top:4px}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:16px}.card .table-wrap{border:0}table{width:100%;border-collapse:collapse;background:var(--panel)}td,th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}th{font-size:12.5px;color:var(--muted);font-weight:600;background:var(--paper);border-bottom:1px solid var(--gold)}tbody tr:hover td{background:rgba(176,141,87,.05)}tr.total td{font-weight:700;border-top:2px solid var(--navy);background:rgba(176,141,87,.07)}tr.void td{color:var(--muted)}tr.void td.num{text-decoration:line-through}.badge{display:inline-block;padding:1px 10px;border-radius:999px;font-size:12px;background:var(--gold-soft);color:#7d6236}.badge.paid{background:var(--forest-soft);color:var(--forest)}.badge.overdue,.badge.void{background:var(--danger-soft);color:var(--danger)}.row,.spread{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.form{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr)}.card,.form>*,.main>*{min-width:0}.fields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}label{display:grid;grid-gap:5px;gap:5px;font-size:13px;color:var(--muted);font-weight:500}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid #d8d2c5;border-radius:8px;padding:8px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold)}input[type=checkbox]{width:auto;accent-color:var(--forest)}label.check{display:flex;gap:6px;color:var(--ink)}.btn,label.check{align-items:center}.btn{font:inherit;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand);border-radius:8px;padding:9px 18px;cursor:pointer;font-weight:600;display:inline-flex;gap:8px}.btn:hover{background:var(--navy-2);text-decoration:none}.btn:disabled{opacity:.6;cursor:wait}.btn.ghost{background:transparent;color:var(--ink);border-color:#d8d2c5}.btn.ghost:hover{border-color:var(--gold);background:transparent}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.small{padding:4px 12px;font-size:13px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.msg.error{color:var(--danger)}.msg.ok{color:var(--ok)}.notice{background:var(--gold-soft);border-right:3px solid var(--gold);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:14px}.notice.warn{background:var(--danger-soft);border-right-color:var(--danger);color:var(--danger)}details>summary{cursor:pointer;color:var(--forest);font-weight:600;margin:4px 0}.lines td input,.lines td select{min-width:80px}.lines td.desc input{min-width:180px}@media (prefers-color-scheme:dark){a,details>summary{color:var(--gold)}.lockup.on-paper .word{color:var(--ink)}.lockup.on-paper .tag{color:var(--muted)}th{background:#0f1d33}input,select,textarea{border-color:var(--line);background:#0f1d33}.btn:hover{background:#c4a06a}.btn.ghost{border-color:var(--line)}.badge{color:var(--gold)}.badge.paid{color:var(--ok)}tr.total td{border-top-color:var(--gold)}}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth .hero{position:relative;overflow:hidden;color:#fff;padding:48px;background:radial-gradient(120% 90% at 20% 110%,rgba(176,141,87,.45) 0,rgba(18,33,58,0) 55%),linear-gradient(160deg,#12213a,#0b1526);display:flex;flex-direction:column;justify-content:space-between;gap:32px}.auth .hero:before{content:"";position:absolute;left:-15%;bottom:-30%;width:70%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(176,141,87,.35)}.auth .hero .motto{font-family:var(--serif-lat);font-style:italic;color:var(--gold);font-size:30px;line-height:1.35;border-left:2px solid var(--gold);padding-left:18px}.auth .hero .services{display:grid;grid-gap:10px;gap:10px;font-size:14px;color:#d4d9e1}.auth .hero .services div:before{content:"◆";color:var(--gold);margin-left:8px;font-size:10px}.auth .pane{display:grid;place-items:center;padding:32px 20px;background:var(--bg)}.auth .box{width:100%;max-width:420px}.auth .box h1{margin-top:28px}.tabs{display:flex;margin-bottom:18px;border-bottom:1px solid var(--line)}.tabs button{flex:1 1;font:inherit;padding:10px 6px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600}.tabs button.active{color:var(--ink);border-bottom-color:var(--gold)}.foot{margin-top:28px;font-size:12px;color:var(--muted)}.foot i{font-family:var(--serif-lat)}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth .hero{padding:28px 20px;gap:20px}.auth .hero .motto{font-size:22px}.auth .hero .services{display:none}}