@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Syne:wght@600;700&display=swap";:root{--bg0:#0b0e13;--bg1:#131820;--bg2:#1a2130;--line:#a8bee61c;--line-strong:#a8bee633;--text:#e4eaf4;--text-2:#9aa4b8;--muted:#6f7a8f;--faint:#555f72;--accent:#2fb9a8;--accent-dim:#1a7d72;--accent-soft:#2fb9a81f;--accent-line:#2fb9a861;--accent-fg:#b8ebe3;--warn:#e0a06a;--danger:#d87878;--ink:#061016;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-xl:1.375rem;--lh:1.45;--lh-tight:1.3;--radius-sm:8px;--radius-md:12px;--font:"IBM Plex Sans", "Segoe UI", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--display:"Syne", "IBM Plex Sans", "PingFang SC", sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", "Menlo", monospace;--ease:.16s ease}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);font-size:var(--fs-md);font-weight:400;line-height:var(--lh);color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse 70% 45% at 10% -8%, #2fb9a80d, transparent 55%), radial-gradient(ellipse 50% 35% at 92% 0%, #506eaa0a, transparent 50%), linear-gradient(180deg, #090b10 0%, var(--bg0) 40%, #0c1018 100%);background-attachment:fixed;margin:0}button,input,select{font:inherit;color:inherit}.page{isolation:isolate;max-width:1040px;margin:0 auto;padding:22px 20px 56px;position:relative}.page-atmos{z-index:0;pointer-events:none;height:280px;position:absolute;inset:0 0 auto;overflow:hidden}.page-glow{filter:blur(8px);background:radial-gradient(#2fb9a817,#0000 70%);width:min(70vw,520px);height:220px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.page>:not(.page-atmos){z-index:1;position:relative}.top{border:1px solid var(--line);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px)saturate(1.05);background:#0c10189e;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex;box-shadow:inset 0 1px #ffffff08,0 12px 32px #00000038}.top-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:38px;height:38px;box-shadow:0 0 0 1px var(--accent-line), 0 8px 20px #2fb9a824;background-color:#1a7d72;background-image:url(/favicon.svg),linear-gradient(135deg,#2fb9a8 0%,#4a6bb8 62%,#2a3550 100%);background-position:50%,50%;background-repeat:no-repeat,no-repeat;background-size:cover,cover;border-radius:10px;flex-shrink:0}.brand h1{font-family:var(--display);font-size:var(--fs-xl);letter-spacing:.01em;margin:0;font-weight:700}.sub{font-size:var(--fs-sm);color:var(--text-2);margin:2px 0 0}.login-shell{isolation:isolate;justify-content:center;align-items:center;min-height:100dvh;padding:clamp(24px,5vh,48px) clamp(16px,4vw,36px);display:flex;position:relative;overflow:hidden}.login-shell--boot .login-boot-msg{z-index:1;font-size:var(--fs-sm);color:var(--muted);letter-spacing:.04em;margin:0;position:relative}.login-atmos{z-index:0;pointer-events:none;position:absolute;inset:0}.login-grid{opacity:.55;background-image:linear-gradient(#a8bee609 1px,#0000 1px),linear-gradient(90deg,#a8bee609 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 42%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 42%,#000 20%,#0000 75%)}.login-veil{background:radial-gradient(55% 40% at 50% 0,#2fb9a812,#0000 60%),radial-gradient(45% 35% at 80% 85%,#5a78b40f,#0000 55%),linear-gradient(#06080c33 0%,#0000 35%,#06080c8c 100%);position:absolute;inset:0}.login-glow{filter:blur(12px);border-radius:50%;position:absolute}.login-glow--a{background:radial-gradient(circle,#2fb9a824,#0000 68%);width:min(52vw,420px);height:min(52vw,420px);animation:12s ease-in-out infinite alternate login-glow-drift;top:8%;left:50%;transform:translate(-50%)}.login-glow--b{background:radial-gradient(circle,#5a78b41a,#0000 70%);width:min(40vw,320px);height:min(40vw,320px);animation:16s ease-in-out infinite alternate-reverse login-glow-drift;bottom:4%;right:6%}.login-rail{opacity:.7;background:linear-gradient(#0000,#a8bee624 20%,#2fb9a838 50%,#a8bee624 80%,#0000);width:1px;position:absolute;top:12%;bottom:12%}.login-rail--l{left:max(18px,6vw)}.login-rail--r{right:max(18px,6vw)}.login-stage{z-index:1;flex-direction:column;gap:22px;width:min(420px,100%);animation:.52s cubic-bezier(.22,1,.36,1) both login-rise;display:flex;position:relative}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.login-mark{width:46px;height:46px;box-shadow:0 0 0 1px var(--accent-line), 0 12px 28px #2fb9a829;border-radius:12px;margin-bottom:4px}.login-title{font-family:var(--display);letter-spacing:.02em;color:var(--text);margin:0;font-size:clamp(1.75rem,4.5vw,2.125rem);font-weight:700;line-height:1.1}.login-lead{font-size:var(--fs-sm);color:var(--text-2);letter-spacing:.02em;margin:0}.login-panel{-webkit-backdrop-filter:blur(16px)saturate(1.1);background:#0e121ac7;border:1px solid #a8bee624;border-radius:16px;margin:0;padding:22px 22px 20px;animation:.64s cubic-bezier(.22,1,.36,1) 50ms both login-rise;position:relative;box-shadow:inset 0 1px #ffffff0a,0 20px 44px #0006}.login-frame{pointer-events:none;opacity:.55;background:linear-gradient(var(--accent-line), var(--accent-line)) top left / 14px 1px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) top left / 1px 14px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) top right / 14px 1px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) top right / 1px 14px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) bottom left / 14px 1px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) bottom left / 1px 14px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) bottom right / 14px 1px no-repeat, linear-gradient(var(--accent-line), var(--accent-line)) bottom right / 1px 14px no-repeat;border-radius:10px;position:absolute;inset:10px}.login-panel-head{text-align:left;margin-bottom:14px}.login-panel-head h2{font-family:var(--display);letter-spacing:.01em;color:var(--text);margin:0;font-size:1.0625rem;font-weight:600}.login-panel-head p{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-tight);margin:4px 0 0}.login-banner{border-radius:var(--radius-sm);background:#e0a06a14;border:1px solid #e0a06a47;margin:0 0 12px;padding:8px 10px}.login-stack{flex-direction:column;gap:12px;display:flex}.login-field{background:0 0;border:0;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:0;display:flex}.login-label{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--text-2);padding-left:2px;font-weight:500}.login-field input,.login-field select{border:1px solid var(--line-strong);border-radius:var(--radius-md);width:100%;min-width:0;color:var(--text);transition:border-color var(--ease), box-shadow var(--ease), background-color var(--ease);background-color:#080c149e;outline:none;padding:12px 14px}.login-field select{appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.login-field select option{color:var(--text);background:#121820}.login-field input::placeholder{color:var(--faint)}.login-field input:hover:not(:disabled),.login-field select:hover:not(:disabled){border-color:#a8bee647}.login-field:focus-within input,.login-field:focus-within select{background-color:#080c14c7;border-color:#2fb9a880;box-shadow:0 0 0 3px #2fb9a824}.login-field select:disabled,.login-field input:disabled{opacity:.55;cursor:not-allowed}.login-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.login-submit{width:100%;min-height:44px;padding-inline:18px}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes login-glow-drift{0%{opacity:.55}to{opacity:.95}}.card-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#0c101894;border-radius:14px;padding:14px 14px 16px;box-shadow:inset 0 1px #ffffff08,0 16px 40px #0003}.admin-shell{flex-direction:column;gap:16px;display:flex}.realm-tabs,.admin-tabs{border-radius:var(--radius-sm);border:1px solid var(--line);background:#0000005c;gap:3px;padding:3px;display:flex}.realm-tabs{min-width:168px}.realm-tab,.admin-tab{border-radius:calc(var(--radius-sm) - 1px);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;transition:background var(--ease), color var(--ease), box-shadow var(--ease);background:0 0;border:0;flex:1;padding:8px 12px;font-weight:500}.realm-tab:hover,.admin-tab:hover{color:var(--text);background:#ffffff08}.realm-tab.active,.admin-tab.active{background:var(--accent-soft);color:var(--accent-fg);box-shadow:inset 0 0 0 1px var(--accent-line)}.admin-tab-panel{flex-direction:column;gap:14px;animation:.22s cubic-bezier(.22,1,.36,1) both panel-in;display:flex}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:2px;display:flex}.admin-toolbar-text,.admin-block-head{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-section-title{font-family:var(--display);letter-spacing:.01em;color:var(--text);font-size:.9375rem;font-weight:600;line-height:var(--lh-tight);margin:0}.admin-section-sub{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-tight);margin:0}.admin-block{border:1px solid var(--line);border-radius:var(--radius-md);background:#0000002e;flex-direction:column;gap:12px;padding:14px;display:flex}.admin-block--quiet{background:#0000001a}.admin-block-field{max-width:280px}.login-field--narrow{max-width:160px;flex:0 140px!important;min-width:110px!important}.empty-hint{text-align:center;border:1px dashed var(--line);border-radius:var(--radius-sm);background:#0000001f;padding:22px 14px}.admin-platform-status{border-radius:var(--radius-md);border:1px solid var(--line);background:#00000038;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.admin-platform-status.ok{background:linear-gradient(90deg,#2fb9a814,#0000002e 42%);border-color:#2fb9a847}.admin-platform-status.bad{background:linear-gradient(90deg,#e0a06a14,#0000002e 42%);border-color:#e0a06a47}.admin-ready-pill{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--warn);background:#e0a06a1a;border:1px solid #e0a06a59;border-radius:999px;align-items:center;padding:4px 10px;font-weight:600;display:inline-flex}.admin-ready-pill.ok{color:var(--accent-fg);background:var(--accent-soft);border-color:var(--accent-line)}.admin-platform-meta{font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.admin-platform-path{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--line);background:#ffffff0a;border-radius:6px;padding:2px 7px}.legacy-scan{font-size:var(--fs-sm);color:var(--text-2);margin:0}.legacy-scan.warn{color:var(--warn)}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-list{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-row{border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--ease), background var(--ease);background:#0000003d;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:11px 13px;display:grid}.admin-row:hover{background:#00000052;border-color:#a8bee638}.admin-row.is-muted{opacity:.62}.admin-row.is-bad{background:#e0a06a0a;border-color:#e0a06a38}.admin-row--card{flex-direction:column;align-items:stretch;gap:8px;display:flex}.admin-row-head{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 10px;min-width:0;display:grid}.admin-row--wide{grid-template-columns:minmax(0,1.1fr) auto minmax(0,1.4fr)}.admin-row-key{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.admin-row-meta{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.admin-row-spacer{min-width:2.5rem;display:inline-block}.admin-row-id-stack{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.admin-mask{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-row-reason{font-size:var(--fs-xs);color:var(--warn);-webkit-line-clamp:2;word-break:break-word;background:#e0a06a14;border:1px solid #e0a06a33;border-radius:6px;-webkit-box-orient:vertical;margin:0;padding:7px 9px;line-height:1.4;display:-webkit-box;overflow:hidden}.provider-tag{min-width:2.6rem;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.03em;color:var(--accent-fg);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:6px;justify-content:center;align-items:center;padding:2px 7px;font-weight:600;display:inline-flex}.usage-pill{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-2);border:1px solid var(--line);background:#ffffff0a;border-radius:999px;justify-self:start;align-items:center;padding:3px 8px;font-weight:500;display:inline-flex}.usage-pill.full{color:var(--warn);background:#e0a06a14;border-color:#e0a06a4d}.usage-pill.revoked{color:var(--muted);opacity:.85}.admin-balance{font-variant-numeric:tabular-nums;color:var(--accent-fg);font-weight:600;font-size:var(--fs-sm);justify-self:start}.status-dot{font-size:var(--fs-2xs);letter-spacing:.02em;color:var(--accent-fg);background:var(--accent-soft);border:1px solid var(--accent-line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-weight:600;display:inline-flex}.status-dot:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #2fb9a880}.status-dot.off{color:var(--warn);background:#e0a06a1a;border-color:#e0a06a59}.status-dot.off:before{background:var(--warn);box-shadow:0 0 6px #e0a06a66}.admin-list .admin-adjust-input{border:1px solid var(--line-strong);width:5.5rem;color:var(--text);font:inherit;font-size:var(--fs-sm);background:#080c149e;border-radius:6px;padding:6px 8px}.admin-list .admin-adjust-input:focus{border-color:#2fb9a880;outline:none;box-shadow:0 0 0 2px #2fb9a81f}.fallback-order-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fallback-order-row{border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--ease);background:#00000047;align-items:center;gap:10px;padding:9px 11px;display:flex}.fallback-order-row:hover{border-color:#a8bee638}.fallback-order-rank{height:1.6rem;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--accent-fg);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:6px;flex:0 0 1.6rem;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.fallback-order-id{min-width:0;font-family:var(--mono);font-size:var(--fs-sm);color:var(--text);flex:1;font-weight:500}.fallback-order-actions{flex-wrap:wrap;gap:4px;display:flex}.fallback-order-add{flex-direction:column;gap:6px;display:flex}.fallback-order-chips{flex-wrap:wrap;gap:6px;display:flex}.login-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.login-row .login-field{flex:140px;min-width:120px}.platform-card-add .btn{flex:none;min-height:42px}.helper{font-size:var(--fs-sm);color:var(--text-2);margin:0}.helper.muted{color:var(--muted)}.helper.warn-text,.warn-text{color:var(--warn)}.banner-msg{border-radius:var(--radius-sm);border:1px solid var(--accent-line);color:var(--accent-fg);font-size:var(--fs-sm);background:#2fb9a814;margin:0 0 12px;padding:10px 14px;animation:.2s both panel-in;box-shadow:inset 0 1px #ffffff08}.btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;font-weight:500;line-height:var(--lh-tight);transition:border-color var(--ease), background var(--ease), color var(--ease), filter var(--ease), transform var(--ease);background:#ffffff08;justify-content:center;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:var(--ink);border-color:#0000;font-weight:600;box-shadow:0 8px 20px #2fb9a82e}.btn.primary:hover:not(:disabled){filter:brightness(1.06);background:linear-gradient(135deg, var(--accent), var(--accent-dim))}.btn.ghost{color:var(--text-2);background:0 0}.btn.ghost:hover:not(:disabled){color:var(--text);background:#ffffff0d}.btn.sm{font-size:var(--fs-xs);min-height:28px;padding:5px 9px}.btn.icon-btn{min-width:28px;padding-inline:6px;font-size:.8125rem}.btn.chip{font-size:var(--fs-xs);color:var(--text-2);border-color:var(--line-strong);background:#ffffff08;padding:5px 10px}.btn.chip:hover:not(:disabled){color:var(--accent-fg);border-color:var(--accent-line);background:var(--accent-soft)}.btn.btn-block{width:100%;min-height:40px}.btn.logout{color:var(--danger);background:0 0;border-color:#d8787859;padding:7px 12px}.btn.logout:hover:not(:disabled){color:#eaa0a0;background:#d878781a;border-color:#d878788c}.danger-text{color:var(--danger)!important}.btn.ghost.danger-text:hover:not(:disabled){background:#d878781a;border-color:#d8787866;color:#eaa0a0!important}code{font-family:var(--mono);color:var(--text);font-size:.92em}@media (width<=720px){.admin-row,.admin-row--wide{grid-template-columns:minmax(0,1fr) auto}.admin-row>.usage-pill,.admin-row>.admin-row-meta,.admin-row>.admin-row-id-stack,.admin-row>.admin-balance,.admin-row>.status-dot{grid-column:1}.admin-row>.admin-row-actions{grid-area:1/2}.admin-row-head{grid-template-columns:auto minmax(0,1fr) auto}.admin-row-head .admin-row-actions{grid-column:1/-1;justify-content:flex-start;margin-left:0}}@media (width<=640px){.top{flex-direction:column}.top-actions{width:100%}.realm-tabs{flex:1}.btn.logout{width:100%}.admin-row--wide .admin-row-actions{justify-content:flex-start;width:100%}}@media (width<=520px){.login-rail{display:none}.login-panel{padding:18px 16px 16px}.login-frame{inset:8px}}@media (prefers-reduced-motion:reduce){.login-glow--a,.login-glow--b,.login-stage,.login-panel,.admin-tab-panel,.banner-msg{animation:none}.btn:active:not(:disabled){transform:none}}
