:root{
  --bg:#020812;
  --bg-soft:#071522;
  --panel:#101a2d;
  --panel2:#0b2530;
  --surface:#0f1b2f;
  --surface2:#102a2f;
  --card:#111e32;
  --card2:#0d3028;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.22);
  --text:#f7fff9;
  --muted:#9eb9b4;
  --muted2:#6f8984;
  --green:#14a66a;
  --green2:#0b7c52;
  --pink:#fd2261;
  --pink2:#be123c;
  --gold:#e7bd46;
  --gold2:#bf8c1c;
  --blue:#2aa8ff;
  --purple:#6667e8;
  --shadow:0 22px 70px rgba(0,0,0,.36);
  --radius:22px;
  --sidebar:304px;
  --sidebar-collapsed:86px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden}
button,input,select,textarea{font:inherit}button{user-select:none}a{color:inherit}img{max-width:100%}
.cg-layer,.layer{display:none!important}

/* =========================
   DASHBOARD — V28 FULL REDESIGN
   ========================= */
body.dash-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% -8%,rgba(102,103,232,.30),transparent 32%),
    radial-gradient(circle at 84% 4%,rgba(20,166,106,.24),transparent 30%),
    linear-gradient(135deg,#020812 0%,#051522 42%,#03120c 100%);
}
body.dash-body:before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
input,select,textarea{
  width:100%;min-width:0;height:48px;padding:0 14px;
  background:rgba(2,14,18,.78);border:1px solid rgba(166,216,196,.18);border-radius:16px;color:#fff;outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input:focus,select:focus,textarea:focus{border-color:rgba(231,189,70,.75);box-shadow:0 0 0 4px rgba(231,189,70,.13);background:rgba(2,26,24,.94)}

.operator-app{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .22s ease}
.operator-app.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}
.side-rail{
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:16px 14px;
  background:linear-gradient(180deg,rgba(8,19,33,.98),rgba(2,14,15,.98));
  border-right:1px solid rgba(255,255,255,.12);box-shadow:18px 0 60px rgba(0,0,0,.35);z-index:50;
}
.side-brand{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;min-height:74px;padding:12px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.03));border:1px solid rgba(231,189,70,.45);overflow:hidden}
.side-brand img{width:76px;height:48px;object-fit:contain;background:rgba(255,255,255,.055);border-radius:16px;padding:4px}
.side-brand strong{display:block;font-size:22px;line-height:.95;font-weight:1000;letter-spacing:.2px;white-space:nowrap}.side-brand span{display:block;color:var(--muted);font-size:12px;margin-top:5px;white-space:nowrap}
.operator-app.sidebar-collapsed .side-brand{grid-template-columns:1fr;justify-items:center;padding:10px}.operator-app.sidebar-collapsed .side-brand img{width:58px;height:50px}.operator-app.sidebar-collapsed .side-brand div,.operator-app.sidebar-collapsed .side-section-title,.operator-app.sidebar-collapsed .side-hint{display:none}
.side-section-title{font-size:11px;color:#91ffd0;letter-spacing:.2em;text-transform:uppercase;font-weight:1000;margin:6px 8px 0}
.side-tabs{display:flex;flex-direction:column;gap:8px;overflow:auto;padding:2px 2px 2px 0;scrollbar-width:thin}
.side-tabs button{
  height:52px;width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;text-align:left;
  border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045);color:#ecfff8;padding:0 13px;
  font-weight:950;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.side-tabs button:hover{background:rgba(255,255,255,.085);transform:translateX(3px)}
.side-tabs button.active{background:linear-gradient(135deg,rgba(102,103,232,.95),rgba(253,34,97,.34));border-color:rgba(255,255,255,.34);box-shadow:inset 4px 0 0 var(--gold),0 12px 30px rgba(82,84,181,.20)}
.nav-ico{width:34px;height:34px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.09);font-size:18px}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operator-app.sidebar-collapsed .side-tabs button{grid-template-columns:1fr;justify-items:center;padding:0}.operator-app.sidebar-collapsed .nav-label{display:none}.operator-app.sidebar-collapsed .nav-ico{width:42px;height:42px}.operator-app.sidebar-collapsed .side-tabs button:hover{transform:none}
.side-hint{margin-top:auto;padding:14px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);color:var(--muted);font-size:12px;line-height:1.35}.side-hint b{display:block;color:#fff;margin-bottom:4px}
.workspace{min-width:0;padding:20px 24px 22px;display:flex;flex-direction:column;gap:18px}
.studio-top{
  min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 4px 0;
}
.studio-title h1{margin:0;font-size:clamp(28px,2.3vw,46px);line-height:.95;font-weight:1000;letter-spacing:.1px;text-shadow:0 4px 0 rgba(0,0,0,.32)}
.studio-title p{margin:8px 0 0;color:#c5e5dc;font-size:14px}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{width:48px;height:48px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07);color:#fff;font-size:22px;font-weight:1000;cursor:pointer}.operator-app.sidebar-collapsed .icon-btn{background:linear-gradient(135deg,var(--purple),rgba(82,84,181,.45));border-color:rgba(255,255,255,.32)}
.status-dot{height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);font-weight:950}.status-dot i{width:10px;height:10px;border-radius:50%;background:#ff3f54;box-shadow:0 0 14px rgba(255,63,84,.7)}.status-dot.connected i{background:#22e58b;box-shadow:0 0 14px #22e58b}

.btn{border:0;border-radius:16px;min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:1000;color:#fff;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.14);cursor:pointer;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.btn:active{transform:translateY(1px)}.btn.small{height:44px;min-height:44px;border-radius:15px;padding:0 16px;font-size:14px}.btn.blue{background:linear-gradient(135deg,#1684ce,#0b5a99)}.btn.gold{color:#120d00;background:linear-gradient(135deg,var(--gold),var(--gold2));border-color:rgba(255,238,180,.45)}.btn.red,.btn.panic{background:linear-gradient(135deg,var(--pink),var(--pink2));border-color:rgba(255,255,255,.16);box-shadow:0 12px 30px rgba(253,34,97,.22)}.btn.wide{width:100%}

.control-strip{
  position:sticky;top:14px;z-index:40;display:grid;grid-template-columns:170px 190px 255px 132px minmax(260px,1fr) minmax(210px,300px) 200px 160px 145px;gap:12px;align-items:end;
  padding:16px;border-radius:28px;background:linear-gradient(135deg,rgba(16,26,45,.92),rgba(7,38,32,.92));border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 48px rgba(0,0,0,.28);backdrop-filter:blur(10px);
}
.control-strip label,.round-block{min-width:0;display:grid;gap:7px;color:#c8e6dc;font-size:12px;font-weight:950}.control-strip input,.control-strip select{height:46px;font-weight:900}.pill-buttons{display:flex;gap:8px;min-width:0}.pill-buttons button{height:46px;min-width:46px;border:1px solid rgba(255,255,255,.16);border-radius:15px;color:#fff;background:rgba(18,82,57,.9);font-weight:1000;cursor:pointer}.pill-buttons button.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#170f00}.speed-input input{height:8px;padding:0;accent-color:#20a7ff}.speed-input b{color:#fff;font-size:12px}.control-strip #saveConfig,.control-strip #panicClear{height:50px;white-space:nowrap}

.tab-panels{min-height:620px;background:linear-gradient(160deg,rgba(13,26,45,.90),rgba(5,32,27,.90));border:1px solid rgba(255,255,255,.13);border-radius:30px;padding:24px;box-shadow:var(--shadow)}.tab-panel{display:none}.tab-panel.active{display:block;animation:panelIn .22s ease both}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.10)}.panel-head h2{margin:0;font-size:30px;line-height:1;font-weight:1000}.panel-head p{margin:0;color:#c2e1d8;font-size:14px;line-height:1.35;max-width:980px;text-align:right}.dash-footer{text-align:center;color:#bddbd2;font-size:13px;padding:1px 0 7px}.empty{padding:18px;color:#bddbd2;border:1px dashed rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.035)}

.clear-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 0 16px}.clear-row .btn{height:50px}.layer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.layer-card{min-width:0;min-height:128px;padding:13px;border-radius:22px;background:linear-gradient(160deg,rgba(9,42,34,.96),rgba(8,22,35,.96));border:1px solid rgba(255,255,255,.12);display:grid;grid-template-rows:1fr 44px;gap:10px;overflow:hidden;position:relative}.layer-card:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:rgba(255,255,255,.10)}.layer-card.on{background:linear-gradient(160deg,rgba(43,31,62,.98),rgba(12,26,43,.98));border-color:rgba(253,34,97,.64)}.layer-card.on:after{background:var(--pink)}.layer-card.busy-card:after{background:var(--gold)}.layer-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start}.layer-title{font-size:16px;line-height:1.12;font-weight:1000;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.layer-sub{margin-top:5px;color:#b6d4cc;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-pill{height:27px;min-width:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;font-size:10px;font-weight:1000;border:1px solid rgba(255,255,255,.14)}.layer-pill.is-ready{background:rgba(20,166,106,.16);color:#8dffd0}.layer-pill.is-live{background:var(--pink);color:#fff}.layer-pill.is-busy{background:var(--gold);color:#160e00}.toggle-btn{height:44px;border:0;border-radius:15px;padding:0 12px;color:#fff;font-weight:1000;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;text-transform:uppercase}.toggle-btn span{font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-btn b{font-size:10px;text-align:right;min-width:38px}.toggle-btn.off{background:linear-gradient(135deg,var(--green),var(--green2))}.toggle-btn.on{background:linear-gradient(135deg,var(--pink),var(--pink2))}.toggle-btn.busy{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#150e00}

.card,.upload-card,.position-box{background:linear-gradient(160deg,rgba(11,39,42,.94),rgba(12,24,41,.94));border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:18px;min-width:0;box-shadow:0 12px 34px rgba(0,0,0,.18)}.card h3,.upload-card h3{margin:0 0 14px;font-size:20px;line-height:1.05}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.form-card{display:grid;gap:13px}.form-card label,.inline-controls label,.position-box label{display:grid;gap:7px;color:#c4e3db;font-size:13px;font-weight:900}.form-card input,.form-card select,.big-input,.inline-controls input,.inline-controls select,.position-box select,.position-box input,.upload-card input{height:48px;padding:0 13px;font-size:14px;width:100%;min-width:0}.big-input{margin-bottom:12px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action-grid{display:flex;gap:12px;flex-wrap:wrap}.action-grid .btn{flex:1 1 180px}.inline-controls{display:grid;grid-template-columns:130px 1fr 1fr;gap:12px;margin:14px 0}.selected-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;min-height:130px}.selected-card img{width:112px;height:112px;object-fit:cover;background:#fff;border-radius:20px}.selected-card .logo{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}.selected-card h2{margin:0 0 7px;line-height:1.05}.selected-card p{display:flex;gap:8px;align-items:center;margin:0 0 8px;color:#fff}.selected-card span{color:#b8d8cd;font-size:13px}

.listbox{display:grid;gap:8px;max-height:540px;overflow:auto;padding-right:4px}.player-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;background:rgba(3,31,23,.82);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:9px;cursor:pointer;min-width:0}.player-row:hover,.player-row.selected{border-color:var(--gold);background:rgba(18,67,48,.92)}.player-row img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}.player-row b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-row span{display:block;color:#b8d8cd;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pairing-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}.pairing-row{appearance:none;text-align:left;border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,rgba(7,37,31,.98),rgba(8,23,35,.98));color:#fff;border-radius:20px;padding:12px;min-height:152px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:10px;cursor:pointer;overflow:hidden}.pairing-row:hover,.pairing-row.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(231,189,70,.25)}.pairing-row.selected{background:linear-gradient(160deg,rgba(31,35,76,.98),rgba(9,40,31,.98))}.pair-meta{display:flex;gap:9px;align-items:baseline}.pair-meta b{font-size:17px}.pair-meta small{color:#9ff2cf;font-size:13px}.pair-hole{grid-column:2;grid-row:1 / span 2;align-self:stretch;min-width:70px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;text-align:center;color:#c5e2d9;font-size:12px}.pair-hole b{display:block;color:#fff;font-size:28px;line-height:1}.pair-players{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pair-chip{min-width:0;border-radius:14px;padding:8px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);display:grid;gap:3px}.pair-chip b,.pair-chip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pair-chip b{font-size:13px}.pair-chip small{font-size:11px;color:#bad8cf}

.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:stretch}.upload-card{display:grid;grid-template-rows:auto 128px auto auto;gap:12px;overflow:hidden}.upload-card img{width:100%;height:128px;object-fit:contain;background:#fff;border-radius:18px;padding:12px;border:1px solid rgba(0,0,0,.08)}.upload-card input[type="file"]{height:48px;line-height:48px;padding:8px 10px;color:#e6fff7;background:rgba(3,31,23,.9);border:1px solid rgba(255,255,255,.16);border-radius:14px;overflow:hidden}.upload-card input[type="file"]::file-selector-button{height:31px;margin-right:10px;border:0;border-radius:10px;background:#fff;color:#111;font-weight:900;padding:0 10px}.upload-card small{color:#bad9cf;font-size:12px}.sponsor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:13px;margin-top:12px}.sponsor-item{background:rgba(4,32,24,.92);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:12px;display:grid;gap:10px}.sponsor-item img{width:100%;height:96px;object-fit:contain;background:#fff;border-radius:14px;padding:9px}.sponsor-item b{font-size:14px;line-height:1.15;word-break:break-word}.sponsor-actions{display:flex;gap:8px}.sponsor-actions button{flex:1;height:39px;border-radius:12px;border:0;color:#fff;font-weight:900;cursor:pointer}
.position-box{display:grid;grid-template-columns:minmax(190px,250px) repeat(4,minmax(130px,1fr)) minmax(130px,160px);gap:14px;align-items:end}.position-box b{font-size:12px;color:#e8fff6}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.theme-settings-grid .card:first-child{grid-column:span 2}code,pre{white-space:pre-wrap;word-break:break-word;background:#020f0a;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:13px;display:block;color:#d8fff1;font-family:Consolas,Monaco,monospace;font-size:13px;max-height:360px;overflow:auto}.toast{position:fixed;right:22px;bottom:22px;z-index:9999;border-radius:16px;background:#0a3023;color:#fff;padding:14px 17px;box-shadow:var(--shadow);font-weight:900}.toast.error{background:#9c0d25}.toast.ok{background:#087247}

/* LOGIN — V28 */
.login-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 22% 2%,rgba(102,103,232,.35),transparent 28%),radial-gradient(circle at 82% 18%,rgba(20,166,106,.2),transparent 30%),linear-gradient(135deg,#020812,#071622 48%,#020b0c)}
.login-body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 72%)}
.login-card{position:relative;z-index:1;width:min(980px,100%);min-height:560px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:0;padding:0;overflow:hidden;border-radius:34px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(160deg,rgba(13,28,48,.94),rgba(4,34,30,.94));box-shadow:0 32px 100px rgba(0,0,0,.45)}
.login-card:before{content:"National Golf Network CG";display:flex;align-items:flex-end;padding:36px;font-size:52px;line-height:.95;font-weight:1000;letter-spacing:-1px;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.30);background:linear-gradient(135deg,rgba(102,103,232,.45),rgba(253,34,97,.20)),url('/assets/ngn-logo.png') center 34%/260px auto no-repeat,linear-gradient(145deg,rgba(7,23,40,.98),rgba(4,50,36,.98));border-right:1px solid rgba(255,255,255,.12)}
.login-card>img,.login-card>h1,.login-card>p,.login-card>.login-kicker,.login-card>form,.login-card>footer{grid-column:2}.login-logo{width:210px;height:100px;object-fit:contain;justify-self:center;margin:42px 0 4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px}.login-card h1{margin:0 36px;text-align:center;font-size:30px;line-height:1.05}.login-card p{margin:8px 36px 0;text-align:center;color:#c7e5dc}.login-kicker{margin:10px 36px 18px;text-align:center;color:#8ff2cf;font-size:13px;font-weight:900}.login-card form{display:grid;gap:13px;margin:0 36px 10px}.login-card label{display:grid;gap:7px;color:#c8e6dc;font-weight:950;font-size:13px}.login-card input{height:52px;border-radius:17px}.login-submit{height:54px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#130d00;font-weight:1000;cursor:pointer;margin-top:4px}.form-error,.login-error{min-height:22px;color:#ff8dad;text-align:center;font-weight:900}.login-card footer{align-self:end;margin:0 36px 34px;text-align:center;color:#b9d7ce;font-size:13px}

@media(max-width:1680px){.control-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));position:relative;top:auto}.control-strip #saveConfig,.control-strip #panicClear{align-self:end}.panel-head{align-items:flex-start;flex-direction:column}.panel-head p{text-align:left}.two-col{grid-template-columns:1fr}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-settings-grid .card:first-child{grid-column:auto}.position-box{grid-template-columns:1fr 1fr}.layer-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}}
@media(max-width:1180px){.operator-app,.operator-app.sidebar-collapsed{grid-template-columns:1fr}.side-rail{position:relative;height:auto;padding:12px}.side-tabs{flex-direction:row;overflow-x:auto}.side-tabs button{width:auto;min-width:max-content;height:44px}.nav-label{display:inline!important}.side-hint,.side-section-title{display:none}.operator-app.sidebar-collapsed .side-brand div{display:block}.workspace{padding:12px}.studio-top{align-items:flex-start;flex-direction:column}.control-strip{grid-template-columns:1fr 1fr}.tab-panels{border-radius:24px;padding:16px}.pairing-list,.logo-grid,.sponsor-list{grid-template-columns:1fr}.clear-row{grid-template-columns:1fr}.form-grid-2,.form-grid-3,.form-grid-4,.settings-grid,.position-box,.inline-controls{grid-template-columns:1fr}.login-card{grid-template-columns:1fr;min-height:auto}.login-card:before{display:none}.login-card>img,.login-card>h1,.login-card>p,.login-card>.login-kicker,.login-card>form,.login-card>footer{grid-column:1}.login-card{width:min(460px,100%)} }
@media(max-width:640px){.studio-title h1{font-size:26px}.control-strip{grid-template-columns:1fr}.top-actions{width:100%}.top-actions .btn,.top-actions .status-dot{flex:1 1 auto}.layer-grid{grid-template-columns:1fr}.pair-players{grid-template-columns:1fr}.selected-card{grid-template-columns:1fr}.selected-card img{width:100%;height:170px}.panel-head h2{font-size:24px}.login-body{padding:14px}.login-card h1{font-size:24px}.login-card:before{font-size:34px}.login-card form,.login-card h1,.login-card p,.login-kicker,.login-card footer{margin-left:22px;margin-right:22px}}

