:root{--bg: #050b18;--sidebar-bg: #040911;--panel: #0a1428;--panel-raised: #0f1b33;--border: rgba(255, 255, 255, .12);--border-soft: rgba(255, 255, 255, .07);--text: #edeef2;--muted: #8b93a8;--muted-2: #55617a;--accent: #00bfff;--accent-strong: #00a8e0;--accent-soft: rgba(0, 191, 255, .14);--accent-soft-border: rgba(0, 191, 255, .28);--ok: #3ddc97;--ok-soft: rgba(61, 220, 151, .14);--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .14);--warn: #f5b955;--warn-soft: rgba(245, 185, 85, .14);--radius-sm: 7px;--radius: 11px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -16px rgba(0, 0, 0, .55);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Berkeley Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),radial-gradient(1200px 600px at 100% -10%,rgba(0,191,255,.08),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(61,220,151,.03),transparent 55%);background-size:72px 72px,72px 72px,auto,auto;background-attachment:fixed;color:var(--text);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:#5fdcff}code{background:#08101f;border:1px solid var(--border-soft);padding:1.5px 6px;border-radius:5px;font-family:var(--font-mono);font-size:12px;color:#9fe8ff}h1,h2,h3{font-weight:650;letter-spacing:-.015em;margin:0}::selection{background:#00bfff4d}.shell{min-height:100vh;display:flex}.sidebar{width:236px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px;color:var(--text)}.brand-mark{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(155deg,var(--accent),#0090c0);color:#04101d;font-weight:800;font-size:13px;box-shadow:0 4px 14px -4px #00bfff99}.brand-text{font-weight:700;font-size:15.5px;letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-group-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:10px 10px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;font-size:13.5px;transition:background .12s ease,color .12s ease}.nav-link svg{opacity:.85;flex-shrink:0}.nav-link:hover{background:var(--panel);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:#7fe5ff}.nav-link.active svg{color:var(--accent);opacity:1}.sidebar-footer{border-top:1px solid var(--border-soft);padding-top:12px;display:flex;flex-direction:column;gap:8px}.user-chip{display:flex;align-items:center;gap:9px;padding:6px}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--panel-raised);border:1px solid var(--border);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted);flex-shrink:0}.user-meta{display:flex;flex-direction:column;min-width:0}.user-email{font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:11px;color:var(--muted-2);text-transform:capitalize}.content{flex:1;min-width:0;padding:40px 44px 64px;max-width:1080px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#050b18}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px}.auth-screen:after{content:"";position:absolute;top:-12%;right:-10%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(0,191,255,.14),transparent 70%);filter:blur(10px)}.auth-card{position:relative;z-index:1;background:#ffffff09;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:20px;box-shadow:0 18px 60px -20px #00286466;padding:40px 34px;width:360px}.auth-card h1{font-size:17px;margin:0 0 22px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;text-align:center}.auth-brand-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(0,191,255,.3);background:#00bfff0f;box-shadow:0 0 24px #00bfff26;color:#00bfff}.auth-brand-title{font-size:18px;font-weight:600;letter-spacing:.02em;color:#fff}.auth-brand-title span{color:#00bfff}.auth-brand-subtitle{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#64748b}.auth-card label{color:#94a3b8}.auth-card input:not([type=checkbox]){background:#050b18b3;border:1px solid rgba(255,255,255,.1);color:#fff}.auth-card input:not([type=checkbox]):focus{border-color:#00bfff80;box-shadow:0 0 0 3px #00bfff1f}.auth-card button[type=submit]{background:#00bfff;color:#04101d;width:100%;justify-content:center;font-weight:600;box-shadow:0 0 28px #00bfff2e}.auth-card button[type=submit]:hover{background:#22d3ee;color:#04101d}.auth-card button.link{color:#00bfff}.auth-card button.link:hover{color:#5fdcff}.auth-card p{color:#94a3b8;font-size:12.5px;margin:0}.auth-card .error{margin:0}label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted);font-weight:500}input:not([type=checkbox]),select{background:#08101f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;color:var(--text);font-size:13.5px;font-family:var(--font);transition:border-color .12s ease,box-shadow .12s ease}input:not([type=checkbox]):focus,select:focus{outline:none;border-color:var(--accent-soft-border);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:34px;height:20px;min-width:34px;background:#141f38;border:1px solid var(--border);border-radius:999px;position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}input[type=checkbox]:after{content:"";position:absolute;top:1.5px;left:1.5px;width:15px;height:15px;border-radius:50%;background:#cfd1d8;transition:transform .15s ease,background .15s ease}input[type=checkbox]:checked{background:var(--accent-strong);border-color:var(--accent-strong)}input[type=checkbox]:checked:after{transform:translate(14px);background:#fff}input[type=checkbox]:disabled{opacity:.45;cursor:default}button,.button{background:var(--accent-strong);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 15px;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s ease,transform .05s ease,box-shadow .12s ease;box-shadow:0 1px #ffffff0f inset,0 6px 16px -8px #00bfff80}button:hover,.button:hover{background:var(--accent);color:#fff}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default;box-shadow:none}.ghost-button{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none;font-weight:500}.ghost-button:hover{background:var(--panel-raised);color:var(--text)}button.link{background:none;color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:2px;padding:0 0 0 6px;box-shadow:none;font-size:12px}button.link:hover{background:none;color:#5fdcff}.button-danger,button.danger{background:var(--danger);box-shadow:none}.button-danger:hover,button.danger:hover{background:#ff8a9a}.tab-row{display:flex;gap:4px}.tab-row button.tab{background:transparent;color:var(--muted);box-shadow:none;padding:7px 14px;border-radius:var(--radius-sm);font-weight:500}.tab-row button.tab:hover{background:var(--panel);color:var(--text)}.tab-row button.tab.active{background:var(--accent-soft);color:#7fe5ff}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px;gap:16px;flex-wrap:wrap}.page-header h1{font-size:22px;display:flex;align-items:center;gap:12px}.page-header .actions{display:flex;gap:8px;align-items:center}.error{color:var(--danger);font-size:13px;background:var(--danger-soft);border:1px solid rgba(251,113,133,.25);padding:9px 12px;border-radius:var(--radius-sm)}.muted{color:var(--muted);font-weight:400;font-size:12.5px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s ease}.table tbody tr:hover{background:var(--panel-raised)}.table th{color:var(--muted-2);font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;background:var(--panel)}.table a{color:var(--text);font-weight:600}.table a:hover{color:var(--accent)}.cluster-client-block{margin-bottom:18px}.cluster-client-block:last-child{margin-bottom:0}.cluster-client-block-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:600}.cluster-client-block-header a{color:var(--text)}.cluster-client-block-header a:hover{color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-provisioning{background:var(--warn-soft);color:var(--warn)}.badge-active{background:var(--ok-soft);color:var(--ok)}.badge-suspended{background:var(--danger-soft);color:var(--danger)}.badge-deleted{background:var(--border-soft);color:var(--muted)}.panel-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px 24px;margin-bottom:18px}.panel-section h2{margin:0 0 6px;font-size:15px;display:flex;align-items:center;gap:8px}.panel-section>p.muted{margin:0 0 16px;max-width:640px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-header-row h2{margin:0}.section-header-row .actions{display:flex;gap:8px}.section-header-row .ghost-button{padding:6px 12px;font-size:12px}.kv{display:grid;grid-template-columns:110px 1fr;gap:10px 14px;margin:4px 0 0;font-size:13px}.kv dt{color:var(--muted-2);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}.kv dd{margin:0;word-break:break-word}.steps{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:5px}.step{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:9px 13px;border-radius:var(--radius-sm);background:#08101f;border:1px solid var(--border-soft);font-size:12.5px}.step-name{color:var(--muted);font-family:var(--font-mono);font-size:12px}.step-status{font-weight:700;font-size:11px;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.step-done .step-status{color:var(--ok);background:var(--ok-soft)}.step-failed .step-status{color:var(--danger);background:var(--danger-soft)}.step-running .step-status{color:var(--warn);background:var(--warn-soft)}.step-pending .step-status{color:var(--muted-2);background:var(--border-soft)}.step-error{width:100%;color:var(--danger);margin:6px 0 0;font-size:11.5px;font-family:var(--font-mono);line-height:1.5}.flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 20px}.flag-row{flex-direction:row;align-items:center;gap:11px;color:var(--text);font-family:var(--font-mono);font-size:12px;font-weight:400}.admin-modules-groups{display:flex;flex-direction:column;gap:8px}.admin-modules-group{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#08101f;padding:0}.admin-modules-group summary{cursor:pointer;padding:10px 14px;font-size:12.5px;font-weight:600;color:var(--text);list-style:none;display:flex;align-items:center;gap:6px}.admin-modules-group summary::-webkit-details-marker{display:none}.admin-modules-group summary:before{content:"▸";color:var(--muted-2);font-size:10px;transition:transform .12s ease}.admin-modules-group[open] summary:before{transform:rotate(90deg)}.admin-modules-group .flag-grid{padding:4px 14px 14px}.inline-key-form{display:flex;flex-direction:column;gap:6px;margin-top:14px}.inline-key-form label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;flex-direction:row;align-items:center;gap:8px}.inline-key-row{display:flex;gap:8px}.inline-key-row input{flex:1}.form-page{max-width:620px}.stacked-form fieldset{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px 22px;background:var(--panel);box-shadow:var(--shadow-card)}.stacked-form legend{padding:0 8px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.stacked-form label{margin-bottom:12px}.center-loading{text-align:center;padding:80px 0;color:var(--muted);font-size:13px}.error-boundary{max-width:520px;margin:80px auto;padding:32px;text-align:center}.error-boundary h1{font-size:20px;margin:0 0 10px}.error-boundary .muted{margin:0 0 18px}.error-boundary-detail{background:var(--panel-raised);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;color:var(--danger);text-align:left;overflow-x:auto;margin:0 0 18px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:8px}.stat-tile{display:flex;flex-direction:column;gap:3px;background:#08101f;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:13px 14px}.stat-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}.stat-value{font-size:21px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat-sub{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.subsection-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);margin:20px 0 10px}
