:root{--bg:#0b0f14;--bg-alt:#101722;--panel:#ffffff0e;--panel-strong:#ffffff1a;--border:#ffffff1a;--border-strong:#ffffff2e;--accent:#4de3c6;--accent-blue:#5b9cff;--accent-2:#ffb86c;--text:#eef4ff;--text-muted:#eef4ff99;--text-faint:#eef4ff4d;--danger:#ff6b6b;--success:#3ee19a;--warning:#ffb86c;--shadow:0 24px 80px #00000059;--shadow-sm:0 4px 20px #00000040;--radius:14px;--radius-sm:10px;--radius-lg:20px}*,:before,:after{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(at 0 0,#4de3c61f 0%,#0000 50%),radial-gradient(at 80% 10%,#5b9cff14 0%,#0000 45%),linear-gradient(#0b0f14 0%,#0c1220 100%);margin:0;font-family:Space Grotesk,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit}p{margin:0}h1,h2,h3,h4{margin:0;line-height:1.3}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.app-shell{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080c12d9;flex-direction:column;height:100vh;padding:24px 16px 28px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:11px;margin-bottom:16px;padding:0 8px 24px;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:36px;height:36px}.brand h1{color:var(--text);letter-spacing:-.01em;font-family:Fraunces,serif;font-size:17px}.brand-sub{color:var(--text-faint);margin-top:2px;font-size:11px}.nav{flex-direction:column;flex:1;display:flex}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);padding:14px 12px 5px;font-size:10px;font-weight:600}.nav-section-label:first-child{padding-top:4px}.nav a{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;overflow:hidden}.nav a:hover{color:var(--text);background:#ffffff0d}.nav a.active{color:var(--text);background:#4de3c61a;border-color:#4de3c633}.nav-icon{opacity:.7;flex-shrink:0;transition:opacity .15s}.nav a.active .nav-icon,.nav a:hover .nav-icon{opacity:1}.nav-label{flex:1}.nav-arrow{color:var(--text-faint);font-size:10px;transition:color .15s}.nav a.active .nav-arrow{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;margin-top:8px;padding-top:16px}.main{min-width:0;padding:36px 44px 72px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-title h2{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.2}.page-title p{color:var(--text-muted);margin-top:5px;font-size:14px}.section{margin-top:20px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 24px}.panel>h3:first-child{margin-bottom:16px;font-size:15px;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.card h3{margin:0 0 10px;font-size:16px}.card .value{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1}.split{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.button{border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent),var(--accent-blue));color:#0b0f14;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4de3c64d}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{color:var(--text);border:1px solid var(--border);background:#ffffff14}.button.secondary:hover:not(:disabled){box-shadow:none;background:#ffffff1f}.button.secondary.active{color:var(--accent);background:#4de3c626;border-color:#4de3c659}.button.danger{color:#fff;background:linear-gradient(135deg,#ff6b6b,#ff8e53)}.input{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;color:var(--text);background:#080c12a6;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:block}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4de3c626}.input[readonly]{opacity:.6;cursor:default}select.input{cursor:pointer}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.form-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table thead th{text-align:left;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.table tbody td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:13px 12px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover td{background:#ffffff06}.badge{white-space:nowrap;color:var(--text-muted);background:#ffffff12;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.badge.success{color:var(--success);background:#3ee19a24}.badge.danger{color:var(--danger);background:#ff6b6b24}.badge.warning{color:var(--accent-2);background:#ffb86c2e}.badge.info{color:var(--accent-blue);background:#5b9cff26}.badge.active{color:var(--success);background:#3ee19a24}.badge.scheduled{color:var(--accent-blue);background:#5b9cff26}.badge.paused{color:var(--accent-2);background:#ffb86c26}.badge.retired{color:var(--text-faint);background:#ffffff0d}.badge.draft{color:var(--text-muted);background:#ffffff0f}.badge.mandatory{color:var(--danger);background:#ff6b6b24}.badge.tier-free{color:var(--text-faint);background:#ffffff0d}.badge.tier-plus{color:var(--accent-blue);background:#5b9cff26}.badge.tier-pro{color:var(--accent);background:#4de3c624}.badge.tier-grace{color:var(--accent-2);background:#ffb86c26}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.65s linear infinite spin;display:inline-block}.loading-row{color:var(--text-muted);align-items:center;gap:12px;padding:20px 4px;font-size:14px;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 20px;display:flex}.empty-state-icon{opacity:.3;margin-bottom:6px;font-size:32px}.empty-state h4{color:var(--text);font-size:15px}.empty-state p{color:var(--text-muted);font-size:13px}.toast{border-radius:var(--radius-sm);color:var(--danger);background:#ff6b6b1f;border:1px solid #ff6b6b38;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;font-size:14px;display:flex}.toast.success{color:var(--success);background:#3ee19a1f;border-color:#3ee19a38}.toast.info{color:var(--accent-blue);background:#5b9cff1f;border-color:#5b9cff38}.metric-inline{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.period-selector{gap:6px;display:flex}.stat-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.stat-sub{color:var(--text-faint);margin-top:5px;font-size:12px}code{color:var(--accent);background:#ffffff12;border-radius:5px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;font-size:12px}.login-wrapper{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%);box-shadow:var(--shadow),0 0 60px #4de3c60f;background:#ffffff0e;border:1px solid #4de3c62e;border-radius:24px;padding:36px}.login-header{text-align:center;margin-bottom:28px}.login-logo{object-fit:contain;width:72px;height:72px;margin:0 auto 18px;display:block}.login-card h2{letter-spacing:-.02em;font-size:24px;font-weight:700}.login-card .login-header p{color:var(--text-muted);margin-top:6px;font-size:14px}.login-card .form-grid,.create-admin-form .form-grid{grid-template-columns:1fr}.plain-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.alert-line{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;padding:10px 14px}.alert-line.warning{background:#ffb86c14;border-color:#ffb86c66}.alert-line.success{background:#3ee19a14;border-color:#3ee19a66}.release-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.release-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid #0000;padding:18px 20px;transition:box-shadow .2s}.release-card:hover{box-shadow:var(--shadow-sm)}.release-card.status-active{border-left-color:var(--success)}.release-card.status-scheduled{border-left-color:var(--accent-blue)}.release-card.status-paused{border-left-color:var(--accent-2)}.release-card.status-retired{opacity:.55;border-left-color:#ffffff1f}.release-card.status-draft{border-left-color:#fff3}.release-card-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.release-version{letter-spacing:-.01em;font-family:Space Grotesk,monospace;font-size:16px;font-weight:700}.release-meta{color:var(--text-muted);margin-bottom:10px;font-size:13px}.release-notes-preview{color:var(--text-muted);white-space:pre-wrap;margin:8px 0;font-size:13px;line-height:1.5}.release-files{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;margin:10px 0;padding:10px 0;display:flex}.release-file-row{align-items:center;gap:10px;font-size:13px;display:flex}.release-file-platform{width:66px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:11px;font-weight:600}.release-file-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:220px;font-family:monospace;font-size:12px;overflow:hidden}.release-file-checksum{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-family:monospace;font-size:11px;overflow:hidden}.release-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.release-actions .sep{background:var(--border);width:1px;height:18px;margin:0 2px}.rollout-bar{background:#ffffff12;border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.rollout-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-blue));border-radius:999px;height:100%}.version-dist-row{align-items:center;gap:12px;margin-bottom:9px;display:flex}.version-dist-label{width:86px;color:var(--text-muted);flex-shrink:0;font-family:monospace;font-size:12px}.version-dist-track{background:#ffffff12;border-radius:999px;flex:1;height:5px;overflow:hidden}.version-dist-fill{background:linear-gradient(90deg,var(--accent),var(--accent-blue));border-radius:999px;min-width:3px;height:100%}.version-dist-count{color:var(--text-muted);text-align:right;flex-shrink:0;width:46px;font-size:12px}.chart-tooltip{border:1px solid var(--border);background:#080c12f5;border-radius:10px;padding:8px 14px;font-size:13px}.chart-tooltip-label{color:var(--text-muted);margin-bottom:3px}.chart-tooltip-value{color:var(--text);font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border-strong);background:#0e1520;border-radius:22px;width:min(640px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 40px 120px #000000b3}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h3{margin:0;font-size:17px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:20px;line-height:1;transition:color .15s,background .15s}.modal-close:hover{color:var(--text);background:var(--panel)}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:20px 0 10px;font-size:11px;font-weight:600}.modal-section-title:first-child{margin-top:0}.drawer-overlay{z-index:200;background:#0000008c;position:fixed;inset:0}.drawer{border-left:1px solid var(--border-strong);z-index:201;background:#0e1520;flex-direction:column;width:min(480px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-24px 0 80px #00000080}.drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.drawer-header h3{margin:0}.drawer-body{flex:1;padding:20px 24px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);flex-shrink:0;gap:10px;padding:16px 24px;display:flex}@media (max-width:1024px){.split{grid-template-columns:1fr}}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:relative}.main{padding:24px 20px 48px}}