/* ==========================================================
   V29 — REAL CONTROL-ROOM DASHBOARD REDESIGN
   This section intentionally overrides the older dashboard UI.
   Clean, fast, React-style, touch-friendly, collapsible sidebar.
   ========================================================== */
:root{
  --v29-bg:#060b14;
  --v29-bg2:#07151b;
  --v29-ink:#f8fff9;
  --v29-muted:#9fb5b0;
  --v29-panel:rgba(13,23,39,.88);
  --v29-card:rgba(12,31,36,.86);
  --v29-card2:rgba(17,24,39,.92);
  --v29-line:rgba(255,255,255,.12);
  --v29-line2:rgba(255,255,255,.20);
  --v29-green:#0fa467;
  --v29-green2:#087a50;
  --v29-pink:#fd2261;
  --v29-gold:#e8bf46;
  --v29-blue:#1688d7;
  --v29-purple:#6667e8;
  --v29-radius:20px;
  --sidebar:292px;
  --sidebar-collapsed:92px;
}

html,body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;}
body.dash-body{
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 18% 0%, rgba(102,103,232,.28), transparent 30%),
    radial-gradient(circle at 92% 6%, rgba(14,164,103,.24), transparent 34%),
    linear-gradient(140deg,#050914 0%,#071520 46%,#042014 100%)!important;
}
body.dash-body:before{opacity:.12!important;background-size:64px 64px!important;}

