:root{--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .05);--shadow-2: 0 6px 18px rgba(16, 24, 40, .08);--shadow-3: 0 12px 38px rgba(16, 24, 40, .12);--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f4f6fa;--text: #0f172a;--muted: #667085;--border: #e6eaf0;--accent: #0ea5e9;--accent-500: #0ea5e9;--accent-600: #0284c7;--accent-700: #0369a1;--accent-800: #075985;--accent-ghost: rgba(14, 165, 233, .12);--accent-ghost-brd: rgba(14, 165, 233, .22);--accent-contrast: #ffffff;--ok-bg: #dcfce7;--ok-border: #bbf7d0;--ok-text: #166534;--busy-bg: #fee2e2;--busy-border: #fecaca;--busy-text: #b91c1c;--warn-bg: #fff7ed;--warn-border: #fed7aa;--warn-text: #9a3412;--danger: #ef4444;--warn: #f97316;--focus: 0 0 0 3px rgba(14, 165, 233, .35);--ring: 0 6px 20px rgba(14, 165, 233, .18);--gradient-brand: linear-gradient(135deg, var(--accent-600), var(--accent-800));--gradient-soft: linear-gradient(180deg, rgba(14,165,233,.07), rgba(14,165,233,0))}html[data-theme=dark]{--bg: #0b1220;--surface: #0f172a;--surface-2: #101a2e;--text: #e6edf6;--muted: #9aa7bd;--border: #1e293b;--accent: #38bdf8;--accent-500: #38bdf8;--accent-600: #0ea5e9;--accent-700: #0284c7;--accent-800: #0b77ad;--accent-ghost: rgba(56, 189, 248, .14);--accent-ghost-brd: rgba(56, 189, 248, .25);--accent-contrast: #0b1220;--ok-bg: #08331e;--ok-border: #115e3a;--ok-text: #86efac;--busy-bg: #3a0e0e;--busy-border: #7f1d1d;--busy-text: #fecaca;--warn-bg: #3b2412;--warn-border: #9a6329;--warn-text: #fed7aa;--danger: #f87171;--warn: #fb923c;--focus: 0 0 0 3px rgba(56, 189, 248, .42);--ring: 0 6px 26px rgba(56, 189, 248, .2);--gradient-brand: linear-gradient(135deg, var(--accent-600), var(--accent-700));--gradient-soft: linear-gradient(180deg, rgba(56,189,248,.1), rgba(56,189,248,0))}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 900px at 90% -10%,rgba(14,165,233,.08),transparent 60%),radial-gradient(1000px 800px at 10% 110%,rgba(14,165,233,.06),transparent 60%),var(--bg);color:var(--text);font-family:Tajawal,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;font-size:16px;background-attachment:fixed}#app{padding:12px 12px calc(74px + env(safe-area-inset-bottom));max-width:1160px;margin-inline:auto}h1,h2,h3,h4{margin:0 0 8px;line-height:1.25}h2{font-size:1.18rem;font-weight:800}h3{font-size:1.08rem;font-weight:700}h4{font-size:1rem;font-weight:700}@media (min-width: 768px){h2{font-size:1.28rem}h3{font-size:1.12rem}}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:10px}.grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){#app{padding:16px 16px 28px}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.card{background:linear-gradient(0deg,var(--surface) 0%,var(--surface) 100%),var(--gradient-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(500px 220px at 30% -10%,rgba(14,165,233,.06),transparent 40%);pointer-events:none;opacity:.75}.card>h2:first-child,.card>h3:first-child,.card>h4:first-child{padding-top:2px}.card.glass{background:#ffffffb3;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px)}html[data-theme=dark] .card.glass{background:#0d122099;border-color:#ffffff0f}.card .card{background:var(--surface-2);border-color:var(--border);box-shadow:none}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#f9fafb;color:var(--text);border-radius:var(--radius-md);padding:10px 14px;font-weight:700;cursor:pointer;line-height:1;min-height:44px;transition:transform .02s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,filter .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.btn:hover{background:#f3f4f6}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn i{font-size:18px;margin-left:6px}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--accent-500);border-color:var(--accent-600);color:var(--accent-contrast);box-shadow:0 2px 8px #0ea5e933}.btn.primary:hover{background:var(--accent-600);box-shadow:var(--ring)}.btn.ghost{background:transparent;border-color:var(--border)}.btn.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.btn.warn:hover{filter:brightness(.98)}.btn.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.btn.danger:hover{filter:brightness(.98)}.btn.loading{color:transparent!important;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-inline-start-color:currentColor;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 120px at var(--x, 50%) var(--y, 50%),rgba(14,165,233,.12),transparent 40%);opacity:0;transition:opacity .35s ease}.btn:active:before{opacity:1}.btn:hover:before{opacity:.6}.btn.tab{flex:1 1 auto;justify-content:center;text-align:center;background:transparent;border:none;border-radius:999px;padding:10px 12px;min-width:64px;color:var(--muted);position:relative}.btn.tab i{margin-left:6px}.btn.tab.active{background:var(--accent-ghost);color:var(--accent-700);border:1px solid var(--accent-ghost-brd)}.iconbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);width:42px;height:42px;border-radius:999px;display:inline-grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .03s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.iconbtn:focus-visible{outline:none;box-shadow:var(--focus)}.iconbtn:hover{box-shadow:var(--ring);transform:translateY(-1px)}input,select,textarea{width:min(100%,360px);padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;transition:border-color .2s ease,box-shadow .2s ease,background .2s}textarea{width:100%;min-height:76px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus)}input[readonly],input:read-only{background:var(--surface-2)}input[type=checkbox],input[type=radio]{accent-color:var(--accent-600)}.form-row{display:grid;grid-template-columns:1fr;gap:8px}@media (min-width: 600px){.form-row{grid-template-columns:1fr 1fr}}.tag{background:#eef2ff;color:#334155;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid #e5e7eb}.tag.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.tag.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}html[data-theme=dark] .tag{background:#0b1220;color:#cbd5e1;border-color:#1f2937}.chip{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.chip.ok{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-border)}.chip.busy{background:var(--busy-bg);color:var(--busy-text);border:1px solid var(--busy-border)}.status-ok{color:var(--ok-text);font-weight:800}.status-busy{color:var(--busy-text);font-weight:800}.muted{color:var(--muted)}.hr{height:1px;background:var(--border);margin:10px 0}.banner{padding:12px;border-radius:var(--radius-md);background:var(--busy-bg);color:var(--busy-text);border:1px solid var(--busy-border);font-weight:800}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;padding:2px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;background:var(--surface-2)}img,canvas{max-width:100%;height:auto}.card img{border-radius:8px;border:1px solid var(--border);background:#fff}.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin-bottom:10px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);background-image:radial-gradient(1200px 300px at 0% -40%,rgba(14,165,233,.08),transparent 40%)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.2px}.brand .logo{width:26px;height:26px;border-radius:7px;background:var(--gradient-brand);box-shadow:0 4px 18px #0ea5e947}.appnav.card{padding:8px}.appnav{position:sticky;bottom:0;z-index:40;border-radius:16px;padding-bottom:calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);background:linear-gradient(180deg,#ffffffdb,#ffffffc7);border:1px solid var(--border);box-shadow:var(--shadow-2)}html[data-theme=dark] .appnav{background:linear-gradient(180deg,#0f172ad1,#0f172ab8);border-color:#ffffff0f}.appnav .tabs{display:flex;width:100%;justify-content:space-between}@media (min-width: 900px){.appnav{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media (min-width: 520px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;display:grid;gap:4px;box-shadow:var(--shadow-1)}.metric .label{color:var(--muted);font-size:12px}.metric .value{font-weight:900;font-size:1.06rem;letter-spacing:.2px}a{color:var(--accent-700);text-decoration:none;font-weight:700}a:hover{text-decoration:underline}.badge{position:absolute;top:-4px;inset-inline-start:6px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2)}html[data-theme=dark] .btn{background:#132036;border-color:#233046;color:var(--text)}html[data-theme=dark] .btn:hover{background:#192a45;border-color:#2a3a56}html[data-theme=dark] .btn:active{background:#12233b}html[data-theme=dark] .btn.primary{background:var(--accent);border-color:var(--accent-600);color:#fff}html[data-theme=dark] .btn.primary:hover{background:var(--accent-600)}html[data-theme=dark] .btn.ghost{background:transparent;border-color:#233046;color:var(--text)}html[data-theme=dark] .btn.ghost:hover{background:#ffffff0f}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1)}.table{width:100%;min-width:820px;border-collapse:collapse;direction:rtl;font-feature-settings:"tnum" 1,"lnum" 1}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:start;vertical-align:middle}.table thead th{position:sticky;top:0;background:var(--surface-2);font-weight:900;z-index:1}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#00000005}html[data-theme=dark] .table tbody tr:hover{background:#ffffff08}.table td.actions .btn{margin-inline-start:4px}.table td .view.hide,.table td .edit.hide{display:none!important}.table td .edit input{width:100%}.team-root .created{white-space:nowrap}.table .btn{min-height:36px;padding:8px 10px;font-weight:800}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);background:var(--surface-2)}.pill.green{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.pill.orange{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.pill.red{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.hide{display:none!important}.qheader{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.qheader .tag{font-weight:800}.card .tag+.tag{margin-inline-start:6px}.alert{padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-1)}.alert.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.alert.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.progress{width:100%;height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress>.bar{height:100%;background:var(--gradient-brand);width:var(--value, 0%);transition:width .35s ease}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:400% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-sm);min-height:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tooltip{position:relative;cursor:help;text-decoration:dotted underline}.tooltip:hover:after{content:attr(data-tip);position:absolute;inset-inline-end:0;bottom:calc(100% + 8px);max-width:280px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;box-shadow:var(--shadow-2);z-index:50;white-space:normal}.avatar{width:28px;height:28px;border-radius:999px;background:var(--gradient-brand);color:var(--accent-contrast);font-weight:900;display:inline-grid;place-items:center;border:2px solid var(--surface);box-shadow:0 4px 14px #0ea5e938}.text-end{text-align:end}.text-center{text-align:center}.truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-100{width:100%}.mt-6{margin-top:6px}.mt-10{margin-top:10px}.mb-10{margin-bottom:10px}.p-0{padding:0}.p-6{padding:6px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn:before{display:none}}@media print{.appbar,.appnav,.btn{display:none!important}body{background:#fff}}
