:root{--bg: #11111A;--panel: #191925;--accent: #BDB8FF;--success: #50D5D0;--danger: #F16F7A;--text: #e0e0ea;--text-dim: #8a8aa0;--border: rgba(189, 184, 255, .12);--radius: .5rem;--font-mono: "SFMono-Regular", Consolas, monospace;--font-sans: "PingFang SC", "Noto Sans SC", system-ui, sans-serif;font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}.login-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 2rem 25vh;background:radial-gradient(circle at 75% 20%,rgba(189,184,255,.08),transparent 40rem),var(--bg)}.login-brand{text-align:center;margin-bottom:1.5rem}.brand-logo{display:block;flex:none;object-fit:contain;border-radius:24%}.brand-logo--login{width:6.5rem;height:6.5rem;margin:0 auto;filter:drop-shadow(0 .75rem 1.5rem rgba(99,102,241,.2))}.brand-logo--header{width:2.5rem;height:2.5rem;filter:drop-shadow(0 .25rem .6rem rgba(99,102,241,.18))}.brand-name{display:block;color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em}.login-brand .brand-name{margin-top:.75rem}.brand-copy{display:flex;flex-direction:column;gap:.15rem}.brand-context{color:var(--accent);font-family:var(--font-mono);font-size:.55rem;letter-spacing:.12em}.login-title{margin:1.5rem 0 .25rem;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;letter-spacing:-.04em;color:#fff}.login-subtitle{margin:0;color:var(--text-dim);font-size:.95rem}.login-form{width:min(100%,24rem);display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:.8rem;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em}.form-field input{padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #bdb8ff26}.form-field textarea{padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s;resize:vertical;min-height:3.6rem;font-family:inherit}.form-error{margin:0;padding:.6rem .85rem;border-radius:var(--radius);background:#f16f7a1a;color:var(--danger);font-size:.85rem}.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);background:var(--accent);color:var(--bg);font-weight:650;font-size:.95rem;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-panel{padding:1.5rem;border:1px solid var(--border);border-radius:.8rem;background:var(--panel)}.settings-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.mono-label{color:var(--text-dim);font:.72rem var(--font-mono);letter-spacing:.12em}.payment-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.payment-channel-card{position:relative;display:grid;gap:.45rem;min-height:8rem;padding:1.1rem;text-align:left;color:var(--text);background:#141420;border:1px solid var(--border);border-radius:.7rem;cursor:pointer}.payment-channel-card:hover,.payment-channel-card:focus-visible{border-color:#bdb8ff8c;outline:none}.payment-channel-card.is-active{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent),0 0 0 1px #bdb8ff1f}.payment-channel-card small{color:var(--text-dim);line-height:1.5}.payment-channel-card__signal{width:.55rem;height:.55rem;border-radius:50%;background:var(--text-dim)}.payment-channel-card.is-active .payment-channel-card__signal{background:var(--success);box-shadow:0 0 .7rem #50d5d099}.settings-message{margin:1rem 0 0;color:var(--success)}@media(max-width:640px){.payment-channel-grid{grid-template-columns:1fr}}.admin-shell{display:grid;grid-template-columns:14rem 1fr;grid-template-rows:auto 1fr;min-height:100vh}.admin-nav{display:flex;flex-direction:column;padding:1.5rem;background:var(--panel);border-right:1px solid var(--border)}.nav-brand{display:flex;align-items:center;gap:.5rem}.nav-links{list-style:none;margin:0;padding:0;flex:1}.nav-links a{display:block;padding:.6rem .75rem;border-radius:var(--radius);color:var(--text-dim);text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.nav-links a:hover{background:#bdb8ff0f}.nav-links a.active{background:#bdb8ff1a;color:var(--accent)}.admin-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .25rem;border:1px solid transparent;border-radius:99px;background:none;color:var(--text);font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s}.user-menu-btn:hover,.user-menu-btn[aria-expanded=true]{border-color:var(--border);background:#bdb8ff0f}.user-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-avatar{width:2rem;height:2rem;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.user-avatar-placeholder{display:inline-grid;width:2rem;height:2rem;place-items:center;border-radius:50%;border:2px solid var(--accent);background:#bdb8ff1f;color:var(--accent);font-family:var(--font-mono);font-weight:700;font-size:.85rem}.user-avatar-sm{width:2rem;height:2rem;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.user-avatar-placeholder-sm{display:inline-grid;width:2rem;height:2rem;place-items:center;border-radius:50%;border:2px solid var(--accent);background:#bdb8ff1f;color:var(--accent);font-family:var(--font-mono);font-weight:700;font-size:.75rem}.user-name{font-size:.85rem}.user-menu-chevron{font-size:.65rem;color:var(--text-dim);transition:transform .15s}.user-menu-btn[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .35rem);right:0;min-width:10rem;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:0 8px 24px #0006;z-index:50}.user-menu-dropdown button{display:block;width:100%;padding:.55rem .85rem;border:none;border-radius:calc(var(--radius) - .1rem);background:none;color:var(--text);font-size:.85rem;text-align:left;cursor:pointer;transition:background .15s}.user-menu-dropdown button:hover{background:#bdb8ff14}.user-menu-dropdown button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.user-menu-dropdown .dropdown-danger{color:var(--danger)}.user-menu-dropdown .dropdown-danger:hover{background:#f16f7a1a}.admin-content{padding:2rem}.page-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#fff}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}.info-card{padding:1.25rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.info-label{display:block;font-size:.75rem;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;margin-bottom:.3rem}.info-value{font-size:1rem}.status-on{color:var(--success)}.status-off{color:var(--danger)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.5rem}.card{padding:1.5rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.card h3{margin:0 0 1rem;font-size:1rem;font-weight:650}.card-form{display:flex;flex-direction:column;gap:.85rem}.form-success{margin:0;padding:.6rem .85rem;border-radius:var(--radius);background:#50d5d01a;color:var(--success);font-size:.85rem}.btn-secondary{display:inline-block;padding:.55rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.85rem;cursor:pointer;transition:border-color .15s}.btn-secondary:hover{border-color:var(--accent)}.avatar-uploader{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.avatar-preview{width:5rem;height:5rem;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.table-toolbar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.search-input{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.9rem;min-width:14rem}.search-input:focus{outline:none;border-color:var(--accent)}.table-toolbar select{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.9rem}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.65rem .75rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);font-size:.9rem}.data-table th{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim);letter-spacing:.06em;font-weight:600}.mono{font-family:var(--font-mono);font-size:.85rem}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:99px;font-size:.75rem;font-family:var(--font-mono)}.status-badge.on{background:#50d5d01f;color:var(--success)}.status-badge.off,.status-badge.pending{background:#f16f7a1f;color:var(--danger)}.status-badge.info{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.actions{white-space:nowrap}.actions .btn-link+.btn-link{margin-left:.5rem}.btn-link{padding:0;border:none;background:none;color:var(--accent);font-size:.85rem;cursor:pointer}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--danger)}.btn-link:disabled{opacity:.35;cursor:not-allowed}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.85rem;color:var(--text-dim)}.pagination-btns{display:flex;gap:.5rem}.pagination-btns button{padding:.35rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.85rem;cursor:pointer}.pagination-btns button:disabled{opacity:.35;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-dim);padding:3rem}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100}.drawer{width:min(100%,30rem);max-height:90vh;overflow-y:auto;padding:2rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.drawer h3{margin:0 0 1.5rem;font-size:1.15rem;font-weight:700}.drawer-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.role-group{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin:0}.role-group legend{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim)}.role-checkbox{display:inline-flex;align-items:center;gap:.3rem;margin-right:1rem;font-size:.9rem;cursor:pointer}.confirm-dialog{width:min(100%,24rem);max-height:90vh;overflow-y:auto;padding:1.5rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border)}.user-role-dialog{width:min(calc(100% - 2rem),48rem);max-height:92vh}.identity-section{margin:0 0 1.25rem;padding:1rem;border:1px solid rgba(189,184,255,.2);border-radius:calc(var(--radius) + 2px);background:#bdb8ff09}.identity-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.identity-kicker{display:block;margin-bottom:.2rem;color:var(--accent);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em}.identity-section h4{margin:0;font-size:1rem}.identity-lock{padding:.3rem .5rem;border:1px solid rgba(80,213,208,.2);border-radius:999px;color:var(--success);font-family:var(--font-mono);font-size:.65rem;white-space:nowrap}.identity-number-field{margin-bottom:.9rem}.identity-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.identity-upload-card{min-width:0;padding:.65rem;border:1px solid var(--border);border-radius:var(--radius);background:#11111a73}.identity-preview{aspect-ratio:1.58 / 1;overflow:hidden;border:1px dashed rgba(189,184,255,.3);border-radius:7px;background:#11111a}.identity-preview img{width:100%;height:100%;object-fit:cover}.identity-placeholder{display:grid;grid-template-columns:30% 1fr;align-items:center;gap:10%;height:100%;padding:12%;opacity:.35}.identity-placeholder-photo{aspect-ratio:.8;border:1px solid var(--accent);border-radius:45% 45% 20% 20%}.identity-placeholder-lines{height:50%;background:repeating-linear-gradient(to bottom,var(--accent) 0 1px,transparent 1px .65rem)}.identity-upload-meta{display:flex;flex-direction:column;gap:.15rem;margin:.55rem 0}.identity-upload-meta strong{font-size:.8rem}.identity-upload-meta span,.identity-privacy-note{color:var(--text-dim);font-size:.7rem}.identity-upload-button{position:relative;width:100%;text-align:center}.identity-upload-button:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #bdb8ff26}.identity-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.identity-upload-error{margin:.4rem 0 0;color:var(--danger);font-size:.72rem}.identity-privacy-note{margin:.75rem 0 0}.confirm-dialog h3{margin:0 0 .5rem;font-size:1.05rem}.confirm-dialog p{margin:0 0 1rem;font-size:.9rem;color:var(--text-dim)}.confirm-dialog .form-error{color:var(--danger)}.game-select-section{margin:0 0 1.25rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:#11111a66}.game-select-hint{font-size:.85rem;color:var(--text-dim);margin:0 0 .5rem}.game-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.danger-btn{background:var(--danger)!important}@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;border-right:none;border-bottom:1px solid var(--border)}.admin-header{padding:.5rem 1rem}.nav-brand{margin-bottom:0}.nav-links{display:flex;flex-wrap:wrap;gap:.25rem}.nav-links a{font-size:.8rem;padding:.35rem .5rem}.login-shell{padding:1rem 1rem 20vh}.profile-grid{grid-template-columns:1fr}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.4rem .5rem}.identity-upload-grid{grid-template-columns:1fr}.identity-section-heading{align-items:center}}@media(prefers-reduced-motion:reduce){.login-shell{padding:1rem 1rem 20vh}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.game-profile-row{margin-bottom:.5rem}.profile-fields{display:flex;gap:1rem;align-items:center;margin:.5rem 0 .75rem 1.5rem;flex-wrap:wrap}.profile-field{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-dim)}.profile-input{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.25rem .5rem;font-size:.8rem;font-family:var(--font-mono)}.profile-input:focus{border-color:var(--accent);outline:none}.profile-input-sm{width:80px}.profile-input-md{width:120px}.profile-select{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.25rem .5rem;font-size:.8rem}.profile-select:focus{border-color:var(--accent);outline:none}