.operator-app{
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:var(--sidebar) minmax(0,1fr)!important;
  transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)!important;
}
.operator-app.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)!important;}
.side-rail{
  position:sticky!important;top:0!important;height:100vh!important;
  padding:18px 14px!important;
  background:linear-gradient(180deg,rgba(6,12,23,.98),rgba(4,13,18,.98))!important;
  border-right:1px solid rgba(255,255,255,.11)!important;
  box-shadow:none!important;
  gap:16px!important;
  overflow:hidden!important;
}
.side-brand{
  height:76px!important;min-height:76px!important;
  grid-template-columns:70px minmax(0,1fr)!important;
  gap:12px!important;
  padding:10px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;
  border:1px solid rgba(232,191,70,.38)!important;
}
.side-brand img{
  width:70px!important;height:50px!important;object-fit:contain!important;border-radius:16px!important;
  background:rgba(255,255,255,.06)!important;padding:5px!important;
}
.side-brand strong{font-size:22px!important;line-height:1!important;font-weight:950!important;letter-spacing:.2px!important;}
.side-brand span{font-size:12px!important;color:#93aaa6!important;}
.side-section-title{margin:4px 8px 0!important;color:#7effc8!important;font-size:10px!important;letter-spacing:.22em!important;}
.side-tabs{gap:9px!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;}
.side-tabs button{
  height:58px!important;grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;
  border-radius:18px!important;padding:0 12px!important;
  background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.10)!important;
  color:#f4fff9!important;font-size:15px!important;font-weight:850!important;box-shadow:none!important;
}
.side-tabs button:hover{background:rgba(255,255,255,.075)!important;transform:none!important;border-color:rgba(255,255,255,.20)!important;}
.side-tabs button.active{
  background:linear-gradient(135deg,rgba(102,103,232,.78),rgba(253,34,97,.40))!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:inset 4px 0 0 var(--v29-gold)!important;
}
.nav-ico{width:38px!important;height:38px!important;border-radius:14px!important;background:rgba(255,255,255,.09)!important;font-size:18px!important;}
.side-hint{padding:14px!important;border-radius:18px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.10)!important;}
.operator-app.sidebar-collapsed .side-rail{padding:14px 10px!important;}
.operator-app.sidebar-collapsed .side-brand{grid-template-columns:1fr!important;justify-items:center!important;height:64px!important;min-height:64px!important;padding:8px!important;}
.operator-app.sidebar-collapsed .side-brand img{width:54px!important;height:44px!important;}
.operator-app.sidebar-collapsed .side-brand div,.operator-app.sidebar-collapsed .side-section-title,.operator-app.sidebar-collapsed .side-hint{display:none!important;}
.operator-app.sidebar-collapsed .side-tabs button{height:58px!important;grid-template-columns:1fr!important;justify-items:center!important;padding:0!important;}
.operator-app.sidebar-collapsed .nav-label{display:none!important;}
.operator-app.sidebar-collapsed .nav-ico{width:42px!important;height:42px!important;}

