:root{--bg-deep: #071110;--bg: #0a1514;--panel: rgba(18, 36, 34, .72);--panel-solid: #122422;--panel-2: #1a322f;--panel-3: #21403c;--text: #eef7f5;--muted: #8aa8a2;--faint: #5f7d77;--accent: #2ec4a0;--accent-bright: #4ae0b8;--accent-deep: #148f72;--accent-soft: rgba(46, 196, 160, .14);--danger: #ff6b7a;--danger-soft: rgba(255, 107, 122, .12);--warn: #f0b429;--ok: #3dd68c;--border: rgba(126, 180, 170, .14);--border-strong: rgba(126, 180, 170, .28);--shadow: 0 18px 50px rgba(0, 0, 0, .35);--radius: 16px;--radius-sm: 10px;--nav-w: 268px;--font-ar: "IBM Plex Sans Arabic", "Outfit", sans-serif;--font-brand: "Outfit", "IBM Plex Sans Arabic", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ar);color:var(--text);background:radial-gradient(900px 520px at 85% -8%,rgba(46,196,160,.18),transparent 55%),radial-gradient(700px 420px at -5% 20%,rgba(20,143,114,.22),transparent 50%),radial-gradient(600px 400px at 60% 110%,rgba(30,80,90,.35),transparent 45%),linear-gradient(165deg,#071110,#0c1a18 45%,#0a1416);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#2ec4a059}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes softPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.login-wrap{min-height:100%;display:grid;place-items:center;padding:28px 20px;position:relative;overflow:hidden}.login-wrap:before{content:"";position:absolute;inset:-20% auto auto -10%;width:55vw;height:55vw;background:radial-gradient(circle,rgba(46,196,160,.16),transparent 65%);pointer-events:none;animation:softPulse 7s ease-in-out infinite}.login-wrap:after{content:"";position:absolute;inset:auto -15% -25% auto;width:50vw;height:50vw;background:radial-gradient(circle,rgba(20,100,120,.2),transparent 65%);pointer-events:none}.login-card{position:relative;z-index:1;width:min(420px,100%);padding:36px 32px 32px;border-radius:22px;border:1px solid var(--border-strong);background:linear-gradient(165deg,#1a322fe0,#0c1a18eb);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:fadeUp .55s var(--ease) both}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:28px}.login-logo{width:72px;height:72px;border-radius:18px;object-fit:cover;margin-bottom:16px;box-shadow:0 12px 28px #00000059,0 0 0 1px #ffffff14}.login-brand .brand-name{font-family:var(--font-brand);font-size:2.15rem;font-weight:800;letter-spacing:.04em;margin:0;background:linear-gradient(120deg,#fff 20%,var(--accent-bright) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.login-brand .brand-sub{margin:8px 0 0;color:var(--muted);font-size:.95rem}.field{margin-bottom:14px}.field label{display:block;margin:0 0 7px;color:var(--muted);font-size:.86rem;font-weight:500}.field input,.field select,.field textarea,input,select,textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#0711108c;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.field input:focus,input:focus,select:focus,textarea:focus{border-color:#2ec4a08c;box-shadow:0 0 0 3px #2ec4a026;background:#071110bf}.btn-primary{width:100%;padding:13px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent-bright),var(--accent) 40%,var(--accent-deep));color:#04241c;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px #2ec4a047;transition:transform .18s var(--ease),box-shadow .18s,filter .18s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #2ec4a05c;filter:brightness(1.04)}.btn-primary:disabled{opacity:.55;cursor:wait}.btn-primary.inline{width:auto;display:inline-flex;align-items:center;gap:8px}.alert{padding:10px 12px;border-radius:10px;font-size:.9rem;margin:0 0 14px}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(255,107,122,.25)}.alert-ok{background:var(--accent-soft);color:var(--accent-bright);border:1px solid rgba(46,196,160,.28)}.shell{display:grid;grid-template-columns:var(--nav-w) 1fr;min-height:100%}.nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px;background:linear-gradient(180deg,#0a1614f5,#071110fa);border-inline-end:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20}.nav-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 18px;margin-bottom:6px}.nav-brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:0 6px 16px #0000004d}.nav-brand strong{font-family:var(--font-brand);font-size:1.25rem;font-weight:800;letter-spacing:.03em;display:block;line-height:1.1}.nav-brand span{color:var(--faint);font-size:.72rem;letter-spacing:.04em}.nav-group{color:var(--faint);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:14px 12px 6px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;color:var(--muted);margin-bottom:3px;transition:background .18s,color .18s,transform .18s}.nav a svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav a:hover{background:#2ec4a014;color:var(--text)}.nav a.active{background:linear-gradient(90deg,#2ec4a033,#2ec4a00f);color:var(--accent-bright);box-shadow:inset 3px 0 0 var(--accent)}.nav-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.nav-logout{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:11px;border:1px solid var(--border);background:#ff6b7a0f;color:var(--muted);font:inherit;text-align:start;transition:background .18s,color .18s,border-color .18s}.nav-logout svg{width:18px;height:18px;flex-shrink:0}.nav-logout:hover{background:var(--danger-soft);border-color:#ff6b7a59;color:var(--danger)}.btn-sm svg{width:16px;height:16px;flex-shrink:0}.main{padding:28px 32px 40px;min-width:0;animation:fadeUp .4s var(--ease) both}.nav-toggle{display:none;position:fixed;top:14px;inset-inline-start:14px;z-index:40;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:#0c1a18e6;color:var(--text);align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:15}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-header h1{margin:0;font-family:var(--font-brand);font-size:1.65rem;font-weight:700;letter-spacing:-.01em}.page-header .crumb{margin:0 0 6px;color:var(--faint);font-size:.8rem}.page-header .lede{margin:6px 0 0;color:var(--muted);font-size:.92rem;max-width:52ch}.health-row{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border);background:#122422b3;color:var(--muted)}.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--faint)}.pill.ok{color:var(--ok);border-color:#3dd68c4d;background:#3dd68c14}.pill.ok .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.pill.bad{color:var(--danger);border-color:#ff6b7a4d;background:var(--danger-soft)}.pill.bad .dot{background:var(--danger)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin-bottom:8px}.stat{position:relative;overflow:hidden;padding:18px 16px;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(145deg,#1a322fbf,#0c1c1aa6);transition:transform .22s var(--ease),border-color .22s,box-shadow .22s;animation:fadeUp .45s var(--ease) both}.stat:nth-child(2){animation-delay:.04s}.stat:nth-child(3){animation-delay:.08s}.stat:nth-child(4){animation-delay:.12s}.stat:nth-child(5){animation-delay:.16s}.stat:nth-child(6){animation-delay:.2s}.stat:after{content:"";position:absolute;inset:auto -20% -60% auto;width:120px;height:120px;background:radial-gradient(circle,rgba(46,196,160,.18),transparent 70%);pointer-events:none}.stat:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 12px 28px #00000038}.stat .n{font-family:var(--font-brand);font-size:1.85rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.stat .l{margin-top:6px;color:var(--muted);font-size:.84rem}.panel{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(165deg,#122422b3,#0a16148c);padding:20px 20px 18px;margin-bottom:18px;animation:fadeUp .4s var(--ease) both}.panel h3{margin:0 0 6px;font-family:var(--font-brand);font-size:1.05rem;font-weight:650}.panel .panel-sub{margin:0 0 16px;color:var(--muted);font-size:.88rem}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:#0c1a188c}table{width:100%;border-collapse:collapse;min-width:560px}th,td{text-align:start;padding:12px 14px;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--faint);font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;background:#1a322fa6;position:sticky;top:0}tbody tr{transition:background .15s}tbody tr:hover{background:#2ec4a00d}tbody tr:last-child td{border-bottom:0}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.toolbar input{margin:0;max-width:300px}.btn-sm{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;border:1px solid var(--border);background:#1a322fb3;color:var(--text);transition:background .15s,border-color .15s,transform .15s}.btn-sm:hover:not(:disabled){background:#2ec4a01f;border-color:var(--border-strong)}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text);background:#ffffff0a}.btn-danger{border-color:#ff6b7a59;color:var(--danger);background:var(--danger-soft)}.btn-danger:hover:not(:disabled){background:#ff6b7a33}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:#ffffff0a;color:var(--muted)}.badge-ok{color:var(--ok);border-color:#3dd68c59;background:#3dd68c1a}.badge-warn{color:var(--warn);border-color:#f0b42959;background:#f0b4291a}.badge-bad{color:var(--danger);border-color:#ff6b7a59;background:var(--danger-soft)}.badge-info{color:var(--accent-bright);border-color:#2ec4a059;background:var(--accent-soft)}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:6px;font-family:var(--font-brand)}.loading-block{height:120px;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(90deg,#1a322f66 25%,#2ec4a014,#1a322f66 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.check-row{display:flex;align-items:center;gap:10px;margin:10px 0 14px;color:var(--muted);font-size:.9rem}.check-row input{width:auto;margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 16px}.form-grid .span-2{grid-column:span 2}@media(max-width:700px){.form-grid .span-2{grid-column:span 1}}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85rem;background:#0711108c;border:1px solid var(--border);border-radius:12px;padding:14px;overflow:auto;color:var(--muted)}.sub{color:var(--muted);margin:0}.error{color:var(--danger);margin:0 0 12px;font-size:.9rem}.brand{color:var(--accent)}.primary{width:100%;padding:13px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent-bright),var(--accent) 40%,var(--accent-deep));color:#04241c;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px;flex-wrap:wrap}.topbar h2{margin:0;font-family:var(--font-brand);font-size:1.45rem}@media(max-width:900px){.shell{grid-template-columns:1fr}.nav-toggle{display:inline-flex}.nav{position:fixed;inset-inline-start:0;top:0;width:min(var(--nav-w),86vw);transform:translate(100%);transition:transform .28s var(--ease);box-shadow:var(--shadow)}html[dir=rtl] .nav{transform:translate(100%)}html[dir=ltr] .nav{transform:translate(-100%)}.shell.nav-open .nav{transform:translate(0)}.shell.nav-open .nav-backdrop{display:block}.main{padding:72px 16px 32px}}
