:root{--bg:#020617;--surface:#0f172a;--surface-2:#1e293b;--muted:#1a1e2f;--border:#334155;--text:#f8fafc;--dim:#94a3b8;--accent:#22c55e;--accent-soft:#22c55e24;--accent-ink:#052e16;--danger:#ef4444;--danger-soft:#ef444421;--warn:#f59e0b;--ring:#22c55e73;--radius:14px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 500px at 80% -10%, #22c55e14, transparent), var(--bg);color:var(--text);min-height:100dvh;font-family:Tajawal,Tahoma,sans-serif;font-size:16px;line-height:1.6}a{color:var(--accent)}::selection{background:#22c55e59}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.shell{min-height:100dvh;display:flex}.sidebar{border-inline-end:1px solid var(--border);background:linear-gradient(#0b1226,#070d1d);flex-direction:column;flex-shrink:0;gap:14px;width:248px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:.2px;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.brand .dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 12px var(--accent);border-radius:50%}.me{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;transition:border-color .2s var(--ease), transform .2s var(--ease);border-radius:12px;align-items:center;gap:10px;padding:9px 11px;font-family:inherit;display:flex}.me:hover{border-color:var(--accent)}.me:active{transform:scale(.98)}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border:1px solid #22c55e66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:flex}.me-txt{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.me-txt small{color:var(--dim);font-size:11.5px}.sidebar nav{flex-direction:column;flex:1;gap:3px;display:flex;overflow-y:auto}.sidebar nav a{color:var(--dim);min-height:44px;transition:background .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{color:var(--text);background:#94a3b81a}.sidebar nav a:active{transform:scale(.98)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.content{flex:1;min-width:0;max-width:1140px;padding:28px clamp(16px,4vw,40px)}h1{margin-bottom:18px;font-size:clamp(21px,3vw,27px);font-weight:800}h3{margin:16px 0 10px;font-size:16.5px;font-weight:700}h3:first-child{margin-top:0}.card{background:linear-gradient(180deg, var(--surface), #0c1428);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px;overflow-x:auto;box-shadow:0 8px 28px #00000059}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:linear-gradient(180deg, var(--surface), #0c1428);border:1px solid var(--border);border-radius:var(--radius);text-align:center;color:var(--text);transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);flex-direction:column;align-items:center;gap:3px;padding:20px 14px;text-decoration:none;display:flex}.stat:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px #22c55e26}.stat b{color:var(--accent);font-size:32px;font-weight:800;line-height:1.1}.stat span{color:var(--dim);font-size:13.5px}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:right;color:var(--dim);border-bottom:1px solid var(--border);background:#1e293b80;padding:10px 12px;font-size:12.5px;font-weight:600;position:sticky;top:0}tbody td{border-bottom:1px solid #3341558c;padding:11px 12px}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:#94a3b80f}.badge{background:var(--surface-2);color:var(--dim);border:1px solid var(--border);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--accent-soft);color:var(--accent);border-color:#22c55e66}.badge.warn{color:var(--warn);background:#f59e0b21;border-color:#f59e0b66}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.toolbar input{flex:1;min-width:200px}input,select,textarea{background:var(--muted);border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:10px;padding:0 13px;font-family:inherit;font-size:15px}textarea{resize:vertical;min-height:90px;padding:11px 13px}input::placeholder{color:#5b6b82}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input[type=color]{cursor:pointer;height:46px;padding:4px}select option{background:var(--surface-2)}label{color:var(--dim);flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;display:flex}label:focus-within{color:var(--text)}.form{flex-direction:column;gap:14px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px;display:grid}.pair{background:#1e293b73;border:1px solid #33415599;border-radius:10px;flex-direction:column;gap:9px;padding:12px;display:flex}.chks{flex-wrap:wrap;gap:10px 20px;display:flex}.chk{color:var(--text);cursor:pointer;align-items:center;min-height:44px;font-weight:500;flex-direction:row!important;gap:8px!important}.chk input{width:20px;height:20px;min-height:0;accent-color:var(--accent);cursor:pointer}.pw-wrap{position:relative}.pw-wrap input{padding-inline-end:48px}.pw-eye{inset-inline-end:6px;color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pw-eye:hover{color:var(--text)}.btn{cursor:pointer;background:var(--surface-2);min-height:46px;color:var(--text);transition:transform .15s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s;touch-action:manipulation;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.96)}.btn.primary{color:#04120a;background:linear-gradient(#2bdb74,#16a34a);box-shadow:0 4px 18px #22c55e59}.btn.danger{background:var(--danger-soft);color:#fca5a5;border-color:#ef444473}.btn.ghost{border-color:var(--border);color:var(--text);background:0 0}.btn.ghost-btn{color:#fca5a5;background:0 0;border:1px solid #ef444466;width:100%}.btn.sm{border-radius:8px;min-height:38px;padding:0 13px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn .spinner{border-width:2.5px;width:17px;height:17px}.alert{border:1px solid;border-radius:10px;align-items:center;gap:9px;margin-bottom:14px;padding:12px 15px;font-size:14px;display:flex}.alert.danger{background:var(--danger-soft);color:#fca5a5;border-color:#ef444466}.alert.warn{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b66}.alert.ok{background:var(--accent-soft);color:#86efac;border-color:#22c55e66}.toasts{bottom:20px;z-index:1000;flex-direction:column;gap:8px;max-width:420px;margin-inline:auto;padding:0 16px;display:flex;position:fixed;inset-inline:0}.toast{background:var(--surface-2);border:1px solid var(--border);animation:slideUp .25s var(--ease);border-radius:12px;align-items:center;gap:9px;padding:12px 15px;font-size:14px;display:flex;box-shadow:0 12px 32px #00000080}.toast.ok{border-color:#22c55e80}.toast.err{border-color:#ef444480}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}}.scrim{z-index:900;animation:fade .2s var(--ease);background:#0000008c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:24px;box-shadow:0 24px 60px #0009}.modal h3{margin-bottom:18px;font-size:17px}.modal-btns{gap:10px;display:flex}.modal-btns .btn{flex:1}.auth-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.auth{flex-direction:column;gap:13px;width:410px;max-width:100%;display:flex}.auth .logo{align-items:center;gap:10px;font-size:24px;font-weight:800;display:flex}.auth .logo .dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 16px var(--accent);border-radius:50%}.captcha{border:1px dashed var(--border);color:#fde047;letter-spacing:7px;text-align:center;background:#0a0f1e;border-radius:8px;padding:6px 16px;font-size:21px;font-weight:800}.muted{color:var(--dim);font-size:12.5px}.cols{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.key{background:var(--muted);border:1px solid var(--border);word-break:break-all;color:var(--accent);border-radius:10px;margin:10px 0;padding:12px;font-size:14px;display:block}.endpoints{color:var(--dim);flex-direction:column;gap:5px;padding-inline-start:20px;font-size:13px;display:flex}.spinner{border:3.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:30px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sk{background:linear-gradient(90deg, var(--muted) 25%, var(--surface-2) 50%, var(--muted) 75%);background-size:200% 100%;border-radius:8px;height:18px;margin-bottom:12px;animation:1.4s infinite shimmer}.sk.short{width:55%}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;color:var(--dim);flex-direction:column;align-items:center;gap:12px;padding:34px 16px;display:flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-2);border:2px solid var(--bg);border-radius:8px}@media (width<=860px){.shell{flex-direction:column}.sidebar{border-inline-end:none;border-bottom:1px solid var(--border);gap:10px;width:100%;height:auto;padding:12px;position:static}.sidebar nav{flex-direction:row;padding-bottom:4px;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar .ghost-btn{width:auto}.cols{grid-template-columns:1fr}.content{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