.workspace{padding:24px 28px 22px!important;gap:20px!important;min-width:0!important;overflow:hidden!important;}
.studio-top{min-height:74px!important;padding:0!important;align-items:center!important;}
.studio-title h1{font-size:clamp(34px,3.3vw,56px)!important;line-height:.92!important;font-weight:950!important;letter-spacing:-1.2px!important;text-shadow:0 3px 0 rgba(0,0,0,.28)!important;}
.studio-title p{font-size:15px!important;color:#bcd3ce!important;margin-top:9px!important;}
.top-actions{gap:12px!important;flex-wrap:nowrap!important;}
.icon-btn{width:52px!important;height:52px!important;border-radius:18px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important;}
.status-dot{height:44px!important;border-radius:16px!important;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.13)!important;}
.btn,.login-submit{
  min-height:46px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:none!important;font-weight:900!important;letter-spacing:-.1px!important;
}
.btn.blue{background:linear-gradient(135deg,#1591df,#0b5a9d)!important;}
.btn.gold,.login-submit{background:linear-gradient(135deg,#f0cc55,#c89119)!important;color:#110c00!important;}
.btn.red,.btn.panic{background:linear-gradient(135deg,#ff2464,#c50e3e)!important;color:#fff!important;}
.btn:hover,.login-submit:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important;}

.control-strip{
  position:relative!important;top:auto!important;z-index:20!important;
  display:grid!important;
  grid-template-columns:minmax(135px,170px) minmax(178px,190px) minmax(178px,210px) minmax(130px,150px) minmax(220px,1fr) minmax(190px,260px) minmax(180px,220px) minmax(136px,160px) minmax(130px,150px)!important;
  gap:12px!important;align-items:end!important;
  padding:16px!important;border-radius:26px!important;
  background:rgba(13,23,39,.72)!important;border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:none!important;backdrop-filter:none!important;overflow:hidden!important;
}
.control-strip label,.round-block{font-size:12px!important;color:#bedbd4!important;font-weight:800!important;}
.control-strip input,.control-strip select{height:48px!important;border-radius:16px!important;font-size:14px!important;font-weight:850!important;background:rgba(2,13,18,.82)!important;}
.pill-buttons button{height:48px!important;min-width:48px!important;border-radius:16px!important;font-weight:900!important;}
.speed-input input{height:22px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}

.tab-panels{
  padding:22px!important;border-radius:26px!important;
  background:rgba(13,23,39,.68)!important;border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;min-height:calc(100vh - 265px)!important;overflow:hidden!important;
}
.panel-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 18px!important;border-bottom:1px solid rgba(255,255,255,.11)!important;padding-bottom:16px!important;}
.panel-head h2{margin:0!important;font-size:clamp(24px,1.7vw,34px)!important;font-weight:950!important;letter-spacing:-.5px!important;}
.panel-head p{max-width:760px!important;margin:0!important;color:#bdd6d0!important;font-size:14px!important;line-height:1.45!important;}
.clear-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-bottom:18px!important;}
.clear-row .btn{height:52px!important;border-radius:18px!important;}
.layer-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:14px!important;align-items:stretch!important;}
.layer-card{
  min-height:132px!important;padding:14px!important;border-radius:22px!important;
  background:linear-gradient(180deg,rgba(7,37,31,.92),rgba(9,22,35,.92))!important;
  border:1px solid rgba(255,255,255,.11)!important;box-shadow:none!important;
  grid-template-rows:minmax(0,1fr) 44px!important;
}
.layer-card.on{background:linear-gradient(180deg,rgba(37,26,54,.95),rgba(21,24,42,.95))!important;border-color:rgba(253,34,97,.62)!important;}
.layer-card:after{height:2px!important;opacity:.6!important;}
.layer-title{font-size:15px!important;line-height:1.15!important;font-weight:950!important;}
.layer-sub{font-size:12px!important;color:#b7cec9!important;}
.layer-pill{height:26px!important;min-width:48px!important;font-size:10px!important;}
.toggle-btn{height:44px!important;border-radius:15px!important;padding:0 12px!important;}
.toggle-btn span{font-size:13px!important;font-weight:950!important;}
.toggle-btn b{font-size:10px!important;}

.card,.upload-card,.position-box{
  background:rgba(7,31,30,.72)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:22px!important;
  box-shadow:none!important;min-width:0!important;overflow:hidden!important;
}
.card h3,.upload-card h3{font-size:20px!important;font-weight:950!important;line-height:1.1!important;margin-bottom:14px!important;}
.two-col,.settings-grid,.theme-settings-grid{gap:16px!important;}
.pairing-list{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))!important;gap:14px!important;}
.pairing-row{min-height:148px!important;border-radius:22px!important;padding:14px!important;background:rgba(7,31,30,.78)!important;}
.pair-chip b,.pair-chip small{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.logo-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:16px!important;align-items:stretch!important;}
.upload-card{padding:18px!important;display:grid!important;gap:12px!important;align-content:start!important;}
.upload-card img{width:100%!important;height:104px!important;object-fit:contain!important;background:#fff!important;border-radius:16px!important;padding:10px!important;}
.upload-card input[type=file]{height:auto!important;min-height:46px!important;padding:10px!important;background:rgba(0,0,0,.18)!important;overflow:hidden!important;}
.sponsor-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:14px!important;}
.dash-footer{color:#bcd6d0!important;margin:0!important;padding:0 0 6px!important;text-align:center!important;}

/* V29 login: centered, no ugly split overlay */
body.login-body{
  min-height:100vh!important;display:grid!important;place-items:center!important;padding:24px!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(102,103,232,.30),transparent 30%),
    radial-gradient(circle at 90% 12%,rgba(14,164,103,.28),transparent 32%),
    linear-gradient(135deg,#050914,#07141d 52%,#031811)!important;
}
body.login-body:before{opacity:.12!important;background-size:62px 62px!important;}
.login-card{
  width:min(480px,calc(100vw - 28px))!important;min-height:auto!important;
  display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:34px 34px 26px!important;
  border-radius:32px!important;background:rgba(10,27,33,.82)!important;border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.38)!important;overflow:visible!important;backdrop-filter:none!important;
}
.login-card:before{display:none!important;content:none!important;}
.login-card>img,.login-card>h1,.login-card>p,.login-card>.login-kicker,.login-card>form,.login-card>footer{grid-column:1!important;}
.login-logo{width:220px!important;height:112px!important;object-fit:contain!important;justify-self:center!important;margin:0 0 18px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:24px!important;padding:14px!important;}
.login-card h1{margin:0!important;text-align:center!important;font-size:34px!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.8px!important;}
.login-card p{margin:8px 0 0!important;text-align:center!important;color:#bdd6d0!important;}
.login-kicker{margin:12px 0 24px!important;text-align:center!important;color:#86f5c5!important;font-size:13px!important;font-weight:900!important;}
.login-card form{margin:0!important;display:grid!important;gap:14px!important;}
.login-card label{gap:8px!important;font-size:13px!important;color:#c8e2db!important;font-weight:850!important;}
.login-card input{height:54px!important;border-radius:18px!important;background:rgba(2,13,18,.82)!important;}
.login-submit{height:56px!important;margin-top:2px!important;font-size:16px!important;cursor:pointer!important;}
.login-card footer{margin:24px 0 0!important;text-align:center!important;color:#a9c3bd!important;font-size:13px!important;}

/* responsive */
@media(max-width:1500px){
  .control-strip{grid-template-columns:repeat(4,minmax(150px,1fr))!important;}
  .control-strip .btn{min-height:48px!important;}
  .top-actions{flex-wrap:wrap!important;}
}
@media(max-width:1180px){
  .operator-app,.operator-app.sidebar-collapsed{grid-template-columns:1fr!important;}
  .side-rail{height:auto!important;position:relative!important;overflow:visible!important;}
  .side-brand{width:max-content!important;min-width:260px!important;}
  .side-tabs{flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:4px!important;}
  .side-tabs button{width:auto!important;min-width:max-content!important;height:48px!important;grid-template-columns:34px minmax(0,1fr)!important;}
  .nav-label{display:inline!important;}
  .side-hint,.side-section-title{display:none!important;}
  .workspace{padding:16px!important;}
  .studio-top{align-items:flex-start!important;flex-direction:column!important;}
  .control-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .tab-panels{min-height:auto!important;padding:16px!important;}
  .panel-head{display:block!important;}
  .panel-head p{margin-top:8px!important;}
  .clear-row{grid-template-columns:1fr!important;}
  .pairing-list,.logo-grid,.sponsor-list{grid-template-columns:1fr!important;}
}
@media(max-width:680px){
  .workspace{padding:12px!important;}
  .studio-title h1{font-size:30px!important;}
  .control-strip{grid-template-columns:1fr!important;border-radius:20px!important;padding:12px!important;}
  .top-actions{width:100%!important;}
  .top-actions .btn,.status-dot{flex:1 1 auto!important;}
  .layer-grid{grid-template-columns:1fr!important;}
  .two-col,.form-grid-2,.form-grid-3,.form-grid-4,.settings-grid,.position-box,.inline-controls{grid-template-columns:1fr!important;}
  .login-card{padding:26px 20px 22px!important;border-radius:26px!important;}
  .login-card h1{font-size:28px!important;}
}


/* ==========================================================
   V30 — HARD FIXES FROM REAL SCREENSHOT
   Fixes: top strip clipping, button/round overlap, sidebar scroll,
   and cleaner touch-friendly responsive operator layout.
   ========================================================== */
*{box-sizing:border-box!important;}
body.dash-body{width:100%!important;min-width:0!important;overflow-x:hidden!important;}
.operator-app{width:100%!important;max-width:100vw!important;overflow-x:hidden!important;}
.workspace{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;}
.side-rail{overflow-x:hidden!important;}
.side-tabs{max-width:100%!important;}
.side-tabs button{width:100%!important;max-width:100%!important;min-width:0!important;}
.side-brand{max-width:100%!important;min-width:0!important;}
.side-brand strong,.side-brand span,.nav-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.studio-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;width:100%!important;max-width:100%!important;}
.studio-title{min-width:0!important;}
.studio-title h1{white-space:normal!important;overflow-wrap:anywhere!important;}
.top-actions{min-width:0!important;max-width:100%!important;justify-content:flex-end!important;}
.top-actions .btn{white-space:nowrap!important;min-width:max-content!important;}

/* top controls must wrap; never clip Save / Apply or Clear All */
.control-strip{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:end!important;
  padding:16px!important;
}
.control-strip > *{min-width:0!important;max-width:100%!important;}
.control-strip .event-input{grid-column:span 2!important;}
.control-strip .round-block{grid-column:span 2!important;}
.control-strip .hole-input{grid-column:span 2!important;}
.control-strip .text-input{grid-column:span 2!important;}
.control-strip .speed-input{grid-column:span 2!important;}
.control-strip #saveConfig{grid-column:span 1!important;}
.control-strip #panicClear{grid-column:span 1!important;}
.control-strip input,.control-strip select,.control-strip .btn{width:100%!important;max-width:100%!important;}
.control-strip .btn{padding-left:10px!important;padding-right:10px!important;white-space:nowrap!important;min-width:0!important;}
.pill-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important;}
.pill-buttons button{width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;position:relative!important;}
.round-block span,.control-strip label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.speed-input{display:grid!important;gap:5px!important;}
.speed-input input{width:100%!important;min-width:0!important;}

/* make layer area tighter and remove any accidental horizontal movement */
.tab-panels{width:100%!important;max-width:100%!important;overflow:hidden!important;}
.tab-panel{width:100%!important;max-width:100%!important;overflow:hidden!important;}
.panel-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,45%)!important;align-items:end!important;}
.panel-head h2,.panel-head p{min-width:0!important;}
.panel-head p{text-align:right!important;}
.layer-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:12px!important;}
.layer-card{min-height:118px!important;padding:12px!important;border-radius:18px!important;}
.layer-title{font-size:14px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.layer-sub{font-size:11px!important;}
.toggle-btn{height:40px!important;border-radius:13px!important;}
.toggle-btn span{font-size:12px!important;}
.toggle-btn b{font-size:9px!important;}
.clear-row{grid-template-columns:1fr 1fr!important;gap:12px!important;}
.clear-row .btn{height:48px!important;}

/* Tee group cards: no text escaping outside boxes */
.pairing-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:12px!important;}
.pairing-row,.pair-card,.pair-chip{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
.pairing-row *,.pair-card *,.pair-chip *{min-width:0!important;}
.pairing-row b,.pairing-row strong,.pair-chip b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

/* Login clean polish */
.login-card{max-width:460px!important;}
.login-logo{max-width:210px!important;}

@media(max-width:1700px){
  .control-strip{grid-template-columns:repeat(10,minmax(0,1fr))!important;}
  .control-strip .event-input{grid-column:span 2!important;}
  .control-strip .round-block{grid-column:span 2!important;}
  .control-strip .hole-input{grid-column:span 2!important;}
  .control-strip .text-input{grid-column:span 2!important;}
  .control-strip .speed-input{grid-column:span 2!important;}
  .control-strip #saveConfig,.control-strip #panicClear{grid-column:span 2!important;}
}
@media(max-width:1380px){
  .operator-app{grid-template-columns:250px minmax(0,1fr)!important;}
  .operator-app.sidebar-collapsed{grid-template-columns:86px minmax(0,1fr)!important;}
  .workspace{padding:18px!important;}
  .studio-top{grid-template-columns:1fr!important;}
  .top-actions{justify-content:flex-start!important;flex-wrap:wrap!important;}
  .control-strip{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .control-strip .event-input,.control-strip .round-block,.control-strip .hole-input,.control-strip .text-input,.control-strip .speed-input,.control-strip #saveConfig,.control-strip #panicClear{grid-column:span 2!important;}
  .panel-head{grid-template-columns:1fr!important;}
  .panel-head p{text-align:left!important;max-width:100%!important;}
}
@media(max-width:980px){
  .operator-app,.operator-app.sidebar-collapsed{grid-template-columns:1fr!important;}
  .side-rail{position:relative!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;}
  .side-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;overflow:visible!important;}
  .operator-app.sidebar-collapsed .side-tabs button,.side-tabs button{grid-template-columns:34px minmax(0,1fr)!important;justify-items:start!important;padding:0 10px!important;}
  .operator-app.sidebar-collapsed .nav-label{display:inline!important;}
  .control-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .control-strip > *{grid-column:span 1!important;}
  .control-strip .text-input{grid-column:span 2!important;}
  .clear-row{grid-template-columns:1fr!important;}
}
@media(max-width:620px){
  .workspace{padding:10px!important;}
  .control-strip{grid-template-columns:1fr!important;}
  .control-strip > *,.control-strip .text-input,.control-strip .event-input,.control-strip .round-block,.control-strip .hole-input,.control-strip .speed-input,.control-strip #saveConfig,.control-strip #panicClear{grid-column:1/-1!important;}
  .top-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;}
  .top-actions .icon-btn,.top-actions .status-dot,.top-actions .btn{width:100%!important;min-width:0!important;}
  .layer-grid,.pairing-list,.logo-grid,.sponsor-list{grid-template-columns:1fr!important;}
  .studio-title h1{font-size:30px!important;}
}

/* V33 saved theme presets + compact controls */
.theme-save-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:12px;align-items:end;margin-top:12px}
.theme-save-row input{min-width:0}
.theme-preset-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px}
.theme-preset{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(0,0,0,.18)}
.theme-preset.active{border-color:#efc64a;box-shadow:inset 0 0 0 1px rgba(239,198,74,.45)}
.theme-swatches{display:flex;gap:5px}.theme-swatches i{width:22px;height:22px;border-radius:7px;border:1px solid rgba(255,255,255,.28);display:block}.theme-preset b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-actions{display:flex;gap:6px}.theme-actions button{border:0;border-radius:10px;padding:8px 10px;background:#142536;color:#fff;font-weight:900;cursor:pointer}.theme-actions button:first-child{background:#109a65}.theme-actions button:last-child{background:#333b43}
.pairing-row{overflow:hidden}.pair-players{min-width:0;overflow:hidden}.pair-chip{min-width:0}.pair-chip b,.pair-chip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
@media(max-width:1100px){.theme-save-row{grid-template-columns:1fr}.theme-preset{grid-template-columns:1fr}.theme-actions{justify-content:stretch}.theme-actions button{flex:1}}
