:root{--bg: #f7f8f6;--surface: #ffffff;--border: #e8eae7;--primary: #163b47;--primary-soft: #2d5860;--accent: #b28b55;--text: #182a30;--muted: #5e7074;--good: #096b62;--warn: #74511b;--warn-bg: #fff3d6;--bad: #8c2f2f;--radius: 14px;--shadow: 0 8px 22px rgba(22, 59, 71, .05)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101a1e;--surface: #16242a;--border: #24383f;--text: #e7eff1;--muted: #93a8ad;--warn-bg: #2d2412;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Cairo,system-ui,-apple-system,Segoe UI,sans-serif}.app{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}aside{background:var(--primary);color:#fff;padding:27px 16px}.logo{font-size:23px;font-weight:800;margin-bottom:32px}.logo span{color:#e2bf89}.nav-item{padding:12px 15px;border-radius:9px;margin:6px 0;color:#dce8e8;cursor:pointer;border:0;background:none;width:100%;text-align:right;font:inherit}.nav-item[aria-current=true]{background:var(--primary-soft);color:#fff}main{padding:32px;max-width:1400px;min-width:0}h1{margin:4px 0 8px;font-size:26px}.sub{color:var(--muted);margin:0}.notice{background:var(--warn-bg);border:1px solid #ead393;border-radius:8px;padding:11px 15px;margin:18px 0;color:var(--warn);font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;margin:20px 0}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.label{font-size:13px;color:var(--muted)}.num{font-size:24px;font-weight:800;margin:12px 0 6px;font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:right}th{color:var(--muted);font-weight:500}td.num-cell{font-variant-numeric:tabular-nums;direction:ltr}.pill{border-radius:30px;padding:4px 10px;font-size:11px;background:#e3f2ee;color:var(--good)}.pill.bad{background:#f8e4e4;color:var(--bad)}.error{color:var(--bad);font-size:13px}@media(max-width:1000px){.app{grid-template-columns:minmax(0,1fr)}aside{display:none}main{padding:16px}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:6px}.login-card h1{font-size:20px;margin:12px 0 2px}.login-card label{margin-top:14px;font-size:13px;color:var(--muted)}.login-card input{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.login-card input:focus-visible{outline:2px solid var(--primary-soft);outline-offset:1px}button.primary{margin-top:20px;font:inherit;padding:11px 16px;border:0;border-radius:10px;background:var(--primary);color:#fff;cursor:pointer}button.primary:disabled{opacity:.6;cursor:progress}.login-hint{margin-top:14px;font-size:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar .who{display:flex;align-items:center;gap:10px}button.link{font:inherit;font-size:13px;background:none;border:0;padding:0;color:var(--primary-soft);cursor:pointer;text-decoration:underline}button.ghost{margin-top:10px;font:inherit;padding:10px 16px;border:1px solid var(--border);border-radius:10px;background:none;color:var(--text);cursor:pointer}button.ghost:disabled{opacity:.6;cursor:progress}.mfa-qr{display:block;margin:18px auto 10px;width:220px;height:220px;border-radius:10px;background:#fff;padding:8px}.mfa-secret{margin:0 0 14px;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:1px;word-break:break-all}.recovery-codes{margin:18px 0 0;padding:14px;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;border:1px solid var(--border);border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;text-align:center;-webkit-user-select:all;user-select:all}.nav-item:disabled{cursor:default;opacity:.55}.nav-item .soon{font-size:11px;color:#e2bf89;margin-inline-start:4px}.form-row{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.form-row label{display:grid;gap:4px;font-size:13px;color:var(--muted);min-width:150px}.form-row label.grow{flex:1 1 260px}.panel input,.panel select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);width:100%;min-width:0}.panel input:focus-visible,.panel select:focus-visible{outline:2px solid var(--primary-soft);outline-offset:1px}input.amount{font-variant-numeric:tabular-nums;text-align:left;direction:ltr;min-width:110px}input.invalid{border-color:var(--bad)}.sub-input{margin-top:6px}.journal-lines td{vertical-align:top}.journal-lines td:nth-child(2){min-width:260px}.journal-lines tr.has-issue td{background:#8c2f2f0d}.line-issue{margin:4px 0 0}td.total{font-weight:700}tr.opening td,tr.closing td{font-weight:700;background:#163b470a}tr.clickable{cursor:pointer}tr.clickable:hover td,tr.clickable:focus-visible td{background:#163b470f}td.nowrap{white-space:nowrap}td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:760px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}.form-actions button.primary,.form-actions button.ghost{margin-top:0}.success{background:#e3f2ee;color:var(--good);border-radius:8px;padding:10px 14px;margin:12px 0;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}button.link:disabled{opacity:.4;cursor:default}@media(max-width:1000px){aside{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;align-items:center}aside .logo{margin:0 8px 0 12px;font-size:18px;white-space:nowrap}aside .nav-item{width:auto;white-space:nowrap;margin:0;padding:8px 12px}aside .nav-item:disabled{display:none}}label.toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:6px 0 0}.panel label.toggle input{width:auto}.reopen-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reopen-form input{min-width:220px;flex:1}.reopen-form button.ghost,td>button.ghost{margin-top:0}tr.section-head td{font-weight:700;padding-top:18px;border-bottom:2px solid var(--border)}tr.subtotal td{font-weight:600;color:var(--muted)}.tabs{display:flex;gap:6px;margin:10px 0 4px}.tab{font:inherit;font-size:14px;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--text);cursor:pointer}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-head button.ghost{margin-top:0}.form-row label.check{display:flex;align-items:center;gap:6px;align-self:flex-end;padding-bottom:8px}.form-row label.check input{width:auto}table.statement thead th{text-align:start;white-space:nowrap}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.panel-actions button.ghost{margin-top:0}@media print{@page{size:A4;margin:12mm}body{background:#fff;color:#000;font-size:11px}.app{display:block}aside,.no-print,.who,.form-row label.check,.tabs .tab:not(.active){display:none!important}main{padding:0;max-width:none}.panel{border:0;box-shadow:none;padding:0;background:#fff}.tabs .tab.active{border:0;background:none;color:#000;font-weight:700;padding:0}.table-scroll{overflow:visible}.table-scroll table{min-width:0;width:100%}thead{display:table-header-group}tr{break-inside:avoid}input{border:0;background:none;padding:0;color:#000}}fieldset.option-group{border:0;padding:0;margin:14px 0 6px}fieldset.option-group legend{font-weight:700;margin-bottom:6px}label.option{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px dashed var(--border)}label.option input{width:auto;margin-top:5px}label.option>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}label.option .label{flex-basis:100%}tr.accepted td{background:#e3f2ee}.file-field{display:block;margin:12px 0}.card-link{display:flex;flex-direction:column;align-items:flex-start;text-align:right;font:inherit;color:inherit;cursor:pointer}.card-link:hover,.card-link:focus-visible{border-color:var(--primary-soft)}.card-link .num small{font-size:12px;font-weight:500;color:var(--muted)}.inline-field{display:flex;align-items:center;gap:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:15px;margin-bottom:20px}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}.chart{margin:0}.chart svg{width:100%;max-height:240px}.chart-axis{stroke:var(--border)}.chart-label{font-size:11px;fill:var(--muted)}.bar-revenue{fill:var(--good);background:var(--good)}.bar-expense{fill:var(--accent);background:var(--accent)}.chart-legend{display:flex;gap:18px;font-size:12px;color:var(--muted);margin-top:8px}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}.close-checks{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.close-checks ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.close-checks li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:13px}.pill.warn{background:var(--warn-bg);color:var(--warn)}.branding-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:20px;align-items:start}@media(max-width:1100px){.branding-grid{grid-template-columns:minmax(0,1fr)}}.branding textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);resize:vertical}.logo-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.logo-box{width:140px;height:90px;border:1px dashed var(--border);border-radius:10px;display:grid;place-items:center;background:#fff;color:#7a8a8e;font-size:13px;overflow:hidden}.logo-box img{max-width:100%;max-height:100%;object-fit:contain}.palettes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}button.palette{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer}button.palette.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.palette-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.color-field span{display:flex;align-items:center;gap:8px}.form-row .color-field input[type=color]{width:44px;height:34px;padding:2px}.contrast-chip{align-self:flex-end;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:700}.branding-preview{position:sticky;top:16px;border:1px solid var(--border);border-radius:10px;background:#e9ecef;padding:10px;overflow:hidden}.preview-scale{zoom:.5}.print-overlay{position:fixed;inset:0;z-index:1000;background:#1e262ab8;overflow:auto;padding:0 16px 32px}.print-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;max-width:210mm;margin:0 auto 16px;padding:12px 16px;background:var(--surface);color:var(--text);border-radius:0 0 12px 12px;box-shadow:var(--shadow)}.print-toolbar strong{flex:1}.print-toolbar button{margin-top:0}.doc-sheet{--doc-ink: #1d2427;--doc-muted: #5d6b70;--doc-line: #dfe3e6;--doc-tint: color-mix(in srgb, var(--doc-primary) 7%, #fff);width:210mm;min-height:297mm;margin:0 auto;padding:14mm 14mm 12mm;background:#fff;color:var(--doc-ink);font-size:12.5px;line-height:1.55;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 30px #00000040;print-color-adjust:exact;-webkit-print-color-adjust:exact}.doc-sheet h1,.doc-sheet h2,.doc-sheet p{margin:0}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.doc-company{display:flex;gap:14px;align-items:flex-start;color:var(--doc-muted);font-size:12px}.doc-company h1{font-size:19px;color:var(--doc-ink);margin-bottom:2px}.doc-contact{display:flex;flex-wrap:wrap;gap:2px 14px}.doc-logo{max-width:34mm;max-height:24mm;object-fit:contain}.doc-title{text-align:left;min-width:52mm}.doc-title h2{font-size:24px;font-weight:800;color:var(--doc-primary)}.doc-number{font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:700;direction:ltr}.doc-stamp{display:inline-block;margin-top:6px;padding:2px 14px;border:2px solid #b42318;color:#b42318;border-radius:6px;font-weight:800;transform:rotate(-6deg)}.doc-ids{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--doc-muted);padding-bottom:10px;border-bottom:3px solid var(--doc-primary)}.doc-meta{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.doc-party{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-inline-start:4px solid var(--doc-secondary);background:var(--doc-tint);border-radius:4px}.doc-party strong{font-size:15px}.doc-label{font-size:11px;font-weight:700;color:var(--doc-primary)}.doc-fields{margin:0;display:grid;gap:4px;align-content:start}.doc-fields div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dotted var(--doc-line)}.doc-fields dt{color:var(--doc-muted)}.doc-fields dd{margin:0;font-weight:700}table.doc-lines{width:100%;border-collapse:collapse;font-size:12.5px}table.doc-lines th{background:var(--doc-primary);color:var(--doc-on-primary);font-weight:700;padding:8px;text-align:center;white-space:nowrap}table.doc-lines td{padding:7px 8px;border-bottom:1px solid var(--doc-line);text-align:center;vertical-align:top}table.doc-lines .doc-desc{text-align:right;width:46%}table.doc-lines tbody tr:nth-child(2n) td{background:#fafbfb}.doc-num{font-variant-numeric:tabular-nums;white-space:nowrap}.doc-summary{display:grid;grid-template-columns:1fr minmax(70mm,auto);gap:16px;align-items:start;break-inside:avoid}.doc-words{display:flex;flex-direction:column;gap:8px;font-size:12px}.doc-words p:first-child{font-weight:700}.doc-note{color:var(--doc-muted);white-space:pre-line}table.doc-totals{width:100%;border-collapse:collapse}table.doc-totals th,table.doc-totals td{padding:6px 10px;border-bottom:1px solid var(--doc-line)}table.doc-totals th{text-align:right;font-weight:400;color:var(--doc-muted)}table.doc-totals td{text-align:left;font-weight:700}table.doc-totals tr.grand th,table.doc-totals tr.grand td{background:var(--doc-primary);color:var(--doc-on-primary);font-size:14px;font-weight:800;border-bottom:0}.doc-footer{margin-top:auto;display:flex;gap:16px;align-items:flex-end;padding-top:12px;border-top:2px solid var(--doc-secondary);font-size:11.5px;color:var(--doc-muted);break-inside:avoid}.doc-footer-text{flex:1;display:flex;flex-direction:column;gap:18px}.doc-footer-text p{white-space:pre-line}.doc-signatures{display:flex;justify-content:space-between;gap:40px}.doc-signatures span{flex:1;max-width:60mm;padding-top:26px;border-bottom:1px solid var(--doc-ink);text-align:center;color:var(--doc-ink)}.doc-qr{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:8px}.doc-qr img{width:26mm;height:26mm}.tpl-modern{padding-top:0}.tpl-modern .doc-header{margin:0 -14mm;padding:10mm 14mm 8mm;background:var(--doc-primary);color:var(--doc-on-primary);border-bottom:5px solid var(--doc-secondary)}.tpl-modern .doc-company,.tpl-modern .doc-company h1,.tpl-modern .doc-title h2{color:var(--doc-on-primary)}.tpl-modern .doc-logo{background:#fff;padding:2mm;border-radius:8px}.tpl-modern .doc-ids{border-bottom:0;padding-bottom:0}.tpl-modern .doc-party{border:1px solid var(--doc-line);border-top:4px solid var(--doc-secondary);border-radius:10px}.tpl-modern table.doc-lines,.tpl-modern table.doc-totals{border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;border:1px solid var(--doc-line)}.tpl-modern .doc-footer{border-top:0;padding:10px 12px;background:var(--doc-tint);border-radius:10px}@media print{body.printing-document #root{display:none!important}body.printing-document .print-overlay{position:static;background:none;padding:0;overflow:visible}body.printing-document .doc-sheet{width:auto;min-height:273mm;margin:0;padding:0;box-shadow:none;font-size:11.5px}body.printing-document .tpl-modern .doc-header{margin:0;padding:6mm;border-radius:6px}}.wizard-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 0;padding:0}.wizard-steps button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:30px;padding:6px 14px;font:inherit;font-size:13px;cursor:pointer}.wizard-steps li.done button{color:var(--good)}.wizard-steps li.active button{background:var(--primary);border-color:var(--primary);color:#fff}.eta-guide li,.eta-summary li{margin-bottom:6px}.num.eta-ok,.pill.eta-ok{color:var(--good)}.num.eta-warn,.pill.eta-warn{color:var(--warn)}.pill.eta-warn{background:var(--warn-bg)}.num.eta-off,.pill.eta-off{color:var(--muted)}.pill.eta-off{background:var(--border)}.eta-issues{margin:4px 0 0;padding-inline-start:18px;font-size:13px}.eta-issues .eta-blocker{color:var(--bad)}.eta-issues .eta-warning{color:var(--warn)}.eta-preview pre{max-height:420px;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:12px;text-align:left}
