:root{color-scheme:light;--bg:#f2f6fb;--surface:#ffffff;--surface-muted:#eef3f9;--border:#dbe4ee;--border-strong:#c0cee0;--text:#16233a;--text-muted:#56698a;--text-faint:#8a99b8;--accent:#1e50a2;--accent-hover:#163e80;--accent-soft:#e8f0fc;--topbar-bg:#16305c;--topbar-bg-hover:#1e3f76;--topbar-border:#0f2245;--topbar-text:#ffffff;--topbar-text-muted:#b7c8e6;--danger:#9f1e1e;--danger-soft:#fbecec;--success:#1a7f4e;--success-soft:#eaf6ef;--shadow-card:0 1px 2px rgba(16, 35, 70, 0.05),0 8px 20px -8px rgba(16, 35, 70, 0.14);--shadow-auth:0 2px 4px rgba(16, 35, 70, 0.06),0 24px 48px -16px rgba(16, 35, 70, 0.2);--focus-ring:0 0 0 2px #ffffff,0 0 0 4px var(--accent);--font-mono:ui-monospace,"SF Mono","Roboto Mono","JetBrains Mono",Menlo,Consolas,monospace;--radius:8px;--radius-lg:8px}:root[data-theme=dark]{color-scheme:dark;--bg:#121212;--surface:#1e1e1e;--surface-muted:#262626;--border:#333333;--border-strong:#474747;--text:#e9e9e9;--text-muted:#a8a8a8;--text-faint:#757575;--accent:#6ea8fe;--accent-hover:#8ebbff;--accent-soft:#223047;--topbar-bg:#181818;--topbar-bg-hover:#232323;--topbar-border:#0a0a0a;--topbar-text:#ffffff;--topbar-text-muted:#b0b0b0;--danger:#f28b82;--danger-soft:#3a2222;--success:#81c995;--success-soft:#1f3327;--shadow-card:0 1px 2px rgba(0, 0, 0, 0.4),0 8px 20px -8px rgba(0, 0, 0, 0.6);--shadow-auth:0 2px 4px rgba(0, 0, 0, 0.45),0 24px 48px -16px rgba(0, 0, 0, 0.75);--focus-ring:0 0 0 2px #121212,0 0 0 4px var(--accent)}*{box-sizing:border-box}.is-hidden{display:none!important}body,html{height:100%}body{margin:0;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;transition:background-color .15s,color .15s}button,input{font-family:inherit}a:focus-visible,button:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:var(--radius)}.topbar__logo{display:block;height:36px;width:auto}.auth-page{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:var(--bg)}.auth-page__logo-wrap{display:flex;align-items:center;justify-content:center;padding:28px 44px;margin-bottom:32px;border-radius:var(--radius-lg);background:var(--topbar-bg);box-shadow:var(--shadow-card)}.auth-page__logo{display:block;height:84px;width:auto}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-auth);padding:36px 34px 30px}.auth-card h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.01em;text-align:center}.auth-card__subtitle{margin:0 0 28px;font-size:14px;color:var(--text-muted);text-align:center}.oauth-actions{display:flex;flex-direction:column;gap:12px}.btn{appearance:none;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .1s,border-color .1s}.btn-oauth{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 16px;background:var(--accent);color:#fff;font-size:15px}.btn-oauth:hover{background:var(--accent-hover)}.btn-oauth svg{width:20px;height:20px;flex:none}.btn-oauth--discord{background:#5865f2}.btn-oauth--discord:hover{background:#4752c4}.btn-oauth--steam{background:#1b2838}.btn-oauth--steam:hover{background:#2a475e}.form-error{display:none;align-items:flex-start;gap:8px;padding:11px 13px;margin-bottom:20px;border-radius:var(--radius);background:var(--danger-soft);border:1px solid #f0caca;color:var(--danger);font-size:13.5px;line-height:1.5}.form-error.is-visible{display:flex}.form-error svg{width:15px;height:15px;flex:none;margin-top:1px}.auth-footer{margin-top:22px;text-align:center;font-size:12px;color:var(--text-faint);line-height:1.6}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;padding:11px 24px;border-bottom:1px solid var(--topbar-border);background:var(--topbar-bg)}.topbar__nav{display:flex;align-items:center;gap:18px;margin-left:28px}.topbar__nav-link{color:var(--topbar-text-muted);text-decoration:none;font-size:13.5px;font-weight:600}.topbar__nav-link.is-active,.topbar__nav-link:hover{color:var(--topbar-text)}.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:8px}.btn-ghost{padding:7px 12px;background:0 0;color:var(--topbar-text);border:1px solid rgba(255,255,255,.3)}.btn-ghost:hover{color:#fff;background:var(--topbar-bg-hover);border-color:rgba(255,255,255,.5)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}.theme-toggle__icon{width:17px;height:17px}.theme-toggle__icon--moon{display:none}:root[data-theme=dark] .theme-toggle__icon--sun{display:none}:root[data-theme=dark] .theme-toggle__icon--moon{display:block}.main{flex:1;padding:40px 24px 60px;display:flex;justify-content:center}.main__inner{width:100%;max-width:560px;min-width:0}.main__inner--wide{max-width:1440px}.welcome-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px 24px;margin-bottom:16px}.welcome-card h1{margin:0 0 8px;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--accent)}.welcome-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.detail-list{margin:16px 0 0}.detail-list__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--border)}.detail-list__row:first-child{border-top:none;padding-top:2px}.detail-list__row dt{font-size:13px;color:var(--text-muted)}.detail-list__row dd{margin:0;font-size:14px;font-weight:500;font-family:var(--font-mono)}.detail-list__row dd.is-placeholder{font-weight:400;color:var(--text-faint);font-size:12.5px}.copy-value{position:relative;appearance:none;border:none;padding:0;background:0 0;font:inherit;color:inherit;cursor:pointer;border-radius:3px}.copy-value::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-2px);padding:3px 7px;border-radius:4px;background:var(--text);color:var(--bg);font-size:10.5px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;z-index:30}.copy-value:hover::after{opacity:1;transform:translateX(-50%) translateY(-6px)}.detail-sep{display:inline-block;margin:0 6px;color:var(--text-faint)}.loading-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--bg);color:var(--text-faint);font-size:14px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:.8s linear infinite spin}.spinner--small{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.status-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:3px 8px;border-radius:var(--radius);border:1px solid transparent}.status-badge--active{background:var(--success-soft);border-color:#bfe3cd;color:var(--success)}.status-badge--inactive{background:var(--surface-muted);border-color:var(--border-strong);color:var(--text-faint)}.account-top-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;align-items:stretch;margin-bottom:16px}@media (max-width:800px){.account-top-grid{grid-template-columns:1fr}}.account-top-grid .welcome-card{display:flex;flex-direction:column;margin-bottom:0}.account-info .detail-list__row dd{font-family:inherit}.users-toolbar{margin:16px 0 4px}.search-input{width:100%;max-width:360px;padding:8px 12px;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius)}.data-table tbody tr.row-link{cursor:pointer}.table-wrap{position:relative;overflow-x:auto;margin:12px -4px 0}.table-loading-overlay{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 70%,transparent)}.table-wrap.is-loading .data-table{opacity:.4}.table-wrap.is-loading .table-loading-overlay{display:flex}.data-table th.sortable{cursor:pointer;user-select:none}.data-table th.sortable:hover{color:var(--text)}.sort-indicator{display:inline-block;margin-left:4px;font-size:10px;color:var(--accent)}.data-table th.filterable{position:relative;cursor:default}.filter-menu{display:none;position:absolute;top:100%;left:0;margin-top:-2px;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:4px;min-width:84px;text-transform:none;letter-spacing:normal;font-weight:400}.data-table th.filterable:hover .filter-menu{display:block}.filter-menu__option{display:block;width:100%;text-align:left;padding:6px 10px;background:0 0;border:none;border-radius:calc(var(--radius) - 2px);font-size:12.5px;color:var(--text);cursor:pointer}.filter-menu__option:hover{background:var(--surface-muted)}.filter-menu__option.is-active{color:var(--accent);font-weight:700}.data-table th.filterable.has-filter{color:var(--accent)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.pagination__info{font-size:12.5px;color:var(--text-muted)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table td,.data-table th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td.reason-cell{white-space:normal;min-width:220px;max-width:420px}.data-table thead th{font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;background:var(--surface-muted)}.data-table tbody tr:hover{background:var(--surface-muted)}.data-table__row--empty td{color:var(--text-faint)}.data-table__row--empty:hover{background:0 0}.table-empty{padding:20px 0;text-align:center;color:var(--text-faint);font-size:13.5px}.chart-card h1{margin-bottom:4px}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.segmented{display:inline-flex;padding:3px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);gap:2px}.segmented button{appearance:none;border:none;background:0 0;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--text-muted);border-radius:calc(var(--radius) - 2px);cursor:pointer}.segmented button:hover{color:var(--text)}.segmented button.is-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-card)}.date-range{display:flex;align-items:center;gap:8px}.date-range input[type=date]{padding:6px 8px;font-size:12.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius)}.date-range__dash{color:var(--text-faint);font-size:12px}.btn-secondary{padding:8px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--surface-muted)}.btn--small{padding:6px 12px;font-size:12.5px}.chart-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chart-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-size:12.5px;font-weight:500;cursor:pointer}.chart-chip__swatch{width:9px;height:9px;border-radius:50%;flex:none}.chart-chip.is-active{color:var(--text);border-color:var(--border-strong);background:var(--surface-muted)}.chart-chip:not(.is-active),.chart-chip:not(.is-active) .chart-chip__swatch{opacity:.5}.chart-container{margin-top:14px}.chart-svg-wrap{position:relative;width:100%}.chart-svg{display:block;width:100%;height:auto}.chart-hit{cursor:crosshair}.chart-gridline{stroke:var(--border);stroke-width:1}.chart-baseline{stroke:var(--border-strong);stroke-width:1}.chart-axis-label{fill:var(--text-faint);font-size:11px}.chart-empty-label{fill:var(--text-faint);font-size:13px}.chart-crosshair{stroke:var(--border-strong);stroke-width:1}.chart-hover-dot{stroke:var(--surface)}.chart-tooltip{position:absolute;min-width:160px;max-width:240px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-auth);pointer-events:none;z-index:5}.chart-tooltip__title{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.chart-tooltip__row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:12.5px}.chart-tooltip__key{width:10px;height:2px;border-radius:1px;flex:none}.chart-tooltip__name{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tooltip__value{font-weight:700;color:var(--text);flex:none}@media (max-width:700px){.auth-page{padding:24px 16px}.auth-page__logo-wrap{padding:20px 32px;margin-bottom:24px}.auth-page__logo{height:64px}.auth-card{padding:28px 22px 24px}.topbar{flex-wrap:wrap;row-gap:10px;padding:12px 16px}.topbar__nav{order:3;width:100%;margin-left:0;gap:14px;overflow-x:auto}.main{padding:20px 12px 40px}.welcome-card{padding:18px 16px}.account-top-grid{gap:12px}.chart-controls{justify-content:flex-start}.date-range{flex-wrap:wrap}.data-table td,.data-table th{padding:8px;font-size:12.5px}.pagination{flex-wrap:wrap}}@media (max-width:420px){.topbar__logo{height:24px}.topbar__actions .btn-ghost:not(.theme-toggle){padding:7px 10px;font-size:12.5px}}