:root{font-family:Inter,Segoe UI,sans-serif;color:#ece9f4;background:#0e0c13;scroll-behavior:smooth;scroll-padding-top:18px}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:clamp(190px,15vw,230px) minmax(0,1fr);min-height:100vh}aside{background:#17131f;padding:28px 20px;border-right:1px solid #30283d;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}h1{font-size:18px;margin:0 0 28px}nav{display:grid;gap:8px}button{background:#342642;border:0;color:#e7dcf4;text-align:left;padding:10px 12px;border-radius:8px;font:inherit;cursor:pointer}nav button{background:transparent;color:#bdb5c9}nav button.active{background:#342642;color:#fff}button:hover{background:#49345d;color:#fff}aside small{margin-top:auto;color:#7f758e}main{padding:clamp(22px,3vw,46px);max-width:1600px;width:100%}header{display:flex;justify-content:space-between;align-items:start;gap:16px}h2{margin:0 0 6px;font-size:28px}p{margin:0;color:#92899f}.badge{background:#302040;color:#d8b7ff;padding:7px 11px;border-radius:999px;font-size:12px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0}.grid article,.panel{background:#17131f;border:1px solid #30283d;border-radius:12px;padding:20px}.panel+.panel{margin-top:16px}.grid label{display:block;color:#92899f;font-size:13px;margin-bottom:12px}.grid strong{font-size:24px}.panel h3{margin-top:0}.panel li{margin:10px 0;color:#c8c1d1}form{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}input,select{background:#0f0c14;border:1px solid #3b3148;border-radius:8px;color:#fff;padding:10px 12px;min-width:0}.check{display:flex;align-items:center;gap:6px;color:#c8c1d1}#channel-list,#rule-list,#member-list,#client-list,#audit-list,#self-check-list{display:grid;gap:8px;margin-top:14px}.channel,.rule,#member-list>div,#client-list>div,#audit-list>div,#self-check-list>div{padding:10px;border:1px solid #30283d;border-radius:8px}.rule button{float:right;padding:5px 8px;font-size:12px}.check-pass{border-color:#31563a!important;color:#b8e5bf}.check-fail{border-color:#763344!important;color:#ffb3c0}pre{white-space:pre-wrap;background:#0f0c14;border-radius:8px;padding:12px;color:#cdbde0;max-height:280px;overflow:auto}

button:disabled{cursor:not-allowed;opacity:.58}button.danger{background:#4a2533;color:#ffdbe6}button:hover:not(:disabled){background:#49345d;color:#fff}input:read-only{color:#b8afc2}.panel>p{margin-bottom:12px}.panel h4{margin:22px 0 10px}.form-status{display:block;min-height:18px;margin-top:10px;color:#b8d9b0}.form-status.error{color:#ff9aa8}.account-actions{display:inline-flex;gap:4px;margin:0 4px 6px 0}.item-actions{float:right;display:flex;gap:5px}.item-actions button{padding:5px 8px;font-size:12px}.rule .item-actions button{float:none}
main,section,article,.panel,.channel,.rule,.dashboard-row{min-width:0}.panel{overflow-wrap:anywhere}.panel form:not(#rule-form){display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start}.panel form:not(#rule-form)>input,.panel form:not(#rule-form)>select{width:100%}.panel form button{justify-self:start;width:auto;min-height:40px}.panel form .check{min-height:40px}.channel,.rule,#member-list>div,#client-list>div,#audit-list>div,#self-check-list>div,.dashboard-row{display:flow-root}.item-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}.item-actions button{white-space:normal}.panel>button{display:inline-block;margin:0 5px 6px 0}.panel pre{max-width:100%}
#rule-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));align-items:start}#rule-form>input[name="name"],#rule-form>select,#rule-form>input[name="trigger"]{width:100%}#rule-form>.check{min-height:40px}.rule-actions,.rule-conditions{grid-column:1/-1;margin:4px 0;padding:12px;border:1px solid #3a3045;border-radius:9px}.rule-actions{display:block}.rule-actions legend,.rule-conditions legend{padding:0 7px;font-weight:700}.rule-conditions{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:12px}.rule-conditions>div,.rule-conditions>label{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:10px;border:1px solid #3a3045;border-radius:8px;background:#17121f}.rule-conditions .check{min-height:0}.rule-conditions small{color:#aaa0b7}.action-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.action-add select{width:min(260px,100%)}.action-list{display:grid;gap:8px}.action-card{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1.6fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #3a3045;border-radius:8px;background:#17121f}.action-card>strong{font-weight:700}.action-card input{width:100%}.action-card input[type="number"]{max-width:160px}.action-order{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.action-order button{padding:6px 9px;font-size:12px}#rule-save,#rule-cancel{justify-self:start;width:auto;height:auto;min-height:40px;align-self:start}
.client-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}#dashboard-members,#dashboard-leases{display:grid;gap:8px;margin-top:12px}.dashboard-row{padding:12px;border:1px solid #30283d;border-radius:8px}.connection-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;margin-left:6px}.state-active{background:#21472c;color:#b8f0c2}.state-unstable{background:#51451e;color:#ffe49a}.state-offline{background:#572633;color:#ffc1cb}.state-never,.state-private{background:#302b38;color:#c6bdcf}.dashboard-detail{display:block;color:#92899f;margin-top:5px}
main.login{max-width:520px;margin:12vh auto;padding:20px;grid-column:1/-1}.login-button{display:inline-block;background:#402654;color:#fff;text-decoration:none;padding:12px 18px;border-radius:8px;margin:10px 0}.login-button:hover{background:#58366f}
.button-link{display:inline-block;background:#402654;color:#fff;text-decoration:none;padding:10px 14px;border-radius:8px}.button-link:hover{background:#58366f}
.request-state{font-weight:800}.request-state.state-approved{color:#65d47d}.request-state.state-open{color:#f1d35f}.request-state.state-missing{color:#ff6b79}.request-state.state-pending{color:#f2a14f}.request-state.state-rejected{color:#ff334d;font-weight:900}#support-channel-list,#manager-list,#blocklist-list{display:grid;gap:8px;margin-top:14px}#support-channel-list>div,#manager-list>div,#blocklist-list>div{padding:10px;border:1px solid #30283d;border-radius:8px}.member-role{padding:5px 8px}.member-role-save{padding:5px 8px;font-size:12px}
.sidebar-channel-label{font-size:12px;color:#92899f;margin-bottom:6px}#active-channel{width:100%;margin-bottom:18px}.support-user-label{display:flex;align-items:center;gap:8px;color:#92899f;font-size:12px;margin-top:10px}.support-user-label select{max-width:360px}main>section[data-page][hidden],main>section.page-hidden{display:none!important}
.admin-subnav{display:grid;gap:3px;margin:-3px 0 2px 12px;padding-left:9px;border-left:1px solid #49385c}.admin-subnav[hidden]{display:none}.admin-subnav button{font-size:12px;padding:7px 9px}.admin-tab.active{background:#5a3d74;color:#fff}.admin-panel[hidden]{display:none}.admin-link{padding:5px 8px;font-size:12px}.support-user-label{flex-wrap:wrap}.support-user-label .admin-link{float:none}
.log-entity{display:inline;padding:0;background:transparent;border:0;border-radius:0;color:#d9b5ff;font-weight:700;text-decoration:underline;text-decoration-color:#765295;text-underline-offset:2px}.log-entity:hover{background:transparent;color:#fff}.dashboard-row strong .log-entity{font-size:inherit}
section:has(#twitch-accounts),#view-tests,section:has(#future-suite-run),section:has(#eventsub-start){display:none!important}#view-clients>.client-controls,#view-clients>#client-status,#view-clients>#failover-start,#view-clients>#failover-stop,#view-clients>#failover-status,#view-clients>h4:has(+ #failover-start),#view-clients>#dashboard-leases{display:none!important}
#user-detail-dialog{color:#ece9f4;background:#17131f;border:1px solid #49385c;border-radius:12px;min-width:min(520px,calc(100vw - 32px));max-width:720px;box-shadow:0 20px 60px #0009}#user-detail-dialog::backdrop{background:#05030bc4}#user-detail-dialog h3,#user-detail-dialog h4{margin-top:0}#admin-context-bar{margin:18px 0;padding:14px;border:1px solid #5a3d74;border-radius:10px;background:#21162c}#admin-context-bar[hidden]{display:none}#admin-context-bar strong{display:block;margin-bottom:9px}#admin-context-bar button{margin:0 6px 6px 0}.admin-filter{width:min(420px,100%);margin-bottom:10px}
@media(max-width:1050px){body{grid-template-columns:190px minmax(0,1fr)}aside{padding:22px 14px}main{padding:22px}#rule-form{grid-template-columns:repeat(2,minmax(160px,1fr))}.rule-actions{grid-template-columns:1fr}.panel form:not(#rule-form){grid-template-columns:repeat(2,minmax(150px,1fr))}.item-actions{float:none;margin-bottom:8px;justify-content:flex-start}.rule .item-actions{float:none}}
@media(max-width:700px){body{grid-template-columns:155px minmax(0,1fr)}aside{padding:18px 10px}aside h1{font-size:15px;margin-bottom:20px}aside small{font-size:10px}nav{gap:3px}nav button{padding:8px;font-size:13px}.admin-subnav{margin-left:4px;padding-left:4px}.admin-subnav button{font-size:11px;padding:6px 4px}main{padding:14px}.grid{grid-template-columns:1fr}.grid article,.panel{padding:14px}header{flex-direction:column}.badge{align-self:flex-start}#rule-form,.panel form:not(#rule-form),.rule-conditions{grid-template-columns:1fr}.action-card{grid-template-columns:1fr}.action-order{justify-content:flex-start}.support-user-label{align-items:flex-start}.item-actions{width:100%}.account-actions{display:flex;flex-wrap:wrap}.panel>button{max-width:100%;white-space:normal}}
.secondary-link{margin-left:8px}.guide-page{display:block;min-height:100vh}.guide-page main{max-width:960px;margin:0 auto}.guide-page .panel{margin-bottom:16px}.guide-page li{margin:8px 0}.role-picker{padding:10px!important;border:1px solid #3a3045;border-radius:8px;background:#17121f}.role-picker summary{cursor:pointer;font-weight:700}.role-picker[open] summary{margin-bottom:8px}.role-picker .role-hint{display:block;margin-bottom:8px;color:#aaa0b7}.role-picker label{margin:7px 0}.scope-help{grid-column:1/-1;margin:2px 0 12px;color:#aaa0b7}.internal-test{display:none!important}
.transfer-public{display:block;min-height:100vh}.transfer-public main{max-width:720px;margin:8vh auto;padding:20px}.transfer-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 18px;margin:24px 0}.transfer-details dt{color:#92899f}.transfer-details dd{margin:0;overflow-wrap:anywhere}.transfer-link-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:8px 0 12px}.transfer-link-row input{width:100%}.transfer-row{padding:12px;border:1px solid #30283d;border-radius:8px;margin-top:8px}.transfer-row small,.transfer-row code{display:block;margin-top:6px;overflow-wrap:anywhere;color:#aaa0b7}.transfer-warning{border-color:#5a456c!important}
.transfer-existing-link{display:block;width:100%;margin-top:8px}
.conditions-toggle{grid-column:1/-1;width:100%;font-weight:700}.conditions-toggle small{margin-left:8px;color:#b9aec7;font-weight:400}.rule-conditions[hidden]{display:none}.role-picker label:last-of-type{margin-bottom:4px}.state-blocked{color:#ff334d;font-weight:900}
.rule-bulk{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}.input-hint{display:block;color:#92899f;grid-column:1/-1}.simulation-role-label{color:#b9aec7;align-self:center}.public-login{display:block}.public-login .secondary-link{margin-left:0}.action-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}
