:root{--c-bg: #f5f7fa;--c-surface: #ffffff;--c-surface-2: #f8fafc;--c-border: #e6eaf0;--c-border-strong: #d4dae3;--c-text: #1f2937;--c-text-muted: #64748b;--c-text-faint: #94a3b8;--c-primary: #1e3a8a;--c-primary-600: #1d4ed8;--c-primary-50: #eff4ff;--c-accent: #0e7490;--c-success: #047857;--c-success-bg: #ecfdf5;--c-warning: #b45309;--c-warning-bg: #fffbeb;--c-danger: #b91c1c;--c-danger-bg: #fef2f2;--c-info-bg: #eff6ff;--c-debit: #1d4ed8;--c-credit: #047857;--radius: 10px;--radius-sm: 7px;--shadow-sm: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.05);--shadow-md: 0 4px 12px rgba(16,24,40,.08);--shadow-lg: 0 12px 32px rgba(16,24,40,.12);--sidebar-w: 248px;--topbar-h: 60px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, "Tajawal", "Cairo", "Noto Kufi Arabic", "Noto Sans Arabic", sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;color:var(--c-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-primary-600)}.btn-secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--c-surface-2)}.btn-success{background:var(--c-success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.05)}.btn-danger{background:var(--c-danger);color:#fff}.btn-ghost{background:transparent;color:var(--c-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.btn-sm{padding:6px 11px;font-size:12.5px}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12.5px;font-weight:600;color:var(--c-text-muted)}.input,.select{font:inherit;font-size:14px;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);padding:9px 11px;width:100%;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{outline:none;border-color:var(--c-primary-600);box-shadow:0 0 0 3px var(--c-primary-50)}.input.text-end{text-align:end}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px 20px}.card-head{padding:16px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:15px;font-weight:600}.table-wrap{overflow:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl thead th{text-align:start;font-weight:600;color:var(--c-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:11px 14px;background:var(--c-surface-2);border-bottom:1px solid var(--c-border);position:sticky;top:0}.tbl tbody td{padding:11px 14px;border-bottom:1px solid var(--c-border)}.tbl tbody tr:hover{background:var(--c-surface-2)}.tbl tbody tr.clickable{cursor:pointer}.num{text-align:end;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.debit{color:var(--c-debit);font-variant-numeric:tabular-nums}.credit{color:var(--c-credit);font-variant-numeric:tabular-nums}.muted{color:var(--c-text-muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;line-height:1.6}.badge-gray{background:#f1f5f9;color:#475569}.badge-blue{background:var(--c-info-bg);color:var(--c-primary-600)}.badge-green{background:var(--c-success-bg);color:var(--c-success)}.badge-amber{background:var(--c-warning-bg);color:var(--c-warning)}.badge-red{background:var(--c-danger-bg);color:var(--c-danger)}.badge-violet{background:#f5f3ff;color:#6d28d9}.badge-teal{background:#ecfeff;color:var(--c-accent)}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:16px}.stack{display:flex;flex-direction:column}.gap-6{gap:6px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.page{padding:22px 26px;max-width:1320px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-title{font-size:19px;font-weight:600}.spinner{width:18px;height:18px;border:2.5px solid var(--c-border-strong);border-top-color:var(--c-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{min-height:100vh;display:grid;place-items:center}.empty{padding:40px;text-align:center;color:var(--c-text-faint)}.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:13.5px}.alert-danger{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid #fecaca}.alert-success{background:var(--c-success-bg);color:var(--c-success);border:1px solid #a7f3d0}.alert-info{background:var(--c-info-bg);color:var(--c-primary-600);border:1px solid #bfdbfe}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:20px;display:grid;place-items:center;background:#10182873}.modal-card{width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow:auto;background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);outline:none}.modal-card.modal-wide{max-width:980px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--c-border)}.modal-title{font-size:16px;font-weight:600}.modal-x{background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--c-text-muted);padding:2px 8px;border-radius:6px;transition:background .15s,color .15s}.modal-x:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.modal-x:disabled{opacity:.4;cursor:not-allowed}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--c-border);background:var(--c-surface-2)}.modal-desc{margin:0 0 14px;color:var(--c-text-muted);font-size:13.5px;line-height:1.55}.field-err{color:var(--c-danger);font-size:12px}.spinner-on-solid{border-color:#ffffff73;border-top-color:#fff;width:14px;height:14px}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .18s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-active .modal-card,.modal-fade-leave-active .modal-card{transition:transform .18s ease}.modal-fade-enter-from .modal-card,.modal-fade-leave-to .modal-card{transform:translateY(8px) scale(.98)}@media (prefers-reduced-motion: reduce){.modal-fade-enter-active,.modal-fade-leave-active,.modal-fade-enter-active .modal-card,.modal-fade-leave-active .modal-card{transition:none}}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-bar .field{min-width:150px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:14px 16px}.kpi-label{font-size:12px;color:var(--c-text-muted);font-weight:600}.kpi-value{font-size:22px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.kpi-value.pos{color:var(--c-success)}.kpi-value.neg{color:var(--c-danger)}.stmt-section-row td{background:var(--c-surface-2);font-weight:700}.stmt-total-row td{border-top:2px solid var(--c-border-strong);font-weight:700}.stmt-indent{padding-inline-start:26px!important}.neg-amount{color:var(--c-danger)}.acode{font-family:ui-monospace,SF Mono,Menlo,monospace;direction:ltr;unicode-bidi:isolate}.warn-panel{border:1px solid #fde68a;background:var(--c-warning-bg);border-radius:var(--radius);padding:12px 16px}.warn-panel .warn-item{font-size:13px;color:var(--c-warning);padding:2px 0}.report-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.report-card{display:block;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.report-card:hover{box-shadow:var(--shadow-md);border-color:var(--c-border-strong)}.report-card.disabled{opacity:.55;pointer-events:none}.report-card .rc-title{font-weight:600;font-size:14.5px}.report-card .rc-desc{font-size:12.5px;color:var(--c-text-muted);margin-top:4px}@media print{.sidebar,.topbar,.no-print{display:none!important}.main,.content{display:block!important;margin:0!important;padding:0!important}.page{max-width:none!important;padding:0!important}.card{box-shadow:none!important;border-color:#ccc!important;break-inside:avoid}.tbl{font-size:11px}.report-print-title{display:block!important;margin-bottom:10px}body{background:#fff!important}}.report-print-title{display:none}.print-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#e5e7eb;display:flex;flex-direction:column}.print-portal .pp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--c-surface);border-bottom:1px solid var(--c-border)}.print-portal .pp-scroll{flex:1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}.print-portal .pp-badge{font-size:12px;color:var(--c-text-muted)}@media print{body.print-mode>*:not(.print-portal){display:none!important}body.print-mode .print-portal{position:static!important;background:#fff!important;display:block!important}body.print-mode .print-portal .pp-bar,body.print-mode .print-portal .no-print{display:none!important}body.print-mode .print-portal .pp-scroll{overflow:visible!important;padding:0!important;display:block!important}}
