:root{--bg:#07111f;--panel:#0d1728;--panel2:#111d31;--line:#22324d;--text:#eaf2ff;--muted:#8fa4c2;--brand:#3b82f6;--brand2:#22c55e;--danger:#ef4444;--warning:#f59e0b;--shadow:0 18px 45px rgba(0,0,0,.28);--radius:18px;--sidebar:262px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at top right,#11274c 0,transparent 32%),linear-gradient(135deg,#06101d,#0a1323 55%,#0d1728);color:var(--text);min-height:100vh}a{color:#8bc4ff;text-decoration:none}a:hover{color:#c5e3ff}.svg-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#0b1525,#0a1322 55%,#08111d);border-right:1px solid var(--line);z-index:40;display:flex;flex-direction:column;box-shadow:12px 0 30px rgba(0,0,0,.14)}.brand{padding:22px 20px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06)}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#22c55e);display:grid;place-items:center;box-shadow:0 10px 30px rgba(59,130,246,.28)}.brand-mark .svg-icon{width:24px;height:24px}.brand-copy strong{display:block;font-size:15px;letter-spacing:.3px}.brand-copy span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.nav{padding:16px 12px;overflow:auto}.nav-label{padding:10px 12px 7px;color:#647a99;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:4px 0;border-radius:12px;color:#a8b9d1;font-size:14px;font-weight:700}.nav a:hover{background:#101f36;color:#fff}.nav a.active{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(34,197,94,.08));color:#fff;border:1px solid rgba(59,130,246,.22)}.nav a.active .svg-icon{color:#60a5fa}.sidebar-foot{margin-top:auto;padding:14px 12px 18px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:#0f1b2e}.avatar{width:38px;height:38px;border-radius:12px;background:#1d4ed8;display:grid;place-items:center;font-weight:900}.sidebar-user .meta{min-width:0;flex:1}.sidebar-user .meta b,.sidebar-user .meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .meta span{font-size:11px;color:var(--muted);margin-top:2px}.content{margin-left:var(--sidebar);min-height:100vh}.topbar{height:72px;position:sticky;top:0;z-index:30;background:rgba(7,17,31,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.topbar-left{display:flex;align-items:center;gap:13px}.page-title h1{font-size:20px;margin:0}.page-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:40px;height:40px;border-radius:12px;background:#0f1d31;border:1px solid #203454;color:#bdd0e8;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{border-color:#3b82f6;color:#fff}.mobile-menu{display:none}.page{padding:24px 26px 40px;max-width:1700px;margin:0 auto}.card{background:linear-gradient(180deg,#0f1b2e,#0c1728);border:1px solid #20334f;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card-flat{box-shadow:none}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.card-head h2,.card-head h3{margin:0}.card-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.section-title{font-size:16px;margin:0 0 16px}.grid2,.grid3,.grid4,.grid5{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{position:relative;overflow:hidden;min-height:132px}.stat-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-44px;top:-52px;background:rgba(59,130,246,.09)}.stat-top{display:flex;justify-content:space-between;align-items:flex-start}.stat-icon{width:44px;height:44px;border-radius:14px;background:#142a48;display:grid;place-items:center;color:#60a5fa}.stat-icon.green{background:#123624;color:#4ade80}.stat-icon.amber{background:#3a2a0d;color:#fbbf24}.stat-icon.red{background:#3a1720;color:#fb7185}.stat-value{font-size:30px;font-weight:900;letter-spacing:-.03em;margin-top:14px}.stat-label{font-size:12px;color:var(--muted);margin-top:4px}.stat-note{font-size:11px;color:#6f86a6;margin-top:8px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.btn,button{appearance:none;border:0;border-radius:11px;padding:10px 14px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:800;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn:hover,button:hover{filter:brightness(1.08);color:#fff}.btn.secondary,.secondary{background:linear-gradient(135deg,#059669,#22c55e)}.btn.danger,.danger{background:linear-gradient(135deg,#dc2626,#ef4444)}.btn.warning,.warning{background:linear-gradient(135deg,#d97706,#f59e0b)}.btn.ghost,.ghost{background:#17253a;border:1px solid #2a3f5e;color:#c7d6ea}.btn.sm,button.sm{padding:7px 10px;border-radius:9px;font-size:12px}.btn.icon-only{padding:9px;width:38px;height:38px}.muted{color:var(--muted);font-size:12px}.note{color:#adc0da;font-size:13px}.alert{padding:13px 15px;border-radius:12px;margin:0 0 18px;border:1px solid}.alert.ok{background:#0d3425;border-color:#155e3e;color:#b7f7d1}.alert.err{background:#3c151d;border-color:#7f1d1d;color:#fecdd3}.alert.info{background:#0f2a4b;border-color:#1d4ed8;color:#bfdbfe}.alert.warn{background:#3a2b0d;border-color:#92400e;color:#fde68a}label{display:block;color:#b8c9df;font-size:12px;font-weight:700;margin-bottom:12px}input,select,textarea{width:100%;margin-top:7px;padding:11px 12px;border-radius:11px;border:1px solid #2b405f;background:#081321;color:#f5f9ff;outline:none;font:inherit}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12)}textarea{min-height:96px;resize:vertical}.switch{display:flex;gap:10px;align-items:center}.switch input{width:auto;margin:0}.filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.6fr)) auto;gap:10px;align-items:end;margin-bottom:15px}.filters .field{position:relative}.filters .field .svg-icon{position:absolute;left:12px;bottom:12px;color:#66809f;width:16px;height:16px}.filters .field input.with-icon{padding-left:38px}.filters label{margin:0}.table-wrap{overflow:auto;border:1px solid #1d2f49;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:920px}.table th,.table td{padding:12px 13px;text-align:left;border-bottom:1px solid #1b2a40;vertical-align:middle}.table th{position:sticky;top:0;background:#101d30;color:#8fa6c4;text-transform:uppercase;font-size:10px;letter-spacing:.08em;z-index:1}.table tr:hover td{background:rgba(59,130,246,.035)}.table td{font-size:13px;color:#d7e3f3}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#24344d;color:#dbe7f7;font-size:11px;font-weight:800;text-transform:capitalize}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.active,.badge.approved{background:#123c2a;color:#4ade80}.badge.pending{background:#3b2c0f;color:#fbbf24}.badge.suspended{background:#43250f;color:#fb923c}.badge.revoked,.badge.rejected,.badge.disabled{background:#421821;color:#fb7185}.inline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.inline input,.inline select{width:auto;min-width:120px;margin:0;padding:7px 9px}.actions{display:flex;gap:6px;flex-wrap:wrap}.code-box,code{font-family:"SFMono-Regular",Consolas,monospace;color:#a8d4ff;background:#081321;border:1px solid #1c304d;border-radius:7px;padding:4px 7px}.price{font-size:28px;font-weight:900;letter-spacing:-.03em}.plan-card{padding:16px;border-radius:15px;background:linear-gradient(145deg,#0c182b,#122039);border:1px solid #243955}.plan-card .plan-top{display:flex;justify-content:space-between;align-items:center}.plan-card .plan-duration{font-weight:900}.plan-card .plan-note{color:var(--muted);font-size:11px;margin-top:5px}.empty{padding:34px;text-align:center;color:var(--muted)}.proof{max-width:96px;max-height:96px;border-radius:10px;border:1px solid #324a6c}.login-page,.installer-page{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(100%,480px);background:rgba(12,23,40,.96);border:1px solid #223853;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.42);padding:28px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-brand .brand-mark{width:48px;height:48px}.auth-card h1{font-size:24px;margin:0}.auth-card .subtitle{color:var(--muted);margin:6px 0 0;font-size:13px}.auth-card button{width:100%;margin-top:6px;padding:12px}.login-meta{margin-top:16px;text-align:center;color:#637b99;font-size:11px}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.health-item{padding:14px;border:1px solid #213550;border-radius:13px;background:#0a1626}.health-item b{display:block;margin-bottom:5px}.health-item span{font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:7px}.chart-bars{display:flex;align-items:end;gap:7px;height:120px;padding-top:14px}.bar{flex:1;min-width:8px;background:linear-gradient(180deg,#3b82f6,#22c55e);border-radius:7px 7px 2px 2px;opacity:.85}.activity-list{display:grid;gap:9px}.activity-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #1a2a40}.activity-row:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:11px;background:#132844;display:grid;place-items:center;color:#60a5fa}.activity-main b{font-size:13px}.activity-main span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.activity-time{font-size:11px;color:#68809f}.copy-row{display:flex;gap:8px;align-items:center}.copy-row input{margin:0}.qr-preview{display:flex;gap:18px;align-items:center;padding:14px;border:1px dashed #2d486c;border-radius:14px;background:#091523}.qr-frame{width:122px;height:122px;background:#fff;border-radius:12px;padding:8px;display:grid;place-items:center}.qr-frame img{max-width:100%;max-height:100%}.side-overlay{display:none}.page-description{color:var(--muted);font-size:13px;margin:0 0 20px}.pill{padding:4px 8px;border-radius:999px;background:#14243b;color:#9fb5d1;font-size:11px}.kpi-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.kpi-row .pill strong{color:#fff}.footer-note{padding:12px 0 0;color:#607896;font-size:11px;text-align:center}@media(max-width:1280px){.grid5{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr 1fr}.filters .search-span{grid-column:span 2}}@media(max-width:900px){:root{--sidebar:250px}.sidebar{transform:translateX(-100%);transition:.25s ease}.sidebar.open{transform:translateX(0)}.side-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:35;opacity:0;pointer-events:none;transition:.25s}.side-overlay.open{opacity:1;pointer-events:auto}.content{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 16px}.page{padding:18px 14px 32px}.grid3,.grid4,.grid5{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.filters .search-span{grid-column:1/-1}.health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.grid2,.grid3,.grid4,.grid5,.health-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.filters .search-span{grid-column:auto}.topbar{height:auto;min-height:68px;padding:10px 12px}.page-title p{display:none}.topbar-actions .hide-mobile{display:none}.card{padding:15px;border-radius:15px}.card-head{flex-direction:column}.stat-card{min-height:118px}.page{padding:14px 10px 28px}.auth-card{padding:22px 18px}.qr-preview{align-items:flex-start;flex-direction:column}.table{min-width:760px}}
