:root,[data-theme=light]{--color-primary: #61177c;--color-accent: #f2a900;--color-text: #1c1917;--color-bg: #faf7f2;--color-muted: #57534e;--color-surface: rgba(255, 255, 255, .64);--color-border: rgba(97, 23, 124, .16);--color-danger: #b42318;--color-ok: #047857;--shadow: 0 18px 40px rgba(28, 25, 23, .08);--radius: 16px;--ease: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--color-primary: #61177c;--color-accent: #f2a900;--color-text: #f5f5f4;--color-bg: #1c1917;--color-muted: #a8a29e;--color-surface: rgba(41, 37, 36, .62);--color-border: rgba(245, 245, 244, .12);--color-danger: #f97066;--color-ok: #34d399;--shadow: 0 18px 40px rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:IBM Plex Sans Arabic,Manrope,Tahoma,sans-serif}html[lang=ar],html[lang=ar] body{font-family:IBM Plex Sans Arabic,Tahoma,sans-serif;letter-spacing:0}body{min-height:100svh}::selection{background:color-mix(in srgb,var(--color-primary) 28%,transparent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img{max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,.kpi-num{font-family:IBM Plex Sans Arabic,Fraunces,serif;letter-spacing:-.03em}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] .kpi-num,html[lang=ar] nav a,html[lang=ar] .brand-name{letter-spacing:0}.glass{background:var(--color-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;padding:.55rem 1rem;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),opacity .18s var(--ease)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#f5f5f4}.btn-ghost{background:transparent;border:1px solid var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.8rem;color:var(--color-muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 70%,transparent);border-radius:12px;padding:.65rem .8rem}.field textarea{min-height:6rem;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.page{animation:enter .22s var(--ease)}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.data th,table.data td{text-align:start;padding:.75rem .6rem;border-bottom:1px solid var(--color-border);white-space:nowrap}table.data tbody tr{transition:background .18s var(--ease)}table.data tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;border:1px solid var(--color-border)}.muted{color:var(--color-muted)}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.toolbar input,.toolbar select{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 70%,transparent);border-radius:12px;padding:.55rem .8rem;min-width:10rem}.pager{display:flex;gap:.4rem;justify-content:flex-end;margin-top:.8rem}.color-row{display:flex;gap:.5rem;align-items:center}.color-row input[type=color]{width:2.4rem;height:2.2rem;padding:0;border:0;background:transparent;cursor:pointer}.modal-back{position:fixed;inset:0;background:#1c191773;display:grid;place-items:center;z-index:50;padding:1rem}.modal{width:min(28rem,100%);border-radius:var(--radius);padding:1.2rem}.empty,.error-box,.denied{text-align:center;padding:2.5rem 1rem}.sk{height:1.1rem;border-radius:8px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-text) 8%,transparent),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:-8rem 0}to{background-position:8rem 0}}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
