:root{color-scheme:dark;--bg:#090b12;--panel:#11141e;--surface:#171b28;--line:rgba(225,230,255,.1);--text:#f2f3fb;--muted:#a4aac0;--accent:#8587f7;--focus:#b8bcff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-feature-settings:'cv01','ss03'}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#1a1c38 0%,transparent 42%),var(--bg);color:var(--text);line-height:1.55;font-size:14px}a{color:#a8aaff;text-decoration:none}a:hover{text-decoration:underline;color:#dadbff}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}*:focus-visible{outline:2px solid var(--focus)}.app-layout{display:flex}.sidebar{position:sticky;top:0;align-self:flex-start;width:248px;min-width:248px;height:100vh;background:#10121b;border-right:1px solid var(--line);padding:30px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:4px 13px 30px;color:var(--text);font-weight:720;letter-spacing:.07em;font-size:14px;line-height:1.1}.brand:hover{text-decoration:none}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.22em;margin-top:5px}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,#a79af7,#4e5ac7);display:grid;place-items:center;font-size:24px;box-shadow:0 9px 26px #34337970}.sidebar-label{text-transform:uppercase;letter-spacing:.16em;color:#757b96;font-size:10px;padding:0 15px 13px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{min-height:56px;display:flex;align-items:center;gap:12px;padding:9px 13px;border:1px solid transparent;border-radius:10px;color:#c4c8d6;font-weight:600}.sidebar nav a:hover,.sidebar nav a[aria-current]{text-decoration:none;background:#22253a;border-color:#333754;color:var(--text)}.sidebar nav a[aria-current]{box-shadow:inset 3px 0 var(--accent)}.nav-icon{font-size:19px;width:24px;text-align:center;color:#aaa8ef}.sidebar nav small{display:block;font-size:11px;font-weight:400;color:#9096ab}.sidebar-foot{margin-top:auto;padding:18px 13px 0;border-top:1px solid var(--line);font-size:11px;color:#9da3b9}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#40cfaa;box-shadow:0 0 12px #40cfaa;margin-right:7px}.content{flex:1;min-width:0}.topbar{height:68px;padding:0 clamp(24px,4vw,64px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#9ca3b9;font-size:12px}.environment{font-size:10px;font-weight:700;letter-spacing:.15em;color:#9ba1ed}.page-content{max-width:1100px;margin:auto;padding:42px clamp(22px,4vw,64px) 90px}.page-content>h1{font-size:clamp(28px,3vw,36px);font-weight:650;letter-spacing:-.035em;line-height:1.2;margin:0 0 12px}.page-content>h2{margin-top:42px}.page-content>p{color:var(--muted);max-width:780px;margin:0 0 26px}h2{font-size:18px;letter-spacing:-.015em}h3{font-size:15px}ul,ol{padding-left:22px}li{margin:12px 0}.page-content>ul,.page-content>ol{padding:12px 30px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.page-content>form,.page-content>section,.page-content>article,.page-content>fieldset,.page-content>pre,.page-content>.panel,.page-content>.empty-state{display:block;background:linear-gradient(145deg,#151824,#11141e);border:1px solid var(--line);border-radius:14px;padding:26px;margin:22px 0;box-shadow:0 12px 32px #0002}.page-content>section{margin:18px 0}.page-content>section>h2,.page-content>article>h2{margin-top:0}.page-content>form[action*="logout"]{background:none;border:0;box-shadow:none;padding:0}form label{display:inline-block;color:#cbd0df;font-weight:520;margin:9px 12px 9px 0;min-width:200px}form label:has(input[type="checkbox"]){display:inline-flex;align-items:center;gap:8px;min-width:0}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:min(100%,480px);min-height:42px;margin-top:7px;padding:10px 12px;border:1px solid #35394b;border-radius:8px;background:#0d1019;color:var(--text)}input[type=file]{padding:9px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}textarea{min-height:86px;resize:vertical}input::placeholder{color:#777e96}button,.button,.page-content>p>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:1px solid #434672;border-radius:8px;background:#292c5b;color:#f1f1ff;cursor:pointer;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}button:hover,.button:hover,.page-content>p>a:hover{background:#42478f;text-decoration:none;color:white}.page-content>form[action*="/publish"] button{background:#365c5b;border-color:#4b9891}.page-content>form[action*="/end"] button,.page-content>form[action*="/disable"] button{background:#54313c;border-color:#805360}.page-content>form[action*="/logout"] button{background:#1b1e2b;border-color:#35394b;color:var(--muted)}pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#b8c0d8;font-size:12px}section img{display:block;object-fit:contain;max-width:240px;max-height:240px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.empty-state{border-style:dashed!important;text-align:center;color:var(--muted);padding:44px 20px!important}.empty-state strong{display:block;color:var(--text);font-size:18px;margin-bottom:8px}.login-layout{display:grid;place-items:center;padding:24px}.login-main{width:min(100%,440px)}.login-main .page-content{padding:0}.login-card{padding:34px;background:#151824;border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 80px #0008}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font-size:28px;margin:0}.login-card p{color:var(--muted);margin:8px 0 24px}.login-card form{margin:0;padding:0;background:none;border:0;box-shadow:none}.login-card label{display:block;margin:14px 0}.login-card input{width:100%}.login-card button{width:100%;margin-top:16px}.skip-link{position:absolute;top:-80px;left:10px;background:#fff;color:#111;padding:10px;z-index:20}.skip-link:focus{top:10px}
/* Button-first member pages: neutral surfaces, explicit current page, touch-sized actions. */
:root{--bg:#111214;--panel:#191b1f;--surface:#23262b;--line:#373b43;--text:#f1f2f4;--muted:#b1b7c2;--accent:#bcc5d7;--focus:#dce4f5}
body.app-layout{background:#111214}.app-layout .sidebar{background:#191b1f}.app-layout .sidebar nav a[aria-current="page"]{background:#363b45;border-color:#818b9c;box-shadow:inset 4px 0 #dae1ef}.app-layout .sidebar nav a .nav-icon{color:#c6cdd8}.app-layout .brand-mark{background:#454d5c;box-shadow:none}
.app-layout .button,.app-layout button,.app-layout .campaign-row-actions .button,.app-layout .campaign-row-actions button,.app-layout .member-action-buttons .button{min-height:44px}
.app-layout .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.app-layout .button-secondary{background:#282c33;border:1px solid #656e7d;color:#e7ebf2}.app-layout .button-secondary:hover{background:#3b424e;border-color:#aeb8ca}.app-layout .button-danger{background:#38252b;border:1px solid #b27684;color:#ffe0e5}.app-layout .button-danger:hover{background:#54303c}
.page-actions,.member-tabs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 22px}.member-tabs{padding:14px 0;border-bottom:1px solid var(--line)}.member-tabs a[aria-current="page"]{background:#e0e5ed!important;color:#171b23!important;border-color:#e0e5ed!important;box-shadow:0 0 0 2px #111214,0 0 0 3px #7c8698}
.member-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.member-heading h1{font-size:25px;margin:12px 0 8px}.member-heading p{color:var(--muted);margin:0 0 16px}.member-balance{padding:12px 18px;white-space:nowrap;border:1px solid var(--line);border-radius:10px;background:#242830}.member-balance strong{font-size:24px;margin-left:12px;font-variant-numeric:tabular-nums}
.member-detail .summary-block{background:#1b1e24}.member-facts{display:grid;grid-template-columns:minmax(100px,150px) minmax(0,1fr);gap:12px 20px;margin:0}.member-facts dt{color:var(--muted)}.member-facts dd{margin:0;overflow-wrap:anywhere}.member-detail :is(ul,ol){padding-left:22px}.member-detail li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.member-detail form label{display:block;width:100%;margin:14px 0}.member-detail textarea{display:block;width:100%;min-height:100px;margin-top:8px}.member-detail input:not([type=hidden]){display:block;margin-top:8px;max-width:100%;min-height:44px}.member-detail .danger-zone{border:1px solid #94616e;background:#241d22;border-radius:10px;padding:16px}.member-detail .danger-zone summary{min-height:44px;cursor:pointer;font-weight:650}.member-detail :is(section,details){scroll-margin-top:18px}.campaign-management{margin-bottom:20px}.app-layout .campaign-row-danger summary{min-height:44px;display:flex;align-items:center}
@media(max-width:780px){.member-heading{align-items:flex-start;flex-direction:column;gap:0}.member-heading h1{font-size:23px}.member-balance{margin-bottom:14px}.member-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.member-tabs a{width:100%;padding:10px}.member-facts{grid-template-columns:100px minmax(0,1fr);gap:10px 12px}.app-layout .sidebar nav{flex-wrap:wrap;overflow:visible}.app-layout .sidebar nav a{flex:1 0 auto}.member-detail .summary-block{padding:18px}.member-detail .danger-zone{padding:12px}.member-detail .page-actions a{flex:1 1 auto}}
/* Shared Admin visual rhythm, without changing form or worker behavior. */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#404662 transparent}
.sidebar nav a{min-height:47px;border-radius:9px;transition:background .15s,border-color .15s}
.sidebar nav a[aria-current="page"]{background:#30365b;border-color:#6268a7;box-shadow:inset 3px 0 #a7acff}
.page-content{max-width:1240px}
.page-content :is(h1,h2,h3){text-wrap:balance}
.page-content :is(.settings-card,.summary-block,.prize-card,.panel){box-shadow:0 8px 26px #0002}
.page-content :is(input,select,textarea):hover{border-color:#5a6281}
.page-content :is(input,select,textarea):focus-visible{border-color:#a0a7fa;box-shadow:0 0 0 3px #8d93f329;outline:0}
.page-content table{border-collapse:collapse}.page-content th{color:#b7bfd5;background:#1c2130}.page-content tbody tr:hover{background:#ffffff08}
@media(max-width:780px){.sidebar{overflow:visible}.sidebar nav a{min-height:44px}}
.campaign-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.workspace-group{min-width:0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#171b29}.workspace-group h2{margin:0 0 15px;font-size:17px}.workspace-links{display:grid;gap:8px}.workspace-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border:1px solid #373e59;border-radius:9px;background:#111624;color:#eff0ff;font-weight:600}.workspace-links a:hover{text-decoration:none;background:#272f48;border-color:#737fb9}.workspace-links span{color:#aeb9d0;font-size:12px;font-weight:400;text-align:right}.campaign-workspace+.detail-actions{margin-top:12px}.campaign-workspace+.detail-actions:empty{display:none}
@media(max-width:780px){.campaign-workspace{grid-template-columns:1fr}.workspace-links a{align-items:flex-start;flex-direction:column}.workspace-links span{text-align:left}}
.campaign-row{flex-wrap:wrap}.campaign-row-danger{position:relative;align-self:center}.campaign-row-danger summary{cursor:pointer;color:#aeb7ce;font-size:12px;padding:7px 10px;list-style:none;border:1px solid #343a52;border-radius:8px}.campaign-row-danger summary:hover{color:#fff;background:#252b42}.campaign-row-danger[open]{flex-basis:100%;margin-top:10px}.campaign-row-danger[open] summary{width:max-content}.campaign-row-danger form{margin-top:10px!important;padding:14px!important;border:1px solid #75545a!important;border-radius:9px;background:#2b1d25!important}.campaign-row-danger form label{width:auto}.campaign-row-danger form button{background:#59333b;border-color:#8a5663}
.flow-entry-callout{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:0 0 16px;border:1px solid #495477;border-radius:10px;background:#1b2337;color:#cad6ee}.flow-entry-callout strong{color:#fff}.flow-entry-callout a{margin-left:auto;white-space:nowrap}
/* Bot messages: readable copy first, optional buttons aligned, completion media on the same page. */
.page-content>form.bot-message-form{padding:0;border:0;background:none;box-shadow:none}
.bot-message-form .summary-block>label,.bot-promotion-form>label{display:block;width:100%;min-width:0;margin:12px 0;font-weight:600}
.bot-message-form .summary-block>label:has(input[type=checkbox]),.bot-promotion-form>label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;font-weight:500}
.bot-message-form textarea,.bot-promotion-form textarea{display:block;width:100%;max-width:none;min-height:115px;margin-top:9px;line-height:1.6}
.bot-message-form .form-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.8fr) minmax(180px,1fr);gap:12px;margin:12px 0}
.bot-message-form .form-row label{display:block;width:100%;min-width:0}.bot-message-form .form-row input,.bot-message-form .form-row select{display:block;width:100%;max-width:none;margin-top:7px}
#promotion{scroll-margin-top:30px}.bot-promotion-form{padding:0;border:0;background:none;box-shadow:none}.bot-promotion-form input[type=file]{display:block;max-width:100%;margin:8px 0 16px}
@media(max-width:760px){.bot-message-form .form-row{grid-template-columns:1fr}.bot-message-form .summary-block,.page-content>#promotion{padding:18px}}
/* Welcome editors: override inline 200px global labels only in these two independent forms. */
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .group-message-card{min-width:0}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .group-message-card>label:not(.toggle-field){display:block;width:100%;min-width:0;margin:14px 0}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] textarea{display:block;width:100%;max-width:none;min-width:0;resize:vertical}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .form-grid label{display:block;width:100%;min-width:0}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .form-grid :is(input,select){width:100%;max-width:100%;min-width:0}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .group-image-preview{display:grid;justify-items:start;gap:6px;margin:8px 0 16px}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .group-image-preview img{max-width:min(280px,100%);height:auto;margin:0}
:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .group-image-preview img[hidden]{display:none!important}
[data-group-editor] [data-preview-button-row]{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}[data-group-editor] [data-preview-button-row] span{display:inline-block;border:1px solid currentColor;border-radius:6px;padding:5px 9px;overflow-wrap:anywhere}
#rejoin,#promotion{scroll-margin-top:24px}#rejoin .bot-rejoin-form{padding:0;border:0;background:none;box-shadow:none}
#promotion .promotion-editor>summary{cursor:pointer;padding:12px 16px;border:1px solid var(--line);border-radius:8px;width:max-content;max-width:100%}
#promotion .promotion-editor[open]>summary{margin-bottom:16px}
@media(max-width:760px){:is(.bot-message-form,.bot-rejoin-form) [data-group-editor] .form-grid{grid-template-columns:1fr}}

.page-content>form.campaign-config{padding:0;border:0;background:none;box-shadow:none}
.campaign-config .settings-card,.summary-block{padding:26px 30px;margin:0 0 16px;background:#141722;border:1px solid var(--line);border-radius:12px}
.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:21px}.section-heading h2{margin:0;font-size:18px}.step-number{color:#aaaaf4;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.settings-grid>.full-width{grid-column:1/-1}
.campaign-config .setting-field{min-width:0;width:100%;margin:0;display:block;font-size:12px;color:#9ea6bc}.campaign-config .setting-field input,.campaign-config .setting-field select{width:100%;margin-top:8px;font-size:14px}
.campaign-config .module-toggle{display:flex;align-items:center;gap:10px;min-width:0;margin:0;color:#e5e8f6;font-weight:600;cursor:pointer}.campaign-config .module-toggle input{flex:none}
.setting-module{padding:15px 17px;border:1px solid var(--line);border-radius:9px;background:#11141e}.setting-module>.dependent{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.setting-module:not(:has(> .module-toggle input:checked))>.dependent{display:none}
.settings-detail{border:1px solid var(--line);border-radius:9px;margin-top:16px;background:#10131d}.settings-detail summary{cursor:pointer;padding:12px 16px;color:#bdc3d5;font-weight:550;list-style-position:inside}.settings-detail[open]>summary{border-bottom:1px solid var(--line)}.settings-detail>.settings-grid,.settings-detail>ol{padding:18px}.section-note{color:#8c93a8;font-size:12px;margin:16px 0 0}
.form-actions,.detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-actions{margin:20px 0 0}.form-actions a{padding:9px 12px}.detail-actions{margin:22px 0 25px}.detail-actions p{margin:0}.detail-actions form{margin:0}
.summary-block h2{margin:0 0 18px}.summary-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}.summary-grid>div{min-width:0}.summary-grid dt{font-size:12px;color:#8c93aa}.summary-grid dd{margin:5px 0 0;color:#e6e8f4;overflow-wrap:anywhere}
.bot-card{list-style:none;margin:12px 0;padding:18px;background:#10131d;border:1px solid var(--line);border-radius:10px}.bot-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bot-card-head strong{font-size:16px}.bot-status{font-size:11px;color:#77d1b7;border:1px solid #356e63;border-radius:99px;padding:2px 10px}.bot-card p{font-size:12px;color:#a8adc0}.bot-card form{margin:16px 0 0}.bot-card label{min-width:0}.bot-card .danger-zone{margin-top:20px}.bot-card .danger-zone form{padding:0 16px 16px}.bot-card .danger-zone button{background:#4b3039;border-color:#79515e}
.campaign-list{list-style:none;padding:4px 18px!important}.campaign-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 8px;margin:0;border-bottom:1px solid var(--line)}.campaign-row:last-child{border-bottom:0}.campaign-info{min-width:0}.campaign-name{font-size:16px;font-weight:650;color:#f1f1fa}.campaign-id{font-size:12px;color:#9aa1b9;margin-left:9px}.campaign-state{display:inline-block;font-size:11px;font-weight:700;color:#c9cafc;border:1px solid #494e80;border-radius:99px;padding:2px 9px;margin-left:12px}.campaign-info small{display:block;color:#9199af;margin-top:5px;overflow-wrap:anywhere}.campaign-row-actions{display:flex;gap:8px;flex-wrap:wrap;flex:none}.campaign-row-actions .button{min-height:36px;font-size:12px;padding:7px 12px}.campaign-row-actions form{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.campaign-row-actions form label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--muted)}.campaign-row-actions form input{width:78px;min-width:78px;margin:0;padding:6px}.campaign-row-actions form button{min-height:36px;font-size:12px;padding:7px 12px}.button-secondary{background:#1b1e2b;border-color:#35394b;color:#c8cede}.button-secondary:hover{background:#303649}
@media(max-width:780px){.campaign-row{align-items:flex-start;flex-direction:column}.campaign-row-actions{width:100%}}
.page-content>form.prize-batch{padding:0;border:0;background:none;box-shadow:none}.prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.prize-card{min-width:0;padding:20px;background:#141722;border:1px solid var(--line);border-radius:12px}.prize-card h2{margin:0 0 14px}.prize-card label{display:block;margin:12px 0;color:#c9cde0}.prize-card input:not([type=file]),.prize-card textarea{width:100%;margin-top:5px}.prize-card textarea{min-height:78px}.prize-card img{max-width:100%;max-height:150px;object-fit:contain}.prize-batch .form-actions{padding:18px 0;position:sticky;bottom:0;background:#10121b;z-index:2}@media(max-width:780px){.prize-grid{grid-template-columns:1fr}.prize-batch .form-actions{position:static}}.form-error{padding:14px 18px;margin:16px 0;border:1px solid #9b6170;background:#40232e;color:#fff;border-radius:9px}.form-error strong{margin-right:8px}
@media(max-width:780px){.settings-grid,.summary-grid{grid-template-columns:1fr}.campaign-config .settings-card,.summary-block{padding:18px}.detail-actions{align-items:flex-start}}
/* Private-flow editor: compact, bounded cards; never apply to other admin forms. */
.page-content>form.flow-editor{max-width:900px;padding:20px 24px;margin-top:16px}
.flow-editor [hidden]{display:none!important}
.flow-editor label{display:block;min-width:0;margin:0;color:#bbc3d8;font-size:12px}
.flow-editor label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:9px;margin:0;line-height:1.45}
.flow-editor label:has(input[type="checkbox"]) input{flex:none;margin:2px 0 0}
.flow-editor input:not([type="checkbox"]):not([type="hidden"]),.flow-editor select,.flow-editor textarea{display:block;width:100%;min-width:0;margin:5px 0 0}
.flow-editor textarea{resize:vertical;min-height:68px}
.flow-editor #flow-nodes{display:grid;gap:16px;margin:17px 0}
.flow-editor .flow-node{min-width:0;margin:0;padding:14px 16px 16px;border:1px solid #393e5a;border-radius:12px;background:#171b2a}
.flow-editor .flow-node legend{padding:0 8px;color:#c5c6ff;font-size:13px;font-weight:700}
.flow-editor .flow-node-fields{display:grid;grid-template-columns:minmax(155px,1fr) minmax(0,2fr);gap:12px;align-items:start}
.flow-editor .flow-node-options{display:flex;gap:8px 20px;flex-wrap:wrap;margin:11px 0 13px;color:var(--muted)}
.flow-editor .flow-buttons{display:grid;gap:8px}
.flow-editor .flow-button{position:relative;min-width:0;padding:12px 13px;background:#10131e;border:1px solid #30364d;border-radius:9px}
.flow-editor .flow-button-fields{display:grid;grid-template-columns:minmax(115px,1fr) minmax(150px,1.2fr) minmax(155px,1.4fr);gap:10px;align-items:end}
.flow-editor .flow-button-fields>*{min-width:0}
.flow-editor .flow-button-fields input,.flow-editor .flow-button-fields select{height:38px}
.flow-editor .flow-response{margin:8px 0 0;color:#aab3ce;font-size:12px}
.flow-editor .flow-response summary{cursor:pointer;width:max-content;max-width:100%}
.flow-editor .flow-response label{max-width:560px;margin:8px 0 0}
.flow-editor .flow-remove-button,.flow-editor .flow-remove-node{background:transparent;border-color:#525069;color:#b3b4cb}
.flow-editor .flow-remove-button{margin:8px 0 0;padding:4px 9px;min-height:28px;font-size:11px}
.flow-editor .flow-node-actions,.flow-editor .flow-form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.flow-editor .flow-node-actions{margin-top:11px}
.flow-editor .flow-node-actions button,.flow-editor #flow-add-node{min-height:34px;padding:5px 11px;font-size:12px}
.flow-editor .flow-help{color:var(--muted);font-size:12px;line-height:1.5;margin:12px 0}
.flow-editor .flow-form-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:15px}
@media(max-width:700px){.page-content>form.flow-editor{padding:16px}.flow-editor .flow-node-fields,.flow-editor .flow-button-fields{grid-template-columns:1fr}.flow-editor .flow-node-options{display:grid;gap:9px}.flow-editor .flow-button{padding:12px}}
.page-content>form.campaign-config>section.settings-card{padding:26px 30px;margin:0 0 16px;background:#141722;border:1px solid var(--line);border-radius:12px}.page-content>form.campaign-config>section.settings-card h2{margin:0;font-size:18px}
@media(max-width:780px){.page-content>form.campaign-config>section.settings-card{padding:18px}}
.member-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.member-table{min-width:1060px;width:100%;border-collapse:collapse;table-layout:fixed}.member-table th,.member-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.member-table th{white-space:nowrap;color:var(--muted);font-size:12px}.member-table th:nth-child(1){width:22%}.member-table th:nth-child(2){width:10%}.member-table th:nth-child(3){width:20%}.member-table th:nth-child(4){width:20%}.member-table th:nth-child(5){width:19%}.member-table th:nth-child(6){width:9%}.member-table td small{color:var(--muted)}
.member-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.member-action-buttons .button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 6px;font-size:12px;white-space:normal;text-align:center;border-radius:8px;border:1px solid #535e7c;text-decoration:none}.member-action-buttons .button:hover{background:#303b55;border-color:#99a8d0}.member-action-buttons .button-danger{background:#35212a;border-color:#825665;color:#ffc7cf}.member-action-buttons .button-danger:hover{background:#512b39;border-color:#e296aa}.member-table th:nth-child(1){width:29%}.member-table th:nth-child(2){width:14%}.member-table th:nth-child(3){width:17%}.member-table th:nth-child(4){width:10%}.member-table th:nth-child(5){width:21%}.member-table th:nth-child(6){width:9%}
@media(max-width:700px){.member-table-wrap{overflow:visible}.member-table{display:block;min-width:0;table-layout:auto}.member-table thead{display:none}.member-table tbody{display:grid;gap:12px}.member-table tbody tr{display:block;min-width:0;padding:8px 0;border:1px solid var(--line);border-radius:10px;background:#1b2030}.member-table td{display:block;min-width:0;padding:8px 14px;border:0;overflow-wrap:anywhere}.member-table td:not(:last-child){border-bottom:1px solid #ffffff12}.member-table td::before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:650}.member-table td[colspan]::before{display:none}}
.page-content>form>section{padding:20px;margin:0 0 22px;border:1px solid var(--line);border-radius:10px;background:#10131e}.page-content>form>section h2{margin:0 0 16px;color:#e6e7fb}.sidebar nav a[aria-current="page"]{background:#32365d;border-color:#6669ac;box-shadow:inset 4px 0 #9c9eff;color:white}.sidebar nav a[aria-current="page"] .nav-icon{color:#d0cfff}@media(max-width:780px){.app-layout{display:block}.sidebar{position:relative;width:auto;min-width:0;height:auto;padding:14px}.brand{padding:4px 8px 12px}.sidebar-label,.sidebar-foot,.sidebar nav small{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav a{min-height:44px;white-space:nowrap;padding:7px 10px;font-size:12px}.nav-icon{font-size:16px;width:16px}.topbar{height:48px;padding:0 20px}.page-content{padding:30px 20px 70px}.page-content>form,.page-content>section,.page-content>article{padding:18px}form label{display:block;margin:10px 0}}

/* Console shell polish — additive semantic contract; specialist editor hooks remain intact. */
:root{--bg:#111214;--panel:#1b1d21;--surface:#25282e;--line:#41464f;--text:#f1f3f5;--muted:#b8bec8;--accent:#c9d3e2;--focus:#e0ebff;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
body{background:var(--bg);color:var(--text)}
a{color:#d1dbea}a:hover{color:#fff}
.app-layout .sidebar{background:#191b1f;border-color:var(--line);scrollbar-color:#59616e transparent}
.sidebar-label,.sidebar-foot,.brand small{color:var(--muted)}
.app-layout .sidebar nav a:hover{background:#2c3037;border-color:#606977}
.app-layout .sidebar nav a[aria-current="page"]{background:#363c46;border-color:#8996a9;box-shadow:inset 4px 0 #e1e8f3;color:#fff}
.app-layout .sidebar nav a[aria-current="page"] .nav-icon{color:#fff}
.topbar{min-height:64px;height:auto;padding-top:14px;padding-bottom:14px;gap:12px;flex-wrap:wrap;color:var(--muted)}
.environment{color:#d4dae4;letter-spacing:.04em;border:1px solid var(--line);border-radius:6px;padding:5px 9px}
.page-content{max-width:1320px;min-width:0;padding-top:32px}
.page-content :is(h1,h2,h3,p,li,dd){overflow-wrap:anywhere}
.page-content :is(form,section,article,fieldset,header,nav){min-width:0;max-width:100%}
.page-content>h1,.page-header h1{font-size:clamp(25px,2.5vw,32px);line-height:1.3;letter-spacing:-.02em;margin:0 0 10px}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 24px}
.page-header>div{min-width:0}.page-description{color:var(--muted);line-height:1.7;margin:0 0 16px;max-width:78ch}.page-header .page-actions{margin:0}
.page-actions,.form-actions,.pagination,.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.page-content>form,.page-content>section,.page-content>article,.page-content>fieldset,.page-content>pre,.page-content>.panel,.page-content .section-card,.page-content .form-section{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0002}
.section-card,.form-section{padding:24px;margin:20px 0}.section-card>h2,.form-section>h2{margin-top:0}
.page-content :is(.settings-card,.summary-block,.prize-card,.workspace-group,.bot-card){background:var(--panel)}
.page-content>form.campaign-config>section.settings-card{background:var(--panel)}
.page-content :is(.setting-module,.settings-detail){background:#17191d}
.page-content :is(.section-note,.setting-field,.summary-grid dt,.step-number){color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.form-grid>.full-width{grid-column:1/-1}
.form-grid>label,.form-grid>.setting-field{display:block;min-width:0;width:100%;margin:0}
.form-grid :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;max-width:100%}
form label{max-width:100%;min-width:min(200px,100%);color:#d8dde5}
form label:has(input:is([type=checkbox],[type=radio])){min-height:44px;cursor:pointer}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:44px;max-width:100%;background:#121417;border-color:#606773;color:var(--text)}
input::placeholder,textarea::placeholder{color:#a3abb8;opacity:1}
input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}
.page-content :is(input,select,textarea):hover{border-color:#8c98a9}
.page-content :is(input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-color:#c6d5ed;box-shadow:0 0 0 3px #c6d5ed22}
button,.button,.page-content>p>a,.app-layout button,.app-layout .button{min-height:44px;max-width:100%;background:#424b5a;border:1px solid #8793a6;color:#fff;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
button:hover,.button:hover,.page-content>p>a:hover{background:#566277;border-color:#bfcbdd;color:#fff}
.app-layout .button-secondary,.app-layout .button.secondary{background:#272c33;border-color:#747f90;color:#f0f3f8}
.app-layout .button.danger{background:#452932;border-color:#bf8793;color:#ffe8ed}
.page-content [role="alert"]{padding:14px 18px;border:1px solid #c48c9b;border-radius:9px;background:#422730;color:#ffeaf0;overflow-wrap:anywhere}
.flow-entry-callout{background:#252c36;border-color:#6e7b8e;color:#dce4ef}.flow-entry-callout a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;border:1px solid #8e9aaf;border-radius:8px;white-space:normal;background:#363f4e}
.app-layout :is(.subnav,.tab-nav,.pagination) a[aria-current="page"]{background:#dde4ee;color:#181c23;border-color:#dde4ee}
.page-content .section-card.danger-zone{border-color:#af7a89;background:#2c2126}
.app-layout .button-danger,.danger-zone button{background:#452932;border-color:#bf8793;color:#ffe8ed}
button:disabled,.button[aria-disabled="true"]{cursor:not-allowed;opacity:.62}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.page-content summary{min-height:44px;padding-top:10px;padding-bottom:10px;cursor:pointer}
.form-actions{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.form-actions>a,.pagination>a,.subnav>a,.tab-nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #737e8e;border-radius:8px;background:#272c33;color:#f0f3f8;text-decoration:none;overflow-wrap:anywhere}
.subnav,.tab-nav{display:flex;flex-wrap:wrap;gap:9px;padding:0 0 16px;margin:0 0 22px;border-bottom:1px solid var(--line)}
:is(.subnav,.tab-nav,.pagination)>a:hover{background:#3d4653;border-color:#b4c1d3}
:is(.subnav,.tab-nav,.pagination) [aria-current="page"]{background:#dde4ee;color:#181c23;border-color:#dde4ee;font-weight:700}
.pagination{margin:24px 0;color:var(--muted)}.pagination p{margin:0}.pagination form{margin:0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:10px;scrollbar-color:#687382 #202329}
.record-table{width:100%;min-width:640px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.record-table :is(th,td){padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.record-table th,.page-content th{background:#292d34;color:#e2e7ef;font-size:12px;font-weight:650}
.record-table th,.record-table .status-badge{white-space:nowrap}
.record-table tbody tr:last-child td{border-bottom:0}.record-table td small{color:var(--muted)}
.record-table td a:not(.button){display:inline-flex;align-items:center;min-height:44px;padding:6px 9px;border:1px solid #616d7f;border-radius:7px;background:#292f38;text-decoration:none}
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid #768194;border-radius:99px;background:#2a3039;color:#e6ecf6;font-size:12px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.status-badge.success,.status-badge--success{background:#203b32;border-color:#78a48e;color:#d4f5df}.status-badge.warning,.status-badge--warning{background:#413720;border-color:#bca367;color:#ffe9b3}.status-badge.danger,.status-badge--danger{background:#462b33;border-color:#c18a97;color:#ffe0e8}
.danger-zone{padding:18px;margin-top:24px;border:1px solid #af7a89;border-radius:10px;background:#2c2126}.danger-zone>h2,.danger-zone>summary{color:#ffe0e8}
.alert,.notice,.form-error{padding:16px 18px;margin:18px 0;line-height:1.7;border:1px solid #818fa3;border-radius:9px;background:#282f39;color:#edf2fa;overflow-wrap:anywhere}
.form-error,.alert-error{background:#422730;border-color:#c48c9b;color:#ffeaf0}.page-content .alert-success{background:#20382f;border-color:#7ea68e;color:#def5e6}.page-content .alert-warning{background:#3d3422;border-color:#ad9868;color:#ffedc4}
.empty-state{padding:36px 22px;color:var(--muted);background:var(--panel);border:1px dashed #707b8b;border-radius:12px;text-align:center}
.filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.filter-form label{flex:1 1 180px;min-width:0;margin:0}.filter-form input,.filter-form select{width:100%}
.page-content img{max-width:100%;height:auto}.page-content fieldset{min-width:0}.workspace-links a{background:#22262d;border-color:#5d6777;color:#edf2fa;min-height:44px}.workspace-links a:hover{background:#343c48;border-color:#adb9cb}.workspace-links span{color:var(--muted)}
.login-card{background:var(--panel)}.login-card .brand-mark{background:#454d5c;box-shadow:none}
@media(max-width:780px){
 .app-layout .sidebar{width:100%;padding:12px;border-right:0;border-bottom:1px solid var(--line)}
 .app-layout .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}
 .app-layout .sidebar nav a{min-width:0;min-height:44px;white-space:normal;padding:10px;font-size:13px;gap:8px}
 .topbar{padding:12px 16px;min-height:54px}.environment{font-size:11px}
 .page-content{padding:24px 16px 56px}.page-header{gap:10px;margin-bottom:20px}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .section-card,.form-section{padding:18px}.page-content>form,.page-content>section,.page-content>article{padding:18px}
 .page-actions,.form-actions{align-items:stretch}.page-actions>a,.form-actions>a,.form-actions>button{flex:1 1 auto}
 .app-layout .page-content :is(button,.button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:44px}
 .page-content>form.flow-editor{padding:16px}.flow-editor .flow-node{padding:12px}
 .record-table :is(th,td){padding:12px}.page-content :is(input,select,textarea){font-size:16px}
 .member-table tbody tr{background:var(--panel)}
}
/* Scoped grouped navigation; no specialist member/chat/broadcast selectors changed. */
.sidebar-group{margin:0 0 18px}.sidebar-group .sidebar-label{display:block;padding:8px 12px;color:#b1b7c2;font-size:11px;letter-spacing:.08em}
.campaign-nav-context{margin:8px 0 0 12px;padding-left:8px;border-left:1px solid #59616f}.campaign-context-name{display:block;padding:0 10px 10px;overflow-wrap:anywhere;color:#f1f2f4}.sidebar .campaign-nav-context nav a{min-height:44px;font-size:13px;padding:8px 10px}
.campaign-prize-subnav{grid-column:1/-1;border-left:2px solid #59616f;margin-left:14px;padding-left:6px}.campaign-prize-navigation{margin-bottom:20px}.campaign-prize-navigation h2{font-size:18px}
.page-content form.nav-list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;align-items:end}.page-content form.nav-list-filters label{display:grid;gap:6px;width:100%;margin:0}.page-content form.nav-list-filters :is(input,select){width:100%;max-width:none;margin:0}
@media(max-width:780px){.app-layout .sidebar-group{width:100%;margin-bottom:10px}.app-layout .campaign-nav-context{margin-left:0}.app-layout .sidebar-group .sidebar-label{display:block}.app-layout .sidebar .campaign-nav-context nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important;scroll-behavior:auto!important}}
/* Compact console: preserve route and form markup */
@media(min-width:781px){
 .app-layout .sidebar{width:232px;min-width:232px;padding:18px 10px}
 .app-layout .brand{padding:4px 10px 18px}
 .app-layout .sidebar nav{gap:2px}
 .app-layout .sidebar nav a{min-height:38px;padding:6px 10px;font-size:13px;line-height:1.3}
 .app-layout .sidebar .campaign-nav-context nav a{min-height:36px;padding:5px 9px;font-size:12px}
 .app-layout .sidebar-group{margin-bottom:9px}
 .app-layout .sidebar-group .sidebar-label{padding:5px 10px 6px}
 .app-layout .campaign-nav-context{margin-top:5px;margin-left:8px;padding-left:6px}
 .app-layout .campaign-context-name{padding:0 8px 6px;font-size:12px}
 .app-layout .topbar{min-height:50px;padding:8px 24px}
 .app-layout .page-content{padding:22px clamp(18px,2.4vw,36px) 64px}
 .app-layout .page-header{margin-bottom:16px}
 .app-layout .page-content>h1,.app-layout .page-header h1{font-size:clamp(23px,2vw,28px)}
 .app-layout .page-content :is(.section-card,.form-section,.summary-block,.settings-card,.workspace-group){padding:18px;margin-bottom:12px}
 .app-layout .page-content>form.campaign-config>section.settings-card{padding:18px;margin-bottom:12px}
 .app-layout .settings-grid,.app-layout .form-grid{gap:12px 16px}
 .app-layout .campaign-row{gap:12px;padding:10px 8px}
 .app-layout .record-table :is(th,td){padding:9px 12px}
 .app-layout .member-table :is(th,td){padding:9px 12px}
 .app-layout .campaign-row-actions .button,.app-layout .campaign-row-actions button{min-height:36px;padding:6px 10px}
}
.sidebar-menu{width:100%;min-width:0}
.sidebar-menu>summary{visibility:hidden;position:absolute;clip-path:inset(100%)}
@media(max-width:780px){.app-layout .sidebar{max-height:none;overflow:visible;border-bottom:1px solid var(--line)}}
@media(max-width:780px){.sidebar-menu summary{min-height:44px;visibility:visible;position:static;clip-path:none;display:flex;align-items:center;cursor:pointer;list-style:none;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-weight:650}.sidebar-menu summary::marker{content:''}.sidebar-menu[open]{max-height:min(75vh,560px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8895a8 var(--panel)}.sidebar-menu[open] summary{margin-bottom:10px}}
@media(max-width:780px){.app-layout .sidebar nav a{min-height:44px}.app-layout .sidebar .campaign-nav-context nav a{min-height:44px}}
.points-day-settings{min-width:0;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
.points-day-settings legend{padding:0 6px;font-weight:700;color:var(--text)}
.points-day-settings p{margin:0 0 12px;color:var(--muted)}
#points-day-rewards{display:grid;gap:10px;margin-bottom:14px}
.points-day-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;min-width:0}
.points-day-row label{display:block;min-width:0;color:var(--text)}
.points-day-row input{display:block;width:100%;margin-top:5px;min-width:0}
.points-day-row button,#points-add-day{min-height:44px}
@media(max-width:480px){.points-day-settings{padding:12px}.points-day-row{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.points-day-row button{grid-column:1/-1}}
.admin-flash{position:fixed;z-index:1000;top:max(16px,env(safe-area-inset-top));right:16px;max-width:min(430px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid #2ca476;background:#102c27;color:#f6fffb;box-shadow:0 12px 32px #0008;font-weight:700;line-height:1.5}
.admin-flash button{margin-left:auto;min-height:32px;min-width:32px;padding:0 8px;border:1px solid #91d0b7;background:transparent;color:inherit;border-radius:6px;cursor:pointer}
.admin-flash--error{border-color:#ff9d9d;background:#432025;color:#fff3f3}
@media(max-width:480px){.admin-flash{top:max(8px,env(safe-area-inset-top));right:8px;left:8px;max-width:none}}
