:root{--bg: #101014;--surface: #17171c;--surface-2: #1f1f26;--border: #2a2a32;--fg: #ececf1;--muted: #9a9aa6;--primary: #12a594;--primary-dim: #12a59422;--danger: #ef4444;--warn: #d97706;--ok: #16a34a}*{box-sizing:border-box;margin:0;padding:0;font-family:Shabnam,Vazirmatn,Segoe UI,Tahoma,sans-serif}body{background:var(--bg);color:var(--fg);font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}.shell{max-width:960px;margin:0 auto;padding:20px 16px 48px}.nav{display:flex;align-items:center;gap:4px;padding:10px 0 18px;flex-wrap:wrap}.nav .brand{font-weight:800;font-size:16px;margin-inline-end:14px}.nav .brand span{color:var(--primary)}.nav a{padding:7px 13px;border-radius:10px;color:var(--muted);font-weight:600;font-size:13px}.nav a.router-link-exact-active,.nav a:hover{color:var(--fg);background:var(--surface-2)}.nav .logout{margin-inline-start:auto;background:none;border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:6px 13px;cursor:pointer;font-size:12.5px}.nav .logout:hover{color:var(--danger);border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.card+.card{margin-top:14px}h1{font-size:19px;font-weight:800;margin-bottom:4px}h2{font-size:15px;font-weight:700;margin-bottom:12px}.sub{color:var(--muted);font-size:12.5px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:14px}.stat .v{font-size:20px;font-weight:800;color:var(--primary)}.stat .l{font-size:11.5px;color:var(--muted);margin-top:2px}label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin:12px 0 5px}input,textarea,select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:10px 12px;color:var(--fg);font-size:13.5px;outline:none;transition:border-color .14s}input:focus,textarea:focus,select:focus{border-color:var(--primary)}textarea.code{direction:ltr;text-align:left;font-family:ui-monospace,Menlo,monospace;font-size:12px;min-height:160px}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--primary);color:#fff;border:0;border-radius:11px;padding:10px 18px;font-size:13.5px;font-weight:700;cursor:pointer;transition:filter .15s}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--surface-2);color:var(--fg);border:1px solid var(--border)}.btn.sm{padding:7px 13px;font-size:12.5px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.mt{margin-top:16px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge.ok{background:#16a34a22;color:#4ade80}.badge.warn{background:#d9770622;color:#fbbf24}.badge.err{background:#ef444422;color:#f87171}.badge.free{background:#0e8f8022;color:#2fd6bf}.list-item{display:block;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:var(--surface);margin-top:10px;transition:border-color .15s,transform .15s;cursor:pointer}.list-item:hover{border-color:var(--primary);transform:translateY(-2px)}.list-item .t{font-weight:700;font-size:14px}.list-item .m{color:var(--muted);font-size:12px;margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert{border-radius:11px;padding:10px 14px;font-size:13px;margin-top:12px}.alert.err{background:#ef444418;color:#f87171;border:1px solid #ef444455}.alert.ok{background:#16a34a18;color:#4ade80;border:1px solid #16a34a55}.alert.info{background:var(--primary-dim);color:var(--primary);border:1px solid #12a59455}.empty{text-align:center;color:var(--muted);padding:40px 16px}.center{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:min(400px,100%)}.otp-note{direction:ltr;letter-spacing:.4em;text-align:center;font-size:18px}table.tbl{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}table.tbl th,table.tbl td{text-align:right;padding:8px 10px;border-bottom:1px solid var(--border)}table.tbl th{color:var(--muted);font-size:11.5px}.num{direction:ltr;unicode-bidi:embed}
