@font-face{font-family:Tajawal;src:url('font/Tajawal/Tajawal-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Tajawal;src:url('font/Tajawal/Tajawal-Bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Tajawal;src:url('font/Tajawal/Tajawal-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--sg-bg:#070b18;--sg-card:#11172a;--sg-card-2:#171e34;--sg-border:#2b3654;--sg-text:#f8fafc;--sg-muted:#94a3b8;--sg-primary:#7c3aed;--sg-primary-2:#a855f7;--sg-success:#10b981;--sg-danger:#ef4444;--sg-warning:#f59e0b;--sg-shadow:0 24px 60px rgba(0,0,0,.28)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 5%,rgba(124,58,237,.18),transparent 30%),radial-gradient(circle at 90% 15%,rgba(59,130,246,.12),transparent 28%),var(--sg-bg);color:var(--sg-text);font-family:Tajawal,system-ui,-apple-system,"Segoe UI",sans-serif}.sg-auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.sg-auth-card{width:min(100%,520px);background:rgba(17,23,42,.94);border:1px solid var(--sg-border);border-radius:26px;padding:30px;box-shadow:var(--sg-shadow);backdrop-filter:blur(18px)}.sg-auth-card.wide{width:min(100%,760px)}.sg-brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.sg-brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sg-primary),var(--sg-primary-2));font-weight:800;font-size:22px;box-shadow:0 14px 30px rgba(124,58,237,.3)}.sg-brand h1{font-size:22px;margin:0}.sg-brand p{margin:4px 0 0;color:var(--sg-muted);font-size:14px}.sg-field{display:grid;gap:8px;margin-bottom:16px}.sg-field label{font-weight:700;font-size:14px}.sg-input,.sg-select{width:100%;height:48px;border:1px solid var(--sg-border);border-radius:13px;background:#0b1020;color:var(--sg-text);padding:0 14px;font:inherit;outline:none}.sg-input:focus,.sg-select:focus{border-color:var(--sg-primary);box-shadow:0 0 0 4px rgba(124,58,237,.15)}textarea.sg-input{height:auto;min-height:100px;padding:13px}.sg-btn{min-height:48px;border:0;border-radius:13px;padding:0 18px;font:700 15px Tajawal;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}.sg-btn-primary{color:#fff;background:linear-gradient(135deg,var(--sg-primary),var(--sg-primary-2));box-shadow:0 12px 24px rgba(124,58,237,.24)}.sg-btn-secondary{color:var(--sg-text);background:var(--sg-card-2);border:1px solid var(--sg-border)}.sg-btn-danger{color:#fff;background:#b91c1c}.sg-btn-block{width:100%}.sg-alert{padding:13px 15px;border-radius:13px;margin-bottom:17px;font-size:14px;line-height:1.7}.sg-alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}.sg-alert-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.35);color:#a7f3d0}.sg-alert-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.35);color:#bfdbfe}.sg-divider{display:flex;align-items:center;gap:12px;color:var(--sg-muted);font-size:13px;margin:20px 0}.sg-divider:before,.sg-divider:after{content:"";height:1px;flex:1;background:var(--sg-border)}.sg-google{background:#fff;color:#1f2937}.sg-help{margin:18px 0 0;color:var(--sg-muted);font-size:14px;text-align:center}.sg-help a{color:#c4b5fd;text-decoration:none}.sg-app{max-width:1260px;margin:auto;padding:26px}.sg-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.sg-topbar h1{margin:0;font-size:28px}.sg-topbar p{margin:6px 0 0;color:var(--sg-muted)}.sg-actions{display:flex;gap:10px;flex-wrap:wrap}.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sg-card{background:rgba(17,23,42,.94);border:1px solid var(--sg-border);border-radius:20px;padding:20px;box-shadow:0 14px 34px rgba(0,0,0,.16)}.sg-card h2,.sg-card h3{margin-top:0}.sg-router-card{position:relative;overflow:hidden}.sg-router-card.active{border-color:var(--sg-primary);box-shadow:0 0 0 2px rgba(124,58,237,.2),var(--sg-shadow)}.sg-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.sg-badge-active{background:rgba(124,58,237,.18);color:#ddd6fe}.sg-badge-online{background:rgba(16,185,129,.15);color:#a7f3d0}.sg-badge-unknown{background:rgba(148,163,184,.14);color:#cbd5e1}.sg-meta{display:grid;gap:10px;margin:18px 0;color:var(--sg-muted);font-size:14px}.sg-meta b{color:var(--sg-text);direction:ltr;display:inline-block}.sg-card-actions{display:flex;gap:8px;flex-wrap:wrap}.sg-card-actions form{margin:0}.sg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sg-section{margin-top:24px}.sg-empty{padding:45px 20px;text-align:center;color:var(--sg-muted)}.sg-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.sg-nav a{color:var(--sg-muted);text-decoration:none;padding:10px 13px;border-radius:11px;border:1px solid transparent}.sg-nav a:hover,.sg-nav a.active{color:#fff;background:var(--sg-card);border-color:var(--sg-border)}.sg-table-wrap{overflow:auto}.sg-table{width:100%;border-collapse:collapse;min-width:720px}.sg-table th,.sg-table td{text-align:right;padding:13px;border-bottom:1px solid var(--sg-border);font-size:14px}.sg-table th{color:var(--sg-muted)}.sg-code{direction:ltr;text-align:left;background:#090d18;border:1px solid var(--sg-border);border-radius:12px;padding:12px;word-break:break-all;color:#c4b5fd}.sg-checks{display:grid;gap:10px;margin:16px 0}.sg-check{display:flex;align-items:center;justify-content:space-between;background:#0b1020;border:1px solid var(--sg-border);padding:12px 14px;border-radius:12px}.sg-muted{color:var(--sg-muted)}@media(max-width:900px){.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sg-auth-shell{padding:14px}.sg-auth-card{padding:22px;border-radius:20px}.sg-app{padding:18px}.sg-grid,.sg-form-grid{grid-template-columns:1fr}.sg-topbar{align-items:flex-start;flex-direction:column}.sg-actions{width:100%}.sg-actions .sg-btn{flex:1}}
.sg-status-ok{color:#a7f3d0}.sg-status-bad{color:#fecaca}.sg-btn:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}
