:root{
  color-scheme:dark;
  --ui-font-scale:1;
  font-size:calc(16px * var(--ui-font-scale));
  --bg:#09111f;--bg2:#0d1728;--panel:#142036;--panel2:#101a2c;--line:#243653;
  --text:#e9eef7;--muted:#8d9ab0;--blue:#2e6ebf;--blue2:#3d87df;--green:#28b788;
  --red:#ef5151;--amber:#f4a300;--gold:#ffd31c;
  --border:#263b59;--panel-soft:#0e192a;--good:#28b788;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit}
.topbar{height:72px;border-bottom:1px solid #6b4820;background:#0c1525;display:flex;align-items:center;padding:0 22px;gap:28px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:9px;font-weight:850;letter-spacing:.14em}.brand-logo{width:34px;height:34px;object-fit:cover;border-radius:9px;border:1px solid #284566;box-shadow:0 0 18px rgba(80,151,255,.12)}.brand>span:last-child{display:grid;line-height:1}.brand b{color:#edf6ff}.brand small{font-size:.5rem;color:#72aef6;letter-spacing:.24em;margin-top:4px}
.topnav{display:flex;gap:26px;color:#98a5ba;font-size:.875rem;flex:1}.topnav a:hover{color:#fff}.top-actions{display:flex;align-items:center;gap:10px}.profile-chip{color:#d7deea;font-size:.875rem}.icon-btn{background:transparent;border:0;color:#8f9bb0;font-size:1.25rem;cursor:pointer}
.page-shell{max-width:1440px;margin:0 auto;padding:38px 50px 80px}.bot-shell{max-width:none}
.bot-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:54px}.breadcrumbs{color:#7f8da4;font-size:1rem;margin-bottom:12px}.breadcrumbs span{padding:0 12px;color:#5f6c80}.bot-title-row{display:flex;align-items:center;gap:12px}.bot-title-row h1{font-size:2.625rem;line-height:1;margin:0;letter-spacing:-.04em}.bot-header p{color:var(--muted);font-size:1rem;margin:14px 0 0}.live-dot{width:10px;height:10px;border-radius:50%;background:#56627a}.live-dot.on{background:var(--green);box-shadow:0 0 0 5px rgba(40,183,136,.08)}
.btn{border:1px solid transparent;border-radius:10px;padding:11px 16px;color:white;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#18253a}.btn.outline{border-color:#2b3e5d;background:#0d1728}.btn.blue{background:#2869b6;border-color:#347bcf}.btn.danger{background:#3a1720;color:#ff9da7;border-color:#6c2733}.btn:hover{filter:brightness(1.08)}
.toast{padding:12px 16px;border-radius:10px;margin:-22px 0 22px;border:1px solid}.toast.success{background:#0f2d29;border-color:#215c50;color:#9fe5d0}.toast.danger{background:#35181f;border-color:#672832;color:#ffb0b7}
.control-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.control-left,.control-actions{display:flex;align-items:center;gap:12px}.control-actions form{margin:0}.status-label{color:#8e9bb0}.status-badge{padding:7px 11px;border-radius:9px;font-size:.875rem}.status-badge.running{background:#0d332d;color:#5ed8b2;border:1px solid #19574b}.status-badge.idle{background:#252b37;color:#a4aec0;border:1px solid #333f52}.mode-switch{display:flex;border:1px solid #263955;border-radius:10px;overflow:hidden;color:#8794a9}.mode-switch span,.mode-switch b{padding:11px 15px}.mode-switch b{background:#132d50;color:#93c7ff}
.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(280px,1.5fr);gap:28px;margin:10px 0 34px;color:#91a0b6}.metric-strip div{min-width:0}.metric-strip span{display:block;font-size:.875rem;margin-bottom:5px}.metric-strip strong{display:block;color:#ecf1f9;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-strip .gold{color:var(--gold)}
.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:start}.side-nav{background:#0c1627;border-right:1px solid #1d2d47;min-height:850px;padding:12px;position:sticky;top:92px}.search-box{border:1px solid #2a3f60;border-radius:10px;padding:12px 14px;color:#7d8aa1;margin-bottom:14px}.nav-label{font-size:.75rem;color:#6f7d93;letter-spacing:.1em;font-weight:800;padding:6px 12px}.side-nav a{display:block;padding:11px 13px;border-radius:8px;color:#94a1b5;font-size:.9375rem}.side-nav a:hover,.side-nav a.active{background:#1e4678;color:#cde4ff}.nav-group{margin-top:10px;padding:8px 12px;color:#8d9aae;font-size:.75rem;font-weight:850;letter-spacing:.08em;display:flex;justify-content:space-between}.nav-group span{background:#163968;border:1px solid #2f5f95;border-radius:20px;padding:1px 6px;font-size:.625rem;color:#afd1f5}
.editor-stack{display:grid;gap:22px}.panel{background:var(--panel);border:1px solid #223652;border-radius:16px;padding:30px}.panel:target{outline:1px solid #3b6ca8}.panel-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:28px}.panel-icon{color:#9fb0c8;font-size:1.375rem}.panel-head h2{margin:0 0 4px;font-size:1.25rem}.panel-head p{margin:0;color:#8c9ab0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.settings-grid label{display:grid;gap:8px;font-weight:650;color:#d9e1ed}.settings-grid em{color:#ee6969;font-style:normal}.settings-grid small{font-weight:400;color:#7f8da3;line-height:1.4}.settings-grid input[type="number"],.settings-grid input[type="text"],.settings-grid input[type="password"],.settings-grid input:not([type]){width:100%;background:#101a2d;border:1px solid #2b405f;border-radius:10px;color:#e6edf7;padding:13px 14px;outline:none}.settings-grid input:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}.toggle-card{border:1px solid #2b405f;border-radius:10px;padding:14px}.toggle-line{display:flex;gap:10px;align-items:center;color:#91c5ff}.toggle-line input{width:18px;height:18px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.account-grid label:nth-of-type(3){grid-column:1/-1}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.module-card{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#101a2d;border:1px solid #263b59;border-radius:12px;padding:15px;cursor:pointer}.module-copy{display:grid;gap:4px}.module-copy b{font-size:.9375rem}.module-copy small{color:#7f8da3;font-size:.75rem;line-height:1.35}.module-card input{width:19px;height:19px;accent-color:#3d87df}.muted-panel{opacity:.78}.live-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.live-summary div{background:#101a2d;border:1px solid #263b59;border-radius:10px;padding:14px}.live-summary span{display:block;color:#7f8da3;font-size:.75rem}.live-summary b{display:block;margin-top:6px}.log-box{margin:16px 0 0;padding:14px;background:#09111f;border:1px solid #263b59;border-radius:10px;color:#abc0d8;white-space:pre-wrap;line-height:1.5;font-size:.75rem}.danger-zone{display:flex;justify-content:space-between;align-items:center;border:1px solid #552a32;background:#211319;border-radius:14px;padding:18px}.danger-zone div{display:grid;gap:4px}.danger-zone small{color:#967f86}
/* auth pages */
.auth-layout{min-height:calc(100vh - 170px);display:grid;grid-template-columns:1fr 480px;gap:48px;align-items:center;max-width:1100px;margin:auto}.auth-layout.single{grid-template-columns:minmax(0,620px);justify-content:center}.intro-card h1{font-size:3.375rem;letter-spacing:-.05em;margin:10px 0}.intro-card p,.card-heading p{color:var(--muted);line-height:1.7}.eyebrow{font-size:.75rem;color:#79b7f2;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.feature-row{display:flex;gap:12px;margin-top:20px;color:#b9c5d6}.feature-row>span{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center}.feature-row div{display:grid}.feature-row small{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.card-heading h2{font-size:1.75rem;margin:8px 0}.stack{display:grid;gap:16px}.stack label{display:grid;gap:7px}.stack input{background:#101a2d;border:1px solid #2b405f;border-radius:10px;color:#fff;padding:13px}.center{text-align:center}.muted{color:var(--muted)}.alert{padding:11px 13px;border-radius:10px;margin-bottom:14px}.alert.error{background:#35181f;color:#ffb0b7;border:1px solid #672832}.alert.success{background:#0f2d29;color:#9fe5d0;border:1px solid #215c50}.btn.primary{background:#2869b6}.btn.secondary{background:#17243a;border-color:#2b405f}.btn.ghost{background:transparent;border-color:#2b405f}.compact{padding:8px 11px}
@media(max-width:1000px){.topnav{display:none}.page-shell{padding:26px 20px 60px}.workspace{grid-template-columns:1fr}.side-nav{position:relative;top:0;min-height:0}.metric-strip{grid-template-columns:repeat(2,1fr)}.settings-grid,.module-grid{grid-template-columns:1fr}.control-row,.bot-header{align-items:flex-start;flex-direction:column}.control-actions{flex-wrap:wrap}.auth-layout{grid-template-columns:1fr}.intro-card{display:none}}
@media(max-width:620px){.topbar{padding:0 14px}.brand{font-size:.8125rem}.metric-strip{grid-template-columns:1fr 1fr;gap:18px}.metric-strip .wide{grid-column:1/-1}.panel{padding:20px}.bot-title-row h1{font-size:2.125rem}.live-summary{grid-template-columns:1fr}.danger-zone{align-items:flex-start;gap:14px;flex-direction:column}}
.btn.start{background:#167b5f;border-color:#219b78}.btn.stop{background:#db4348;border-color:#ef5b60}.btn.restart{background:#e89a0b;border-color:#f2ad28;color:#fff}.hidden{display:none!important}.worker-error{margin-top:14px;padding:11px 13px;border:1px solid #672832;background:#35181f;color:#ffb0b7;border-radius:9px;font-size:.8125rem}.live-log{max-height:300px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.live-log div{padding:3px 0;border-bottom:1px solid rgba(38,59,89,.35)}.live-log div:last-child{border-bottom:0}.live-log span{color:#687a94}.log-info{color:#93c7ff}.log-warning{color:#f4bd55}.log-error{color:#ff7c86}.live-summary{grid-template-columns:repeat(3,1fr)}
.live-log div.log-important-event{padding:6px 8px!important;margin:3px 0;border:1px solid rgba(244,163,0,.55)!important;border-left:4px solid var(--amber)!important;border-radius:6px;background:rgba(244,163,0,.11);color:#ffe2a3;font-weight:750}.live-log div.log-important-event span{color:#d6a84d}.live-log div.log-important-event .log-info{color:#ffd36a}

.baron-toolbar{display:grid;grid-template-columns:auto repeat(5,minmax(120px,1fr));gap:14px;align-items:center;margin-bottom:14px}.baron-toolbar>div{background:#101a2d;border:1px solid #263b59;border-radius:10px;padding:12px}.baron-toolbar span{display:block;color:#7f8da3;font-size:.75rem}.baron-toolbar b{display:block;margin-top:4px}.scan-note{margin:12px 0 16px}.table-wrap{overflow:auto;border:1px solid #263b59;border-radius:10px}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{text-align:left;padding:11px 13px;border-bottom:1px solid #22344e}.data-table th{font-size:.75rem;color:#8190a8;background:#0f192a;position:sticky;top:0}.data-table td{font-size:.875rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#17243a}
@media(max-width:900px){.baron-toolbar{grid-template-columns:1fr 1fr}.baron-toolbar form{grid-column:1/-1}}

.player-wallet{display:flex;align-items:center;gap:22px;margin:10px 0 0 22px;color:#8d9ab0;font-size:.875rem}.player-wallet span{display:inline-flex;gap:7px;align-items:baseline}.player-wallet strong{font-size:1rem;color:#e9eef7}.player-wallet span:first-child strong{color:var(--gold)}.player-wallet span:last-child strong{color:#ff6d66}@media(max-width:620px){.player-wallet{margin-left:0;flex-wrap:wrap;gap:12px 18px}}
.settings-grid select,.assignment-card select{width:100%;background:#101a2d;border:1px solid #2b405f;border-radius:10px;color:#e6edf7;padding:12px 14px;outline:none}.settings-grid select:focus,.assignment-card select:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.safety-summary{margin-top:18px}.commander-toolbar{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:16px}.assignment-grid{display:grid;gap:12px}.assignment-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.5fr) auto;gap:14px;align-items:center;background:#101a2d;border:1px solid #263b59;border-radius:12px;padding:15px}.assignment-card .btn{white-space:nowrap}.assignment-card button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.assignment-card{grid-template-columns:1fr}.commander-toolbar{align-items:flex-start;flex-direction:column}}

.build-badge{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:999px;background:#49206f;border:1px solid #7843aa;color:#e7c7ff;font-size:.6875rem;letter-spacing:.06em;vertical-align:middle}

/* v15: sidebar behaves like a settings navigator: only one editor panel is visible. */
.settings-panel[hidden]{display:none!important}.editor-stack>.settings-panel{min-height:520px}.side-nav a[aria-current="page"]{background:#1e4678;color:#cde4ff}
.multi-assignment-card{display:grid;gap:16px;background:#101a2d;border:1px solid #263b59;border-radius:12px;padding:18px}.assignment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.assignment-meta{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#8fa0b7}.assignment-meta strong{font-size:1.375rem;color:#dceaff}.assignment-actions{display:flex;gap:10px;flex-wrap:wrap}.commander-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:520px;overflow:auto;padding-right:4px}.commander-choice{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #2a405f;border-radius:10px;background:#0e1829;cursor:pointer}.commander-choice:hover{border-color:#3c5f89}.commander-choice input{width:18px;height:18px;margin-top:1px;accent-color:#3d87df;flex:none}.commander-choice span{display:grid;gap:3px;min-width:0}.commander-choice b{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commander-choice small{font-size:.6875rem;color:#7f8da3}.commander-choice.reserved{opacity:.48;cursor:not-allowed}.empty-state{grid-column:1/-1;padding:24px;border:1px dashed #2b405f;border-radius:10px;color:#7f8da3;text-align:center}
@media(max-width:900px){.commander-choice-grid{grid-template-columns:1fr}.assignment-card-head{flex-direction:column}.editor-stack>.settings-panel{min-height:0}}
.multi-assignment-card{grid-template-columns:1fr;align-items:stretch}


/* v16: Presets are the only global header destination. */
.preset-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:30px}.preset-page-head h1{font-size:2.5rem;letter-spacing:-.04em;margin:8px 0 8px}.preset-page-head p{margin:0;color:var(--muted);font-size:1rem}.preset-intro-panel{max-width:1180px}.preset-preview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.preset-preview-card,.preset-roadmap{background:#101a2d;border:1px solid #263b59;border-radius:14px;padding:20px}.preset-preview-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.preset-preview-title span{padding:4px 9px;border:1px solid #32527d;border-radius:999px;color:#9ecbff;font-size:.6875rem}.preset-preview-card p{color:#8391a8}.wave-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.wave-preview>div{min-height:110px;border:1px solid #31527d;border-radius:11px;background:#13223a;padding:16px;display:grid;align-content:start;gap:8px;text-align:center}.wave-preview small{color:#77d9bd}.preset-roadmap h3{margin:0 0 18px}.roadmap-row{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #243653}.roadmap-row:last-child{border-bottom:0}.roadmap-row>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1e4678;color:#cde4ff;font-weight:800;flex:none}.roadmap-row div{display:grid;gap:4px}.roadmap-row small{color:#8391a8}.preset-notice{margin-top:18px;padding:13px 15px;border:1px solid #2b405f;border-radius:10px;color:#9aa9bd;background:#0e1829}@media(max-width:900px){.preset-page-head{flex-direction:column}.preset-preview-grid{grid-template-columns:1fr}.wave-preview{grid-template-columns:1fr}}


/* v17: functional attack preset editor + module preset assignment. */
.catalog-panel{margin-bottom:18px}.catalog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.catalog-refresh-form{margin-left:auto}.catalog-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.catalog-stats>div{background:#101a2d;border:1px solid #263b59;border-radius:11px;padding:14px}.catalog-stats span{display:block;color:#7f8da3;font-size:.75rem}.catalog-stats b{display:block;margin-top:5px;font-size:.9375rem}
.preset-workspace{display:grid;grid-template-columns:minmax(230px,.34fr) minmax(0,1.66fr);gap:18px;align-items:start}.preset-list-panel{position:sticky;top:72px;padding:18px}.preset-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.preset-list-head h2,.preset-editor-head h2{margin:0}.preset-list-head p,.preset-editor-head p{margin:4px 0 0;color:#8391a8;font-size:.75rem}.preset-list{display:grid;gap:8px}.preset-list-item{display:grid;gap:5px;padding:12px 13px;border:1px solid #263b59;border-radius:10px;background:#0f192a;color:#dce6f5;text-decoration:none}.preset-list-item:hover{border-color:#3e628d;background:#13223a}.preset-list-item.active{border-color:#3d87df;background:#142a49;box-shadow:inset 3px 0 #3d87df}.preset-list-item small{color:#8190a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-editor-panel{padding:20px}.preset-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.preset-meta-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px}.preset-meta-grid label{display:grid;gap:7px}.preset-meta-grid label>span{font-size:.75rem;color:#93a2b8}.preset-meta-grid input,.preset-item-row select,.preset-item-row input,.module-preset-form select{width:100%;box-sizing:border-box;background:#101a2d;border:1px solid #2b405f;border-radius:9px;color:#e6edf7;padding:11px 12px;outline:none}.preset-meta-grid input:focus,.preset-item-row select:focus,.preset-item-row input:focus,.module-preset-form select:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.waves-root{display:grid;gap:15px;margin-top:18px}.attack-wave-card{background:#0e1829;border:1px solid #263b59;border-radius:13px;padding:14px}.wave-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.wave-card-head>div:first-child{display:grid;gap:3px}.wave-card-head small{color:#7f8da3}.wave-actions{display:flex;gap:7px}.wave-actions .icon-btn:disabled{opacity:.35;cursor:not-allowed}.danger-icon{color:#ff828a!important}.wave-flanks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.flank-card{background:#111f34;border:1px solid #2b4263;border-radius:11px;padding:12px;min-width:0}.flank-card h3{text-align:center;margin:0 0 12px;font-size:.875rem}.preset-item-group{display:grid;gap:7px;margin-top:11px}.preset-item-group-head{display:flex;align-items:center;gap:6px;color:#8e9fb7;font-size:.75rem}.preset-item-group-head b{font-weight:650}.unit-dot,.tool-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.unit-dot{background:#24c591}.tool-dot{background:#3d87df}.mini-add{margin-left:auto;width:26px;height:26px;border:1px solid #35577f;border-radius:7px;background:#14253e;color:#9ecbff;cursor:pointer}.mini-add:disabled{opacity:.35;cursor:not-allowed}.empty-slot{padding:9px;border:1px dashed #2b405f;border-radius:8px;color:#6f8098;font-size:.6875rem;text-align:center}.preset-item-row{display:grid;grid-template-columns:minmax(0,1fr) 82px 30px;gap:6px}.preset-item-row select,.preset-item-row input{padding:8px 9px;font-size:.75rem}.row-remove{border:1px solid #5b2d38;background:#2b171d;color:#ff8b92;border-radius:8px;cursor:pointer}.preset-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #253750}.preset-editor-actions .muted{margin-right:auto;font-size:.75rem}.empty-card{padding:18px;border:1px dashed #2b405f;border-radius:10px;color:#7889a1;text-align:center}.btn.small{padding:7px 9px;font-size:.75rem}
.module-preset-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);gap:18px;align-items:end;background:#101a2d;border:1px solid #2a405f;border-radius:12px;padding:16px;margin:14px 0}.module-preset-card>div{display:grid;gap:5px}.module-preset-card .eyebrow{font-size:.625rem;color:#78baff}.module-preset-card strong{font-size:1.125rem}.module-preset-card small{color:#7f8da3;line-height:1.4}.module-preset-form{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}.module-preset-form .btn{white-space:nowrap}
@media(max-width:1100px){.preset-workspace{grid-template-columns:1fr}.preset-list-panel{position:static}.preset-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-flanks{grid-template-columns:1fr}.module-preset-card{grid-template-columns:1fr}.module-preset-form{grid-template-columns:1fr auto auto}}
@media(max-width:720px){.catalog-head{grid-template-columns:auto 1fr}.catalog-refresh-form{grid-column:1/-1;margin:8px 0 0}.catalog-stats{grid-template-columns:1fr}.preset-meta-grid,.preset-list{grid-template-columns:1fr}.preset-editor-head{flex-direction:column}.module-preset-form{grid-template-columns:1fr}.preset-item-row{grid-template-columns:minmax(0,1fr) 76px 30px}}

/* v18: complete game catalogue + searchable preset item pickers. */
.catalog-search-picker{position:relative;min-width:0;z-index:1}.catalog-search-picker:focus-within{z-index:40}
.catalog-search-picker>input[type="search"]{width:100%;box-sizing:border-box;background:#101a2d;border:1px solid #2b405f;border-radius:9px;color:#e6edf7;padding:8px 9px;font-size:.75rem;outline:none}.catalog-search-picker>input[type="search"]:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.catalog-search-results{position:absolute;left:0;right:0;top:calc(100% + 5px);max-height:290px;overflow:auto;background:#0b1423;border:1px solid #36577f;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.48);padding:5px;z-index:60}.catalog-search-results[hidden]{display:none!important}
.catalog-search-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;width:100%;border:0;border-radius:7px;background:transparent;color:#dce6f5;padding:8px 9px;text-align:left;cursor:pointer;font-size:.75rem}.catalog-search-option:hover,.catalog-search-option:focus{background:#173050;outline:none}.catalog-search-option b{color:#78baff;font-variant-numeric:tabular-nums}.catalog-search-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-search-empty{padding:13px;color:#7f8da3;text-align:center;font-size:.75rem}
.preset-item-row{overflow:visible}.flank-card{overflow:visible}.attack-wave-card{overflow:visible}.item-count-input{width:100%;box-sizing:border-box;background:#101a2d;border:1px solid #2b405f;border-radius:9px;color:#e6edf7;padding:8px 9px;font-size:.75rem;outline:none}.item-count-input:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}

/* v18.2: attack-level AST support tools + RW courtyard wave. */
.preset-attack-extras{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;margin-top:16px}.attack-extra-card{background:#0e1829;border:1px solid #263b59;border-radius:13px;padding:14px;min-width:0}.attack-extra-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.attack-extra-head strong{display:flex;align-items:center;gap:8px;font-size:.875rem}.attack-extra-head small{display:block;margin-top:5px;color:#7f8da3;line-height:1.4}.protocol-pill{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 7px;border:1px solid #4a3d78;border-radius:999px;background:#211a3b;color:#cbb8ff;font-size:.625rem;letter-spacing:.06em}.support-tools-grid,.courtyard-grid{display:grid;gap:8px}.support-tool-slot,.courtyard-slot{display:grid;grid-template-columns:28px minmax(0,1fr) 30px;gap:7px;align-items:center}.courtyard-slot{grid-template-columns:28px minmax(0,1fr) 82px 30px}.slot-index{width:26px;height:26px;display:grid;place-items:center;border:1px solid #31496b;border-radius:7px;color:#7f94af;background:#111f34;font-size:.6875rem;font-variant-numeric:tabular-nums}.preset-extra-note{margin-top:10px;padding:9px 10px;border:1px dashed #574c78;border-radius:8px;background:#15152a;color:#9d93b7;font-size:.6875rem;line-height:1.45}.preset-extra-note code{color:#d6caff}.support-tools-card{border-color:#3e3865}.courtyard-card{border-color:#4f4428}.catalog-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.preset-attack-extras{grid-template-columns:1fr}.catalog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.catalog-stats{grid-template-columns:1fr}.courtyard-slot{grid-template-columns:28px minmax(0,1fr) 72px 30px}.support-tool-slot{grid-template-columns:28px minmax(0,1fr) 30px}}

/* v19 Tower Bot */
.tower-toggle-card{display:flex;gap:12px;align-items:stretch;margin-bottom:16px}.tower-toggle-card .toggle-card{flex:1}.tower-toggle-card .btn{align-self:center;white-space:nowrap}@media(max-width:900px){.tower-toggle-card{flex-direction:column}.tower-toggle-card .btn{align-self:stretch}}

/* v20: global admin + time-limited licenses. */
.admin-page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.admin-page-head h1{font-size:2.375rem;line-height:1;margin:0 0 10px;letter-spacing:-.035em}.admin-page-head p{margin:0;color:var(--muted)}
.admin-users-panel{padding:22px}.admin-users-table th,.admin-users-table td{vertical-align:middle}.admin-users-table form{margin:0}.admin-subline{display:block;color:#7f8da3;margin-top:5px;font-size:.6875rem}.admin-pill{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;border:1px solid #755b20;background:#2b2411;color:#f7d66a;font-size:.5625rem;font-weight:850;letter-spacing:.06em}.license-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#59667a;margin-right:5px}.license-dot.ok{background:var(--green)}
.admin-usage-panel{padding:22px;margin-bottom:18px}.admin-usage-head{align-items:center;margin-bottom:18px}.admin-usage-head>div{flex:1}.usage-status{padding:4px 9px;border:1px solid #3b4b64;border-radius:999px;background:#111d30;color:#8b9bb1;font-size:.6875rem;font-weight:800}.usage-status.live{border-color:#25624f;background:#103328;color:#86dfbd}.admin-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.usage-meter-card{padding:15px 16px;border:1px solid #263b59;border-radius:11px;background:#101a2d}.usage-meter-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#a2b0c3;font-size:.8125rem}.usage-meter-title strong{color:#edf2fa;font-size:1.125rem;white-space:nowrap}.usage-meter-track{height:9px;margin:12px 0 8px;overflow:hidden;border-radius:999px;background:#09111f;border:1px solid #20324c}.usage-meter-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d87df,#6aaff7);transition:width .35s ease}.usage-meter-card:nth-child(2) .usage-meter-track i{background:linear-gradient(90deg,#28b788,#73ddbd)}.usage-meter-card small{display:block;color:#7f8da3;font-size:.6875rem}.admin-usage-footline{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:#71839b;font-size:.6875rem}.admin-usage-footline span:last-child{color:#5f718a}
.license-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid;font-size:.6875rem;font-weight:800}.license-badge.active{background:#0f2d29;border-color:#215c50;color:#9fe5d0}.license-badge.expired,.license-badge.missing{background:#35181f;border-color:#672832;color:#ffb0b7}
.license-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.license-grant-form{display:grid;grid-template-columns:72px 105px auto;gap:6px;align-items:center}.license-grant-form input,.license-grant-form select{background:#101a2d;border:1px solid #2b405f;border-radius:8px;color:#e6edf7;padding:8px 9px;min-width:0}.license-grant-form input{width:72px}
.admin-context-banner,.license-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #3b4f6d;border-radius:10px;background:#101c30;color:#b9c7db;margin:-22px 0 22px}.admin-context-banner{border-color:#5c4822;background:#211c11;color:#e9d69f}.license-notice{border-color:#672832;background:#35181f;color:#ffb0b7}.license-notice.active{border-color:#215c50;background:#0f2d29;color:#9fe5d0}
@media(max-width:900px){.admin-users-panel{overflow-x:auto}.admin-users-table{min-width:980px}.admin-context-banner,.license-notice{align-items:flex-start;flex-direction:column}.license-grant-form{grid-template-columns:70px 100px auto}.admin-usage-grid{grid-template-columns:1fr}}
@media(max-width:620px){.admin-usage-panel{padding:18px}.admin-usage-head{align-items:flex-start}.admin-usage-footline{align-items:flex-start;flex-direction:column;gap:4px}}
.module-toggle-list{display:grid;gap:14px}.module-toggle-row{display:grid;gap:8px;background:#101a2d}.module-toggle-row small{display:block;color:#7f8da3;line-height:1.45;margin-left:28px}.module-toggle-row strong{color:#dceaff}

/* v20.4 dashboard information architecture + module accordion + bottom Live Feed */
.bot-shell{padding:30px 40px 70px;background:
  radial-gradient(circle at 12% -10%,rgba(46,110,191,.12),transparent 30%),
  radial-gradient(circle at 92% 10%,rgba(40,183,136,.07),transparent 25%)}
.bot-shell .dashboard-hero{margin:0 0 24px;padding:28px 30px;border:1px solid #263955;border-radius:20px;background:linear-gradient(135deg,rgba(20,32,54,.96),rgba(12,23,40,.92));box-shadow:0 18px 50px rgba(0,0,0,.16)}
.bot-shell .dashboard-hero h1{font-size:2.375rem}.bot-shell .dashboard-hero p{max-width:760px;font-size:.875rem}.player-wallet{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.player-wallet span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #2a405f;border-radius:999px;background:#0e192a;color:#91a0b6;font-size:.75rem}.player-wallet strong{color:#edf3fc}
.bot-shell .dashboard-controlbar{padding:14px 16px;margin:0 0 16px;border:1px solid #223652;border-radius:14px;background:#0e1829}.bot-shell .dashboard-controlbar .status-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.bot-shell .dashboard-controlbar .btn{padding:9px 13px}
.bot-shell .dashboard-metrics{grid-template-columns:repeat(4,minmax(105px,.7fr)) minmax(260px,1.4fr);gap:10px;margin:0 0 24px}.bot-shell .dashboard-metrics>div{padding:13px 14px;border:1px solid #223652;border-radius:12px;background:#0e1829}.bot-shell .dashboard-metrics span{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.bot-shell .dashboard-metrics strong{font-size:.9375rem}
.bot-shell .dashboard-workspace{grid-template-columns:238px minmax(0,1fr);gap:20px;align-items:start}.bot-shell .dashboard-side-nav{min-height:auto;padding:10px;border:1px solid #223652;border-radius:16px;background:#0c1627;position:sticky;top:88px}.bot-shell .dashboard-side-nav .nav-label{padding:8px 10px 10px}.bot-shell .dashboard-side-nav a{display:flex;align-items:center;gap:9px;padding:11px 12px;margin:2px 0;border:1px solid transparent}.bot-shell .dashboard-side-nav a span{width:19px;text-align:center;color:#7e91ac}.bot-shell .dashboard-side-nav a:hover{border-color:#263b59;background:#121f34}.bot-shell .dashboard-side-nav a.active{border-color:#356aa6;background:linear-gradient(90deg,#17395f,#142d4c);box-shadow:inset 3px 0 #5ca3f0}.bot-shell .dashboard-side-nav a.active span{color:#a9d2ff}.side-nav-foot{display:flex;gap:9px;align-items:center;margin:12px 5px 2px;padding:11px;border-top:1px solid #1f304a;color:#70829c}.side-nav-foot small{line-height:1.35}
.bot-shell .dashboard-panel{padding:26px;border-color:#263b59;background:linear-gradient(180deg,#142036 0%,#111c30 100%);box-shadow:0 14px 38px rgba(0,0,0,.12)}.bot-shell .dashboard-panel .panel-head{margin-bottom:20px}.bot-shell .dashboard-panel .panel-head h2{font-size:1.375rem}.bot-shell .dashboard-panel .panel-head p{font-size:.8125rem;line-height:1.5}.bot-shell .panel-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #304766;border-radius:10px;background:#101a2c;font-size:1.125rem;color:#9fc7f1}
.settings-section-card{padding:20px;border:1px solid #263b59;border-radius:14px;background:#0e192a}.settings-section-card+.settings-section-card{margin-top:16px}.settings-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #22344e}.settings-section-head h3{margin:3px 0 0;font-size:1.0625rem}.section-badge{display:inline-flex;padding:5px 9px;border:1px solid #315c8c;border-radius:999px;background:#102b48;color:#9bceff;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.section-badge.safe{border-color:#285849;background:#102d27;color:#8ce0c3}.bot-shell .settings-grid{gap:18px}.bot-shell .settings-grid label{font-size:.8125rem}.bot-shell .settings-grid input[type="number"],.bot-shell .settings-grid input[type="text"],.bot-shell .settings-grid input[type="password"],.bot-shell .settings-grid input:not([type]){padding:11px 12px}.compact-summary{margin-top:16px;padding-top:16px;border-top:1px solid #22344e}.compact-summary div{padding:11px 12px;background:#111e32}.compact-summary b{font-size:.8125rem}
.module-panel-head{align-items:center}.module-accordion-list{display:grid;gap:12px}.module-accordion{overflow:hidden;border:1px solid #2b405f;border-radius:14px;background:#0e192a;transition:border-color .2s ease,box-shadow .2s ease}.module-accordion[open],.module-accordion.enabled{border-color:#36577f}.module-accordion[open]{box-shadow:0 12px 28px rgba(0,0,0,.14)}.module-accordion summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto 26px;gap:12px;align-items:center;padding:15px 16px;cursor:pointer;list-style:none;user-select:none}.module-accordion summary::-webkit-details-marker{display:none}.module-accordion summary:hover{background:#111f34}.module-summary-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #304766;border-radius:11px;background:#111f34;color:#aacdf4;font-size:1.1875rem}.module-summary-copy{min-width:0}.module-summary-copy small{display:block;margin-top:4px;color:#7f8da3;line-height:1.4}.module-summary-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.module-summary-title strong{font-size:.9375rem}.module-state-pill{display:inline-flex;padding:3px 7px;border:1px solid #4b5668;border-radius:999px;background:#1b2432;color:#8f9caf;font-size:.5625rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.module-state-pill.on{border-color:#24624f;background:#103328;color:#83dfbe}.module-chevron{color:#7588a4;font-size:1.1875rem;transition:transform .2s ease}.module-accordion[open] .module-chevron{transform:rotate(180deg)}
.module-switch-control{position:relative;display:inline-flex;align-items:center;cursor:pointer}.module-switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:44px;height:24px;padding:3px;border-radius:999px;border:1px solid #3c4c62;background:#212b3a;transition:.2s}.switch-track span{display:block;width:16px;height:16px;border-radius:50%;background:#8a98ac;transition:.2s}.module-switch-control input:checked+.switch-track{border-color:#27755d;background:#154838}.module-switch-control input:checked+.switch-track span{transform:translateX(18px);background:#73dcb7;box-shadow:0 0 0 3px rgba(115,220,183,.08)}.module-switch-control input:focus-visible+.switch-track{outline:2px solid #5a9ee7;outline-offset:2px}
.module-accordion-body{padding:0 16px 16px;border-top:1px solid #22344e}.module-runtime-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0 14px}.module-runtime-bar>div{display:grid;gap:3px}.module-runtime-bar b{font-size:1rem}.module-runtime-bar small{color:#7f8da3}.runtime-kicker{font-size:.5625rem;letter-spacing:.12em;color:#78baff;font-weight:850}.baron-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.baron-status-grid>div{padding:12px;border:1px solid #263b59;border-radius:10px;background:#101c2f;min-width:0}.baron-status-grid span{display:block;color:#7587a0;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em}.baron-status-grid b{display:block;margin-top:5px;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-runtime-note{margin:10px 0 0;font-size:.75rem;line-height:1.45}.module-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.module-config-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.85fr);gap:16px;align-items:end;padding:16px;border:1px solid #2a405f;border-radius:12px;background:#101a2d}.module-config-copy{display:grid;gap:4px}.module-config-copy strong{font-size:.9375rem}.module-config-copy small{color:#7f8da3;line-height:1.4}.module-config-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.module-config-form select{width:100%;min-width:0;background:#0d1728;border:1px solid #2b405f;border-radius:9px;color:#e6edf7;padding:10px 11px;outline:none}.preset-config-form{grid-template-columns:minmax(0,1fr) auto auto}.module-footline{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid #263b59;border-radius:10px;background:#101a2d;color:#8fa0b8;font-size:.75rem}.module-footline strong{color:#e1e9f5}.module-footline a{margin-left:auto;color:#8dc5ff;font-weight:700}.module-disabled-state{display:flex;gap:13px;align-items:flex-start;padding:18px 2px 2px;color:#8798af}.module-disabled-state>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #30445f;border-radius:10px;background:#111d30}.module-disabled-state strong{color:#cbd7e6}.module-disabled-state p{margin:5px 0 0;line-height:1.5}.module-save-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid #22344e}.module-save-row span{color:#72839b;font-size:.75rem}
.bot-shell .assignment-card{grid-template-columns:1fr;gap:12px;padding:16px}.assignment-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.assignment-actions{display:flex;gap:8px;flex-wrap:wrap}.commander-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.commander-choice{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid #263b59;border-radius:9px;background:#111d30;min-width:0}.commander-choice>span{display:grid;min-width:0}.commander-choice b{font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commander-choice small{color:#70829b;font-size:.625rem}.commander-choice.reserved{opacity:.48}.assignment-meta{display:flex;align-items:baseline;gap:4px;color:#7f8da3}.assignment-meta strong{font-size:1.25rem;color:#b9d9ff}
.live-feed-footer{margin:24px 0 0;padding:24px;border-color:#2b405f;background:linear-gradient(180deg,#101c30,#0c1627);box-shadow:0 18px 45px rgba(0,0,0,.16)}.live-feed-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.live-feed-head .panel-head{margin:0 0 18px}.live-feed-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.live-feed-summary div{padding:11px 12px}.live-feed-summary b{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-feed-footer .live-log{max-height:260px;background:#08101d}
@media(max-width:1250px){.bot-shell .dashboard-workspace{grid-template-columns:210px minmax(0,1fr)}.module-config-grid{grid-template-columns:1fr}.commander-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-feed-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.baron-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bot-shell{padding:24px 20px 60px}.bot-shell .dashboard-workspace{grid-template-columns:1fr}.bot-shell .dashboard-side-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bot-shell .dashboard-side-nav .nav-label,.side-nav-foot{grid-column:1/-1}.bot-shell .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.bot-shell .dashboard-metrics .wide{grid-column:1/-1}.module-config-card{grid-template-columns:1fr}.commander-choice-grid{grid-template-columns:1fr 1fr}.module-runtime-bar{align-items:flex-start;flex-direction:column}.live-feed-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.bot-shell{padding:16px 12px 50px}.bot-shell .dashboard-hero{padding:20px}.bot-shell .dashboard-hero h1{font-size:1.875rem}.bot-shell .dashboard-hero{flex-direction:column}.bot-shell .dashboard-controlbar{align-items:flex-start;flex-direction:column}.bot-shell .dashboard-controlbar .control-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.bot-shell .dashboard-controlbar .control-actions .btn{width:100%;padding:9px 6px;font-size:.75rem}.bot-shell .dashboard-metrics{grid-template-columns:1fr 1fr}.bot-shell .dashboard-side-nav{grid-template-columns:1fr}.bot-shell .dashboard-side-nav .nav-label,.side-nav-foot{grid-column:auto}.bot-shell .dashboard-panel{padding:18px}.bot-shell .settings-grid{grid-template-columns:1fr}.module-accordion summary{grid-template-columns:36px minmax(0,1fr) auto}.module-summary-icon{width:36px;height:36px}.module-chevron{display:none}.module-summary-copy small{font-size:.6875rem}.baron-status-grid,.commander-choice-grid,.live-feed-summary{grid-template-columns:1fr}.module-config-form,.preset-config-form{grid-template-columns:1fr}.module-save-row{align-items:stretch;flex-direction:column}.module-save-row .btn{width:100%}.live-feed-head{align-items:stretch;flex-direction:column}.live-feed-head .btn{align-self:flex-start}.assignment-card-head{flex-direction:column}}

/* v20.5: module switches stay in Settings; enabled module workspaces get their own sidebar group. */
.bot-shell .dashboard-side-nav .module-nav-label{margin-top:15px;padding-top:15px;border-top:1px solid #20314b;color:#8296b2}
.bot-shell .dashboard-side-nav .module-nav-link{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;margin:3px 0 0 7px;padding:10px 11px;border-left:2px solid #2d496b;background:#0f1b2e;color:#a9bad0}
.bot-shell .dashboard-side-nav .module-nav-link:hover,.bot-shell .dashboard-side-nav .module-nav-link.active{border-left-color:#64a9ef;background:#16365e;color:#d7ebff}
.bot-shell .dashboard-side-nav .module-nav-link i{font-style:normal;padding:2px 6px;border:1px solid #27614f;border-radius:999px;background:#103328;color:#83dfbe;font-size:.5rem;font-weight:900;letter-spacing:.08em}
.module-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-toggle-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:17px;border:1px solid #293e5d;border-radius:13px;background:#0e192a;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.module-toggle-card:hover{border-color:#3b5b84;background:#111f34;transform:translateY(-1px)}.module-toggle-card.enabled{border-color:#2d6453;background:linear-gradient(135deg,#10251f,#0e1b2d 58%)}.module-toggle-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #304766;border-radius:11px;background:#111f34;color:#aacdf4;font-size:1.25rem}.module-toggle-card.enabled .module-toggle-icon{border-color:#2d6553;background:#113429;color:#88dfc0}.module-toggle-copy{display:grid;min-width:0;gap:5px}.module-toggle-copy small{color:#7f8da3;font-size:.75rem;line-height:1.45}.module-toggle-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.module-toggle-title strong{font-size:.9375rem}.module-detail-panel{border-color:#2e4668!important}.module-detail-head{align-items:center!important;padding-bottom:16px;border-bottom:1px solid #22344e}.module-detail-head>div:nth-child(2){flex:1}.module-detail-head .eyebrow{display:block;margin-bottom:4px}.module-runtime-bar.standalone{margin-bottom:14px;padding:2px 0 14px;border-bottom:1px solid #22344e}
@media(max-width:900px){.module-toggle-grid{grid-template-columns:1fr}.bot-shell .dashboard-side-nav .module-nav-label{margin-top:5px;padding-top:8px}}
@media(max-width:650px){.module-toggle-card{grid-template-columns:38px minmax(0,1fr) auto;padding:14px}.module-toggle-icon{width:38px;height:38px}.module-toggle-copy small{font-size:.6875rem}.module-detail-head{align-items:flex-start!important;flex-wrap:wrap}.module-detail-head>.module-state-pill{margin-left:50px}}

/* v20.6: compact live status console inspired by the in-game bot overview. */
.bot-status-console{margin:0 0 28px;padding:20px 22px 18px;border:1px solid #223652;border-radius:16px;background:linear-gradient(180deg,#0d1728,#0a1322);box-shadow:0 18px 44px rgba(0,0,0,.16)}
.bot-status-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:17px;border-bottom:1px solid #1e2e46}.bot-status-state{display:flex;align-items:center;gap:10px;color:#8e9bb0;font-size:.9375rem}.bot-status-actions{margin-left:auto}.bot-status-actions .btn{min-width:118px;padding:12px 17px;font-size:.9375rem}
.bot-status-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding:20px 0 17px}.status-stat{min-width:0}.status-stat span{display:block;color:#8b98ad;font-size:.8125rem;margin-bottom:5px}.status-stat strong{display:block;color:#edf2fa;font-size:1.25rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-stat.rubies strong{color:#ff6767}.status-stat.coins strong{color:var(--gold)}
.time-skip-strip{display:flex;align-items:center;gap:22px;min-height:42px;padding-top:15px;border-top:1px solid #1e2e46;color:#8795aa;flex-wrap:wrap}.time-skip-title{padding-right:4px;color:#b6c3d4;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.time-skip-strip>span:not(.time-skip-title){display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.time-skip-strip b{font-size:.75rem;font-weight:600;color:#7f8da2}.time-skip-strip strong{font-size:.875rem;color:#d7e1ef}.time-skip-strip small{margin-left:auto;color:#667891;font-size:.625rem}
@media(max-width:1100px){.bot-status-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.time-skip-strip small{width:100%;margin-left:0}.bot-status-actions .btn{min-width:0}}
@media(max-width:700px){.bot-status-console{padding:16px}.bot-status-toolbar{align-items:flex-start;flex-direction:column}.bot-status-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-left:0}.bot-status-actions form,.bot-status-actions .btn{width:100%}.bot-status-actions .btn{padding:9px 6px;font-size:.75rem}.bot-status-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.status-stat strong{font-size:1.0625rem}.time-skip-strip{gap:11px 18px}.time-skip-title{width:100%}}

/* v20.7: intentionally minimal live header — no oversized hero/cards. */
.compact-page-title{display:flex;align-items:center;gap:9px;margin:0 0 8px;color:#8795aa;font-size:.75rem}.compact-page-title #metric-player-title{font-weight:800;color:#d7e0ec;font-size:1rem;line-height:1.15;letter-spacing:.01em}.compact-page-title .build-badge{margin:0;padding:2px 6px;font-size:.5625rem;background:transparent;border-color:#30435f;color:#70829b}
.compact-status-console{margin:0 0 24px;padding:8px 2px 16px;border:0;border-bottom:1px solid #1e2e46;border-radius:0;background:transparent;box-shadow:none}
.compact-status-console .bot-status-toolbar{padding:0 0 14px;border:0}.compact-status-console .bot-status-state{gap:8px;font-size:.8125rem}.compact-status-console .status-badge{padding:5px 9px;border-radius:8px;font-size:.75rem}
.compact-status-console .bot-status-actions{gap:8px}.compact-status-console .bot-status-actions .btn{min-width:auto;padding:8px 13px;border-radius:8px;font-size:.8125rem;box-shadow:none}
.compact-status-metrics{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:12px 0 10px;overflow-x:auto}.compact-status-metrics .status-stat{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;min-width:0}.compact-status-metrics .status-stat span{display:inline;margin:0;color:#8492a8;font-size:.75rem}.compact-status-metrics .status-stat strong{display:inline;font-size:1rem;line-height:1;color:#dce5f2;overflow:visible}.compact-status-metrics .status-stat.rubies strong{color:#ff6868}.compact-status-metrics .status-stat.coins strong{color:var(--gold)}.compact-status-metrics .economy-stat small{font-size:.625rem;color:#6f8098;white-space:nowrap}
.compact-time-skips{min-height:auto;padding:8px 0 0;border:0;gap:16px;font-size:.6875rem}.compact-time-skips .time-skip-title{padding:0;font-size:.625rem;letter-spacing:.05em;color:#667891}.compact-time-skips>span:not(.time-skip-title){gap:3px}.compact-time-skips b{font-size:.6875rem;font-weight:500;color:#718199}.compact-time-skips strong{font-size:.6875rem;font-weight:650;color:#9cabc0}
@media(max-width:900px){.compact-status-metrics{justify-content:flex-start;gap:18px}.compact-status-console .bot-status-toolbar{align-items:center;flex-direction:row}.compact-status-console .bot-status-actions{width:auto;display:flex;margin-left:auto}.compact-status-console .bot-status-actions form,.compact-status-console .bot-status-actions .btn{width:auto}.compact-time-skips{gap:8px 14px}.compact-time-skips .time-skip-title{width:auto}}
@media(max-width:620px){.compact-page-title{margin-bottom:10px}.compact-status-console .bot-status-toolbar{align-items:flex-start;flex-direction:column}.compact-status-console .bot-status-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-left:0}.compact-status-console .bot-status-actions form,.compact-status-console .bot-status-actions .btn{width:100%}.compact-status-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.compact-status-metrics .status-stat{display:block}.compact-status-metrics .status-stat span{margin-right:4px}.compact-status-metrics .economy-stat small{display:block;margin-top:4px}.compact-time-skips .time-skip-title{width:100%}}

.commander-toolbar-auto{min-height:0;padding-top:0}.commander-toolbar-auto .muted{margin:0}

/* v20.9: clearer account title, non-overlapping notices and compact live movements. */
.bot-shell .compact-page-title{margin:0 0 14px;min-height:34px}
.bot-shell .compact-page-title #metric-player-title{font-size:1.625rem;line-height:1.05;letter-spacing:-.025em;color:#eef3fb;font-weight:850}
.bot-shell .compact-page-title .build-badge{align-self:center}
.bot-shell>.toast{margin:0 0 12px}
.bot-shell>.license-notice,.bot-shell>.admin-context-banner{margin-top:0}
.movements-panel-head{align-items:center}.movements-panel-head>div:nth-child(2){flex:1}.movement-count{display:grid;place-items:center;min-width:34px;height:28px;padding:0 9px;border:1px solid #2c415f;border-radius:999px;background:#0e1929;color:#a9bad0;font-size:.75rem;font-weight:800}
.movement-list{display:grid;gap:9px}.movement-row{padding:12px 14px;border:1px solid #263a56;border-radius:11px;background:#0e1929}.movement-row-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.movement-kind{padding:3px 7px;border:1px solid #315a83;border-radius:999px;background:#102b48;color:#98cfff;font-size:.625rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.movement-row.returning .movement-kind{border-color:#2d6654;background:#103328;color:#8adfbe}.movement-row.attack .movement-kind{border-color:#6b3e46;background:#321b22;color:#ffadb5}.movement-route{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbe5f2;font-size:.8125rem}.movement-remaining{color:#c5d2e3;font:700 .75rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.movement-sub{display:flex;justify-content:space-between;gap:14px;margin:7px 0 8px;color:#71839b;font-size:.625rem}.movement-track{height:5px;overflow:hidden;border-radius:999px;background:#09111f}.movement-track i{display:block;width:0;height:100%;border-radius:inherit;background:#4b96e5;transition:width .9s linear}.movement-row.returning .movement-track i{background:#32b98c}.movement-row.attack .movement-track i{background:#ef626b}
@media(max-width:650px){.bot-shell .compact-page-title #metric-player-title{font-size:1.375rem}.movement-row-top{grid-template-columns:auto minmax(0,1fr)}.movement-remaining{grid-column:2}.movement-sub{align-items:flex-start;flex-direction:column;gap:3px}.movement-route{white-space:normal}}

/* v20.10: commander accordions + short-lived success notices. */
.toast.success,.success-message{transition:opacity .24s ease,transform .24s ease,max-height .24s ease,margin .24s ease,padding .24s ease}
.notice-fade-out{opacity:0!important;transform:translateY(-4px);pointer-events:none}
.commander-module-list{gap:9px}
.commander-module-accordion{border:1px solid #263b59;border-radius:11px;background:#101a2d;overflow:hidden}
.commander-module-accordion>summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto 20px;gap:11px;align-items:center;padding:13px 14px;cursor:pointer;user-select:none}
.commander-module-accordion>summary::-webkit-details-marker{display:none}
.commander-module-accordion>summary:hover{background:#122038}
.commander-module-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #304764;border-radius:8px;background:#0c1727;color:#9dc9fb;font-size:.9375rem}
.commander-module-accordion .module-copy{display:grid;gap:2px;min-width:0}
.commander-module-accordion .module-copy b{font-size:.8125rem;color:#e5edf8}
.commander-module-accordion .module-copy small{font-size:.625rem;color:#71839b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.commander-module-accordion .assignment-meta{font-size:.625rem}
.commander-module-accordion .assignment-meta strong{font-size:1rem}
.commander-chevron{color:#71839b;font-size:1rem;transition:transform .16s ease}
.commander-module-accordion[open] .commander-chevron{transform:rotate(180deg)}
.commander-module-body{border:0;border-top:1px solid #263b59;border-radius:0;background:#0d1727;padding:13px 14px 14px}
@media(max-width:650px){.commander-module-accordion>summary{grid-template-columns:32px minmax(0,1fr) auto}.commander-chevron{display:none}.commander-module-accordion .module-copy small{white-space:normal}}

/* v22 Recruit Bot */
.recruit-castle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px;margin:14px 0}.recruit-castle-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:rgba(255,255,255,.02);display:grid;gap:10px}.recruit-castle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recruit-castle-head div{display:grid;gap:2px}.recruit-castle-head strong{font-size:1.05rem}.recruit-castle-head small,.recruit-castle-state small{color:var(--muted)}.recruit-castle-card label:not(.compact-switch){display:grid;gap:5px;font-size:.84rem;color:var(--muted)}.recruit-castle-card select,.recruit-castle-card input[type=number]{width:100%}.recruit-castle-state{display:grid;gap:2px;padding-top:4px;border-top:1px solid var(--border)}.recruit-castle-state b{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.compact-switch{position:relative;display:inline-flex}.compact-switch input{position:absolute;opacity:0;pointer-events:none}.compact-switch span{width:38px;height:22px;border-radius:99px;background:rgba(148,163,184,.25);position:relative;cursor:pointer;transition:.2s}.compact-switch span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.compact-switch input:checked+span{background:#22c55e}.compact-switch input:checked+span:after{transform:translateX(16px)}
.recruit-unit-picker{width:100%}.recruit-unit-picker>input[type=search]{font-size:.84rem;padding:10px 11px}

/* v23 multi-world Tower Bot */
.tower-worlds-card{grid-column:1/-1;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);align-items:start}.tower-worlds-form{display:grid;gap:12px}.tower-world-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tower-world-setting{display:grid;gap:9px;padding:12px;border:1px solid #2a405f;border-radius:10px;background:#0d1728}.tower-world-toggle{display:flex;justify-content:space-between;align-items:center;gap:10px}.tower-world-toggle>span:first-child{display:grid;gap:2px}.tower-world-toggle strong{font-size:.8125rem;color:#e0e9f5}.tower-world-toggle small{font-size:.625rem;color:#71839b}.tower-world-toggle .switch-control{position:relative;display:inline-flex;flex:0 0 auto}.tower-world-toggle .switch-control input{position:absolute;opacity:0;pointer-events:none}.tower-world-toggle .switch-control input:checked+.switch-track{border-color:#27755d;background:#154838}.tower-world-toggle .switch-control input:checked+.switch-track span{transform:translateX(18px);background:#73dcb7}.tower-world-setting select{width:100%;min-width:0;padding:9px 10px;border:1px solid #2b405f;border-radius:9px;background:#0a1423;color:#e4edf8}.tower-world-actions{display:flex;justify-content:flex-end;gap:8px}.tower-world-runtime{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.tower-world-runtime-item{display:grid;gap:3px;padding:9px 10px;border:1px solid #263b59;border-radius:9px;background:#0e192a;min-width:0}.tower-world-runtime-item span{font-size:.625rem;color:#7faad5;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.tower-world-runtime-item strong{font-size:.75rem;color:#dce7f5}.tower-world-runtime-item small{font-size:.5625rem;color:#71839b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-world-runtime-item.error{border-color:#603741;background:#2b171e}.tower-world-runtime-item.error span{color:#ff9ba5}
@media(max-width:900px){.tower-worlds-card{grid-template-columns:1fr}.tower-world-runtime{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tower-world-settings-grid,.tower-world-runtime{grid-template-columns:1fr}.tower-world-actions{justify-content:stretch}.tower-world-actions .btn{flex:1}}

/* v24 Castle Defence */
.defence-panel .module-runtime-bar{border-left:3px solid var(--danger,#c84f52)}
.defence-global-card{margin-bottom:14px}
.defence-global-card>label{display:grid;gap:6px;max-width:340px}
.defence-castle-card{gap:14px}
.defence-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.defence-setting-grid label{display:grid;gap:6px}
.defence-setting-grid small{font-weight:400}
.defence-leave-box{border-top:1px solid var(--line,#2c3340);padding-top:12px;display:grid;gap:10px}
.defence-leave-head{display:flex;justify-content:space-between;gap:12px}
.defence-leave-head div{display:grid;gap:3px}
.defence-leave-head small{color:var(--muted,#9099a8)}
.defence-leave-add{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:end}
.defence-leave-list{display:grid;gap:6px}
.defence-leave-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.035)}
.icon-btn.tiny{width:26px;height:26px;min-width:26px;padding:0}
.defence-threat-card{margin-top:14px}
.defence-threat-list{display:grid;gap:8px}
.defence-threat-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line,#2c3340);border-radius:10px}
.defence-threat-row>div{display:grid;gap:2px}
.defence-threat-row>div:last-child{text-align:right}
.defence-threat-row small{color:var(--muted,#9099a8)}
.defence-threat-row.due{border-color:rgba(216,78,82,.55);box-shadow:0 0 0 1px rgba(216,78,82,.12) inset}
@media(max-width:760px){.defence-setting-grid{grid-template-columns:1fr}.defence-leave-add{grid-template-columns:1fr}.defence-threat-row{align-items:flex-start}}

/* v24.11: red UI alerts can be dismissed without reloading the page. */
.toast.danger,.alert.error,.worker-error{position:relative;padding-right:42px}
.notice-dismiss{position:absolute;top:50%;right:9px;transform:translateY(-50%);width:25px;height:25px;padding:0;border:0;border-radius:7px;background:transparent;color:currentColor;font:700 1.25rem/1.5rem ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;opacity:.82;display:grid;place-items:center}
.notice-dismiss:hover,.notice-dismiss:focus-visible{background:rgba(255,255,255,.10);opacity:1;outline:none}

/* v24.13: commander travel truth and movement/accounting badges. */
.movement-head-counts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.movement-count.commander-count{border-color:#315b4c;background:#10271f;color:#8fd8b7}.commander-choice b{display:flex;align-items:center;gap:6px}.commander-travel-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;background:#66758a;box-shadow:0 0 0 2px rgba(102,117,138,.14)}.commander-travel-dot.on{background:#f0a74a;box-shadow:0 0 0 2px rgba(240,167,74,.17),0 0 8px rgba(240,167,74,.28)}.commander-travel-dot.off{background:#42c58a;box-shadow:0 0 0 2px rgba(66,197,138,.15)}.commander-travel-dot.unknown{background:#66758a}.commander-choice.traveling{border-color:#55452e;background:#191b24}
.movement-count.commander-count.warn{border-color:rgba(255,82,82,.55);color:#ff8d8d;background:rgba(255,82,82,.09)}


/* v24.14: Tower dispatch diagnostics + richer per-commander live state. */
.tower-dispatch-diagnostics{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:12px 0 8px;padding:12px 14px;border:1px solid #263b59;border-radius:11px;background:#0e1829}.tower-dispatch-main{display:grid;gap:3px;min-width:0}.tower-dispatch-main>span{color:#7f8da3;font-size:.625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tower-dispatch-main>b{font-size:.8125rem}.tower-dispatch-main>small{color:#8090a6;font-size:.625rem}.tower-dispatch-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tower-dispatch-chips>span{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border:1px solid #2b405f;border-radius:999px;color:#8292a8;font-size:.625rem;background:#111d30}.tower-dispatch-chips b{color:#dbe8f7;font-size:.625rem}.commander-choice>span{gap:2px}.commander-choice.traveling{border-color:#36577d;background:#122139}@media(max-width:800px){.tower-dispatch-diagnostics{align-items:flex-start;flex-direction:column}.tower-dispatch-chips{justify-content:flex-start}}

/* v24.15: collapsible Tower scan/statistics panel. */
.tower-runtime-details{margin-top:2px;border:1px solid #263b59;border-radius:12px;background:#0d1728;overflow:hidden}
.tower-runtime-details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;user-select:none}
.tower-runtime-details>summary::-webkit-details-marker{display:none}
.tower-runtime-details>summary:hover{background:#101c2f}
.tower-details-summary-copy{display:grid;gap:2px;min-width:0}
.tower-details-summary-copy strong{font-size:.8125rem;color:#dce7f5}
.tower-details-summary-copy small{font-size:.625rem;color:#71839b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tower-details-summary-live{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tower-details-summary-live>span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #2a405f;border-radius:999px;background:#101c2f;color:#7f8da3;font-size:.5625rem;white-space:nowrap}
.tower-details-summary-live b{color:#dbe8f7;font-size:.625rem}
.tower-details-chevron{display:grid;place-items:center;color:#7890ac;font-size:1.0625rem;transition:transform .16s ease}
.tower-runtime-details[open] .tower-details-chevron{transform:rotate(180deg)}
.tower-runtime-details-body{padding:0 14px 14px;border-top:1px solid #22344e}
.tower-runtime-details-body>.baron-status-grid{margin-top:14px}
@media(max-width:800px){.tower-runtime-details>summary{grid-template-columns:minmax(0,1fr) 22px}.tower-details-summary-live{grid-column:1/-1;grid-row:2;justify-content:flex-start}.tower-details-chevron{grid-column:2;grid-row:1}.tower-details-summary-copy small{white-space:normal}}


/* v24.16: compact commander cards + safe attack recall in Pohyby. */
.movement-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.movement-recall{appearance:none;border:1px solid #3a6f63;border-radius:7px;background:#112a25;color:#9ce0cb;padding:4px 8px;font:700 .625rem/1.2 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap}
.movement-recall:hover,.movement-recall:focus-visible{border-color:#58a08f;background:#16372f;outline:none}
.movement-recall:disabled{opacity:.55;cursor:default}
.movement-row.recall-pending{opacity:.82}
@media(max-width:700px){.movement-sub{align-items:flex-start}.movement-actions{justify-content:flex-start}}

/* v24.21: compact control-room layout inspired by the observed reference UI. */
@media(min-width:1101px){
  .bot-shell{padding:22px 28px 54px}
  .bot-shell .dashboard-workspace{grid-template-columns:220px minmax(0,1fr);gap:16px}
  .bot-shell .dashboard-side-nav{top:84px;max-height:calc(100vh - 104px);overflow:auto;padding:8px;border-radius:12px}
  .bot-shell .dashboard-side-nav .nav-label{padding:6px 9px 7px;font-size:.625rem}
  .bot-shell .dashboard-side-nav a{padding:8px 9px;margin:1px 0;font-size:.75rem;gap:7px}
  .bot-shell .dashboard-side-nav a span{width:17px;font-size:.75rem}
  .bot-shell .dashboard-side-nav .module-nav-link{padding:7px 8px;margin-left:4px}
  .side-nav-foot{margin:9px 3px 1px;padding:8px;font-size:.625rem}
  .bot-shell .editor-stack{gap:14px}
  .bot-shell .dashboard-panel{padding:20px;border-radius:12px}
  .bot-shell .dashboard-panel .panel-head{margin-bottom:14px;gap:10px}
  .bot-shell .dashboard-panel .panel-head h2{font-size:1.1875rem}
  .bot-shell .dashboard-panel .panel-head p{font-size:.75rem;line-height:1.35}
  .bot-shell .panel-icon{width:32px;height:32px;flex-basis:32px;border-radius:8px;font-size:.9375rem}
  .bot-shell .settings-section-card{padding:14px;border-radius:11px}
  .bot-shell .settings-section-card+.settings-section-card{margin-top:10px}
  .bot-shell .settings-section-head{margin-bottom:11px;padding-bottom:9px}
  .bot-shell .settings-section-head h3{font-size:.9375rem}
  .bot-shell .settings-grid{gap:12px 14px}
  .bot-shell .settings-grid label{font-size:.75rem;gap:5px}
  .bot-shell .settings-grid small{font-size:.625rem;line-height:1.3}
  .bot-shell .settings-grid input[type="number"],
  .bot-shell .settings-grid input[type="text"],
  .bot-shell .settings-grid input[type="password"],
  .bot-shell .settings-grid input:not([type]),
  .bot-shell .settings-grid select{padding:9px 10px;border-radius:8px}
  .bot-shell .toggle-card{padding:10px;border-radius:8px}
  .bot-shell .module-toggle-grid{gap:8px}
  .bot-shell .module-toggle-card{grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:11px;border-radius:10px}
  .bot-shell .module-toggle-icon{width:34px;height:34px;border-radius:8px;font-size:1rem}
  .bot-shell .module-toggle-copy{gap:3px}
  .bot-shell .module-toggle-title strong{font-size:.8125rem}
  .bot-shell .module-toggle-copy small{font-size:.625rem;line-height:1.3}
  .bot-shell .module-accordion-list{gap:8px}
  .bot-shell .module-accordion summary{padding:11px 12px;gap:9px}
  .bot-shell .module-summary-icon{width:34px;height:34px;border-radius:8px;font-size:1rem}
  .bot-shell .module-summary-title strong{font-size:.8125rem}
  .bot-shell .module-summary-copy small{font-size:.625rem;line-height:1.25}
  .bot-shell .module-accordion-body{padding:0 12px 12px}
  .bot-shell .baron-status-grid{gap:7px}
  .bot-shell .baron-status-grid>div{padding:9px;border-radius:8px}
  .bot-shell .baron-status-grid b{font-size:.75rem}
  .bot-shell .module-config-grid{gap:9px;margin-top:11px}
  .bot-shell .module-config-card{padding:12px;gap:11px;border-radius:10px}
  .bot-shell .module-config-copy strong{font-size:.8125rem}
  .bot-shell .module-config-copy small{font-size:.625rem;line-height:1.3}
  .bot-shell .tower-world-setting{padding:9px;border-radius:8px;gap:7px}
  .bot-shell .tower-world-settings-grid{gap:7px}
  .bot-shell .tower-world-actions{gap:6px}
  .bot-shell .tower-world-actions .btn{padding:8px 10px;font-size:.6875rem}
  .bot-shell .commander-module-list{gap:7px}
  .bot-shell .commander-module-accordion{border-radius:9px}
  .bot-shell .commander-module-accordion>summary{padding:10px 11px;gap:8px}
  .bot-shell .commander-module-icon{width:28px;height:28px;border-radius:7px;font-size:.8125rem}
  .bot-shell .commander-module-accordion .module-copy b{font-size:.75rem}
  .bot-shell .commander-module-accordion .module-copy small{font-size:.5625rem}
  .bot-shell .commander-module-body{padding:10px 11px 11px}
  .bot-shell .commander-choice-grid{gap:6px;max-height:440px}
  .bot-shell .commander-choice{padding:8px 9px;border-radius:8px;gap:7px}
  .bot-shell .commander-choice b{font-size:.6875rem}
  .bot-shell .commander-choice small{font-size:.5625rem}
  .bot-shell .live-feed-footer{margin-top:14px;padding:18px;border-radius:12px}
  .bot-shell .live-feed-summary{gap:6px}
  .bot-shell .live-feed-summary div{padding:8px 9px}
  .bot-shell .live-feed-summary span{font-size:.625rem}
  .bot-shell .live-feed-summary b{font-size:.6875rem}
  .bot-shell .live-feed-footer .live-log{max-height:230px;font-size:.6875rem;line-height:1.35}
}

.tower-summary-push-chip{border-color:#6d4f2b!important;color:#e7be7d!important}

/* v24.22: bulk recall action stays visible in the Pohyby module header. */
.bulk-recall{background:#12372f;border-color:#2d715e;color:#a1e5d0!important;white-space:nowrap}
.bulk-recall:hover{background:#17483d;border-color:#4a9a82}
.bulk-recall:disabled{opacity:.45;cursor:not-allowed;filter:none}
.movement-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:700px){
  .movements-panel-head{align-items:flex-start;flex-wrap:wrap}
  .movements-panel-head>div:nth-child(2){flex:1 1 calc(100% - 50px)}
  .movement-head-actions{flex:1 0 100%;justify-content:flex-start;margin-left:50px}
}


/* v26.0: final compact control-room overhaul. Keep all functionality, reduce visual waste. */
@media(min-width:901px){
  .bot-shell{padding:12px 16px 34px}
  .bot-shell .compact-page-title{margin-bottom:4px}
  .bot-shell .compact-page-title #metric-player-title{font-size:1.3125rem}
  .compact-status-console{margin-bottom:10px;padding:3px 0 8px}
  .compact-status-console .bot-status-toolbar{padding-bottom:7px}
  .compact-status-console .bot-status-state{font-size:.6875rem}
  .compact-status-console .status-badge{padding:3px 7px;font-size:.625rem}
  .compact-status-console .bot-status-actions{gap:5px}
  .compact-status-console .bot-status-actions .btn{padding:5px 9px;border-radius:6px;font-size:.6875rem}
  .compact-status-metrics{gap:14px;padding:7px 0 5px}
  .compact-status-metrics .status-stat span{font-size:.625rem}
  .compact-status-metrics .status-stat strong{font-size:.8125rem}
  .compact-status-metrics .economy-stat small{font-size:.5rem}
  .compact-time-skips{padding-top:4px;gap:9px;font-size:.5625rem}
  .compact-time-skips .time-skip-title,.compact-time-skips b,.compact-time-skips strong{font-size:.5625rem}

  .bot-shell .dashboard-workspace{grid-template-columns:178px minmax(0,1fr);gap:10px}
  .bot-shell .dashboard-side-nav{top:76px;max-height:calc(100vh - 88px);padding:5px;border-radius:9px}
  .bot-shell .dashboard-side-nav .nav-label{padding:5px 7px 4px;font-size:.5rem}
  .bot-shell .dashboard-side-nav a{padding:6px 7px;margin:0;font-size:.65625rem;gap:5px;border-radius:6px}
  .bot-shell .dashboard-side-nav a span{width:14px;font-size:.625rem}
  .bot-shell .dashboard-side-nav .module-nav-label{margin-top:8px;padding-top:8px}
  .bot-shell .dashboard-side-nav .module-nav-link{grid-template-columns:15px minmax(0,1fr) auto;margin-left:2px;padding:6px 6px}
  .bot-shell .dashboard-side-nav .module-nav-link i{padding:1px 4px;font-size:.4375rem}
  .side-nav-foot{margin:6px 2px 0;padding:6px;font-size:.5rem}

  .bot-shell .editor-stack{gap:8px}
  .bot-shell .dashboard-panel{padding:13px;border-radius:9px}
  .bot-shell .dashboard-panel .panel-head{margin-bottom:8px;gap:7px}
  .bot-shell .dashboard-panel .panel-head h2{font-size:1rem;line-height:1.15}
  .bot-shell .dashboard-panel .panel-head p{font-size:.625rem;line-height:1.25;margin-top:2px}
  .bot-shell .panel-icon{width:27px;height:27px;flex-basis:27px;border-radius:6px;font-size:.8125rem}
  .eyebrow{font-size:.5rem!important;letter-spacing:.08em!important}
  .module-state-pill{padding:2px 6px!important;font-size:.5rem!important}

  .bot-shell .settings-section-card{padding:9px;border-radius:8px}
  .bot-shell .settings-section-card+.settings-section-card{margin-top:7px}
  .bot-shell .settings-section-head{margin-bottom:7px;padding-bottom:6px;gap:8px}
  .bot-shell .settings-section-head h3{font-size:.8125rem}
  .section-badge{padding:2px 6px;font-size:.5rem}
  .bot-shell .settings-grid{gap:8px 10px}
  .bot-shell .settings-grid label{font-size:.65625rem;gap:3px}
  .bot-shell .settings-grid small{font-size:.53125rem;line-height:1.2}
  .bot-shell .settings-grid input[type="number"],
  .bot-shell .settings-grid input[type="text"],
  .bot-shell .settings-grid input[type="password"],
  .bot-shell .settings-grid input:not([type]),
  .bot-shell .settings-grid select{padding:6px 8px;border-radius:6px;font-size:.6875rem}
  .bot-shell .toggle-card{padding:7px;border-radius:6px}
  .form-actions .btn,.module-save-row .btn{padding:6px 10px;font-size:.625rem;border-radius:6px}

  .bot-shell .module-toggle-grid{gap:6px}
  .bot-shell .module-toggle-card{grid-template-columns:28px minmax(0,1fr) auto;gap:7px;padding:8px;border-radius:7px}
  .bot-shell .module-toggle-icon{width:28px;height:28px;border-radius:6px;font-size:.8125rem}
  .bot-shell .module-toggle-copy{gap:1px}
  .bot-shell .module-toggle-title strong{font-size:.6875rem}
  .bot-shell .module-toggle-copy small{font-size:.53125rem;line-height:1.18}
  .module-switch-control{transform:scale(.84);transform-origin:right center}
  .module-save-row{margin-top:8px;padding-top:8px;gap:8px}
  .module-save-row span{font-size:.5625rem}

  .module-detail-head{padding-bottom:7px!important}
  .module-runtime-bar.standalone{margin-bottom:7px;padding:0 0 7px}
  .module-runtime-bar{gap:8px}
  .module-runtime-bar b{font-size:.75rem}
  .module-runtime-bar small{font-size:.5625rem}
  .runtime-kicker{font-size:.4375rem}
  .tower-runtime-details>summary{padding:7px 9px!important;min-height:0!important}
  .tower-details-summary-copy strong{font-size:.65625rem!important}
  .tower-details-summary-copy small{font-size:.5rem!important}
  .tower-details-summary-live{gap:5px!important}
  .tower-details-summary-live>span{padding:2px 5px!important;font-size:.5rem!important}
  .tower-runtime-details-body{padding:0 9px 9px!important}
  .bot-shell .baron-status-grid{gap:5px;grid-template-columns:repeat(6,minmax(0,1fr))}
  .bot-shell .baron-status-grid>div{padding:6px;border-radius:6px}
  .bot-shell .baron-status-grid span{font-size:.46875rem}
  .bot-shell .baron-status-grid b{margin-top:2px;font-size:.625rem}
  .tower-dispatch-diagnostics{margin:6px 0 4px;padding:7px 8px;border-radius:7px;gap:8px}
  .tower-dispatch-main>span{font-size:.4375rem}.tower-dispatch-main>b{font-size:.625rem}.tower-dispatch-main>small{font-size:.5rem}
  .tower-dispatch-chips{gap:4px}.tower-dispatch-chips>span{padding:2px 5px;font-size:.5rem}.tower-dispatch-chips b{font-size:.5rem}
  .module-runtime-note{margin-top:5px;font-size:.53125rem;line-height:1.2}
  .tower-world-runtime{gap:5px;margin-top:5px}.tower-world-runtime-item{padding:6px 7px;border-radius:6px}.tower-world-runtime-item span{font-size:.4375rem}.tower-world-runtime-item strong{font-size:.5625rem}.tower-world-runtime-item small{font-size:.46875rem}

  .bot-shell .module-config-grid{gap:6px;margin-top:7px}
  .bot-shell .module-config-card{padding:8px;gap:8px;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr)}
  .bot-shell .module-config-copy{gap:2px}
  .bot-shell .module-config-copy strong{font-size:.6875rem}
  .bot-shell .module-config-copy small{font-size:.53125rem;line-height:1.18}
  .module-config-form{gap:5px}.module-config-form select{padding:6px 7px;border-radius:6px;font-size:.625rem}.module-config-form .btn{padding:6px 9px;font-size:.625rem}
  .tower-worlds-card{grid-template-columns:180px minmax(0,1fr)!important}
  .tower-worlds-form{gap:6px}.bot-shell .tower-world-settings-grid{gap:5px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .bot-shell .tower-world-setting{padding:6px;border-radius:6px;gap:5px}
  .tower-world-toggle strong{font-size:.59375rem}.tower-world-toggle small{font-size:.46875rem}.tower-world-setting select{padding:5px 6px;border-radius:6px;font-size:.5625rem}
  .bot-shell .tower-world-actions{gap:4px}.bot-shell .tower-world-actions .btn{padding:5px 8px;font-size:.5625rem}
  .module-footline{margin-top:7px;padding:6px 8px;border-radius:6px;font-size:.5625rem;gap:6px}

  .commander-toolbar{margin-bottom:7px;gap:8px}.commander-toolbar .muted{font-size:.5625rem}.commander-toolbar .btn{padding:6px 9px;font-size:.5625rem}
  .bot-shell .commander-module-list{gap:5px}
  .bot-shell .commander-module-accordion{border-radius:7px}
  .bot-shell .commander-module-accordion>summary{grid-template-columns:23px minmax(0,1fr) auto 14px;padding:7px 8px;gap:6px}
  .bot-shell .commander-module-icon{width:22px;height:22px;border-radius:5px;font-size:.625rem}
  .bot-shell .commander-module-accordion .module-copy b{font-size:.625rem}
  .bot-shell .commander-module-accordion .module-copy small{font-size:.5rem}
  .bot-shell .commander-module-accordion .assignment-meta strong{font-size:.75rem}
  .bot-shell .commander-module-body{padding:7px 8px 8px}
  .bot-shell .commander-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-height:360px}
  .bot-shell .commander-choice{padding:5px 6px;border-radius:6px;gap:5px}
  .bot-shell .commander-choice input{width:14px;height:14px}
  .bot-shell .commander-choice b{font-size:.59375rem}.bot-shell .commander-choice small{font-size:.46875rem}
  .assignment-actions{gap:4px}.assignment-actions .btn{padding:5px 8px;font-size:.5625rem}

  .movements-panel-head{margin-bottom:7px!important}.movement-head-counts{gap:4px}.movement-count{min-width:28px;height:21px;padding:0 6px;font-size:.5625rem}
  .movement-head-actions{gap:4px}.movement-head-actions .btn{padding:5px 8px;font-size:.5625rem}
  .movement-list{gap:5px}.movement-row{padding:7px 8px;border-radius:7px}
  .movement-row-top{gap:6px}.movement-kind{padding:2px 5px;font-size:.5rem}.movement-route{font-size:.65625rem}.movement-remaining{font-size:.59375rem}
  .movement-sub{gap:8px;margin:4px 0 5px;font-size:.5rem}.movement-track{height:3px}.movement-recall{padding:3px 6px;font-size:.5rem}

  .live-feed-footer{margin-top:8px!important;padding:11px!important;border-radius:9px!important}
  .live-feed-head{gap:10px}.live-feed-head .panel-head{margin-bottom:8px!important}.live-feed-summary{gap:4px!important}
  .live-feed-summary div{padding:6px 7px!important}.live-feed-summary span{font-size:.5rem!important}.live-feed-summary b{font-size:.5625rem!important}
  .bot-shell .live-feed-footer .live-log{max-height:190px;font-size:.5625rem;line-height:1.2}
  .live-log div{padding:2px 0}
}

/* v26.1 Tower auto tools: compact stock threshold controls. */
.tower-tool-stock-form{display:grid;grid-template-columns:auto minmax(100px,140px) minmax(100px,140px) auto;gap:7px;align-items:end}.compact-toggle{height:34px;align-items:center;white-space:nowrap}.compact-field{display:grid;gap:3px}.compact-field span{font-size:.5625rem;color:#8290a4;text-transform:uppercase;letter-spacing:.04em}.compact-field input{min-height:34px;padding:6px 8px}.tower-tools-card .preset-extra-note{margin-top:7px;padding:6px 8px;font-size:.5625rem}@media(max-width:850px){.tower-tool-stock-form{grid-template-columns:1fr 1fr}.tower-tool-stock-form .btn{width:100%}}

/* v26.4: Tower auto-tool controls match dashboard typography + compact live stock indicator. */
.tower-tool-stock-form{grid-template-columns:auto minmax(100px,140px) minmax(100px,140px) auto;align-items:end;font-family:inherit}
.tower-tool-toggle{display:flex;align-items:center;gap:7px;min-height:34px;color:#dce7f5;font-family:inherit;font-size:.625rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}
.tower-tool-toggle input{width:15px;height:15px;margin:0;accent-color:#3d87df}
.tower-tool-field{display:grid;gap:3px;font-family:inherit}
.tower-tool-field>span{font-family:inherit;font-size:.5625rem;font-weight:800;line-height:1.1;color:#8290a4;text-transform:uppercase;letter-spacing:.04em}
.tower-tool-field input{box-sizing:border-box;width:100%;min-height:34px;padding:6px 8px;border:1px solid #2b405f;border-radius:7px;background:#0d1728;color:#e6edf7;font-family:inherit;font-size:.625rem;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;outline:none}
.tower-tool-field input:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.tower-tool-stock-indicator{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:25px;margin-top:1px;padding-top:6px;border-top:1px solid #22344e;color:#7587a0;font-family:inherit;font-size:.5625rem;font-weight:700;line-height:1.1}
.tower-tool-stock-indicator>span{text-transform:uppercase;letter-spacing:.06em}
.tower-tool-stock-indicator>b{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid #2a405f;border-radius:999px;background:#0d1728;color:#b9c9dc;font-family:inherit;font-size:.625rem;font-weight:700;line-height:1}
.tower-tool-stock-indicator i{font-family:inherit;font-size:.625rem;font-weight:800;line-height:1;font-style:normal;color:#e5edf8;font-variant-numeric:tabular-nums}
@media(max-width:850px){.tower-tool-stock-form{grid-template-columns:1fr 1fr}.tower-tool-toggle,.tower-tool-stock-form .btn{min-height:34px}.tower-tool-stock-indicator{grid-column:1/-1}}

/* v26.5: responsive Tower tool settings + text-only stock labels. */
.tower-tool-stock-form{grid-template-columns:minmax(145px,auto) minmax(120px,1fr) minmax(120px,1fr) minmax(78px,auto);max-width:100%;min-width:0}
.tower-tool-stock-form>*{min-width:0}
.tower-tool-stock-form .btn{box-sizing:border-box;max-width:100%}
.tower-tool-stock-indicator b small{font:inherit;font-size:.5625rem;font-weight:700;color:#8799b0;text-transform:none;letter-spacing:0}
@media(max-width:1180px){
  .tower-tool-stock-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tower-tool-toggle{white-space:normal}
  .tower-tool-stock-form .btn{width:100%}
}
@media(max-width:620px){
  .tower-tool-stock-form{grid-template-columns:minmax(0,1fr)}
  .tower-tool-stock-indicator{grid-column:1}
}


/* v26.12 Tower layout polish */
.tower-config-grid{grid-template-columns:minmax(250px,.78fr) minmax(420px,1.22fr);align-items:start}
.tower-horses-card{grid-template-columns:minmax(180px,.9fr) minmax(230px,1.1fr);align-items:center}
.tower-horse-form{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.tower-tools-card{grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);align-items:start}
.tower-tool-stock-form{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;min-width:0;width:100%}
.tower-tool-toprow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tower-tool-toprow .btn{flex:0 0 auto}
.tower-tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tower-tool-toggle{min-height:auto;font-size:.8125rem;font-weight:700;white-space:normal}
.tower-tool-field>span{font-size:.625rem;letter-spacing:.05em}
.tower-tool-field input{min-height:38px;padding:8px 10px;font-size:.8125rem;border-radius:9px}
.tower-tool-stock-indicator{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:0;margin-top:0;padding-top:8px;border-top:1px solid #22344e;font-size:.625rem}
.tower-tool-stock-indicator>span{margin-right:2px;color:#8092ab;text-transform:uppercase;letter-spacing:.07em}
.tower-tool-stock-indicator>b{padding:5px 10px;border-radius:999px;font-size:.6875rem}
.tower-tool-stock-indicator b small{font-size:.6875rem;color:#8ea2bb}
.tower-tool-stock-indicator i{font-size:.75rem}
.tower-tools-card .preset-extra-note{margin-top:10px;padding:10px 12px;font-size:.6875rem;line-height:1.45}
@media(max-width:1250px){.tower-config-grid{grid-template-columns:1fr}.tower-horses-card,.tower-tools-card{grid-template-columns:1fr}}
@media(max-width:720px){.tower-tool-fields{grid-template-columns:1fr}.tower-tool-toprow{align-items:stretch}.tower-tool-toprow .btn{width:100%}.tower-horse-form{grid-template-columns:1fr}.tower-horse-form .btn{width:100%}}

/* v26.25 ProduceComponents */
.components-panel .component-settings-form{display:grid;gap:16px}
.component-balance-card{margin:0}
.component-balance-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.component-slot-price-note{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft)}
.component-slot-price-note strong{white-space:nowrap}
.component-slot-price-note span{font-size:.88rem;color:var(--muted)}
.component-building-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;color:var(--muted);font-size:.83rem}
.component-building-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.component-building-toolbar .btn{padding:7px 10px;font-size:.76rem;border-radius:8px}
.component-building-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.component-building-card{display:block;border:1px solid var(--border);border-radius:14px;background:var(--panel-soft);overflow:hidden}
.component-building-card[open]{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.component-building-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;cursor:pointer;user-select:none;list-style:none}
.component-building-summary::-webkit-details-marker{display:none}
.component-building-summary:hover{background:rgba(255,255,255,.025)}
.component-building-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.component-building-head>div{display:grid;gap:3px;min-width:0}
.component-building-head strong{font-size:1rem}
.component-building-head small{color:var(--muted)}
.component-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap;color:var(--muted);font-size:.8rem}
.component-enabled-pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-weight:700;font-size:.72rem}
.component-enabled-pill.on{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--border));background:color-mix(in srgb,var(--good) 10%,transparent)}
.component-enabled-pill.off{color:var(--muted)}
.component-collapse-icon{display:inline-block;font-size:1rem;transition:transform .16s ease}
.component-building-card:not([open]) .component-collapse-icon{transform:rotate(-90deg)}
.component-building-body{display:grid;gap:12px;padding:14px;border-top:1px solid var(--border)}
.component-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.component-recipe-grid label{display:grid;gap:6px}
.component-recipe-grid select{width:100%}
.component-recipe-grid small{color:var(--muted);font-size:.76rem}
.component-enabled-toggle,.component-rent-toggle{margin:0;padding:10px 12px}
.component-slot-state{display:flex;flex-wrap:wrap;gap:8px}
.component-slot-state span{padding:6px 9px;border:1px solid var(--border);border-radius:999px;font-size:.78rem;color:var(--muted);background:var(--panel)}
.component-slot-state b{color:var(--text)}
@media (max-width:700px){.component-building-toolbar{align-items:flex-start;flex-direction:column}.component-building-grid{grid-template-columns:1fr}.component-building-summary{align-items:flex-start}.component-summary-meta{flex-wrap:wrap}.component-recipe-grid{grid-template-columns:1fr}}

/* v26.29 Tool Build */
.tool-build-protocol-note{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft)}
.tool-build-protocol-note strong{white-space:nowrap}.tool-build-protocol-note span{color:var(--muted);font-size:.86rem;line-height:1.5}.tool-build-protocol-note code{font-size:.8rem}
.tool-build-castle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin:14px 0;align-items:start}
.tool-build-castle-card{display:grid;gap:12px;border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel-soft);min-width:0}
.tool-build-castle-card.unavailable{opacity:.72}.tool-build-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tool-build-lane{display:grid;gap:9px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
.tool-build-lane-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-build-lane-head strong{font-size:.88rem}
.tool-build-lane label{display:grid;gap:5px;color:var(--muted);font-size:.8rem}.tool-build-lane input[type=number]{width:100%}.tool-build-tool-picker{width:100%}.tool-build-lane:focus-within{position:relative;z-index:12}
.tool-build-queue-state{display:flex;flex-wrap:wrap;gap:8px}.tool-build-queue-state span{padding:6px 9px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:.76rem}.tool-build-queue-state b{color:var(--text)}
.compact-switch.mini span{width:34px;height:20px}.compact-switch.mini span:after{width:14px;height:14px}.compact-switch.mini input:checked+span:after{transform:translateX(14px)}
@media (max-width:760px){.tool-build-castle-grid{grid-template-columns:1fr}.tool-build-lanes{grid-template-columns:1fr}.tool-build-protocol-note{flex-direction:column;gap:5px}.tool-build-protocol-note strong{white-space:normal}}


/* v26.33 Tower Armorer stock is per world, never visually merged. */
.tower-tool-stock-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:9px;border-top:1px solid #22344e}
.tower-tool-stock-world{display:grid;grid-template-columns:minmax(105px,1fr) auto auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #22344e;border-radius:10px;background:#0d1728;min-width:0}
.tower-tool-stock-world-name{display:grid;gap:2px;min-width:0}.tower-tool-stock-world-name strong{font-size:.6875rem}.tower-tool-stock-world-name small{font-size:.5625rem;color:#8092ab}
.tower-tool-stock-world>b{display:grid;gap:2px;justify-items:end;font-size:.6875rem;white-space:nowrap}.tower-tool-stock-world>b small{font-size:.5625rem;color:#8799b0;font-weight:700}.tower-tool-stock-world i{font-style:normal;font-variant-numeric:tabular-nums;color:#e5edf8;font-size:.6875rem}
@media(max-width:720px){.tower-tool-stock-worlds{grid-template-columns:1fr}.tower-tool-stock-world{grid-template-columns:minmax(100px,1fr) auto auto}}

/* v26.34 UI-only polish: readable Tower stock cards + sequential commander labels. */
.tower-tools-card{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}
.tower-tool-stock-form{min-width:0}
.tower-tool-toprow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.tower-tool-toprow .btn{width:auto!important;min-width:92px;justify-self:end}
.tower-tool-stock-worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tower-tool-stock-world{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;padding:10px;overflow:hidden}
.tower-tool-stock-world-name{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.tower-tool-stock-world-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem}
.tower-tool-stock-world-name small{flex:none;white-space:nowrap;font-size:.5625rem}
.tower-tool-stock-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tower-tool-stock-metric{display:grid;gap:3px;min-width:0;padding:7px 8px;border:1px solid #22344e;border-radius:8px;background:#101c2f}
.tower-tool-stock-metric small{font-size:.53125rem;color:#8799b0;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.tower-tool-stock-metric strong{min-width:0;font-size:.6875rem;color:#e5edf8;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bot-shell .commander-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bot-shell .commander-choice b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1250px){.tower-tools-card{grid-template-columns:1fr}.bot-shell .commander-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.tower-tool-toprow{grid-template-columns:1fr}.tower-tool-toprow .btn{width:100%!important;justify-self:stretch}.tower-tool-stock-worlds,.tower-tool-stock-metrics{grid-template-columns:1fr}.tower-tool-stock-world-name{align-items:flex-start;flex-direction:column;gap:2px}.bot-shell .commander-choice-grid{grid-template-columns:1fr}}

/* v26.35: global UI font percentage + denser Tower control layout. */
.settings-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.settings-page-head h1{margin:4px 0 8px;font-size:2rem;letter-spacing:-.03em}.settings-page-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}
.ui-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-width:860px}
.ui-setting-card{display:grid;gap:16px;padding:18px;border:1px solid #2a405f;border-radius:13px;background:#101a2d}
.ui-setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ui-setting-head>div{display:grid;gap:4px}.ui-setting-head strong{font-size:1rem}.ui-setting-head small{color:var(--muted);line-height:1.45}.ui-setting-value{display:inline-flex;align-items:center;gap:3px;padding:7px 10px;border:1px solid #2b405f;border-radius:9px;background:#0d1728;white-space:nowrap}.ui-setting-value input{width:64px;padding:0;border:0;background:transparent;color:var(--text);text-align:right;font-weight:800;outline:none}.ui-setting-value span{color:#8fa0b8;font-weight:800}
.ui-font-range{width:100%;accent-color:var(--blue2)}
.ui-setting-scale{display:flex;justify-content:space-between;color:#71839b;font-size:.75rem}.ui-settings-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}
.ui-settings-note{padding:11px 13px;border:1px solid #263b59;border-radius:10px;background:#0d1728;color:#8191a8;font-size:.8rem;line-height:1.45}
@media(max-width:700px){.settings-page-head{flex-direction:column}.ui-setting-head{flex-direction:column}.ui-setting-value{align-self:flex-start}.ui-settings-actions{justify-content:stretch}.ui-settings-actions .btn{flex:1}}

/* Tower: remove the empty first-column hole caused by the tall Auto tools card.
   Left column stacks transport + worlds, right column spans both rows with stock controls. */
.tower-config-grid{grid-template-columns:minmax(300px,.82fr) minmax(520px,1.38fr);grid-template-rows:auto auto;gap:10px;align-items:stretch}
.tower-horses-card{grid-column:1;grid-row:1;grid-template-columns:1fr;align-content:start;align-items:start}
.tower-worlds-card{grid-column:1;grid-row:2;grid-template-columns:1fr;align-content:start;align-items:start}
.tower-tools-card{grid-column:2;grid-row:1 / span 2;grid-template-columns:1fr;align-content:start;align-items:start}
.tower-horse-form{width:100%;grid-template-columns:minmax(0,1fr) auto}.tower-worlds-form{width:100%;min-width:0}.tower-tool-stock-form{width:100%}
.tower-horses-card .module-config-copy small,.tower-worlds-card .module-config-copy small,.tower-tools-card .module-config-copy small{max-width:72ch}
.tower-worlds-card .tower-world-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tower-worlds-card .tower-world-actions{margin-top:8px}
.tower-tools-card .tower-tool-stock-worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tower-tools-card .preset-extra-note{margin-top:8px}
@media(max-width:1250px){
  .tower-config-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .tower-horses-card,.tower-tools-card,.tower-worlds-card{grid-column:1;grid-row:auto}
  .tower-worlds-card .tower-world-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){.tower-worlds-card .tower-world-settings-grid,.tower-tools-card .tower-tool-stock-worlds{grid-template-columns:1fr}}


/* v26.37 UI correction: real vertical location lists, unified controls, adaptive 60/40 live-feed split. */
.dashboard-content-frame{display:block;min-width:0}

/* One typography system across sidebar, module content and controls. */
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bot-shell .dashboard-side-nav,.bot-shell .editor-stack,.bot-shell .live-feed-footer{font-family:inherit}
.bot-shell .dashboard-side-nav a{font-size:.8125rem;line-height:1.25;font-weight:600}
.bot-shell .dashboard-panel .panel-head h2{font-size:1.125rem;line-height:1.2;font-weight:750}
.bot-shell .dashboard-panel .panel-head p{font-size:.75rem;line-height:1.45}
.bot-shell .recruit-castle-head strong,.bot-shell .component-building-head strong{font-size:.9375rem;line-height:1.25;font-weight:750}
.bot-shell .recruit-castle-card label:not(.compact-switch),.bot-shell .tool-build-lane label,.bot-shell .component-building-body label,.bot-shell .hospital-global-grid label{font-size:.75rem;line-height:1.3;font-weight:650;color:#8d9ab0}

/* All text/search/select/number controls intentionally share the same visual language. */
.bot-shell input[type="number"],
.bot-shell input[type="text"],
.bot-shell input[type="password"],
.bot-shell input[type="search"],
.bot-shell select,
.bot-shell textarea{
  box-sizing:border-box;
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #2b405f;
  border-radius:9px;
  background:#0d1728;
  color:#e6edf7;
  font:600 .8125rem/1.25 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  outline:none;
  box-shadow:none;
}
.bot-shell input[type="number"]:focus,
.bot-shell input[type="text"]:focus,
.bot-shell input[type="password"]:focus,
.bot-shell input[type="search"]:focus,
.bot-shell select:focus,
.bot-shell textarea:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.bot-shell input::placeholder,.bot-shell textarea::placeholder{color:#687a94;font-weight:500}
.catalog-search-picker>input[type="search"],.recruit-unit-picker>input[type="search"]{min-height:38px;padding:8px 10px;font-size:.8125rem;border-radius:9px;background:#0d1728}
.catalog-search-results{font-family:inherit}
.catalog-search-option{font-size:.75rem;font-family:inherit}

/* Interval is a compact normal settings row, not a foreign-looking native block. */
.module-interval-setting{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:10px 0 14px;padding:0;border:0;background:transparent}
.module-interval-setting label{display:grid;gap:5px;flex:0 0 190px;color:#8d9ab0;font-size:.75rem;line-height:1.3;font-weight:650}
.module-interval-setting input{width:100%}
.module-interval-setting small{flex:1 1 260px;min-width:180px;padding:0 0 9px;color:#72839b;font-size:.6875rem;line-height:1.4}
.hospital-global-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hospital-global-grid label{display:grid;gap:5px}
.hospital-global-grid input{width:100%}

/* Every castle/location occupies its own row. No auto-fit multi-column cards. */
.recruit-castle-grid,
.tool-build-castle-grid,
.component-building-grid,
.hospital-castle-grid,
.defence-castle-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch;
}
.recruit-castle-card,.tool-build-castle-card,.component-building-card{width:100%;min-width:0}

/* Recruit cards become denser on genuinely wide content, while castles still stay one-per-row. */
@media(min-width:2050px){
  .recruit-panel .recruit-castle-card{grid-template-columns:minmax(190px,.8fr) minmax(280px,1.35fr) minmax(110px,.45fr) minmax(220px,1fr);align-items:end;column-gap:14px}
  .recruit-panel .recruit-castle-head{align-self:stretch}
  .recruit-panel .recruit-castle-state{align-self:stretch;justify-content:center;padding:0 0 0 12px;border-top:0;border-left:1px solid var(--border)}
}

/* Adaptive desktop split. At 2560 px this is explicitly 60% bot / 40% Live Feed. */
@media(min-width:1600px){
  .dashboard-content-frame{
    display:grid;
    grid-template-columns:minmax(0,3fr) minmax(420px,2fr);
    gap:16px;
    align-items:start;
  }
  .dashboard-content-frame>.dashboard-workspace{min-width:0;grid-template-columns:220px minmax(0,1fr);gap:14px}
  .dashboard-content-frame>.live-feed-footer{
    position:sticky;
    top:84px;
    margin:0!important;
    min-width:0;
    min-height:calc(100vh - 96px);
    max-height:calc(100vh - 96px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .dashboard-content-frame>.live-feed-footer .live-feed-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-content-frame>.live-feed-footer .live-log{max-height:none!important;min-height:0;flex:1;overflow:auto}
}
@media(min-width:1600px) and (max-width:2049px){
  /* The bot column is intentionally narrower while Live Feed is beside it.
     Stack wide module internals so the 60/40 layout never creates horizontal overflow. */
  .tower-config-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .tower-horses-card,.tower-tools-card,.tower-worlds-card{grid-column:1;grid-row:auto}
  .tower-worlds-card .tower-world-settings-grid{grid-template-columns:1fr}
  .module-config-grid{grid-template-columns:1fr}
  .tool-build-lanes{grid-template-columns:1fr}
}
@media(min-width:2200px){
  .dashboard-content-frame>.live-feed-footer .live-feed-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1599px){
  .dashboard-content-frame>.live-feed-footer{position:static;margin-top:18px}
}
@media(max-width:700px){
  .module-interval-setting{display:grid;grid-template-columns:1fr;align-items:start}
  .module-interval-setting label,.module-interval-setting small{min-width:0;width:100%;padding:0}
  .hospital-global-grid{grid-template-columns:1fr}
}

/* v26.38 multi-bot ownership + per-bot licensing. */
.bots-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.bots-page-head h1{margin:5px 0 4px}.bots-page-head p{margin:0;max-width:820px;color:var(--muted,#8797ad)}
.bot-add-form{display:flex;align-items:center;gap:8px;min-width:min(460px,100%)}.bot-add-form input{flex:1;min-width:180px;padding:10px 12px;border:1px solid #2b405f;border-radius:9px;background:#0d1728;color:#e6edf7;font:600 .8125rem/1.2 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;outline:none}.bot-add-form input:focus{border-color:#4d83c2;box-shadow:0 0 0 3px rgba(77,131,194,.12)}
.bot-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bot-account-card{min-width:0;padding:18px;border:1px solid #29405f;border-radius:15px;background:#111d30;box-shadow:0 10px 28px rgba(0,0,0,.12)}.bot-account-card.selected{border-color:#3d79b9;box-shadow:0 0 0 1px rgba(61,121,185,.22),0 10px 28px rgba(0,0,0,.12)}
.bot-account-card-head,.admin-bot-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bot-account-title-row,.admin-bot-name-row,.admin-owner-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bot-account-card h2{margin:0;color:#edf3fb;font-size:1.2rem}.bot-account-alias{margin:3px 0 0;color:#7e90a8;font-size:.72rem}
.bot-mini-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid #35506f;border-radius:999px;background:#102034;color:#89a5c7;font-size:.58rem;font-weight:800;letter-spacing:.06em}.bot-mini-badge.current{border-color:#2b785f;background:#12382d;color:#76dbb5}
.bot-state-pill{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:6px 10px;border:1px solid #39485e;border-radius:999px;background:#182131;color:#94a4b8;font-size:.7rem;font-weight:800;text-transform:uppercase}.bot-state-pill.running{border-color:#246b55;background:#12392d;color:#58d4a5}.bot-state-pill.error{border-color:#7a3943;background:#331b20;color:#ff929d}
.bot-account-meta{display:grid;gap:4px;margin:14px 0;color:#8495aa;font-size:.75rem}.bot-account-meta strong{color:#cfd9e7;font-weight:650}.bot-account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.bot-account-stats>div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid #273c59;border-radius:10px;background:#0d1727}.bot-account-stats span{color:#7389a4;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.bot-account-stats strong{overflow:hidden;color:#eef4fb;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}
.bot-license-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #273a55;border-bottom:1px solid #273a55;color:#8192a7;font-size:.72rem}.bot-license-line strong{font-size:.74rem}.license-ok{color:#62d5a9}.license-missing{color:#ff929d}.bot-account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.bot-account-actions form{margin:0}.bot-account-actions .btn:disabled{opacity:.42;cursor:not-allowed}.btn.icon-only{min-width:42px;padding-left:11px;padding-right:11px}.btn.warning{border-color:#9b6718;background:#b87818;color:white}.btn.success{border-color:#23775a;background:#166446;color:white}

.admin-owner-list{display:grid;gap:14px}.admin-owner-card{padding:0;overflow:hidden}.admin-owner-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #263b58}.admin-owner-head h2{margin:0;font-size:1.08rem}.admin-owner-head p{margin:4px 0 0;color:#7e8fa6;font-size:.72rem}.admin-bot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.admin-bot-card{display:grid;gap:12px;padding:13px;border:1px solid #283d5b;border-radius:11px;background:#0e1929}.admin-bot-main strong{color:#e8eef8}.admin-bot-main small{display:block;margin-top:3px;color:#778aa2}.admin-bot-license{display:flex;align-items:center;gap:8px;min-height:28px}.admin-bot-license small{color:#77889f}.admin-bot-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-bot-actions form{margin:0}.admin-bot-actions .license-grant-form{display:grid;grid-template-columns:82px 105px auto;gap:6px;flex:1 1 320px}.admin-bot-actions input,.admin-bot-actions select{min-height:34px;padding:6px 8px;border:1px solid #2b405f;border-radius:8px;background:#0d1728;color:#e6edf7}

@media(max-width:1100px){.bot-account-grid,.admin-bot-grid{grid-template-columns:1fr}.bot-account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bots-page-head{align-items:stretch;flex-direction:column}.bot-add-form{min-width:0;max-width:560px}}
@media(max-width:620px){.bot-add-form{display:grid;grid-template-columns:1fr}.bot-account-stats{grid-template-columns:1fr 1fr}.bot-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bot-account-actions form,.bot-account-actions .btn{width:100%}.admin-owner-head{align-items:flex-start;flex-direction:column}.admin-bot-actions .license-grant-form{grid-template-columns:1fr}.admin-bot-actions .license-grant-form .btn{width:100%}}

/* v26.40 Tower module-specific attack limits. */
.tower-config-grid{grid-template-rows:auto auto auto}
.tower-horses-card{grid-column:1;grid-row:1}
.tower-limits-card{grid-column:1;grid-row:2;grid-template-columns:1fr;align-content:start;align-items:start}
.tower-worlds-card{grid-column:1;grid-row:3}
.tower-tools-card{grid-column:2;grid-row:1 / span 3}
.tower-limit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:8px;align-items:end;width:100%}
.tower-limit-form label{display:grid;gap:5px;color:#7f8da3;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tower-limit-form input{width:100%;min-width:0;background:#0d1728;border:1px solid #2b405f;border-radius:9px;color:#e6edf7;padding:10px 11px;outline:none}
.tower-limit-note{margin-top:9px;color:#7f8da3;font-size:.75rem;line-height:1.4}
@media(max-width:1250px){.tower-limits-card{grid-column:1;grid-row:auto}.tower-tools-card{grid-column:1;grid-row:auto}.tower-limit-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}}
@media(max-width:720px){.tower-limit-form{grid-template-columns:1fr}.tower-limit-form .btn{width:100%}}

/* v26.41 Components use the same switch language as the rest of the portal. */
.component-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
.component-switch-row>div{display:grid;gap:3px;min-width:0}
.component-switch-row>div>strong{font-size:.82rem;color:var(--text)}
.component-switch-row>div>small{font-size:.72rem;color:var(--muted)}

/* v26.41 administrator power controls */
.admin-master-power{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:18px}.admin-master-power-copy{min-width:0}.admin-master-power-copy h2{margin:3px 0 4px}.admin-master-power-copy p{margin:0;color:var(--muted)}.admin-master-power-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.bot-state-pill.admin-disabled{border-color:#7a3941;background:#3a171d;color:#ffabb5}.admin-bot-power-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.78rem;color:var(--muted)}.admin-bot-power-form{margin:0}.power-switch{display:inline-flex;align-items:center;gap:7px;min-width:62px;padding:4px 7px 4px 5px;border-radius:999px;border:1px solid var(--border);background:#141d2a;color:var(--muted);cursor:pointer;font:inherit}.power-switch span{display:block;width:18px;height:18px;border-radius:50%;background:#64748b;transition:.15s}.power-switch b{font-size:.68rem;letter-spacing:.05em}.power-switch.on{border-color:#2f6a58;background:#102f27;color:#8fe4c3}.power-switch.on span{background:#4dd0a2;transform:translateX(0)}.power-switch.off{border-color:#644047;background:#2b171b;color:#d598a0}.power-switch.off span{background:#9a5660}@media(max-width:760px){.admin-master-power{align-items:flex-start;flex-direction:column}.admin-master-power-state{justify-content:flex-start}}

/* v26.42: service-scoped Railway usage + cost projection */
.admin-usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-network-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 8px;padding:8px 10px;border:1px solid #20324c;border-radius:9px;background:#09111f;color:#778aa4;font-size:.72rem}.usage-network-line b{color:#dce8f7;font-size:.78rem}.admin-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.admin-cost-card{padding:14px 16px;border:1px solid #263b59;border-radius:11px;background:linear-gradient(180deg,#101b2f,#0d1728)}.admin-cost-card>span{display:block;color:#93a4ba;font-size:.74rem;font-weight:700}.admin-cost-card>strong{display:block;margin:5px 0;color:#f2f7ff;font-size:1.55rem;letter-spacing:-.02em}.admin-cost-card>small{display:block;color:#778aa4;font-size:.68rem}.admin-usage-pricing{margin-top:11px;padding:9px 11px;border:1px dashed #29415f;border-radius:9px;background:#0b1525;color:#72859e;font-size:.68rem;line-height:1.45}@media(max-width:1100px){.admin-usage-grid{grid-template-columns:1fr 1fr}.admin-usage-grid .usage-meter-card:last-child{grid-column:1/-1}}@media(max-width:760px){.admin-usage-grid,.admin-cost-grid{grid-template-columns:1fr}.admin-usage-grid .usage-meter-card:last-child{grid-column:auto}}

/* v26.43 – dense split layout: use the available width, avoid empty Tower areas. */
.tower-config-column{display:grid;gap:8px;align-content:start;min-width:0}

@media(min-width:1600px){
  /* Keep bot + Live Feed side-by-side. Slightly favor the bot around FHD/1980 widths. */
  .dashboard-content-frame{
    grid-template-columns:minmax(0,1.7fr) minmax(500px,1fr);
    gap:12px;
  }
  .dashboard-content-frame>.dashboard-workspace{
    grid-template-columns:190px minmax(0,1fr);
    gap:10px;
  }
  .dashboard-content-frame>.dashboard-workspace .editor-stack{gap:7px}
  .dashboard-content-frame>.dashboard-workspace .dashboard-panel{padding:11px}

  /* Two independent Tower columns prevent a tall card from stretching unrelated rows. */
  .tower-config-grid{
    display:grid!important;
    grid-template-columns:minmax(290px,.78fr) minmax(410px,1.22fr)!important;
    grid-template-rows:auto auto!important;
    gap:8px!important;
    align-items:start!important;
  }
  .tower-config-column-left{grid-column:1;grid-row:1}
  .tower-config-column-right{grid-column:2;grid-row:1}
  .tower-horses-card,.tower-limits-card,.tower-tools-card{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0;
    align-self:start;
  }
  .tower-worlds-card{
    grid-column:1/-1!important;
    grid-row:2!important;
    min-width:0;
    align-self:start;
  }

  /* Compact card internals – keep controls horizontal instead of creating tall whitespace. */
  .tower-horses-card{grid-template-columns:minmax(95px,.7fr) minmax(170px,1.3fr)!important;align-items:center!important}
  .tower-horse-form{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}
  .tower-limits-card{padding:9px!important;gap:7px!important}
  .tower-limit-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;gap:6px!important}
  .tower-limit-form label{gap:3px!important;font-size:.625rem!important}
  .tower-limit-form input{min-height:34px!important;padding:6px 8px!important;font-size:.6875rem!important}
  .tower-limit-form .btn{min-height:34px;padding:6px 9px!important}
  .tower-limit-note{margin-top:4px!important;font-size:.625rem!important;line-height:1.25!important}

  .tower-tools-card{grid-template-columns:minmax(120px,.55fr) minmax(0,1.45fr)!important;align-items:start!important;padding:9px!important;gap:8px!important}
  .tower-tool-stock-form{gap:7px!important}
  .tower-tool-toprow{gap:6px!important}
  .tower-tool-toprow .btn{min-width:74px!important;padding:6px 9px!important}
  .tower-tool-fields{gap:6px!important}
  .tower-tool-field input{min-height:34px!important;padding:6px 8px!important;font-size:.6875rem!important}
  .tower-tool-stock-worlds{gap:6px!important;padding-top:6px!important}
  .tower-tool-stock-world{padding:7px!important;gap:6px!important;border-radius:7px!important}
  .tower-tool-stock-metric{padding:5px 6px!important;gap:2px!important;border-radius:6px!important}

  .tower-worlds-card{grid-template-columns:130px minmax(0,1fr)!important;align-items:start!important;padding:9px!important;gap:8px!important}
  .tower-worlds-form{gap:6px!important}
  .tower-worlds-card .tower-world-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .tower-world-setting{padding:6px!important;gap:5px!important;border-radius:7px!important}
  .tower-world-toggle{gap:5px!important}
  .tower-world-toggle strong{font-size:.625rem!important}
  .tower-world-toggle small{font-size:.5rem!important}
  .tower-world-setting select{min-height:32px!important;padding:5px 6px!important;font-size:.59375rem!important}
  .tower-world-actions{gap:5px!important}
  .tower-world-actions .btn{padding:5px 8px!important;font-size:.59375rem!important}

  /* Make Live Feed easier to read without giving it more space. */
  .dashboard-content-frame>.live-feed-footer{padding:13px!important}
  .dashboard-content-frame>.live-feed-footer .panel-head h2{font-size:1.125rem!important}
  .dashboard-content-frame>.live-feed-footer .live-feed-summary span{font-size:.5625rem!important}
  .dashboard-content-frame>.live-feed-footer .live-feed-summary b{font-size:.6875rem!important}
  .dashboard-content-frame>.live-feed-footer .live-log{font-size:.75rem!important;line-height:1.38!important}
  .dashboard-content-frame>.live-feed-footer .live-log div{padding:3px 0!important}
}

/* At large 1440p/ultrawide widths use the requested exact 60/40 split. */
@media(min-width:2200px){
  .dashboard-content-frame{grid-template-columns:minmax(0,3fr) minmax(520px,2fr)}
  .dashboard-content-frame>.dashboard-workspace{grid-template-columns:205px minmax(0,1fr)}
  .dashboard-content-frame>.live-feed-footer .live-log{font-size:.78125rem!important}
}

/* If the content area becomes genuinely narrow, stack only the Tower card columns – not the whole Live Feed. */
@media(min-width:1600px) and (max-width:1720px){
  .tower-config-grid{grid-template-columns:1fr!important}
  .tower-config-column-left,.tower-config-column-right,.tower-worlds-card{grid-column:1!important;grid-row:auto!important}
  .tower-tools-card{grid-template-columns:minmax(110px,.45fr) minmax(0,1.55fr)!important}
  .tower-worlds-card .tower-world-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v26.44 – Tower no-blank desktop layout.
   At split-screen widths every Tower card participates in one dense grid. */
@media(min-width:1600px){
  .tower-config-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    gap:7px!important;
    align-items:start!important;
    align-content:start!important;
  }
  .tower-config-column-left,
  .tower-config-column-right{
    display:contents!important;
  }
  .tower-horses-card{
    grid-column:1 / span 5!important;
    grid-row:auto!important;
    min-width:0!important;
    align-self:stretch!important;
    grid-template-columns:minmax(100px,.7fr) minmax(180px,1.3fr)!important;
  }
  .tower-limits-card{
    grid-column:6 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
    align-self:stretch!important;
    grid-template-columns:minmax(100px,.62fr) minmax(0,1.38fr)!important;
    align-items:center!important;
  }
  .tower-limits-card .tower-limit-note{
    grid-column:1/-1;
    margin:2px 0 0!important;
    padding-top:5px;
    border-top:1px solid #21334c;
    white-space:normal;
  }
  .tower-tools-card{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
    align-self:start!important;
    grid-template-columns:125px minmax(0,1fr)!important;
    align-items:start!important;
  }
  .tower-tool-stock-form{
    display:grid!important;
    grid-template-columns:minmax(175px,.75fr) minmax(230px,.9fr) minmax(0,2.1fr)!important;
    gap:7px!important;
    align-items:start!important;
  }
  .tower-tool-toprow{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start;
  }
  .tower-tool-fields{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start;
  }
  .tower-tool-stock-worlds{
    grid-column:3!important;
    grid-row:1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    padding-top:0!important;
    align-self:start;
  }
  .tower-tool-stock-world{
    min-height:0!important;
    padding:6px!important;
    gap:4px!important;
  }
  .tower-tool-stock-world-name{gap:5px!important}
  .tower-tool-stock-world-name strong{font-size:.625rem!important}
  .tower-tool-stock-world-name small{font-size:.5rem!important}
  .tower-tool-stock-metrics{gap:4px!important}
  .tower-tool-stock-metric{padding:4px 5px!important}
  .tower-tool-stock-metric small{font-size:.46875rem!important}
  .tower-tool-stock-metric strong{font-size:.625rem!important}
  .tower-worlds-card{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    min-width:0!important;
    align-self:start!important;
    grid-template-columns:125px minmax(0,1fr)!important;
    align-items:center!important;
  }
  .tower-worlds-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:7px!important;
    align-items:center!important;
  }
  .tower-worlds-card .tower-world-settings-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .tower-world-actions{
    margin:0!important;
    align-self:center!important;
    flex-wrap:nowrap!important;
  }
  .tower-world-actions .btn{white-space:nowrap}
}

/* Slightly more room for the stock block when the bot panel itself is wide. */
@media(min-width:2200px){
  .tower-tool-stock-worlds{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .tower-tool-stock-form{grid-template-columns:minmax(180px,.65fr) minmax(240px,.8fr) minmax(0,2.55fr)!important}
}

/* Preserve the dense no-blank layout around 1600–1720px instead of reverting to one-column cards. */
@media(min-width:1600px) and (max-width:1720px){
  .tower-config-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  .tower-horses-card{grid-column:1 / span 5!important}
  .tower-limits-card{grid-column:6 / -1!important}
  .tower-tools-card,.tower-worlds-card{grid-column:1 / -1!important}
  .tower-tool-stock-form{grid-template-columns:minmax(160px,.72fr) minmax(210px,.9fr) minmax(0,1.9fr)!important}
  .tower-worlds-card .tower-world-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* v26.45 – compact PRO layout. Structural, not cosmetic-only. */
.editor-stack>.settings-panel{min-height:0!important}
.bot-shell .dashboard-panel{padding:12px!important}
.bot-shell .dashboard-panel .panel-head{margin-bottom:9px!important}
.bot-shell .module-runtime-bar{padding:7px 0 8px!important;gap:8px!important}
.bot-shell .module-runtime-bar small{font-size:.6875rem;line-height:1.3}
.bot-shell .baron-status-grid{display:flex!important;flex-wrap:wrap;gap:6px!important;margin:0 0 8px}
.bot-shell .baron-status-grid>div{flex:1 1 125px;min-width:110px;padding:7px 9px!important;border-radius:8px!important}
.bot-shell .baron-status-grid span{font-size:.53125rem!important}
.bot-shell .baron-status-grid b{margin-top:2px!important;font-size:.6875rem!important}
.bot-shell .module-interval-setting{margin:6px 0 8px!important;gap:7px!important;align-items:center!important}
.bot-shell .module-interval-setting label{display:flex!important;align-items:center;gap:8px!important;flex:0 1 290px!important;font-size:.6875rem!important}
.bot-shell .module-interval-setting input{width:86px!important;min-height:32px!important}
.bot-shell .module-save-row{margin-top:8px!important;padding-top:8px!important}
.bot-shell .settings-section-card{padding:10px!important;border-radius:9px!important}
.bot-shell .settings-section-head{margin-bottom:8px!important}
.bot-shell .settings-section-head h3{font-size:.875rem!important}
.bot-shell .settings-grid{gap:8px!important}
.bot-shell .settings-grid label{gap:4px!important;font-size:.6875rem!important}
.bot-shell .settings-grid small{font-size:.625rem!important;line-height:1.25!important}
.bot-shell .component-settings-form,.bot-shell .tool-build-settings-form,.bot-shell .recruit-settings-form,.bot-shell .hospital-settings-form,.bot-shell .defence-settings-form{gap:8px!important}

/* Reusable collapsed location/building row. */
.pro-location-card{display:block!important;width:100%;min-width:0;border:1px solid #263b59;border-radius:9px;background:#0f1a2c;overflow:visible}
.pro-location-card[open]{background:#101c30;border-color:#315074;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.pro-location-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;list-style:none;user-select:none}
.pro-location-summary::-webkit-details-marker{display:none}
.pro-location-summary:hover{background:rgba(255,255,255,.018)}
.pro-location-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:7px;min-width:0}
.pro-location-title .eyebrow{font-size:.5rem;white-space:nowrap}
.pro-location-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}
.pro-location-title small{color:#70839d;font-size:.5625rem;white-space:nowrap}
.pro-location-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.pro-state-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #2b415f;border-radius:999px;background:#101d31;color:#91a4bd;font-size:.5625rem;font-weight:750}
.pro-chevron{display:inline-block;color:#8094ae;font-size:.75rem;transition:transform .15s ease}
.pro-location-card[open] .pro-chevron{transform:rotate(180deg)}
.pro-location-body{display:grid;gap:8px;padding:9px 10px;border-top:1px solid #22344e}
.pro-location-body label{display:grid;gap:4px;color:#8799b0;font-size:.6875rem}
.pro-location-body input,.pro-location-body select,.pro-location-body .catalog-search-picker>input[type="search"]{min-height:33px!important;padding:6px 8px!important;font-size:.6875rem!important}
.recruit-location-body{grid-template-columns:minmax(220px,1.5fr) minmax(90px,.45fr) minmax(180px,1fr);align-items:end}
.recruit-location-body .recruit-castle-state{align-self:stretch;justify-content:center;padding:0 0 0 9px;border-top:0;border-left:1px solid #22344e}
.tool-build-location-body{gap:7px}
.tool-build-location-body .tool-build-lanes{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.tool-build-location-body .tool-build-lane{gap:6px;padding:8px;border-radius:8px}
.tool-build-location-body .tool-build-queue-state{gap:5px}
.tool-build-location-body .tool-build-queue-state span{padding:4px 7px;font-size:.625rem}
.hospital-location-body{grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);align-items:center}
.hospital-location-body .recruit-castle-state{padding:0 0 0 9px;border-top:0;border-left:1px solid #22344e}
.defence-location-body{gap:7px}
.defence-location-body .defence-setting-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.defence-location-body .defence-leave-box{padding:8px!important}
.recruit-castle-grid,.tool-build-castle-grid,.hospital-castle-grid,.defence-castle-grid,.component-building-grid{gap:6px!important;margin:7px 0!important}

/* Components use the same visual language and start collapsed. */
.component-building-card{border-radius:9px!important;background:#0f1a2c!important}
.component-building-summary{padding:8px 10px!important;gap:8px!important}
.component-building-head strong{font-size:.75rem!important}
.component-summary-meta{gap:7px!important;font-size:.625rem!important}
.component-enabled-pill{padding:2px 6px!important;font-size:.5625rem!important}
.component-building-body{gap:8px!important;padding:9px 10px!important}
.component-enabled-toggle,.component-rent-toggle{padding:7px 8px!important}
.component-recipe-grid{gap:7px!important}
.component-recipe-grid label{gap:4px!important;font-size:.6875rem}
.component-recipe-grid small{display:none}
.component-slot-state{gap:5px!important}.component-slot-state span{padding:4px 7px!important;font-size:.625rem!important}
.component-building-toolbar{margin:2px 0 6px!important}
.component-building-toolbar .btn{padding:5px 8px!important;font-size:.625rem!important}

/* Tower: real structural grid, no independent columns and no reserved blank rows. */
.tower-pro-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:7px;margin-top:8px;align-items:start;align-content:start}
.tower-pro-card{min-width:0!important;padding:8px!important;gap:7px!important;border-radius:8px!important;align-self:start!important}
.tower-pro-span-2{grid-column:1/-1}
.tower-horses-card{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;align-items:center!important}
.tower-horse-form{grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important}
.tower-limits-card{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;align-items:center!important}
.tower-limit-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;gap:5px!important}
.tower-limit-form label{gap:2px!important;font-size:.5625rem!important}
.tower-limit-form input{min-height:32px!important;padding:5px 7px!important;font-size:.6875rem!important}
.tower-limit-note{grid-column:1/-1;margin:0!important;padding-top:5px!important;border-top:1px solid #21334c;font-size:.5625rem!important;line-height:1.2!important}
.tower-tools-card{display:grid!important;grid-template-columns:115px minmax(0,1fr)!important;align-items:start!important}
.tower-tool-stock-form{display:grid!important;grid-template-columns:165px 225px minmax(0,1fr)!important;gap:6px!important;align-items:start!important}
.tower-tool-toprow{grid-column:1;gap:5px!important}.tower-tool-fields{grid-column:2;gap:5px!important}.tower-tool-stock-worlds{grid-column:3;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding-top:0!important;border-top:0!important}
.tower-tool-toprow .btn{min-width:70px!important;padding:5px 8px!important}
.tower-tool-field{gap:2px!important}.tower-tool-field span{font-size:.53125rem!important}.tower-tool-field input{min-height:32px!important;padding:5px 7px!important;font-size:.6875rem!important}
.tower-tool-stock-world{padding:5px!important;gap:4px!important;border-radius:7px!important}.tower-tool-stock-world-name{gap:4px!important}.tower-tool-stock-world-name strong{font-size:.59375rem!important}.tower-tool-stock-world-name small{font-size:.46875rem!important}.tower-tool-stock-metrics{gap:4px!important}.tower-tool-stock-metric{padding:4px!important;border-radius:6px!important}.tower-tool-stock-metric small{font-size:.4375rem!important}.tower-tool-stock-metric strong{font-size:.59375rem!important}
.tower-worlds-card{display:grid!important;grid-template-columns:115px minmax(0,1fr)!important;align-items:center!important}
.tower-worlds-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important}
.tower-world-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.tower-world-setting{padding:5px!important;gap:4px!important;border-radius:7px!important}.tower-world-setting select{min-height:30px!important;padding:4px 6px!important;font-size:.5625rem!important}.tower-world-toggle strong{font-size:.59375rem!important}.tower-world-toggle small{font-size:.4375rem!important}.tower-world-actions{margin:0!important;gap:5px!important;flex-wrap:nowrap!important}.tower-world-actions .btn{padding:5px 7px!important;font-size:.5625rem!important;white-space:nowrap}

/* Remove visual filler in active module pages. */
.module-detail-panel>.preset-notice,.module-detail-panel>.module-runtime-note{display:none!important}
.module-detail-panel .module-footline{margin-top:7px!important;padding:7px 9px!important;border-radius:8px!important}
.module-detail-panel .empty-state{padding:10px!important;min-height:0!important}

/* Split desktop remains; at FHD-wide screens favor the bot enough to keep controls dense. */
@media(min-width:1600px) and (max-width:2199px){
  .dashboard-content-frame{grid-template-columns:minmax(0,1.82fr) minmax(430px,1fr)!important;gap:10px!important}
  .dashboard-content-frame>.dashboard-workspace{grid-template-columns:168px minmax(0,1fr)!important;gap:8px!important}
  .tower-tool-stock-worlds{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tower-tool-stock-form{grid-template-columns:145px 195px minmax(0,1fr)!important}
}
@media(min-width:1900px){
  .tower-tool-stock-worlds{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(min-width:2200px){
  .dashboard-content-frame{grid-template-columns:minmax(0,3fr) minmax(520px,2fr)!important}
}
@media(max-width:1150px){
  .tower-pro-grid{grid-template-columns:1fr}.tower-pro-span-2{grid-column:1}.tower-tools-card,.tower-worlds-card,.tower-horses-card,.tower-limits-card{grid-template-columns:1fr!important}
  .tower-tool-stock-form{grid-template-columns:1fr!important}.tower-tool-toprow,.tower-tool-fields,.tower-tool-stock-worlds{grid-column:1!important}.tower-tool-stock-worlds{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tower-worlds-form{grid-template-columns:1fr!important}.tower-world-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .recruit-location-body,.hospital-location-body{grid-template-columns:1fr}.recruit-location-body .recruit-castle-state,.hospital-location-body .recruit-castle-state{padding-top:7px;padding-left:0;border-left:0;border-top:1px solid #22344e}.defence-location-body .defence-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .pro-location-title{grid-template-columns:1fr}.pro-location-title small{display:none}.pro-location-meta{gap:5px}.pro-state-chip{display:none}.tool-build-location-body .tool-build-lanes{grid-template-columns:1fr}.defence-location-body .defence-setting-grid{grid-template-columns:1fr}.tower-tool-stock-worlds,.tower-world-settings-grid{grid-template-columns:1fr!important}
}

/* v26.46 – collision-proof Tower grid + compact numeric controls. */
.tower-pro-grid{
  grid-template-columns:minmax(260px,.72fr) minmax(340px,1.28fr)!important;
  grid-template-areas:
    "horses limits"
    "tools tools"
    "worlds worlds"!important;
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
}
.tower-pro-grid>.tower-horses-card{grid-area:auto!important;grid-column:1!important;grid-row:1!important;min-width:0!important}
.tower-pro-grid>.tower-limits-card{grid-area:auto!important;grid-column:2!important;grid-row:1!important;min-width:0!important}
.tower-pro-grid>.tower-tools-card{grid-area:auto!important;grid-column:1/-1!important;grid-row:2!important;min-width:0!important}
.tower-pro-grid>.tower-worlds-card{grid-area:auto!important;grid-column:1/-1!important;grid-row:3!important;min-width:0!important}

/* Short numeric values should look like numeric controls, not full-width text fields. */
.bot-shell input[type="number"],
.bot-shell input[data-grouped-number="1"]{
  width:min(100%,8.25rem)!important;
  max-width:8.25rem!important;
  min-width:5rem!important;
  justify-self:start!important;
  box-sizing:border-box!important;
  font-variant-numeric:tabular-nums;
}
.bot-shell .tower-limit-form input[type="number"]{width:6.4rem!important;max-width:6.4rem!important;min-width:0!important}
.bot-shell .tower-limit-form input[data-grouped-number="1"]{width:6.4rem!important;max-width:6.4rem!important;min-width:0!important}
.bot-shell .tower-tool-field input[type="number"]{width:7.5rem!important;max-width:7.5rem!important;min-width:0!important}
.bot-shell .tower-tool-field input[data-grouped-number="1"]{width:7.5rem!important;max-width:7.5rem!important;min-width:0!important}
.bot-shell .module-interval-setting input[type="number"]{width:5.5rem!important;max-width:5.5rem!important;min-width:0!important}
.bot-shell .module-interval-setting input[data-grouped-number="1"]{width:5.5rem!important;max-width:5.5rem!important;min-width:0!important}
.bot-shell .tool-build-lane input[type="number"],.bot-shell .tool-build-lane input[data-grouped-number="1"],
.bot-shell .recruit-location-body input[type="number"],.bot-shell .recruit-location-body input[data-grouped-number="1"],
.bot-shell .hospital-location-body input[type="number"],.bot-shell .hospital-location-body input[data-grouped-number="1"],
.bot-shell .component-building-body input[type="number"],.bot-shell .component-building-body input[data-grouped-number="1"]{width:7.25rem!important;max-width:7.25rem!important;min-width:0!important}

/* Keep cards internally compact without allowing children to push into neighbours. */
.tower-pro-card,.tower-pro-card>*{min-width:0}
.tower-limit-form{display:grid!important;grid-template-columns:auto auto auto!important;justify-content:start!important;align-items:end!important;gap:7px!important}
.tower-limit-form label{width:max-content;max-width:100%}
.tower-tools-card{overflow:hidden!important}
.tower-tool-stock-form{min-width:0!important;overflow:hidden!important}
.tower-tool-fields{grid-template-columns:auto auto!important;justify-content:start!important}
.tower-tool-stock-worlds{min-width:0!important}
.tower-worlds-card{overflow:hidden!important}
.tower-worlds-form,.tower-world-settings-grid{min-width:0!important}

@media(max-width:1280px){
  .tower-pro-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:"horses" "limits" "tools" "worlds"!important;
  }
  .tower-pro-grid>.tower-horses-card{grid-column:1!important;grid-row:1!important}
  .tower-pro-grid>.tower-limits-card{grid-column:1!important;grid-row:2!important}
  .tower-pro-grid>.tower-tools-card{grid-column:1!important;grid-row:3!important}
  .tower-pro-grid>.tower-worlds-card{grid-column:1!important;grid-row:4!important}
  .tower-tools-card,.tower-worlds-card,.tower-horses-card,.tower-limits-card{grid-template-columns:1fr!important}
  .tower-tool-stock-form{grid-template-columns:1fr!important}
  .tower-tool-toprow,.tower-tool-fields,.tower-tool-stock-worlds{grid-column:1!important;grid-row:auto!important}
  .tower-tool-stock-worlds{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .bot-shell input[type="number"],.bot-shell input[data-grouped-number="1"]{width:100%!important;max-width:none!important;min-width:0!important}
  .tower-limit-form{grid-template-columns:1fr!important}
  .tower-limit-form label{width:100%}
  .tower-tool-fields{grid-template-columns:1fr!important}
}

/* v26.47 – Equipment seller, matched to the supplied two-column reference. */
.equipment-panel{padding:18px 22px!important;overflow:hidden}
.equipment-module-head{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px}
.equipment-diamond{display:grid;place-items:center;width:18px;height:22px;color:#93a4bc;font-size:1.05rem;line-height:1}
.equipment-module-head h2{margin:0;color:#e7edf7;font-size:1rem;font-weight:760;line-height:1.25}
.equipment-module-head p{margin:3px 0 0;color:#8f9db3;font-size:.75rem;line-height:1.4}
.equipment-settings-form{display:block;min-width:0}
.equipment-keep-grid,.equipment-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px;row-gap:9px;min-width:0}
.equipment-keep-grid{padding:5px 30px 13px 30px}
.equipment-rule-section{padding:11px 4px 12px;border-top:1px solid rgba(109,130,158,.22)}
.equipment-section-title{display:grid;grid-template-columns:14px 17px auto minmax(24px,1fr);align-items:center;gap:7px;color:#d8e0ec;min-width:0}
.equipment-section-title>span{color:#9aa9bd;font-size:.72rem;text-align:center}
.equipment-section-title strong{font-size:.75rem;font-weight:730;white-space:nowrap}
.equipment-section-title i{height:1px;background:rgba(109,130,158,.22);min-width:0}
.equipment-section-help{margin:7px 0 9px 25px;color:#8594aa;font-size:.68rem;line-height:1.35}
.equipment-rule-grid{padding:0 30px 0 30px}
.equipment-option-row{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;padding:0!important;margin:0!important;color:inherit!important;cursor:pointer}
.equipment-option-title{display:flex;align-items:center;gap:8px;min-width:0}
.equipment-option-title strong{color:#e0e6f0;font-size:.71rem;line-height:1.25;font-weight:600}
.equipment-option-row small{display:block;margin-left:10px;color:#8493a9;font-size:.655rem;line-height:1.35;font-weight:400}
.equipment-option-row .compact-switch{display:inline-flex;flex:0 0 auto;align-items:center}
.equipment-panel .compact-switch span{width:34px;height:19px;background:#33435b;border:1px solid rgba(116,138,167,.18)}
.equipment-panel .compact-switch span:after{width:15px;height:15px;left:1px;top:1px}
.equipment-panel .compact-switch input:checked+span{background:#3b82f6}
.equipment-panel .compact-switch input:checked+span:after{transform:translateX(15px)}
.equipment-safety-note{margin:4px 30px 7px;padding:7px 9px;border:1px solid rgba(59,130,246,.18);border-radius:7px;background:rgba(59,130,246,.055);color:#8496b1;font-size:.62rem;line-height:1.35}
.equipment-panel .module-save-row{margin-top:6px;padding:8px 30px 0;border-top:1px solid rgba(109,130,158,.16)}
.equipment-panel .module-save-row>span{color:#7f8da3;font-size:.62rem}
@media(max-width:900px){
  .equipment-keep-grid,.equipment-rule-grid{grid-template-columns:1fr;column-gap:0}
  .equipment-keep-grid,.equipment-rule-grid{padding-left:12px;padding-right:12px}
  .equipment-safety-note,.equipment-panel .module-save-row{margin-left:12px;margin-right:12px;padding-left:0;padding-right:0}
}

/* v26.50 — Coin Spender, Global Effect under Commanders, Outer Realms fast watcher */
.commander-global-effect-card{margin:0 0 12px;border-color:#365a83;background:linear-gradient(135deg,#101f35,#0e1829 64%)}
.commander-global-effect-card .global-effect-form{display:grid;gap:9px}
.commander-global-effect-card .global-effect-toggle{margin:0}
.global-effect-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #263b59;border-radius:9px;background:#0d1728;color:#8294ab;font-size:.72rem}
.global-effect-status-row strong{color:#dbe8f7;text-transform:none}.global-effect-status-row small{margin-left:auto;color:#71839b}
.coin-spender-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.coin-spender-tool{min-width:0}.coin-spender-tool small{white-space:normal;line-height:1.35}
.coin-spender-reserve{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,260px);align-items:center;gap:10px}
.coin-spender-reserve small{grid-column:1/-1;color:#75879e}
.outer-realms-panel{border-color:#365d8d!important}
.outer-realms-runtime{border-left:3px solid #5a9ee8;padding-left:12px!important}
.outer-realms-info-card code{padding:1px 5px;border:1px solid #2b405f;border-radius:5px;background:#0b1524;color:#a9c9ed}
.outer-realms-status-grid>div:nth-child(6) b{font-size:.72rem}
@media(max-width:1050px){.coin-spender-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.coin-spender-tool-grid{grid-template-columns:1fr}.coin-spender-reserve{grid-template-columns:1fr}.global-effect-status-row small{margin-left:0;width:100%}}

/* v26.51 unified settings and production plans */
#tower-all-settings > .module-save-row { position: sticky; bottom: 12px; z-index: 5; background: var(--panel, #17212f); padding: 16px; border-radius: 12px; box-shadow: 0 5px 20px #0003; }
.tool-plan-rows { display: grid; gap: 12px; }
.tool-plan-row { display:grid; grid-template-columns:minmax(260px,2.5fr) repeat(2,minmax(130px,.8fr)) 24px minmax(130px,.8fr) auto; gap:12px; align-items:end; }
.tool-plan-row label { display: grid; gap: 6px; min-width: 0; }
.tool-plan-row select, .tool-plan-row input { width: 100%; min-width: 0; }
@media(max-width: 900px) { .tool-plan-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px minmax(0,1fr); } .tool-plan-row>label:first-child{grid-column:1/-1}.tool-plan-row>button{grid-column:1/-1;justify-self:end} } @media(max-width:720px){.tool-plan-row{grid-template-columns:1fr 1fr}.tool-plan-row>label:first-child{grid-column:1/-1}.tool-stock-divider{display:none}.tool-plan-row>label:nth-of-type(3){grid-column:2}.tool-plan-row>button{grid-column:1/-1;justify-self:end}}

/* v26.52 — compact kingdom-aware layout */
.world-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 7px;border:1px solid currentColor;border-radius:999px;font-size:.5625rem;font-weight:800;letter-spacing:.025em;white-space:nowrap;background:rgba(255,255,255,.025)}
.world-badge.kingdom-green{color:#55c98a}.world-badge.kingdom-ice{color:#9edcff}.world-badge.kingdom-sand{color:#e6aa45}.world-badge.kingdom-fire{color:#ad8569}
.pro-location-card.kingdom-green,.component-location-group.kingdom-green,.tower-world-setting.kingdom-green,.tower-tool-stock-world.kingdom-green{border-left:3px solid #3ba66f!important}
.pro-location-card.kingdom-ice,.component-location-group.kingdom-ice,.tower-world-setting.kingdom-ice,.tower-tool-stock-world.kingdom-ice{border-left:3px solid #8bcceb!important}
.pro-location-card.kingdom-sand,.component-location-group.kingdom-sand,.tower-world-setting.kingdom-sand,.tower-tool-stock-world.kingdom-sand{border-left:3px solid #d99a34!important}
.pro-location-card.kingdom-fire,.component-location-group.kingdom-fire,.tower-world-setting.kingdom-fire,.tower-tool-stock-world.kingdom-fire{border-left:3px solid #75513e!important}
.pro-location-title{grid-template-columns:auto auto minmax(0,1fr) auto!important;gap:7px!important}.pro-location-title strong{font-size:.8125rem!important}.pro-location-title .eyebrow{font-size:.5625rem!important}
.component-location-group{display:block;width:100%;border:1px solid #263b59;border-radius:10px;background:#0d1728;overflow:hidden}
.component-location-group[open]{background:#0f192a}.component-location-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;cursor:pointer;list-style:none}.component-location-summary::-webkit-details-marker{display:none}.component-location-summary>div{display:flex;align-items:center;gap:8px;min-width:0}.component-location-summary strong{font-size:.8125rem;color:#e1e9f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-location-summary>span{font-size:.625rem;color:#8194ad;white-space:nowrap}.component-location-buildings{display:grid;gap:6px;padding:7px;border-top:1px solid #22344e}
.component-building-head>div{display:flex;align-items:baseline;gap:8px}.component-building-head small{font-size:.5rem;color:#6f8199}.component-building-head strong{font-size:.8125rem!important}
.component-subsection{border:1px solid #263b59;border-radius:8px;background:#0c1626;overflow:hidden}.component-subsection>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;cursor:pointer;list-style:none;color:#cbd8e8;font-size:.6875rem;font-weight:750}.component-subsection>summary::-webkit-details-marker{display:none}.component-subsection>summary span{color:#7890aa}.component-subsection[open]>summary{border-bottom:1px solid #22344e}.component-subsection>.component-ratio-grid,.component-subsection>.component-recipe-grid{padding:8px}
.component-ratio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.component-ratio-grid label{display:grid;gap:4px;font-size:.6875rem;color:#8799b0}.component-ratio-grid small{font-size:.59375rem;color:#71839b;line-height:1.3}.component-ratio-grid select,.component-ratio-grid input{width:100%;min-width:0}.component-ratio-note{grid-column:1/-1;padding:7px 9px;border:1px dashed #2c4565;border-radius:8px;background:#0b1728;color:#8fa6c1;font-size:.625rem;line-height:1.35}
.hospital-global-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:900px){.hospital-global-grid,.component-ratio-grid{grid-template-columns:1fr!important}.pro-location-title{grid-template-columns:auto minmax(0,1fr)!important}.pro-location-title .eyebrow,.pro-location-title small{display:none}.world-badge{font-size:.53125rem}}
.movement-row.kingdom-green{border-left:3px solid #3ba66f}.movement-row.kingdom-ice{border-left:3px solid #8bcceb}.movement-row.kingdom-sand{border-left:3px solid #d99a34}.movement-row.kingdom-fire{border-left:3px solid #75513e}
/* v26.55 Rift + Hospital fixed deny list + Tool Build live stock */
.tool-current-stock{display:block;margin-top:4px;color:#8fa1b8;font-size:.5625rem}.tool-current-stock b{color:#dfe8f5}
.hospital-fixed-discard{display:grid;gap:6px;align-content:start}.hospital-fixed-discard>strong{font-size:.6875rem}.hospital-fixed-discard-list{display:flex;flex-wrap:wrap;gap:5px}.hospital-fixed-discard-list span{padding:4px 6px;border:1px solid #263a55;border-radius:6px;background:#0f1b2e;color:#9fb0c7;font-size:.53125rem}
.rift-settings-form,.rift-settings-form .settings-section-card,.rift-wall-grid,.rift-wall-card,.rift-callback-grid,.rift-callback-grid>*{min-width:0}.rift-settings-form .settings-section-card{overflow:hidden}.rift-wall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.rift-wall-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px;border:1px solid #263a55;border-radius:10px;background:#0f1b2e;overflow:hidden}.rift-wall-card>span{font-weight:700;color:#dce8f8}.rift-wall-card .rift-wall-source{grid-column:1;color:#71839d;font-size:.72rem}.rift-wall-card b{grid-column:2;grid-row:1/3;font-size:1.5rem;text-align:right;white-space:nowrap}.rift-wall-card>[data-rift-wall-timer]{grid-column:1/3;color:#91a0b5}.rift-wall-card.open{border-color:#246d5f}.rift-wall-card.open b{color:#41d6a2}.rift-future-options{display:grid;gap:10px;margin-top:10px}.rift-callback-grid{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(0,1.35fr);gap:10px;align-items:stretch}.rift-callback-grid>label:not(.toggle-card){display:grid;align-content:start;gap:6px}.rift-callback-grid input[type=number]{width:100%;max-width:220px}.rift-callback-grid .toggle-card{height:100%;box-sizing:border-box}.rift-capture-status{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}@media(max-width:900px){.rift-wall-grid,.rift-callback-grid{grid-template-columns:1fr}.rift-wall-card b{font-size:1.35rem}}

/* Rift UI parity layer: reference-aligned read-only live view and pending controls. */
.rift-live-hero{margin:0 0 18px;padding:20px;border:1px solid #2a3d5d;border-radius:14px;background:linear-gradient(180deg,#101d31 0%,#0d182a 100%);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.rift-live-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.rift-live-hero-head h3{margin:4px 0 3px;font-size:1.15rem}.rift-live-hero-head p{margin:0;color:#8595ad;font-size:.75rem}.rift-live-badge{padding:5px 10px;border:1px solid #2e715d;border-radius:999px;background:#102d28;color:#85e0bf;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.rift-live-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:16px;padding:10px 12px;border:1px solid #243a5a;border-radius:10px;background:#0d1829}.rift-status-chip{padding:5px 8px;border:1px solid #314b6c;border-radius:7px;color:#a8b8ca;font-size:.68rem}.rift-status-chip.good{border-color:#28634f;background:#102a26;color:#8be0bf}.rift-status-chip.warning{border-color:#775b2b;background:#2b2417;color:#f1c46b}.rift-status-age{margin-left:auto;color:#7e91aa;font-size:.68rem}.rift-status-age b{color:#c9d6e6;font-weight:650}.rift-readonly-note{margin-top:10px;padding:9px 11px;border:1px solid #775d2c;border-radius:8px;background:rgba(119,93,44,.12);color:#e7c579;font-size:.72rem;line-height:1.4}
.rift-live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.rift-live-metrics>div{padding:11px 12px;border:1px solid #233955;border-radius:9px;background:#111e32}.rift-live-metrics span,.rift-reward-foot,.rift-live-stat-grid small{color:#778ca6;font-size:.66rem}.rift-live-metrics b{display:block;margin-top:4px;color:#e6eef8;font-size:1rem}.rift-live-metrics small{display:block;margin-top:3px;color:#697f99;font-size:.6rem}.rift-unmapped-value{color:#8f9fb2!important}
.rift-reward-card{margin-top:10px;padding:13px 14px;border:1px solid #243955;border-radius:10px;background:#101c30}.rift-reward-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.rift-reward-head h4{margin:3px 0 0;font-size:.85rem}.rift-reward-head>b{color:#b1bfd0;font-size:.9rem}.rift-progress-track{height:6px;margin:12px 0 8px;overflow:hidden;border-radius:999px;background:#1b2a42}.rift-progress-track span{display:block;height:100%;border-radius:inherit;background:#4b8de0}.rift-reward-foot{display:flex;gap:14px;flex-wrap:wrap}.bot-shell .rift-live-stat-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:10px}.rift-live-stat-grid>div{min-height:68px}.rift-live-stat-grid b{font-size:1rem}.rift-live-stat-grid small{display:block;margin-top:4px;white-space:normal;line-height:1.25}
.rift-section-heading{display:flex;align-items:baseline;gap:10px;margin:16px 0 8px}.rift-section-heading h3{margin:0;font-size:.95rem}.rift-section-heading small{margin-left:auto;color:#7c8fa8;font-size:.68rem}.rift-wall-card{grid-template-columns:minmax(0,1fr) auto}.rift-wall-title{display:flex;align-items:center;gap:8px}.rift-wall-title>span:first-child{font-weight:750;color:#dce8f8}.rift-wall-lane{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid #36567e;border-radius:6px;color:#9fc5ef;font-size:.64rem;font-weight:800}.rift-wall-card .rift-wall-source{grid-column:1;color:#71839d;font-size:.66rem}.rift-wall-card b{grid-column:2;grid-row:1/3}.rift-wall-progress{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:#1d2b42}.rift-wall-progress span{display:block;width:0;height:100%;border-radius:inherit;background:#4c90df;transition:width .2s ease}.rift-wall-card.open .rift-wall-progress span{background:#3bc79b}.rift-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.rift-secondary-grid .settings-section-card{margin:0}.rift-empty-state{display:grid;gap:5px;padding:12px;border:1px dashed #2d4667;border-radius:9px;background:#0d1829;color:#8194ac;font-size:.7rem;line-height:1.4}.rift-empty-state strong{color:#c3d0df;font-size:.78rem}.rift-shop-state{display:grid;gap:4px;padding:10px 11px;border:1px solid #2a405f;border-radius:8px;background:#101c30}.rift-shop-state b{font-size:.75rem}.rift-shop-state small,.rift-shop-foot{color:#7c8fa8;font-size:.66rem}.rift-shop-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.rift-shop-metrics>div{padding:8px;border:1px solid #253c5b;border-radius:7px;background:#0f1a2c}.rift-shop-metrics span{display:block;color:#778ba4;font-size:.56rem}.rift-shop-metrics b{display:block;margin-top:3px;font-size:.8rem}.rift-shop-foot{display:flex;justify-content:space-between;gap:10px;margin-top:9px}
.warning-badge{border-color:#775c2d;background:#2c2418;color:#ebc36c}.rift-reference-controls{margin-top:14px}.rift-reference-controls>p{margin:-4px 0 13px;font-size:.72rem;line-height:1.45}.rift-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rift-reference-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start;padding:12px;border:1px solid #263b59;border-radius:10px;background:#0e192a}.rift-reference-card>div:first-child{display:grid;gap:4px}.rift-reference-card strong{font-size:.78rem;color:#d6e2ef}.rift-reference-card small{color:#7d90a9;font-size:.64rem;line-height:1.35}.rift-reference-card>.section-badge{font-size:.5rem;white-space:nowrap}.rift-reference-empty{grid-column:1/-1;padding:8px 9px;border:1px dashed #2c4564;border-radius:7px;color:#7d90a9;font-size:.65rem}.rift-reference-options{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.rift-reference-options button{padding:7px 9px;border:1px solid #2a405f;border-radius:7px;background:#111e31;color:#8294ab;font-size:.64rem}.rift-reference-options button:disabled{opacity:.8}
@media(max-width:1100px){.bot-shell .rift-live-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.rift-live-metrics,.rift-secondary-grid,.rift-reference-grid{grid-template-columns:1fr}.bot-shell .rift-live-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rift-status-age{margin-left:0}.rift-section-heading{align-items:flex-start;flex-direction:column;gap:3px}.rift-section-heading small{margin-left:0}.rift-shop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rift-live-hero{padding:14px}.rift-live-hero-head{flex-direction:column}.bot-shell .rift-live-stat-grid{grid-template-columns:1fr}.rift-reward-foot{gap:7px;flex-direction:column}}
.rift-commanders-card{margin-top:12px}.rift-commander-rule-list{display:grid;gap:10px}.rift-commander-card{border:1px solid #263a55;border-radius:12px;background:#0d1829;overflow:hidden}.rift-commander-card>summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.rift-commander-card>summary strong{flex:1}.rift-commander-body{border-top:1px solid #22344d;padding:12px;display:grid;gap:10px}.rift-rules{display:grid;gap:10px}.rift-rule-card{border:1px solid #29405e;border-radius:10px;background:#101d30;overflow:hidden}.rift-rule-card>summary{display:flex;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}.rift-rule-card>summary>span:first-child{flex:1;min-width:0}.rift-rule-body{border-top:1px solid #263a55;padding:12px;display:grid;gap:10px}.rift-rule-actions{display:flex;flex-wrap:wrap;gap:6px}.rift-rule-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rift-rule-body>label,.rift-rule-grid>label,.rift-auto-setup>label{display:grid;gap:5px}.rift-rule-section{display:grid;gap:7px}.rift-side-choices{display:flex;flex-wrap:wrap;gap:7px}.rift-side-choice{display:flex;gap:6px;align-items:center;border:1px solid #2d4565;border-radius:8px;padding:8px 11px;background:#0d1829}.rift-auto-setup{display:grid;gap:10px;padding:10px;border:1px solid #243953;border-radius:10px}.rift-auto-setup.muted-disabled{opacity:.55}.rift-pending-note{padding:9px 11px;border:1px dashed #8b6723;border-radius:8px;color:#e3b558;background:rgba(139,103,35,.08)}.hospital-fixed-discard-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.hospital-fixed-discard-list span{padding:5px 7px;border:1px solid #2a3f5c;border-radius:7px;background:#0e1a2d;font-size:.82rem}.tool-current-stock{display:block;margin-top:5px;color:#94a6bd}.tool-current-stock b{color:#dce8f7}@media(max-width:760px){.rift-rule-grid.two{grid-template-columns:1fr}}

/* v26.56 development lock for unfinished Rift module */
.module-toggle-card.development-locked{opacity:.68;cursor:not-allowed}
.module-toggle-card.development-locked .module-switch-control{cursor:not-allowed}
.module-toggle-card.development-locked .module-state-pill{border-color:#8b6723;color:#e3b558;background:rgba(139,103,35,.1)}
.toggle-card.development-locked{opacity:.72}
.toggle-card.development-locked input:disabled{cursor:not-allowed}

/* v26.57 Tool Build stock stays in its own aligned column. */
.tool-stock-field{display:grid;gap:6px;min-width:0}.tool-stock-field>span{font-size:.78rem;color:#8fa6c1}.tool-stock-box{box-sizing:border-box;height:40px;display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:0 10px;border:1px solid #2b4567;border-radius:9px;background:#0c1728;color:#e7eef8;font-weight:700}.tool-stock-divider{height:40px;display:flex;align-items:center;justify-content:center;color:#6f86a5;font-size:1.15rem;font-weight:800}.foreign-target-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.foreign-target-list span{padding:6px 8px;border:1px solid #2a405f;border-radius:8px;background:#0d192b;font-size:.82rem}.foreign-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.foreign-settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.foreign-settings-grid{grid-template-columns:1fr}}

/* v26.60 — Liga kráľovstva inside Foreign Bot */
.kingdom-league-card{margin-top:14px;border:1px solid #2b4567;border-radius:12px;background:#0b1627;overflow:hidden}
.kingdom-league-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}
.kingdom-league-card>summary::-webkit-details-marker{display:none}.kingdom-league-card>summary>div{display:grid;gap:2px}.kingdom-league-card>summary strong{font-size:.98rem}.kingdom-league-card>summary small{color:#8fa6c1}.kingdom-league-card[open] .pro-chevron{transform:rotate(180deg)}
.kingdom-league-body{border-top:1px solid #203650;padding:14px 16px 16px;display:grid;gap:14px}.kingdom-league-settings{grid-template-columns:repeat(4,minmax(0,1fr))}.league-check-info{display:grid;gap:5px;align-content:start}.league-check-info>span{font-size:.78rem;color:#8fa6c1}.league-check-info>b{height:40px;display:flex;align-items:center;padding:0 10px;border:1px solid #2b4567;border-radius:9px;background:#0c1728}.league-check-info small{color:#7f94ae}
.kingdom-league-runtime{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kingdom-league-runtime>div{padding:10px 12px;border:1px solid #263d5c;border-radius:10px;background:#0c182a;display:grid;gap:3px}.kingdom-league-runtime span{font-size:.75rem;color:#8fa6c1}.kingdom-league-runtime b{font-size:1rem}.kingdom-league-reason{padding:10px 12px;border:1px solid #2a405f;border-radius:9px;background:#0c1728;color:#c7d5e7;font-size:.86rem}
.kingdom-league-table-wrap{overflow:auto;border:1px solid #263d5c;border-radius:10px}.kingdom-league-table{width:100%;border-collapse:collapse;min-width:520px}.kingdom-league-table th,.kingdom-league-table td{padding:9px 11px;border-bottom:1px solid #1f334e;text-align:left}.kingdom-league-table th{font-size:.76rem;color:#8fa6c1;background:#0d1a2c}.kingdom-league-table tr:last-child td{border-bottom:0}.kingdom-league-table tr.is-self td{font-weight:700;background:rgba(55,118,184,.12)}.kingdom-league-table em{font-size:.68rem;font-style:normal;padding:2px 5px;border-radius:5px;border:1px solid #436b98;color:#9fc7ef;margin-left:5px}
@media(max-width:900px){.kingdom-league-settings{grid-template-columns:1fr 1fr}.kingdom-league-runtime{grid-template-columns:1fr 1fr}}@media(max-width:600px){.kingdom-league-settings{grid-template-columns:1fr}}

/* v26.63 — module info toggle + clearer Components/League layout */
.module-info-toggle{display:inline-grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid #355171;border-radius:999px;background:#0d192b;color:#8ca4c0;font:800 .75rem/1 system-ui;cursor:pointer;transition:.15s ease}
.module-info-toggle:hover{border-color:#5f83ad;color:#d9e8f7;background:#12233a}.module-info-toggle.active{color:#9fd0ff;border-color:#4479a9;background:#10243b;box-shadow:inset 0 0 0 1px rgba(115,178,235,.08)}
.module-info-hidden .module-detail-head p,
.module-info-hidden form label>small,
.module-info-hidden form .toggle-card small,
.module-info-hidden form .equipment-safety-note,
.module-info-hidden form .component-ratio-note,
.module-info-hidden form .component-manual-note,
.module-info-hidden form .module-save-row>span,
.module-info-hidden .kingdom-league-card>summary small,
.module-info-hidden .league-check-info small,
.module-info-hidden .module-footline,
.module-info-hidden .rift-pending-note{display:none!important}

.component-manual-note{padding:9px 11px;border:1px dashed #315071;border-radius:9px;background:#0b1728;color:#8fa6c1;font-size:.68rem;line-height:1.45}
.component-manual-note strong{color:#d1deec}
.component-subsection-static{overflow:visible}
.component-subsection-title{padding:7px 8px;border-bottom:1px solid #22344e;color:#cbd8e8;font-size:.6875rem;font-weight:750}
.component-location-buildings{gap:16px!important;padding:11px!important}
.component-building-card+ .component-building-card{position:relative;margin-top:2px}
.component-building-card+ .component-building-card:before{content:"";position:absolute;left:3%;right:3%;top:-10px;height:1px;background:rgba(93,120,153,.25)}
.component-building-body{gap:10px!important}
.components-panel .component-subsection-static .component-recipe-grid{padding:8px}
.components-panel .component-subsection-static .component-ratio-grid{padding:8px}

.league-ally-toggle{margin-top:-2px}.kingdom-league-table tr.is-ally td{background:rgba(67,143,105,.06)}
.kingdom-league-table .ally-badge{border-color:#397554;color:#8fd7ad;background:rgba(57,117,84,.10)}
.kingdom-league-settings{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.kingdom-league-settings{grid-template-columns:1fr 1fr}.module-info-toggle{width:26px;height:26px;flex-basis:26px}}
@media(max-width:600px){.kingdom-league-settings{grid-template-columns:1fr}.component-location-buildings{gap:13px!important;padding:8px!important}}

/* v26.64 — simplified Foreign league controls, explicit Components modes, aligned Tool Build. */
.foreign-limit-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.foreign-limit-row>label{display:grid;gap:5px;font-size:.75rem;color:#8d9ab0;font-weight:650}.foreign-limit-row small{font-size:.625rem;color:#74879f;line-height:1.35}
.component-production-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 10px;border:1px solid #2a405f;border-radius:9px;background:#0c1728}
.component-production-mode>span{font-size:.7rem;color:#8fa6c1;font-weight:800;margin-right:2px}.component-production-mode label{display:inline-flex!important;align-items:center;gap:6px!important;min-height:30px;padding:4px 9px;border:1px solid #2b4567;border-radius:8px;background:#101d30;color:#dce6f5!important;cursor:pointer}
.component-production-mode input{accent-color:#3d87df}.component-mode-panel{display:grid;gap:9px}.component-mode-panel[hidden]{display:none!important}
.component-mode-help{display:grid;gap:4px;padding:9px 10px;border:1px dashed #315071;border-radius:9px;background:#0b1728;color:#90a4bd;font-size:.66rem;line-height:1.4}.component-mode-help strong{color:#dbe6f4;font-size:.7rem}.component-mode-help span{color:#a8b8cb}.component-mode-help small{font-size:.61rem;color:#788ca5}
.component-auto-block{display:grid;gap:9px}.component-auto-group-select{display:grid!important;gap:5px!important}.component-auto-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.component-auto-pair-grid.one{grid-template-columns:minmax(0,1fr)}
.component-ratio-box{display:grid!important;gap:5px!important;padding:9px;border:1px solid #2a405f;border-radius:9px;background:#0d192b;transition:.15s ease}.component-ratio-box>span{font-size:.7rem;color:#cbd8e8;font-weight:750}.component-ratio-box.inactive{opacity:.42;filter:saturate(.65)}
.module-info-hidden .component-mode-help,.module-info-hidden .foreign-limit-row small{display:none!important}
.tool-plan-row>label,.tool-plan-row>.tool-stock-field{align-self:end}.tool-plan-row input,.tool-plan-row select,.tool-plan-row .catalog-search-picker>input[type="search"],.tool-stock-box,.tool-plan-row>button[data-tool-plan-remove]{height:40px!important;min-height:40px!important;box-sizing:border-box}
.tool-stock-box{font-size:.8125rem!important;font-weight:650!important;padding:0 10px!important}.tool-plan-row>button[data-tool-plan-remove]{padding:0 14px!important;font-size:.875rem!important;font-weight:750!important;color:#ff9da7!important;border-color:#6c3540!important;background:#24151b!important;border-radius:9px!important}.tool-plan-row>button[data-tool-plan-remove]:hover{background:#321920!important;border-color:#98505d!important}
@media(max-width:900px){.foreign-limit-row,.component-auto-pair-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.foreign-limit-row,.component-auto-pair-grid{grid-template-columns:1fr}}

.commander-spawn-badge{font-style:normal;font-size:.56rem;font-weight:800;color:#ff6b73;border:1px solid rgba(255,107,115,.38);background:rgba(255,107,115,.08);border-radius:999px;padding:1px 5px;white-space:nowrap;flex:none}
.warning-note{display:block;margin-top:7px;font-size:.72rem;color:var(--warning,#d69a2d);line-height:1.35}


/* v26.70 – Tower spawn control is a first-class compact grid row. */
.tower-pro-grid{
  grid-template-areas:
    "horses limits"
    "commanders commanders"
    "tools tools"
    "worlds worlds"!important;
}
.tower-pro-grid>.tower-commanders-card{grid-column:1/-1!important;grid-row:2!important;min-width:0!important}
.tower-pro-grid>.tower-tools-card{grid-row:3!important}
.tower-pro-grid>.tower-worlds-card{grid-row:4!important}
.tower-commanders-card{display:grid!important;grid-template-columns:115px minmax(0,1fr)!important;align-items:center!important;overflow:hidden!important}
.tower-commanders-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;min-width:0!important}
.tower-commanders-form .component-switch-row{margin:0!important;padding:6px 8px!important;min-width:0!important}
.tower-commanders-form .component-switch-row>div{min-width:0!important}
.tower-commanders-form .component-switch-row strong{font-size:.6875rem!important}
.tower-commanders-form .component-switch-row small{font-size:.53125rem!important;line-height:1.3!important}
.tower-commanders-form .warning-note{margin:0!important;padding:0 4px!important;font-size:.5625rem!important}

/* v26.70 – saved GGE presets are reusable source templates in the portal editor. */
.game-presets-panel{margin-bottom:10px}
.game-presets-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
.game-presets-head form{margin:0}
.game-preset-strip{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 14px}
.game-preset-chip{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--border,#273b57);border-radius:8px;background:rgba(10,24,43,.45)}
.game-preset-chip b{font-size:.6875rem}.game-preset-chip small{font-size:.53125rem;opacity:.65}
.game-preset-import{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,280px) auto auto;gap:7px;align-items:center;margin:8px 0 12px;padding:8px;border:1px solid var(--border,#273b57);border-radius:9px;background:rgba(10,24,43,.38)}
.game-preset-import>div{display:grid;gap:2px}.game-preset-import strong{font-size:.6875rem}.game-preset-import small{font-size:.53125rem;opacity:.7}
.game-preset-import select{min-height:32px}

@media(max-width:1280px){
  .tower-pro-grid{grid-template-areas:"horses" "limits" "commanders" "tools" "worlds"!important}
  .tower-pro-grid>.tower-commanders-card{grid-column:1!important;grid-row:3!important}
  .tower-pro-grid>.tower-tools-card{grid-row:4!important}.tower-pro-grid>.tower-worlds-card{grid-row:5!important}
  .tower-commanders-card{grid-template-columns:1fr!important}
  .game-preset-import{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .game-presets-head{grid-template-columns:auto minmax(0,1fr)!important}.game-presets-head form{grid-column:1/-1}
  .game-preset-import{grid-template-columns:1fr!important}
}

/* v26.72 — Recruit plan layout + automatic component manual selector */
.recruit-location-body{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
.recruit-location-body>.recruit-plan-rows,.recruit-location-body>.recruit-plan-toolbar,.recruit-location-body>.recruit-castle-state{grid-column:1/-1;min-width:0}
.recruit-plan-row{grid-template-columns:minmax(300px,2.4fr) minmax(105px,.65fr) minmax(140px,.82fr) 24px minmax(155px,.9fr) auto!important;gap:10px!important;align-items:end!important;min-width:0}
.recruit-plan-row>*{min-width:0}
.recruit-plan-row>button[data-recruit-plan-remove]{height:40px!important;min-height:40px!important;padding:0 14px!important;align-self:end!important;font-size:.8125rem!important;font-weight:750!important;color:#ff9da7!important;border-color:#6c3540!important;background:#24151b!important;border-radius:9px!important;white-space:nowrap}
.recruit-plan-row>button[data-recruit-plan-remove]:hover{background:#321920!important;border-color:#98505d!important}
.recruit-plan-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:2px}
.recruit-plan-toolbar>.btn{flex:0 0 auto;min-height:36px}
.recruit-plan-toolbar>small{flex:1 1 420px;min-width:220px;color:#7f91a9;line-height:1.35}
.recruit-location-body .recruit-castle-state{align-self:stretch!important;justify-content:start!important;padding:8px 0 0!important;border-left:0!important;border-top:1px solid #22344e!important}
.component-auto-manual-select{display:grid!important;grid-template-columns:minmax(150px,.65fr) minmax(190px,1fr);align-items:center;gap:5px 10px!important;padding:9px 10px;border:1px solid #2a405f;border-radius:9px;background:#0d192b}
.component-auto-manual-select>span{font-size:.7rem;color:#cbd8e8;font-weight:750}
.component-auto-manual-select>select{width:100%;min-width:0}
.component-auto-manual-select>small{grid-column:1/-1;font-size:.59375rem;color:#71839b;line-height:1.35}
.component-dragon-auto-manual{padding:8px 8px 0}
@media(max-width:1050px){
  .recruit-plan-row{grid-template-columns:minmax(220px,1.8fr) minmax(100px,.7fr) minmax(125px,.8fr) 20px minmax(135px,.9fr) auto!important;gap:8px!important}
}
@media(max-width:820px){
  .recruit-plan-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .recruit-plan-row>label:first-child{grid-column:1/-1!important}
  .recruit-plan-row>.tool-stock-divider{display:none!important}
  .recruit-plan-row>button[data-recruit-plan-remove]{grid-column:1/-1!important;justify-self:end!important}
  .component-auto-manual-select{grid-template-columns:1fr!important}
  .component-auto-manual-select>small{grid-column:1}
}

/* v26.73 — shared attack scheduler */
.attack-scheduling-form{display:grid;gap:12px}
.attack-scheduling-card{display:grid;gap:14px}
.attack-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.attack-mode-option{display:block;cursor:pointer;position:relative}
.attack-mode-option>input{position:absolute;opacity:0;pointer-events:none}
.attack-mode-option>span{display:grid;gap:4px;min-height:76px;padding:14px 16px;border:1px solid #2a405f;border-radius:11px;background:#0d192b;transition:.15s ease}
.attack-mode-option strong{font-size:.92rem;color:#e4edf9}.attack-mode-option small{font-size:.68rem;line-height:1.4;color:#7f91a9}
.attack-mode-option>input:checked+span{border-color:#3387ff;box-shadow:0 0 0 1px rgba(51,135,255,.28) inset;background:#102441}
.attack-mode-option>input:checked+span strong{color:#9fcaff}
.attack-priority-head{display:flex;justify-content:space-between;gap:12px;align-items:end;padding-top:3px}.attack-priority-head strong{font-size:.88rem}.attack-priority-head small{font-size:.62rem;color:#7f91a9;text-align:right}
.attack-priority-list{display:grid;gap:7px}
.attack-priority-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #2a405f;border-radius:10px;background:#101e32}
.attack-priority-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid #344964;border-radius:9px;background:#17253a;font-weight:800;color:#93a5bb}
.attack-priority-name{font-size:.88rem;font-weight:750;color:#e0e9f6}
.attack-priority-actions{display:flex;gap:5px}.attack-priority-arrow{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#8294ab;font-size:1.25rem;cursor:pointer}.attack-priority-arrow:hover:not(:disabled){background:#172a44;color:#cfe2ff}.attack-priority-arrow:disabled{opacity:.28;cursor:default}
.attack-scheduling-note{font-size:.66rem;line-height:1.4;color:#8192a8;padding:8px 10px;border-left:2px solid #32557e;background:rgba(14,30,51,.45)}
@media(max-width:760px){.attack-mode-grid{grid-template-columns:1fr}.attack-priority-head{align-items:start;flex-direction:column}.attack-priority-head small{text-align:left}}

/* v26.75 admin control center */
.portal-admin-notice{position:sticky;top:64px;z-index:35;margin:0 auto 10px;max-width:1540px;padding:9px 14px;border:1px solid #2b486c;border-radius:10px;background:#10213a;color:#b8d8ff;font-size:.76rem;font-weight:750;box-shadow:0 8px 22px rgba(0,0,0,.14)}.portal-admin-notice.hidden{display:none}.portal-admin-notice.warning{border-color:#785c20;background:#2a2210;color:#f4d879}.portal-admin-notice.danger{border-color:#76313c;background:#351820;color:#ffadb8}.portal-admin-notice.success{border-color:#24634f;background:#0f3027;color:#8ae0bd}
.admin-pro-head{align-items:center}.admin-head-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-ops-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.admin-kpi{min-width:0;padding:13px 14px;border:1px solid #263b58;border-radius:12px;background:linear-gradient(180deg,#111d31,#0c1728)}.admin-kpi>span{display:block;color:#8294ab;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}.admin-kpi>strong{display:block;margin:2px 0 1px;color:#f1f6ff;font-size:1.48rem;letter-spacing:-.035em}.admin-kpi>small{display:block;overflow:hidden;color:#70839c;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.admin-kpi.good{border-color:#265544}.admin-kpi.danger{border-color:#69303a}.admin-kpi.warning{border-color:#6a5326}
.admin-control-center{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(440px,1.9fr) minmax(300px,1.1fr);gap:12px;padding:12px;margin-bottom:14px}.admin-control-column{min-width:0;padding:13px;border:1px solid #263b58;border-radius:11px;background:#0d1829}.admin-section-title{display:grid;gap:2px;margin-bottom:10px}.admin-section-title>span{color:#9ab2cf;font-size:.64rem;font-weight:850;letter-spacing:.075em}.admin-section-title>small{color:#687b93;font-size:.62rem;line-height:1.35}.admin-master-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-master-inline form{margin:0}.admin-module-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-module-chip{margin:0}.admin-module-chip button{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;min-height:30px;padding:5px 8px;border:1px solid #2a405e;border-radius:8px;background:#101c2f;color:#a7b7cb;cursor:pointer;text-align:left;font:inherit}.admin-module-chip button i{width:7px;height:7px;border-radius:50%;background:#65758a}.admin-module-chip button span{overflow:hidden;font-size:.64rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.admin-module-chip button b{font-size:.56rem;letter-spacing:.055em}.admin-module-chip.on button{border-color:#275d4b;background:#102a24;color:#a7e3cb}.admin-module-chip.on button i{background:#48d09e}.admin-module-chip.off button{border-color:#5a343a;background:#27171c;color:#d99ca4}.admin-module-chip.off button i{background:#a85461}.admin-notice-form{display:grid;gap:7px}.admin-mini-switches{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-mini-switches label{display:flex;align-items:center;gap:5px;color:#a2b1c4;font-size:.65rem}.admin-mini-switches input{accent-color:#4da1ff}.admin-mini-switches select,.admin-notice-input input{min-width:0;border:1px solid #2b405f;border-radius:8px;background:#0b1525;color:#dce6f4;font:inherit}.admin-mini-switches select{margin-left:auto;padding:5px 7px;font-size:.64rem}.admin-notice-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.admin-notice-input input{padding:7px 9px;font-size:.68rem}
.admin-intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.admin-intel-card{min-width:0;padding:13px}.admin-intel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.admin-intel-head h2{margin:1px 0 0;font-size:.9rem}.admin-counter{display:grid;place-items:center;min-width:27px;height:22px;padding:0 7px;border:1px solid #314661;border-radius:999px;background:#111e31;color:#98abc2;font-size:.62rem;font-weight:800}.admin-mini-log{display:grid;gap:4px;max-height:210px;overflow:auto}.admin-mini-log-row{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:7px;align-items:center;padding:6px 7px;border:1px solid #223650;border-radius:7px;background:#0c1727;font-size:.62rem}.admin-mini-log-row>b{font-size:.56rem;letter-spacing:.04em}.admin-mini-log-row>span{overflow:hidden;color:#a3b2c6;text-overflow:ellipsis;white-space:nowrap}.admin-mini-log-row>span strong{color:#d7e1ee}.admin-mini-log-row>time{color:#657990;text-align:right}.admin-mini-log-row.error>b{color:#ff8f9a}.admin-mini-log-row.warning>b{color:#e8c86b}.admin-mini-log-row.audit>b{color:#82bfff}.admin-empty-state{padding:10px;border:1px dashed #2a3c55;border-radius:8px;color:#6f8299;font-size:.68rem;text-align:center}
.admin-collapse{padding:0;overflow:hidden;margin-bottom:14px}.admin-collapse>summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto 18px;gap:9px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}.admin-collapse>summary::-webkit-details-marker{display:none}.admin-collapse>summary>span:first-child{color:#8aa5c4}.admin-collapse>summary strong{display:block;font-size:.84rem}.admin-collapse>summary small{display:block;margin-top:2px;color:#71849c;font-size:.63rem}.admin-collapse>summary>i{color:#71839a;font-style:normal;transition:transform .15s}.admin-collapse[open]>summary>i{transform:rotate(180deg)}.admin-collapse-body{padding:0 14px 14px}.admin-prune-form{display:flex;align-items:center;gap:6px;margin:0}.admin-prune-form input{width:58px;padding:5px 6px;border:1px solid #2a405e;border-radius:7px;background:#0d1728;color:#dce6f3;font:inherit;font-size:.65rem}
.admin-owner-list{gap:10px}.admin-owner-card{border-radius:13px}.admin-owner-head{padding:11px 13px}.admin-owner-head h2{font-size:.94rem}.admin-owner-head p{font-size:.64rem}.admin-owner-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.admin-owner-actions form{margin:0}.admin-bot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}.admin-bot-card{gap:8px;padding:10px;border-radius:9px}.admin-bot-main strong{font-size:.78rem}.admin-bot-main small{font-size:.59rem}.admin-bot-card .bot-state-pill{min-width:70px;padding:4px 7px;font-size:.57rem}.admin-bot-telemetry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.admin-bot-telemetry span{min-width:0;padding:6px;border:1px solid #21344e;border-radius:7px;background:#0a1423}.admin-bot-telemetry small{display:block;color:#657990;font-size:.52rem;text-transform:uppercase}.admin-bot-telemetry b{display:block;margin-top:1px;overflow:hidden;color:#cbd7e6;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.admin-bot-error{overflow:hidden;padding:6px 8px;border:1px solid #63323a;border-radius:7px;background:#2b171c;color:#f5a3ad;font-size:.62rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.admin-bot-license{min-height:22px;gap:6px}.admin-bot-license .license-badge{padding:3px 6px;font-size:.55rem}.admin-bot-license small{font-size:.58rem}.admin-module-count{min-width:0;overflow:hidden;color:#71849b;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.admin-bot-commandbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.admin-bot-commandbar>form{display:flex;gap:4px;margin:0}.btn.tiny{min-width:28px;padding:5px 7px;font-size:.64rem}.admin-bot-commandbar .admin-bot-power-row{flex:1 1 120px;padding:0 5px;border:0;font-size:.59rem}.admin-bot-commandbar .power-switch{min-width:51px;padding:3px 5px}.admin-bot-commandbar .power-switch span{width:14px;height:14px}.admin-bot-commandbar .power-switch b{font-size:.56rem}.admin-bot-more{border-top:1px solid #20324b;padding-top:6px}.admin-bot-more>summary{color:#72849a;cursor:pointer;font-size:.59rem;list-style:none}.admin-bot-more>summary::-webkit-details-marker{display:none}.admin-bot-more-body{display:grid;gap:7px;margin-top:8px}.admin-license-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.admin-license-row form{margin:0}.admin-bot-more .license-grant-form{grid-template-columns:60px 82px auto}.admin-bot-more .license-grant-form input,.admin-bot-more .license-grant-form select{min-height:29px;padding:4px 6px;font-size:.61rem}.admin-note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}.admin-note-form textarea{resize:vertical;min-width:0;padding:7px;border:1px solid #2a405e;border-radius:7px;background:#0a1424;color:#d7e1ee;font:inherit;font-size:.62rem}.admin-diagnostics-output{padding:8px;border:1px solid #28405f;border-radius:8px;background:#091321}.admin-diag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:7px}.admin-diag-grid span{padding:6px;border:1px solid #1f324b;border-radius:6px;background:#0d192a}.admin-diag-grid small{display:block;color:#677b93;font-size:.52rem}.admin-diag-grid b{display:block;margin-top:2px;overflow:hidden;color:#ccd8e7;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.admin-diag-log-list{display:grid;gap:3px;max-height:180px;overflow:auto}.admin-diag-log{display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px;padding:4px 6px;border-radius:5px;background:#0c1727;font-size:.58rem}.admin-diag-log>b{color:#7eaee6}.admin-diag-log.error>b{color:#ff8f99}.admin-diag-log.warning>b{color:#e8c86c}.admin-diag-log span{overflow:hidden;color:#9dadc1;text-overflow:ellipsis;white-space:nowrap}.admin-diagnostic-loading{color:#7f93aa;font-size:.63rem}
@media(max-width:1450px){.admin-ops-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-control-center{grid-template-columns:1fr 2fr}.admin-notice-control{grid-column:1/-1}.admin-bot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.admin-control-center,.admin-intel-grid{grid-template-columns:1fr}.admin-module-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-bot-grid{grid-template-columns:1fr}.admin-pro-head{align-items:flex-start;flex-direction:column}.admin-head-state{justify-content:flex-start}}@media(max-width:620px){.admin-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-module-chip-grid{grid-template-columns:1fr}.admin-mini-log-row{grid-template-columns:52px minmax(0,1fr)}.admin-mini-log-row time{display:none}.admin-bot-telemetry,.admin-diag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-note-form{grid-template-columns:1fr}.admin-usage-footline{align-items:flex-start;flex-direction:column}.admin-prune-form{flex-wrap:wrap}}

/* v26.78: compact source-module filter for live movements. */
.movement-module-filter{display:flex;align-items:center;gap:6px;height:31px;padding:0 7px;border:1px solid #293340;border-radius:8px;background:#10151d;color:#8391a4;font-size:.625rem;font-weight:700}
.movement-module-filter select{min-width:112px;height:25px;padding:2px 24px 2px 7px;border:0;background:#151c26;color:#d7e1ee;font-size:.625rem}
.movement-row[hidden]{display:none!important}

/* v26.78 resource guard + Discord alert controls */
.resource-guard-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.resource-guard-grid,.discord-alert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.resource-location-list{display:grid;gap:7px;margin-top:10px}
.resource-location-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #252e3a;border-radius:9px;background:#10151d}
.resource-location-row>div{display:flex;flex-direction:column;gap:2px}.resource-location-row small{color:#758398}
.resource-guard-live{display:grid;gap:6px;margin:9px 0 12px}.resource-live-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(360px,2fr);gap:10px;align-items:center;padding:8px 10px;border:1px solid #26303c;border-radius:9px;background:#0e141c}.resource-live-row>div:first-child{display:flex;flex-direction:column}.resource-live-row small{color:#78869a}.resource-live-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.resource-live-values span{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;padding:5px 7px;border-radius:7px;background:#141b25}.resource-live-values small{grid-column:1/-1}.resource-live-values b{font-size:.75rem}.resource-live-values em{font-size:.625rem;font-style:normal;text-align:right}.resource-live-values em.neg{color:#ef9b82}.resource-live-values em.pos{color:#7fd0a8}
.resource-guard-alerts{display:grid;gap:5px}.resource-alert{display:flex;gap:8px;align-items:center;padding:7px 9px;border:1px solid #6b542c;border-radius:8px;background:#221d12;color:#e9c47d;font-size:.6875rem}.resource-alert.critical{border-color:#753d43;background:#241416;color:#f0a0a7}.resource-alert b{white-space:nowrap}.protocol-note{margin-top:8px;padding:8px 10px;border:1px dashed #3b4655;border-radius:8px;color:#8391a4;font-size:.6875rem;line-height:1.4}
@media(max-width:900px){.resource-guard-status-grid,.resource-guard-grid,.discord-alert-grid{grid-template-columns:1fr 1fr}.resource-live-row{grid-template-columns:1fr}.resource-location-row{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.resource-guard-status-grid,.resource-guard-grid,.discord-alert-grid,.resource-live-values,.resource-location-row{grid-template-columns:1fr}}

/* v26.79 Resource Guard + standalone Discord Alert */
.resource-location-row.resource-location-v2679{grid-template-columns:minmax(180px,1.2fr) minmax(130px,.7fr) auto auto minmax(170px,1fr) minmax(180px,1fr)}
.resource-live-values span i{grid-column:1/-1;font-size:.56rem;font-style:normal;color:#66758a}.resource-transport-state{margin-top:3px;color:#8aa7c9!important}
.discord-rule-builder{display:grid;gap:10px;margin-top:10px}.discord-rule-card{padding:12px;border:1px solid #283442;border-radius:10px;background:#0f151d}.discord-rule-title{display:grid;grid-template-columns:auto minmax(200px,1fr) auto auto auto;gap:10px;align-items:end}.discord-rule-title .rule-order{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#192431;color:#9dc4ec;font-weight:700}.discord-rule-title label{display:grid;gap:4px}.rule-actions{display:flex;gap:5px}.rule-actions button{width:30px;height:30px;border:1px solid #354454;border-radius:7px;background:#151d27;color:#c7d5e5;cursor:pointer}.discord-rule-fields{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(150px,1fr));gap:10px;margin-top:10px;align-items:end}.discord-rule-fields>label,.discord-rule-fields>div{display:grid;gap:5px}.discord-kingdom-checks{display:flex;gap:8px;flex-wrap:wrap}.compact-check.disabled{opacity:.5}.discord-inline-filter{display:grid;grid-template-columns:82px 1fr;gap:5px}
@media(max-width:1200px){.resource-location-row.resource-location-v2679{grid-template-columns:1fr 1fr 1fr}.discord-rule-fields{grid-template-columns:1fr 1fr}.discord-rule-title{grid-template-columns:auto 1fr auto}.discord-rule-title>strong,.discord-rule-title>.rule-actions{grid-column:auto}.rule-actions{justify-self:end}}
@media(max-width:700px){.resource-location-row.resource-location-v2679,.discord-rule-fields,.discord-rule-title{grid-template-columns:1fr}.rule-actions{justify-self:start}}

/* v26.79 Tower layout: transport + commander spawn, limits + auto tools, then locations. */
.tower-pro-grid.tower-v2679-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:none!important;align-items:stretch!important}
.tower-pro-grid.tower-v2679-grid>.tower-commanders-card{grid-column:1!important;grid-row:1!important}
.tower-pro-grid.tower-v2679-grid>.tower-horses-card{grid-column:2!important;grid-row:1!important}
.tower-pro-grid.tower-v2679-grid>.tower-limits-card{grid-column:1!important;grid-row:2!important}
.tower-pro-grid.tower-v2679-grid>.tower-tools-card{grid-column:2!important;grid-row:2!important}
.tower-pro-grid.tower-v2679-grid>.tower-worlds-card{grid-column:1/-1!important;grid-row:3!important}
@media(max-width:900px){
 .tower-pro-grid.tower-v2679-grid{grid-template-columns:1fr!important}
 .tower-pro-grid.tower-v2679-grid>.tower-commanders-card{grid-column:1!important;grid-row:1!important}
 .tower-pro-grid.tower-v2679-grid>.tower-horses-card{grid-column:1!important;grid-row:2!important}
 .tower-pro-grid.tower-v2679-grid>.tower-limits-card{grid-column:1!important;grid-row:3!important}
 .tower-pro-grid.tower-v2679-grid>.tower-tools-card{grid-column:1!important;grid-row:4!important}
 .tower-pro-grid.tower-v2679-grid>.tower-worlds-card{grid-column:1!important;grid-row:5!important}
}


/* v26.80 Tower source accordion cleanup */
.tower-source-settings-list{display:grid;gap:9px}
.tower-source-accordion{display:block;padding:0!important;overflow:hidden;border:1px solid #2a405f;border-radius:11px;background:#0d192b}
.tower-source-accordion>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto) auto 18px;align-items:center;gap:12px;padding:11px 13px;cursor:pointer;user-select:none}
.tower-source-accordion>summary::-webkit-details-marker{display:none}.tower-source-accordion>summary:hover{background:#112038}
.tower-source-summary-main{display:grid;gap:2px;min-width:0}.tower-source-summary-main strong{font-size:.86rem;color:#e7eef9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-source-summary-main small{font-size:.62rem;color:#778ca7}
.tower-source-summary-meta{display:grid;text-align:right;gap:1px}.tower-source-summary-meta b{font-size:.72rem;color:#c9d9ec}.tower-source-summary-meta small{font-size:.55rem;color:#6f829b;text-transform:uppercase;letter-spacing:.06em}
.tower-source-summary-switch{margin:0}.tower-source-chevron{font-size:.95rem;color:#7f93ad;transition:transform .16s ease}.tower-source-accordion[open] .tower-source-chevron{transform:rotate(180deg)}
.tower-source-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px 13px 13px;border-top:1px solid #213651;background:#0f1c2f}.tower-source-body label{display:grid;gap:4px;min-width:0}.tower-source-body label>span{font-size:.62rem;color:#8194ad}.tower-source-body select{width:100%;min-width:0}
@media(max-width:820px){.tower-source-body{grid-template-columns:1fr}.tower-source-accordion>summary{grid-template-columns:minmax(0,1fr) auto auto}.tower-source-summary-meta{display:none}.tower-source-chevron{display:none}}


/* v26.81 UI rebuild: Tower cards + collapsible Resource Guard */
#barons .tower-pro-grid.tower-v2679-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;align-items:start!important;
}
#barons .tower-pro-card{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:10px!important;min-width:0!important;height:auto!important;overflow:hidden!important;
  padding:12px!important;border-radius:12px!important;
}
#barons .tower-pro-grid>.tower-commanders-card{grid-column:1!important;grid-row:1!important}
#barons .tower-pro-grid>.tower-horses-card{grid-column:2!important;grid-row:1!important}
#barons .tower-pro-grid>.tower-limits-card{grid-column:1!important;grid-row:2!important}
#barons .tower-pro-grid>.tower-tools-card{grid-column:2!important;grid-row:2!important}
#barons .tower-pro-grid>.tower-worlds-card{grid-column:1/-1!important;grid-row:3!important}
#barons .tower-pro-card .module-config-copy{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0!important}
#barons .tower-pro-card .module-config-copy .eyebrow{flex:0 0 auto}
#barons .tower-pro-card .module-config-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
#barons .tower-horse-form{display:block!important;width:100%!important}
#barons .tower-horse-form select{width:100%!important}
#barons .tower-commanders-form .component-switch-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}
#barons .tower-commanders-form .component-switch-row>div{overflow:hidden!important}
#barons .tower-limit-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,145px))!important;gap:10px!important;justify-content:start!important}
#barons .tower-limit-form label{width:100%!important}
#barons .tower-limit-form input[type=number]{width:100%!important;max-width:none!important}
#barons .tower-tools-card .tower-tool-stock-form{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px 14px!important;overflow:visible!important;align-items:center!important}
#barons .tower-tool-toprow{grid-column:1!important}
#barons .tower-tool-fields{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,150px))!important;gap:8px!important;justify-content:end!important}
#barons .tower-tool-stock-form>.muted{grid-column:1/-1!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere!important}
#barons .tower-worlds-card{display:block!important}
#barons .tower-worlds-card>.module-config-copy{margin-bottom:8px!important}
#barons .tower-source-settings-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important}
#barons .tower-source-accordion{width:100%!important;min-width:0!important;box-sizing:border-box!important}
#barons .tower-source-accordion>summary{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(70px,auto) auto 18px!important;gap:12px!important;padding:12px 14px!important}
#barons .tower-source-summary-switch{display:inline-flex!important;position:relative!important;width:44px!important;height:24px!important;min-width:44px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;cursor:pointer!important}
#barons .tower-source-summary-switch>.switch-track{display:block!important;width:44px!important;height:24px!important;min-width:44px!important;box-sizing:border-box!important}
#barons .tower-source-summary-switch.is-on>.switch-track{border-color:#27755d!important;background:#154838!important}
#barons .tower-source-summary-switch.is-on>.switch-track span{transform:translateX(18px)!important;background:#73dcb7!important;box-shadow:0 0 0 3px rgba(115,220,183,.08)!important}
#barons .tower-source-summary-switch:focus-visible{outline:2px solid #5a9ee7!important;outline-offset:3px!important;border-radius:999px!important}
#barons .tower-source-enabled-input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
#barons .tower-source-body{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#barons .module-save-row{position:static!important}
.resource-guard-settings-form{display:grid;gap:10px}
.resource-guard-accordion{padding:0!important;overflow:hidden!important}
.resource-guard-accordion>summary{list-style:none!important;cursor:pointer!important;margin:0!important;padding:12px 14px!important}
.resource-guard-accordion>summary::-webkit-details-marker{display:none}
.resource-guard-accordion-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.resource-guard-head-actions{display:flex;align-items:center;gap:9px}
.resource-guard-chevron{color:#7f93ad;font-size:1rem;transition:transform .16s ease}
.resource-guard-accordion[open] .resource-guard-chevron{transform:rotate(180deg)}
.resource-guard-accordion-body{padding:0 14px 14px;border-top:1px solid #233850}
.resource-guard-accordion-body>.resource-guard-grid{margin-top:12px}
.resource-location-list{display:grid!important;gap:8px!important;margin-top:10px!important}
.resource-location-row.resource-location-v2679{border-radius:10px!important;background:#0f1a2b!important;border-color:#29415f!important}
@media(max-width:900px){
 #barons .tower-pro-grid.tower-v2679-grid{grid-template-columns:1fr!important}
 #barons .tower-pro-grid>.tower-commanders-card,#barons .tower-pro-grid>.tower-horses-card,#barons .tower-pro-grid>.tower-limits-card,#barons .tower-pro-grid>.tower-tools-card,#barons .tower-pro-grid>.tower-worlds-card{grid-column:1!important;grid-row:auto!important}
 #barons .tower-source-body{grid-template-columns:1fr!important}
}
@media(max-width:620px){
 #barons .tower-tools-card .tower-tool-stock-form{grid-template-columns:1fr!important}
 #barons .tower-tool-toprow,#barons .tower-tool-fields,#barons .tower-tool-stock-form>.muted{grid-column:1!important}
 #barons .tower-tool-fields{grid-template-columns:1fr 1fr!important}
 #barons .tower-source-accordion>summary{grid-template-columns:minmax(0,1fr) auto 18px!important}
 #barons .tower-source-summary-meta{display:none!important}
}

/* v26.82: Tower source toggles + Resource Guard accordion consistency. */
#barons .tower-source-summary-switch{cursor:pointer!important;z-index:3!important}
#barons .tower-source-summary-switch>.switch-track{pointer-events:none!important}
#resource-guard .resource-guard-overview-card{margin-top:12px}
#resource-guard .resource-guard-accordion-body .resource-guard-live{margin:12px 0 0}
#resource-guard .resource-live-row{background:#101a2d;border-color:#2a405f;border-radius:10px;padding:10px 12px}
#resource-guard .resource-live-values span{background:#0d1728;border:1px solid #233850}

/* v26.83 feast identity + authoritative remaining-time state */
.feast-live-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.feast-live-state>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #263b59;border-radius:10px;background:#0d1728}.feast-live-state span{font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:#71839b}.feast-live-state strong{font-size:.8125rem;color:#e2ebf7}.feast-switch-row input:disabled+span{opacity:.45;cursor:not-allowed}.feast-switch-row:has(input:disabled){opacity:.78}@media(max-width:760px){.feast-live-state{grid-template-columns:1fr}}

/* HOTFIX13: admin bot cards must never expand past their CSS grid track. */
.admin-owner-card,
.admin-bot-grid,
.admin-bot-card,
.admin-bot-main,
.admin-bot-main>div,
.admin-bot-license,
.admin-bot-commandbar,
.admin-bot-telemetry{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.admin-bot-card{width:100%;overflow:hidden}
.admin-bot-main>div{overflow:hidden}
.admin-bot-name-row{min-width:0}
.admin-bot-name-row strong,
.admin-bot-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-bot-license{overflow:hidden}
.admin-module-count{flex:1 1 auto}
.admin-bot-commandbar{
  display:grid;
  grid-template-columns:auto minmax(118px,1fr) auto auto;
  gap:5px;
  align-items:center;
}
.admin-bot-commandbar>form,
.admin-bot-commandbar>.admin-bot-power-row,
.admin-bot-commandbar>.btn{min-width:0;max-width:100%}
.admin-bot-commandbar>.admin-bot-power-row{width:100%;flex:none}
.admin-bot-commandbar>.admin-diagnostics-btn{white-space:nowrap}
.admin-bot-commandbar>form:last-child .btn{white-space:nowrap}
@media(max-width:1280px){
  .admin-bot-commandbar{grid-template-columns:auto minmax(110px,1fr) auto}
  .admin-bot-commandbar>form:last-child{grid-column:1/-1;justify-self:end}
}
@media(max-width:760px){
  .admin-bot-commandbar{grid-template-columns:auto minmax(0,1fr)}
  .admin-bot-commandbar>.admin-diagnostics-btn,
  .admin-bot-commandbar>form:last-child{grid-column:auto}
  .admin-bot-commandbar>form:last-child{justify-self:end}
}
@media(max-width:520px){
  .admin-bot-commandbar{grid-template-columns:1fr}
  .admin-bot-commandbar>form,
  .admin-bot-commandbar>.admin-bot-power-row,
  .admin-bot-commandbar>.admin-diagnostics-btn,
  .admin-bot-commandbar>form:last-child{width:100%;justify-self:stretch}
  .admin-bot-commandbar>form{display:grid;grid-template-columns:repeat(3,1fr)}
  .admin-bot-commandbar>form:last-child{grid-template-columns:1fr}
  .admin-bot-commandbar .btn{width:100%}
}

/* HOTFIX19: compact live warehouse dropdown for Components balancing. */
.component-stock-dropdown{margin-top:14px;border-top:1px solid var(--line,#29405e);padding-top:12px}
.component-stock-dropdown>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 2px;color:var(--text,#e7edf7)}
.component-stock-dropdown>summary::-webkit-details-marker{display:none}
.component-stock-dropdown>summary span:first-child{display:flex;flex-direction:column;gap:3px}
.component-stock-dropdown>summary small{color:var(--muted,#8ea0ba);font-weight:500}
.component-balance-stocks{display:grid;gap:10px;padding-top:10px}
.component-stock-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,2.5fr);gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line,#29405e);border-radius:14px;background:rgba(8,20,38,.28)}
.component-stock-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.component-stock-row>div:first-child small{width:100%;color:var(--muted,#8ea0ba)}
.component-stock-values{display:grid;grid-template-columns:repeat(6,minmax(86px,1fr));gap:8px}
.component-stock-values span{display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.025)}
.component-stock-values small,.component-stock-values em{color:var(--muted,#8ea0ba);font-style:normal;font-size:.76rem}
.component-stock-values b{font-size:.98rem;white-space:nowrap}
@media(max-width:1050px){.component-stock-row{grid-template-columns:1fr}.component-stock-values{grid-template-columns:repeat(3,minmax(86px,1fr))}}
@media(max-width:650px){.component-stock-values{grid-template-columns:repeat(2,minmax(86px,1fr))}}

/* HOTFIX28 — Rift live UI locked to supplied reference screenshot. */
.rift-panel{background:#0f192b!important;border-color:#253a59!important}.rift-panel>.panel-head{display:none!important}
.rift-reference-live{padding:2px 0 20px;color:#e5ebf5}.rift-reference-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.rift-reference-head h2{margin:0 0 6px;font-size:1.45rem;letter-spacing:-.02em}.rift-reference-head p{margin:0;color:#8897ad;font-size:.92rem}.rift-live-badge{padding:7px 13px;border:1px solid #176652;border-radius:11px;background:#0c332e;color:#38dda6;font-size:.84rem;font-weight:650;text-transform:none;letter-spacing:0}
.rift-live-status-row{display:flex;align-items:center;gap:15px;min-height:51px;margin:0;padding:9px 14px;border:1px solid #243a5a;border-radius:11px;background:#101b2e}.rift-status-chip{padding:6px 10px;border-radius:9px;font-size:.82rem;white-space:nowrap}.rift-status-chip.good{border-color:#1a6657;background:#0d332e;color:#42dfa9}.rift-status-chip.warning{border-color:#8a6126;background:#2b2418;color:#ffbd2e}.rift-status-inline{color:#8290a5;font-size:.84rem}.rift-status-age{margin-left:auto;color:#8795aa;font-size:.84rem}.rift-status-age b{color:#aab6c8;font-weight:500}
.rift-attack-banner{margin-top:14px;padding:12px 15px;border:1px solid #8b6428;border-radius:10px;background:rgba(112,76,25,.14);color:#ffbd2e;font-size:.82rem}.rift-points-strip{display:flex;gap:26px;flex-wrap:wrap;margin:28px 0 18px;color:#8695ab;font-size:.84rem}.rift-points-strip b{color:#e5ebf5;font-size:.92rem;font-weight:650}
.rift-reward-card{margin:0;padding:15px 17px;border:1px solid #253b5b;border-radius:12px;background:#101b2e}.rift-reward-head{display:flex;justify-content:space-between;align-items:center}.rift-reward-head span{color:#8998ae;font-size:.83rem;font-weight:650}.rift-reward-head b{color:#e9eef7;font-size:1.08rem}.rift-progress-track{height:8px;margin:12px 0 9px;background:#19263a}.rift-progress-track span{background:#468cf0}.rift-reward-foot{display:flex;gap:24px;color:#8190a6;font-size:.77rem}.rift-reward-foot b{color:#b7c2d2;font-weight:500}
.rift-primary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}.rift-primary-stats>div{min-height:78px;padding:14px 16px;border:1px solid #263c5c;border-radius:11px;background:#101b2e}.rift-primary-stats span{display:block;color:#8998ae;font-size:.82rem}.rift-primary-stats b{display:block;margin-top:5px;color:#e8eef8;font-size:1.55rem;line-height:1.15}.rift-primary-stats small{display:block;margin-top:3px;color:#6f8097;font-size:.66rem}.rift-inline-stats{display:flex;gap:24px;margin:20px 0 29px;color:#8898ae;font-size:.82rem}.rift-inline-stats b{color:#dce5f1;font-weight:500}
.rift-section-label{margin:0 0 11px;color:#8a99ae;font-size:.8rem;font-weight:800;letter-spacing:.05em}.rift-wall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 28px}.rift-wall-card{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:14px 15px!important;min-height:110px;border:1px solid #263d5d!important;border-radius:11px!important;background:#101b2e!important}.rift-wall-card>span{color:#8b9ab0!important;font-size:.82rem!important;font-weight:500!important}.rift-wall-card b{grid-column:1!important;grid-row:auto!important;text-align:left!important;font-size:1.5rem!important;color:#ffbd2e!important}.rift-wall-card[data-rift-wall="middle"] b{color:#ff686d!important}.rift-wall-progress{grid-column:1!important;height:8px!important;background:#1a273b!important}.rift-wall-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#ffb018;transition:width .2s ease}.rift-wall-card[data-rift-wall="middle"] .rift-wall-progress i{background:#ff686d}.rift-wall-card.open b{color:#3cd9a7!important}.rift-wall-card.open .rift-wall-progress i{background:#3cd9a7!important}.rift-wall-card>[data-rift-wall-timer]{grid-column:1!important;color:#7f8fa5!important;font-size:.76rem!important}
.rift-attacks-card{min-height:112px;margin-bottom:26px;border:1px dashed #253b5a;border-radius:11px;background:#101b2e;display:grid;place-items:center}.rift-attacks-card .rift-empty-state{border:0!important;background:transparent!important;color:#8a99ae!important;font-size:.84rem!important;padding:20px!important;text-align:center!important}.rift-shop-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rift-shop-heading .rift-section-label{margin:0}.rift-shop-open{padding:5px 10px;border:1px solid #176652;border-radius:9px;background:#0c332e;color:#38dda6;font-size:.76rem}.rift-shop-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}.rift-shop-metrics>div{padding:14px 16px;border:1px solid #263c5c;border-radius:11px;background:#101b2e}.rift-shop-metrics span{display:block;color:#8998ae;font-size:.78rem}.rift-shop-metrics b{display:block;margin-top:6px;color:#e8eef8;font-size:1.38rem}.rift-shop-foot{display:flex;gap:24px;margin-top:13px;color:#8796ab;font-size:.8rem}.rift-shop-foot b{color:#dce5f1;font-weight:500}
.rift-settings-form{margin-top:24px}
@media(max-width:900px){.rift-primary-stats,.rift-shop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rift-wall-grid{grid-template-columns:1fr}.rift-status-age{margin-left:0}.rift-live-status-row{align-items:flex-start}.rift-reference-head{margin-bottom:18px}.rift-points-strip{gap:12px 20px}}
@media(max-width:560px){.rift-primary-stats,.rift-shop-metrics{grid-template-columns:1fr}.rift-reference-head{flex-direction:column}.rift-live-status-row{flex-direction:column}.rift-reward-foot,.rift-inline-stats,.rift-shop-foot{flex-direction:column;gap:7px}.rift-points-strip{flex-direction:column;gap:6px}}
\n\n/* HOTFIX29 Rift reference UI — final scoped parity overrides */
#rift.rift-panel{padding:24px 30px 30px!important;background:#162238!important;border:1px solid #263a59!important;border-radius:14px!important;overflow:hidden!important}
#rift .rift-reference-live{max-width:none!important;width:100%!important;padding:0 0 22px!important;color:#e8eef8!important;font-size:16px!important}
#rift .rift-reference-live *{box-sizing:border-box}
#rift .rift-reference-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;margin:0 0 30px!important}
#rift .rift-reference-head h2{margin:0 0 8px!important;font-size:25px!important;line-height:1.15!important;font-weight:760!important;letter-spacing:-.025em!important;color:#f0f4fb!important}
#rift .rift-reference-head p{margin:0!important;font-size:16px!important;line-height:1.35!important;color:#8998ad!important}
#rift .rift-live-badge{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:7px 13px!important;border:1px solid #176a55!important;border-radius:12px!important;background:#12372f!important;color:#3be2ab!important;font-size:15px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important}
#rift .rift-live-status-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:14px!important;min-height:64px!important;margin:0!important;padding:12px 18px!important;border:1px solid #263b5b!important;border-radius:12px!important;background:#111d31!important}
#rift .rift-status-chip{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:6px 11px!important;border-radius:10px!important;font-size:15px!important;line-height:1!important;font-weight:500!important}
#rift .rift-status-chip.good{border:1px solid #1f705d!important;background:#11382f!important;color:#3fe0aa!important}
#rift .rift-status-chip.warning{border:1px solid #8e6527!important;background:#2d2619!important;color:#ffc02d!important}
#rift .rift-status-inline,#rift .rift-status-age{font-size:15px!important;color:#8997ab!important;line-height:1.3!important}
#rift .rift-status-age{margin-left:0!important} #rift .rift-status-age b{color:#9eacbf!important;font-weight:500!important}
#rift .rift-attack-banner{margin:27px 0 27px!important;padding:15px 20px!important;border:1px solid #956928!important;border-radius:12px!important;background:#292923!important;color:#ffc02d!important;font-size:15px!important;line-height:1.35!important}
#rift .rift-points-strip{display:flex!important;align-items:center!important;gap:30px!important;flex-wrap:wrap!important;margin:0 0 22px!important;color:#8b99ae!important;font-size:15px!important;line-height:1.35!important}
#rift .rift-points-strip b{color:#e7edf7!important;font-size:16px!important;font-weight:500!important}
#rift .rift-reward-card{margin:0!important;padding:20px 21px!important;border:1px solid #263c5c!important;border-radius:12px!important;background:#111d31!important;box-shadow:none!important}
#rift .rift-reward-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
#rift .rift-reward-head span{font-size:16px!important;font-weight:650!important;color:#8e9caf!important} #rift .rift-reward-head b{font-size:20px!important;color:#eef3fb!important;font-weight:700!important}
#rift .rift-progress-track{height:9px!important;margin:15px 0 12px!important;border-radius:99px!important;overflow:hidden!important;background:#1b2940!important}
#rift .rift-progress-track span{display:block!important;height:100%!important;border-radius:inherit!important;background:#4d91f7!important}
#rift .rift-reward-foot{display:flex!important;gap:27px!important;flex-wrap:wrap!important;color:#8796aa!important;font-size:15px!important;line-height:1.25!important} #rift .rift-reward-foot b{color:#d8e0eb!important;font-weight:500!important}
#rift .rift-primary-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:27px 0 0!important}
#rift .rift-primary-stats>div{min-height:103px!important;padding:17px 19px!important;border:1px solid #263d5e!important;border-radius:12px!important;background:#111d31!important}
#rift .rift-primary-stats span{display:block!important;color:#8d9baf!important;font-size:15px!important;line-height:1.2!important}
#rift .rift-primary-stats b{display:block!important;margin-top:10px!important;color:#edf2fa!important;font-size:28px!important;line-height:1!important;font-weight:720!important}
#rift .rift-inline-stats{display:flex!important;gap:28px!important;margin:22px 0 29px!important;color:#8a99ae!important;font-size:15px!important} #rift .rift-inline-stats b{color:#e1e8f2!important;font-weight:500!important}
#rift .rift-section-label{margin:0 0 12px!important;color:#8d9aad!important;font-size:15px!important;font-weight:750!important;letter-spacing:.055em!important}
#rift .rift-wall-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:0 0 31px!important}
#rift .rift-wall-card{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;min-height:153px!important;padding:17px 18px!important;border:1px solid #263d5e!important;border-radius:12px!important;background:#111d31!important;overflow:hidden!important}
#rift .rift-wall-card>span{color:#8998ad!important;font-size:15px!important;font-weight:500!important}
#rift .rift-wall-card b{display:block!important;grid-column:1!important;grid-row:auto!important;margin:0!important;text-align:left!important;font-size:27px!important;line-height:1.05!important;font-weight:740!important;color:#ffbd1e!important}
#rift .rift-wall-card[data-rift-wall="middle"] b{color:#ff696f!important} #rift .rift-wall-card.open b{color:#3bdaa8!important}
#rift .rift-wall-progress{grid-column:1!important;height:9px!important;margin-top:1px!important;border-radius:99px!important;overflow:hidden!important;background:#1b2940!important}
#rift .rift-wall-progress i{display:block!important;height:100%!important;border-radius:inherit!important;background:#ffad12!important} #rift .rift-wall-card[data-rift-wall="middle"] .rift-wall-progress i{background:#ff696f!important} #rift .rift-wall-card.open .rift-wall-progress i{background:#3bdaa8!important}
#rift .rift-wall-card>[data-rift-wall-timer]{grid-column:1!important;color:#8594aa!important;font-size:14px!important;line-height:1.2!important}
#rift .rift-attacks-card{display:grid!important;place-items:center!important;min-height:115px!important;margin:0 0 31px!important;border:1px dashed #263c5a!important;border-radius:12px!important;background:#111d31!important}
#rift .rift-attacks-card .rift-empty-state{padding:24px!important;border:0!important;background:transparent!important;color:#8c9aaf!important;font-size:16px!important;text-align:center!important}
#rift .rift-shop-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 13px!important} #rift .rift-shop-heading .rift-section-label{margin:0!important}
#rift .rift-shop-open{display:inline-flex!important;align-items:center!important;min-height:35px!important;padding:6px 12px!important;border:1px solid #176a55!important;border-radius:11px!important;background:#12372f!important;color:#3be2ab!important;font-size:15px!important}
#rift .rift-shop-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
#rift .rift-shop-metrics>div{min-height:103px!important;padding:17px 19px!important;border:1px solid #263d5e!important;border-radius:12px!important;background:#111d31!important}
#rift .rift-shop-metrics span{display:block!important;color:#8d9baf!important;font-size:15px!important} #rift .rift-shop-metrics b{display:block!important;margin-top:11px!important;color:#edf2fa!important;font-size:27px!important;line-height:1!important;font-weight:720!important}
#rift .rift-shop-foot{display:flex!important;gap:28px!important;margin:17px 0 0!important;color:#8998ad!important;font-size:15px!important} #rift .rift-shop-foot b{color:#e2e9f3!important;font-weight:500!important}
#rift .rift-settings-form{margin-top:18px!important}
@media(max-width:1000px){#rift.rift-panel{padding:22px!important}#rift .rift-primary-stats,#rift .rift-shop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}#rift .rift-wall-grid{grid-template-columns:1fr!important}}
@media(max-width:620px){#rift.rift-panel{padding:16px!important}#rift .rift-reference-head{flex-direction:column!important;margin-bottom:20px!important}#rift .rift-primary-stats,#rift .rift-shop-metrics{grid-template-columns:1fr!important}#rift .rift-live-status-row{align-items:flex-start!important}#rift .rift-points-strip,#rift .rift-reward-foot,#rift .rift-inline-stats,#rift .rift-shop-foot{gap:9px!important;flex-direction:column!important}}

/* HOTFIX32: compact Rift layout aligned with the rest of the portal. */
#rift.rift-panel{padding:14px 16px 18px!important;border-radius:10px!important;font-size:13px!important}
#rift .rift-reference-live{padding:0 0 14px!important;font-size:13px!important}
#rift .rift-reference-head{gap:12px!important;margin:0 0 14px!important}
#rift .rift-reference-head h2{margin:0 0 3px!important;font-size:18px!important;line-height:1.2!important}
#rift .rift-reference-head p{font-size:12px!important}
#rift .rift-live-badge{min-height:26px!important;padding:4px 9px!important;border-radius:8px!important;font-size:11px!important}
#rift .rift-live-status-row{gap:8px!important;min-height:42px!important;padding:8px 10px!important;border-radius:9px!important}
#rift .rift-status-chip{min-height:25px!important;padding:4px 8px!important;border-radius:7px!important;font-size:11px!important}
#rift .rift-status-inline,#rift .rift-status-age{font-size:11px!important}
#rift .rift-status-age{margin-left:auto!important}
#rift .rift-attack-banner{margin:10px 0!important;padding:9px 11px!important;border-radius:9px!important;font-size:12px!important}
#rift .rift-points-strip{gap:10px 18px!important;margin:0 0 10px!important;font-size:11px!important}
#rift .rift-points-strip b{font-size:12px!important}
#rift .rift-reward-card{padding:11px 12px!important;border-radius:9px!important}
#rift .rift-reward-head span{font-size:12px!important} #rift .rift-reward-head b{font-size:14px!important}
#rift .rift-progress-track{height:6px!important;margin:8px 0!important}
#rift .rift-reward-foot{gap:10px 18px!important;font-size:11px!important}
#rift .rift-primary-stats{gap:8px!important;margin:10px 0 0!important}
#rift .rift-primary-stats>div{min-height:66px!important;padding:10px 11px!important;border-radius:9px!important}
#rift .rift-primary-stats span{font-size:11px!important}
#rift .rift-primary-stats b{margin-top:6px!important;font-size:19px!important}
#rift .rift-inline-stats{gap:18px!important;margin:10px 0 14px!important;font-size:11px!important}
#rift .rift-section-label{margin:0 0 7px!important;font-size:11px!important}
#rift .rift-wall-grid{gap:8px!important;margin:0 0 14px!important}
#rift .rift-wall-card{gap:6px!important;min-height:92px!important;padding:10px 11px!important;border-radius:9px!important}
#rift .rift-wall-card>span{font-size:11px!important}
#rift .rift-wall-card b{font-size:19px!important}
#rift .rift-wall-progress{height:6px!important}
#rift .rift-wall-card>[data-rift-wall-timer]{font-size:10px!important}
#rift .rift-attacks-card{min-height:62px!important;margin:0 0 12px!important;border-radius:9px!important}
#rift .rift-attacks-card .rift-empty-state{padding:12px!important;font-size:11px!important}
#rift .rift-settings-form{margin-top:10px!important}
#rift .settings-section-card{padding:12px!important;border-radius:9px!important}
#rift .settings-section-head h3{font-size:15px!important}
#rift .settings-section-head .eyebrow{font-size:9px!important}
#rift .section-badge{font-size:9px!important;padding:3px 7px!important}
#rift .toggle-card{padding:9px 10px!important}
#rift .toggle-card small,#rift .muted,#rift label,#rift small{font-size:11px!important}
#rift input,#rift select,#rift button{font-size:11px!important;min-height:30px!important}
#rift .rift-stop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0}
#rift .rift-stop-card{display:grid;gap:8px;padding:10px;border:1px solid #263d5e;border-radius:9px;background:#111d31}
#rift .rift-stop-head strong{display:block;font-size:12px;color:#edf2fa}
#rift .rift-stop-head small{display:block;margin-top:2px;color:#8998ad}
#rift .rift-stop-head b{color:#eef3fb}
#rift .rift-stop-card label{display:grid;gap:4px}
#rift .rift-callback-grid{gap:8px!important}
#rift .rift-commanders-card{margin-top:10px!important}
#rift .rift-commander-card summary{padding:9px 10px!important}
#rift .rift-commander-body{padding:10px!important}
@media(max-width:900px){#rift .rift-stop-grid{grid-template-columns:1fr}#rift .rift-status-age{margin-left:0!important}}

/* HOTFIX33 — Rift rule editor aligned with the standard bot UI */
#rift .rift-rule-card{border:1px solid #263b59!important;border-radius:9px!important;background:#0e192a!important;overflow:hidden!important}
#rift .rift-rule-card>summary{min-height:34px!important;padding:8px 10px!important;background:#101c2f!important;border-bottom:0!important}
#rift .rift-rule-card[open]>summary{border-bottom:1px solid #22344e!important}
#rift .rift-rule-card>summary>span:first-child{font-size:11px!important;line-height:1.35!important;color:#cfd9e7!important}
#rift .rift-rule-body{padding:10px!important;gap:8px!important;background:#0e192a!important}
#rift .rift-rule-actions{gap:5px!important}
#rift .rift-rule-actions .btn{min-height:27px!important;padding:4px 7px!important;font-size:10px!important;border-radius:7px!important}
#rift .rift-rule-body>label,#rift .rift-rule-grid>label,#rift .rift-auto-setup>label{gap:4px!important;color:#9eacbf!important;font-weight:650!important}
#rift .rift-rule-body input[type="text"],#rift .rift-rule-body input[type="number"],#rift .rift-rule-body input:not([type]),#rift .rift-rule-body select{width:100%!important;box-sizing:border-box!important;min-height:30px!important;padding:5px 8px!important;border:1px solid #2b405f!important;border-radius:7px!important;background:#0d1728!important;color:#e5edf7!important;outline:none!important}
#rift .rift-rule-body input:focus,#rift .rift-rule-body select:focus{border-color:#4d83c2!important;box-shadow:0 0 0 2px rgba(77,131,194,.1)!important}
#rift .rift-rule-grid.two{gap:8px!important}
#rift .rift-rule-section{gap:6px!important;padding:9px!important;border:1px solid #263b59!important;border-radius:8px!important;background:#101a2d!important}
#rift .rift-rule-section>b{font-size:11px!important;color:#dce6f3!important}
#rift .rift-rule-section>small{color:#71839b!important}
#rift .rift-side-choices{gap:6px!important}
#rift .rift-side-choice{min-height:29px!important;padding:5px 8px!important;border:1px solid #2b405f!important;border-radius:7px!important;background:#0d1728!important;color:#a9b8ca!important;font-size:11px!important}
#rift .rift-side-choice input{min-height:0!important}
#rift .rift-auto-setup{gap:8px!important;padding:9px!important;border:1px solid #263b59!important;border-radius:8px!important;background:#101a2d!important}
#rift .rift-auto-info{display:grid;gap:3px;padding:7px 8px;border:1px solid #284363;border-radius:7px;background:#0d1b2f}
#rift .rift-auto-info strong{font-size:11px;color:#dce7f5}
#rift .rift-auto-info small{color:#7890aa!important;line-height:1.35!important}
#rift .rift-wait-wall{margin:0!important;background:#101a2d!important}
#rift [hidden]{display:none!important}
