*{box-sizing:border-box}:root{color-scheme:dark;--bg:#0c0912;--panel:#15101d;--panel2:#1d1627;--border:#31253f;--text:#f7f3fb;--muted:#aaa0b8;--purple:#9147ff;--pink:#f33fcc;--green:#44d98f;--red:#ff657e;--yellow:#ffc85b}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}body{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:radial-gradient(circle at 85% 0%,rgba(243,63,204,.12),transparent 30%),radial-gradient(circle at 25% 0%,rgba(145,71,255,.14),transparent 35%),var(--bg)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);padding:24px 18px;display:flex;flex-direction:column;background:rgba(12,9,18,.84);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 24px}.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.brand-mark{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-weight:900;font-size:22px;background:linear-gradient(135deg,var(--purple),var(--pink))}.brand-title{font-weight:900;letter-spacing:.08em}.brand-sub{font-size:12px;color:var(--pink);font-weight:800;letter-spacing:.22em;margin-top:3px}.nav{display:flex;flex-direction:column;gap:7px}.nav-item{width:100%;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;text-decoration:none;font:inherit;text-align:left}.nav-item.active{background:linear-gradient(90deg,rgba(145,71,255,.16),rgba(243,63,204,.07));color:var(--text);border:1px solid rgba(145,71,255,.2)}.nav-item small{margin-left:auto;font-size:10px;color:#756b80}.nav-item.disabled{opacity:.55;cursor:not-allowed}.sidebar-foot{margin-top:auto;padding:14px 10px;border-top:1px solid var(--border)}.mini-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.mini-value{margin-top:5px;font-weight:700}.main{padding:38px 44px 70px;max-width:1500px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:7px 0 0;color:var(--muted)}.overall{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:rgba(21,16,29,.75);padding:11px 14px;border-radius:999px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--yellow)}.status-dot.good{background:var(--green)}.status-dot.bad{background:var(--red)}.hero-card,.card,.metric,.section-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:22px;box-shadow:0 16px 48px rgba(0,0,0,.17)}.hero-card{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:28px;margin-bottom:18px;background:linear-gradient(110deg,rgba(145,71,255,.14),rgba(243,63,204,.06)),linear-gradient(180deg,var(--panel2),var(--panel))}.hero-card h2{font-size:28px;margin:5px 0 10px}.hero-card p,.card p{color:var(--muted);line-height:1.55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn,.link-btn{border:0;border-radius:12px;padding:11px 15px;font-weight:800;text-decoration:none;cursor:pointer;font:inherit}.btn.primary{color:white;background:linear-gradient(90deg,var(--purple),var(--pink))}.btn.ghost,.link-btn{color:var(--text);background:#120e18;border:1px solid var(--border)}.btn.danger{color:#ffdce3;background:rgba(255,101,126,.11);border:1px solid rgba(255,101,126,.32)}.grid{display:grid;gap:18px;margin-top:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-head{display:flex;justify-content:space-between;gap:16px}.card h3,.section-card h3{margin:5px 0 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8f829b;font-weight:800}.badge{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);color:var(--yellow);white-space:nowrap}.badge.good{color:var(--green)}.badge.bad{color:var(--red)}.badge.warn{color:var(--yellow)}.metric-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.metric-value{font-size:38px;font-weight:900;margin-top:9px}.metric-value.small{font-size:26px}.metric-foot{font-size:12px;color:#766c81;margin-top:8px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding-top:14px;margin-top:14px;border-top:1px solid var(--border);color:var(--muted)}.detail-row strong{color:var(--text)}.scope-warning{margin:18px 0;padding:18px;border:1px solid rgba(255,200,91,.35);background:rgba(255,200,91,.06);border-radius:14px}.scope-warning h3{margin:0 0 7px}.scope-warning p{color:var(--muted);margin:0 0 12px}.scope-list{font-family:Consolas,monospace;font-size:12px;color:var(--yellow);margin-bottom:12px}.toast{position:fixed;right:22px;bottom:22px;opacity:0;transform:translateY(20px);padding:13px 16px;border-radius:12px;background:#17111f;border:1px solid var(--border);transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.toast.good{color:var(--green)}.toast.bad{color:var(--red)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 12px}.section-title h2{margin:0}.section-title p{color:var(--muted);margin:5px 0 0}.count-pill{border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--muted)}.command-list{display:flex;flex-direction:column;gap:12px}.command-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:18px 20px}.command-main{min-width:0;flex:1}.command-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.command-name{font-size:17px;font-weight:900;color:#fff;background:rgba(145,71,255,.12);border:1px solid rgba(145,71,255,.25);padding:5px 9px;border-radius:9px}.command-response{margin-top:10px;color:var(--muted)}.command-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;font-size:12px;color:#81768d}.command-meta strong{color:#cfc4d9}.modal{width:min(700px,92vw);border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#1c1525,#120e18);color:var(--text);padding:0}.modal::backdrop{background:rgba(5,3,8,.72);backdrop-filter:blur(6px)}.modal form{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.modal-head h2{margin:5px 0 0}.icon-btn{border:1px solid var(--border);background:#120e18;color:var(--text);width:36px;height:36px;border-radius:10px;font-size:22px}.field{display:flex;flex-direction:column;gap:8px;margin-top:15px}.field span{font-size:12px;color:var(--muted);font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--border);border-radius:11px;background:#0e0a14;color:var(--text);padding:12px 13px;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;align-items:center;gap:10px;margin-top:24px}.spacer{flex:1}.quote-form,.counter-form{display:grid;grid-template-columns:1fr 180px auto;gap:12px;align-items:end}.quote-list,.counter-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.quote-card,.counter-card{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:18px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.quote-card p{margin:7px 0;color:var(--text);font-size:17px}.quote-card small{color:var(--muted)}.counter-head{display:flex;justify-content:space-between;align-items:center}.counter-card{display:block}.counter-value{font-size:38px;font-weight:900}.counter-template{color:var(--muted);margin:12px 0}.counter-actions{display:flex;gap:10px;flex-wrap:wrap}.empty-state{text-align:center;color:var(--muted)}code{background:#0f0c15;border:1px solid var(--border);padding:3px 7px;border-radius:7px}@media(max-width:980px){body{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-foot{display:none}.main{padding:28px 22px}.grid.two,.grid.three{grid-template-columns:1fr 1fr}.hero-card{align-items:flex-start;flex-direction:column}.quote-form,.counter-form{grid-template-columns:1fr}}@media(max-width:640px){.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.main{padding:22px 14px}.nav{grid-template-columns:1fr}.command-card,.quote-card{align-items:flex-start;flex-direction:column}}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:20px}.event-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.event-card-head h3{margin:5px 0 0}.event-options{margin-top:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0}.toggle-row+ .toggle-row{border-top:1px solid rgba(49,37,63,.6)}.toggle-row span{display:flex;flex-direction:column;gap:4px}.toggle-row small{color:var(--muted)}.toggle-row input{width:20px;height:20px;accent-color:var(--pink)}.event-vars{font-size:11px;color:var(--muted);line-height:1.8;margin-top:10px}.event-vars code{font-size:10px}.event-scope{margin-top:10px;color:var(--yellow);font-size:12px;font-family:Consolas,monospace}.event-actions{display:flex;gap:10px;margin-top:16px}.event-history{display:flex;flex-direction:column;gap:9px}.history-row{border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.history-row>div{min-width:0}.history-row strong{margin-right:9px}.history-row p{margin:6px 0 0;color:var(--muted)}.history-row time{white-space:nowrap;color:#81768d;font-size:12px}.history-icon{margin-right:9px;color:var(--pink)}@media(max-width:980px){.event-grid{grid-template-columns:1fr}}@media(max-width:640px){.history-row{align-items:flex-start;flex-direction:column}}


.automation-list{display:flex;flex-direction:column;gap:14px}.automation-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:20px}.automation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.automation-head h3{font-size:20px;margin:5px 0 0}.automation-message{margin-top:15px;padding:14px 15px;border-radius:12px;background:#100c16;border:1px solid var(--border);color:#d9cfdf;line-height:1.5}.automation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.automation-stats>div{padding:12px;border-radius:12px;background:rgba(12,9,18,.55);border:1px solid rgba(49,37,63,.7);display:flex;flex-direction:column;gap:5px}.automation-stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.automation-stats strong{font-size:14px}.automation-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px}.automation-foot small{color:var(--muted)}.automation-actions{display:flex;gap:9px;flex-wrap:wrap}.automation-note{margin-top:16px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:rgba(145,71,255,.06);color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:980px){.automation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.automation-stats{grid-template-columns:1fr}.automation-foot{align-items:flex-start;flex-direction:column}}


.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.log-toolbar{display:grid;grid-template-columns:180px 180px minmax(260px,1fr) 130px;gap:14px;align-items:end}.log-toolbar .field{margin-top:0}.central-log-list{display:flex;flex-direction:column;gap:10px}.central-log-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--border);border-radius:15px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:15px 17px}.central-log-row.level-error{border-color:rgba(255,101,126,.35)}.central-log-row.level-warn{border-color:rgba(255,200,91,.28)}.central-log-row.level-success{border-color:rgba(68,217,143,.2)}.central-log-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#100c16;border:1px solid var(--border);font-weight:900}.central-log-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.central-log-head strong{font-size:15px}.central-log-message{margin-top:7px;color:#c7bdcf;line-height:1.45}.central-log-row time{font-size:11px;color:#877c92;white-space:nowrap;padding-top:5px}.log-actor{font-size:12px;color:var(--pink);font-weight:700}.log-details{margin-top:9px}.log-details summary{cursor:pointer;color:#90849b;font-size:12px}.log-details pre{overflow:auto;max-height:260px;margin:8px 0 0;padding:11px;border-radius:10px;background:#0d0912;border:1px solid var(--border);font:12px/1.45 Consolas,monospace;color:#bbb0c5}.badge.muted{color:#8f8499}.log-search{min-width:0}
@media(max-width:1150px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.log-toolbar{grid-template-columns:1fr 1fr}.log-search{grid-column:1/-1}}
@media(max-width:640px){.grid.four,.log-toolbar{grid-template-columns:1fr}.log-search{grid-column:auto}.central-log-row{grid-template-columns:36px minmax(0,1fr)}.central-log-row time{grid-column:2}}


.settings-alert{border:1px solid var(--border);border-radius:15px;padding:16px 18px;margin-bottom:20px}.settings-alert strong{font-size:16px}.settings-alert p{margin:7px 0 0;color:var(--muted);line-height:1.5}.bad-alert{border-color:rgba(255,101,126,.42);background:rgba(255,101,126,.07)}.settings-account-card .field{margin:16px 0 12px}.settings-oauth-btn{display:inline-flex;margin-top:4px}.settings-help{display:block;color:var(--muted);margin-top:10px;line-height:1.4}.settings-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}.settings-form-grid>.field{margin-top:0}.settings-form-grid .field small,.settings-retention small{color:#81768d}.settings-toggle-card{border:1px solid var(--border);border-radius:14px;background:#100c16;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer}.settings-toggle-card strong{font-size:15px}.settings-toggle-card p{margin:6px 0 0;color:var(--muted);line-height:1.45}.settings-toggle-card input{width:22px;height:22px;accent-color:var(--pink);flex:0 0 auto}.settings-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.settings-links .field{margin-top:0}.settings-retention{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.settings-retention .field{margin-top:0}.settings-scopes{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.compact-warning{margin:16px 0 0}.settings-savebar{position:sticky;bottom:14px;margin-top:24px;border:1px solid var(--border);border-radius:15px;background:rgba(18,14,24,.94);backdrop-filter:blur(16px);padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:0 14px 45px rgba(0,0,0,.32);z-index:20}.settings-savebar span{color:var(--muted);font-size:13px}
@media(max-width:900px){.settings-form-grid,.settings-links,.settings-retention{grid-template-columns:1fr}.settings-savebar{align-items:flex-start;flex-direction:column}}


/* Logs — espacement vertical V2 */
.grid.four.log-metrics{
  margin-bottom:0 !important;
}

.grid.four.log-metrics + .section-card.log-toolbar{
  margin-top:24px !important;
  margin-bottom:30px !important;
}

.log-metrics .metric{
  min-height:138px;
}


/* Channel Points V1 / V1.1 */
.reward-hero{align-items:stretch}.reward-hero-note{min-width:220px;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:rgba(12,9,18,.55)}.reward-hero-note strong{color:var(--pink);font-size:12px;letter-spacing:.12em}.reward-hero-note span{font-weight:700}.reward-info-note{margin:20px 0 4px;padding:14px 16px;border:1px solid rgba(145,71,255,.28);background:rgba(145,71,255,.06);border-radius:13px;color:var(--muted);line-height:1.5}.reward-info-note strong{color:var(--text)}.reward-list{display:flex;flex-direction:column;gap:14px}.reward-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:22px}.reward-card-main{display:flex;align-items:center;gap:16px;min-width:0}.reward-thumb{width:62px;height:62px;flex:0 0 62px;border-radius:14px;border:1px solid var(--border);background:#100c16;display:grid;place-items:center;font-size:26px;overflow:hidden}.reward-thumb img{width:100%;height:100%;object-fit:cover}.reward-copy{min-width:0}.reward-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.reward-title-row h3{margin:0;font-size:18px}.reward-cost{margin-top:6px;font-weight:900;color:#e3d8ec}.reward-prompt{color:var(--muted);margin:8px 0 0;line-height:1.4}.reward-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;color:#867b91;font-size:12px}.reward-card-actions{display:flex;gap:9px;flex:0 0 auto}.reward-dialog-meta{color:var(--muted);margin:6px 0 0}.reward-modal{width:min(850px,94vw)}.reward-main-toggle{margin-top:18px}.reward-vars{margin-top:16px;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:#100c16;color:var(--muted);font-size:12px}.reward-vars code{margin-left:5px}.reward-actions-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px}.reward-actions-head h3{margin:0}.reward-actions-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.reward-action-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.reward-action-card{border:1px solid var(--border);border-radius:14px;background:#100c16;padding:14px}.reward-action-top{display:grid;grid-template-columns:34px minmax(180px,1fr) auto 38px;gap:10px;align-items:end}.reward-action-index{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(145,71,255,.13);border:1px solid rgba(145,71,255,.26);font-weight:900;margin-bottom:2px}.reward-type-field{margin:0}.reward-action-enabled{height:44px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.reward-action-enabled input{width:18px;height:18px;accent-color:var(--pink)}.reward-action-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.45fr);gap:12px;margin-top:10px}.reward-action-fields .field{margin:0}.reward-action-wide{grid-column:1/-1}.reward-action-warning{grid-column:1/-1;color:var(--yellow);font-size:12px;padding:9px 11px;border:1px solid rgba(255,200,91,.28);border-radius:9px;background:rgba(255,200,91,.05)}.reward-empty-actions{padding:16px}.reward-simulation-note{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.5}.reward-history{display:flex;flex-direction:column;gap:10px}.reward-history-row{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:15px 17px}.reward-history-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reward-history-main p{margin:7px 0;color:#cfc4d7}.reward-history-main small{color:#83798e}.reward-history-row time{color:#82768e;font-size:11px;white-space:nowrap}.settings-retention{grid-template-columns:repeat(4,minmax(0,1fr))}.reward-modal .form-grid{row-gap:20px}.reward-modal .settings-toggle-card{margin-top:20px}.reward-modal .reward-action-warning{margin-top:16px}.reward-modal .modal-actions{margin-top:28px}
@media(max-width:1100px){.settings-retention{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-card{align-items:flex-start}.reward-card-actions{flex-direction:column}}
@media(max-width:760px){.reward-card{flex-direction:column}.reward-card-actions{flex-direction:row;width:100%}.reward-card-actions .btn{flex:1}.reward-action-top{grid-template-columns:34px 1fr 38px}.reward-action-enabled{grid-column:2}.reward-action-fields{grid-template-columns:1fr}.reward-action-wide{grid-column:auto}.reward-history-row{flex-direction:column}.reward-history-row time{align-self:flex-end}.settings-retention{grid-template-columns:1fr}}

/* Channel Points V1.1 — récompenses automatiques Twitch */
.reward-section-title{margin-top:30px}.automatic-section-title{margin-top:38px;padding-top:8px;border-top:1px solid rgba(49,37,63,.7)}.automatic-reward-card{border-color:rgba(145,71,255,.28);background:linear-gradient(110deg,rgba(145,71,255,.07),rgba(243,63,204,.025)),linear-gradient(180deg,var(--panel2),var(--panel))}.automatic-reward-thumb{font-weight:900;color:#fff;background:linear-gradient(135deg,rgba(145,71,255,.28),rgba(243,63,204,.17));border-color:rgba(145,71,255,.36)}.reward-meta code{font-size:11px}.reward-title-row .badge.warn{white-space:normal}.reward-info-note strong+span{margin-left:4px}

/* Streamlabs Desktop V1 */
.streamlabs-big-status{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 15px;border:1px solid var(--border);border-radius:14px;background:#100c16}.sl-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.sl-config-grid>.settings-toggle-card,.sl-token-field,.sl-config-actions{grid-column:1/-1}.sl-config-grid>.field{margin-top:0}.sl-config-actions{display:flex;gap:10px;flex-wrap:wrap}.sl-scene-list{display:flex;flex-direction:column;gap:16px}.sl-scene-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));padding:18px}.sl-scene-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--border)}.sl-scene-head h3{margin:4px 0 0;font-size:20px}.sl-source-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sl-source-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(60,44,75,.75);border-radius:11px;background:#100c16}.sl-source-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.sl-source-row strong{overflow-wrap:anywhere}.sl-source-row small{color:var(--muted)}.compact-empty{padding:10px 0}.reward-action-warning{grid-column:1/-1;padding:11px 12px;border:1px solid rgba(255,200,91,.28);border-radius:10px;background:rgba(255,200,91,.06);color:#d9c59c;font-size:12px}.central-log-icon{user-select:none}
@media(max-width:800px){.sl-config-grid{grid-template-columns:1fr}.sl-config-grid>*{grid-column:auto!important}.sl-source-row{align-items:flex-start;flex-direction:column}}


/* Récompenses — panneau unifié Twitch + LoxyBot */
.reward-unified-modal{width:min(900px,95vw);max-height:94vh;overflow:auto}
.reward-unified-modal form{padding-bottom:0}
.reward-unified-head{padding-bottom:8px}
.reward-unified-section{padding:22px 0 26px;border-top:1px solid var(--border)}
.reward-unified-section:first-of-type{margin-top:18px}
.reward-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.reward-section-title h3{margin:1px 0 4px;font-size:20px}
.reward-section-title p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.reward-step{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,rgba(145,71,255,.22),rgba(243,63,204,.14));border:1px solid rgba(145,71,255,.32);font-weight:900}
.reward-form-row{row-gap:20px;margin-bottom:20px}
.reward-form-block{margin:0 0 20px}
.reward-option-card{margin:20px 0!important}
.reward-subsection{margin:22px 0;padding:18px;border:1px solid var(--border);border-radius:14px;background:rgba(12,9,18,.42)}
.reward-subsection-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:4px}
.reward-subsection-head>span{color:var(--muted);font-size:12px}
.reward-limit-grid{row-gap:18px}
.reward-api-note{margin-top:20px}
.reward-lock-note,.reward-native-summary{margin:0 0 20px;padding:15px 16px;border:1px solid rgba(255,200,91,.3);border-radius:13px;background:rgba(255,200,91,.055)}
.reward-lock-note strong,.reward-native-summary strong{color:var(--text)}
.reward-lock-note p,.reward-native-summary p{margin:6px 0 0;color:var(--muted);line-height:1.5}
.reward-unified-footer{position:sticky;bottom:0;z-index:10;margin:0 -24px;padding:16px 24px;background:rgba(18,14,24,.96);backdrop-filter:blur(15px);border-top:1px solid var(--border);box-shadow:0 -15px 35px rgba(0,0,0,.22)}
.reward-unified-footer .btn{white-space:nowrap}
.reward-unified-modal [disabled]{opacity:.62;cursor:not-allowed}
@media(max-width:700px){
  .reward-unified-footer{align-items:stretch;flex-wrap:wrap}
  .reward-unified-footer .spacer{display:none}
  .reward-unified-footer .btn{flex:1}
}


/* Récompenses V3.1 — panneau unifié par onglets */
.reward-tabs{
  position:sticky;
  top:0;
  z-index:12;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px -24px 0;
  padding:12px 24px;
  background:rgba(18,14,24,.96);
  backdrop-filter:blur(16px);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.reward-tab{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#100c16;
  color:var(--muted);
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:.16s ease;
}
.reward-tab:hover{border-color:rgba(145,71,255,.45);color:var(--text)}
.reward-tab.active{
  color:var(--text);
  border-color:rgba(243,63,204,.4);
  background:linear-gradient(90deg,rgba(145,71,255,.17),rgba(243,63,204,.09));
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.reward-tab-number{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  border:1px solid var(--border);
  background:#17101f;
  font-weight:900;
}
.reward-tab.active .reward-tab-number{
  border-color:rgba(243,63,204,.35);
  background:linear-gradient(135deg,rgba(145,71,255,.3),rgba(243,63,204,.2));
}
.reward-tab-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.reward-tab-copy strong{font-size:14px;color:inherit}
.reward-tab-copy small{
  font-size:11px;
  color:#8e8398;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.reward-tab-panel{display:none}
.reward-tab-panel.active{display:block}
.reward-unified-section.reward-tab-panel{
  border-top:0;
  padding-top:24px;
}
.reward-unified-section.reward-tab-panel:first-of-type{margin-top:0}
@media(max-width:640px){
  .reward-tabs{grid-template-columns:1fr;margin-left:-24px;margin-right:-24px}
}


/* Consignes temporaires V1 */
.temporary-rules-section{margin:24px 0 4px}
.temporary-rules-title{margin-bottom:12px}
.temporary-rule-list{display:flex;flex-direction:column;gap:10px}
.temporary-rule-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 17px;
  border:1px solid var(--border);
  border-radius:15px;
  background:linear-gradient(180deg,var(--panel2),var(--panel));
}
.temporary-rule-main{min-width:0;flex:1}
.temporary-rule-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.temporary-rule-head strong{font-size:15px}
.temporary-rule-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#887d92;font-size:12px}
.temporary-rule-remaining{color:var(--yellow);font-weight:800}
@media(max-width:700px){
  .temporary-rule-card{align-items:flex-start;flex-direction:column}
  .temporary-rule-card .btn{width:100%}
}


/* Consignes temporaires V1.1 */
.temporary-rule-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.dashboard-temporary-section{margin-top:26px}
.dashboard-temporary-title{margin-bottom:12px}
.dashboard-temporary-title .hero-actions{align-items:center}
.dashboard-temporary-list{margin-bottom:4px}
.dashboard-temporary-card{padding:14px 16px}
@media(max-width:760px){
  .temporary-rule-actions{width:100%}
  .temporary-rule-actions .btn{flex:1}
  .dashboard-temporary-title{align-items:flex-start;flex-direction:column}
}


/* Compte qui parle V1 */
.settings-speaker-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}
.speaker-status-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(10,8,15,.34);
}
.speaker-status-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.speaker-status-row>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.speaker-status-row small{color:var(--muted)}
@media(max-width:760px){
  .settings-speaker-grid{grid-template-columns:1fr}
}


/* Récompenses — champ Couleur aligné sur État Twitch */
#twitchRewardColor{
  width:100%;
  height:46px;
  min-height:46px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#0e0a14;
  cursor:pointer;
  overflow:hidden;
}
#twitchRewardColor::-webkit-color-swatch-wrapper{
  padding:0;
}
#twitchRewardColor::-webkit-color-swatch{
  border:0;
  border-radius:7px;
}
#twitchRewardColor::-moz-color-swatch{
  border:0;
  border-radius:7px;
}
#twitchRewardColor:focus{
  outline:2px solid rgba(243,63,204,.28);
  outline-offset:2px;
}

/* Télécommande / Stream Deck V1 */
.remote-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.remote-url-grid{display:grid;grid-template-columns:1fr;gap:12px}
.remote-url-card{display:flex;align-items:center;gap:18px}
.remote-key-preview{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:18px;border:1px solid rgba(145,71,255,.38);background:linear-gradient(135deg,rgba(145,71,255,.28),rgba(243,63,204,.16));font-size:24px;font-weight:950}
.remote-key-preview.danger-preview{border-color:rgba(255,101,126,.35);background:rgba(255,101,126,.12);color:#ffdce3}
.remote-url-main{min-width:0;flex:1}.remote-url-main h3{margin:0 0 5px}.remote-url-main p{margin:0 0 12px}
.remote-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.remote-url-row input{min-width:0;width:100%;border:1px solid var(--border);border-radius:11px;background:#0e0a14;color:#cfc4d9;padding:11px 12px;font:12px Consolas,monospace}
.remote-help-card{margin-top:24px}.remote-help-card h3{margin:5px 0 0}.remote-steps{margin:18px 0;padding-left:22px;color:var(--muted);line-height:1.7}.remote-steps strong{color:var(--text)}
.remote-token-actions{display:flex;align-items:center;gap:14px;margin-top:18px}.remote-token-actions small{color:var(--muted)}
@media(max-width:700px){.remote-url-card{align-items:flex-start;flex-direction:column}.remote-url-row{grid-template-columns:1fr}.remote-key-preview{width:58px;height:58px;flex-basis:58px}.remote-status-stack{align-items:flex-start}.remote-token-actions{align-items:stretch;flex-direction:column}}


/* Discord Bridge V1 */
.discord-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 26px}
.discord-status-grid .card{display:flex;flex-direction:column;gap:7px}
.discord-status-grid strong{font-size:20px}
.discord-status-grid small{color:var(--muted)}
.discord-name-field{max-width:560px;margin:18px 0}
.discord-webhook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.discord-webhook-card{padding:17px;border:1px solid var(--border);border-radius:15px;background:rgba(10,8,15,.34)}
.discord-webhook-card p{color:var(--muted);min-height:44px}
.discord-webhook-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.discord-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.discord-notification-grid .settings-toggle-card{margin:0!important}
.discord-security-note{margin-top:24px}
.discord-security-note h3{margin:6px 0}
@media(max-width:1000px){
  .discord-webhook-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .discord-status-grid,.discord-notification-grid{grid-template-columns:1fr}
}


/* Discord Bridge V1.1 — routage par événement */
.discord-routing-title{margin-top:30px}
.discord-routing-card{padding:0;overflow:hidden}
.discord-routing-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  gap:22px;
  padding:12px 18px;
  border-bottom:1px solid var(--border);
  color:#978ba1;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}
.discord-route-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  align-items:center;
  gap:22px;
  padding:16px 18px;
  border-bottom:1px solid var(--border);
  cursor:default
}
.discord-route-row:last-child{border-bottom:0}
.discord-route-row>div{display:flex;flex-direction:column;gap:4px}
.discord-route-row strong{font-size:15px}
.discord-route-row p{margin:0;color:var(--muted);font-size:12px}
.discord-route-select{width:100%}
.discord-reward-options{
  margin-top:22px;
  transition:opacity .16s ease
}
.discord-reward-options .settings-toggle-card{margin:0!important}
.discord-reward-options.route-disabled{opacity:.5}
#discordForm .sticky-save-bar{
  position:relative;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07)
}

/* Un peu plus d'air entre les cartes de connexion Discord et les sections suivantes */
.discord-webhook-grid{margin-bottom:8px}
.discord-routing-card + .discord-reward-options{margin-top:24px}

@media(max-width:760px){
  .discord-routing-head{display:none}
  .discord-route-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:15px
  }
}


/* Discord Routing — menus déroulants style LOXY */
.discord-route-select{
  width:100%;
  min-height:44px;
  padding:0 46px 0 14px;
  border:1px solid rgba(145,71,255,.34);
  border-radius:11px;
  background:
    linear-gradient(45deg,transparent 50%,#b9abc8 50%) calc(100% - 19px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,#b9abc8 50%,transparent 50%) calc(100% - 13px) 50%/6px 6px no-repeat,
    linear-gradient(180deg,#171020 0%,#100b16 100%);
  color:#f7f1fb;
  font:inherit;
  font-weight:700;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    transform .1s ease;
}

.discord-route-select:hover{
  border-color:rgba(243,63,204,.62);
  background:
    linear-gradient(45deg,transparent 50%,#f0c8e7 50%) calc(100% - 19px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,#f0c8e7 50%,transparent 50%) calc(100% - 13px) 50%/6px 6px no-repeat,
    linear-gradient(180deg,#1d1327 0%,#120c19 100%);
}

.discord-route-select:focus,
.discord-route-select:focus-visible{
  outline:none;
  border-color:#f33fcc;
  box-shadow:
    0 0 0 3px rgba(243,63,204,.13),
    0 9px 24px rgba(0,0,0,.18);
}

.discord-route-select:active{
  transform:translateY(1px);
}

.discord-route-select option{
  background:#120d18;
  color:#f5effa;
  font-weight:600;
}


/* Planning Twitch V1 */
.planning-header-actions{display:flex;gap:10px;align-items:center}
.planning-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 26px}
.planning-status-grid .card{display:flex;flex-direction:column;gap:7px}
.planning-status-grid strong{font-size:22px}
.planning-status-grid small{color:var(--muted)}
.planning-status-good{color:#52e99a}
.planning-status-warn{color:#ffbd54}

.planning-list{display:flex;flex-direction:column;gap:12px}
.planning-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(28,20,38,.76)
}
.planning-card-canceled{opacity:.65}
.planning-card-date{
  min-height:68px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(145,71,255,.34);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(145,71,255,.22),rgba(243,63,204,.08));
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em
}
.planning-day{font-size:28px;line-height:1;font-weight:950;letter-spacing:0}
.planning-card-main{min-width:0}
.planning-card-head{display:flex;justify-content:space-between;gap:16px}
.planning-card h3{margin:0 0 8px;font-size:19px}
.planning-badges{display:flex;gap:7px;flex-wrap:wrap}
.planning-card-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;color:var(--muted);font-size:12px}
.planning-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:440px}

.planning-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.planning-modal-note{
  margin-top:16px;
  padding:12px 14px;
  border:1px solid rgba(145,71,255,.24);
  border-radius:12px;
  color:var(--muted);
  font-size:12px;
  background:rgba(145,71,255,.06)
}
.planning-category-field{position:relative}
.planning-category-results{
  position:absolute;
  z-index:20;
  left:0;right:0;
  top:68px;
  max-height:260px;
  overflow:auto;
  padding:7px;
  border:1px solid rgba(145,71,255,.35);
  border-radius:12px;
  background:#100b16;
  box-shadow:0 18px 50px rgba(0,0,0,.45)
}
.planning-category-results button{
  width:100%;
  padding:10px 11px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer
}
.planning-category-results button:hover{background:rgba(145,71,255,.16)}
.planning-category-empty{padding:10px;color:var(--muted)}
#planningRecurringWarning{margin-bottom:16px}

@media(max-width:1050px){
  .planning-card{grid-template-columns:64px minmax(0,1fr)}
  .planning-card-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}
}
@media(max-width:760px){
  .planning-status-grid{grid-template-columns:1fr}
  .planning-header-actions{align-items:stretch;flex-direction:column}
  .planning-card{grid-template-columns:1fr}
  .planning-card-date{width:72px}
  .planning-card-actions{grid-column:auto}
}


/* Planning V1 — correctif modal au-dessus de la sidebar */
.modal-backdrop[hidden]{
  display:none !important;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(5,3,8,.76);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.modal-backdrop .planning-modal{
  position:relative;
  width:min(760px,calc(100vw - 36px));
  max-width:760px;
  max-height:calc(100vh - 36px);
  margin:0;
  overflow:auto;
  box-shadow:0 28px 90px rgba(0,0,0,.52);
}

@media(max-width:760px){
  .modal-backdrop{
    padding:10px;
    align-items:flex-start;
  }

  .modal-backdrop .planning-modal{
    width:100%;
    max-height:calc(100vh - 20px);
  }
}


/* Planning V1 — laisse une vraie marge en haut du modal */
.modal-backdrop{
  align-items:flex-start;
  padding:32px 18px 24px;
  overflow-y:auto;
}

.modal-backdrop .planning-modal{
  max-height:calc(100vh - 56px);
  margin:0 auto;
}

.modal-backdrop .planning-modal .modal-head{
  padding-top:4px;
}

@media(max-width:760px){
  .modal-backdrop{
    padding:18px 10px;
  }

  .modal-backdrop .planning-modal{
    max-height:calc(100vh - 36px);
  }
}


/* Planning V1 — modal plus grand */
.modal-backdrop .planning-modal{
  width:min(960px,calc(100vw - 72px));
  max-width:960px;
  min-height:620px;
  max-height:calc(100vh - 56px);
}

@media(max-width:1000px){
  .modal-backdrop .planning-modal{
    width:calc(100vw - 40px);
    max-width:none;
    min-height:auto;
  }
}

@media(max-width:760px){
  .modal-backdrop .planning-modal{
    width:100%;
    max-width:none;
    min-height:auto;
  }
}


/* Planning V1 — centre le bloc de titre du modal en haut */
.modal-backdrop .planning-modal .modal-head{
  position:relative;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:18px 72px 6px;
}

.modal-backdrop .planning-modal .modal-head > div:first-child{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.modal-backdrop .planning-modal .modal-head .eyebrow,
.modal-backdrop .planning-modal .modal-head h2{
  text-align:center;
}

.modal-backdrop .planning-modal .modal-head h2{
  margin:6px 0 0;
}

.modal-backdrop .planning-modal #closePlanningModal,
.modal-backdrop .planning-modal .modal-head .icon-btn{
  position:absolute;
  top:16px;
  right:16px;
}

@media(max-width:760px){
  .modal-backdrop .planning-modal .modal-head{
    padding:16px 56px 6px;
  }

  .modal-backdrop .planning-modal #closePlanningModal,
  .modal-backdrop .planning-modal .modal-head .icon-btn{
    top:12px;
    right:12px;
  }
}


/* Notifications LoxyBot — contraste renforcé */
.toast{
  z-index:20000;
  max-width:min(680px,calc(100vw - 44px));
  background:#17111f;
  color:#f7f3fb;
  border:1px solid #4a3a5b;
  box-shadow:0 14px 42px rgba(0,0,0,.48);
  font-weight:700;
  line-height:1.4;
  opacity:0;
}

.toast.show{
  opacity:1;
}

.toast.good{
  color:#f7f3fb;
  border-color:rgba(68,217,143,.58);
  background:linear-gradient(180deg,#18231f,#121a17);
}

.toast.bad{
  color:#fff2f4;
  border-color:rgba(255,101,126,.72);
  background:linear-gradient(180deg,#2a151c,#1b1015);
}

.toast.good::before{
  content:"✓ ";
  color:#44d98f;
}

.toast.bad::before{
  content:"⚠ ";
  color:#ff657e;
}


/* Gestion Live V2 */
.stream-control-hero{align-items:center}
.stream-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.stream-hero-status strong{font-size:15px;color:var(--muted)}

.stream-tabs{
  display:flex;
  gap:7px;
  padding:6px;
  margin:24px 0 18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(12,8,17,.7);
  overflow-x:auto
}
.stream-tab{
  flex:1;
  min-width:130px;
  border:0;
  border-radius:10px;
  padding:11px 14px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:800;
  cursor:pointer
}
.stream-tab:hover{background:rgba(145,71,255,.09);color:var(--text)}
.stream-tab.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(145,71,255,.3),rgba(243,63,204,.18));
  box-shadow:inset 0 0 0 1px rgba(243,63,204,.22)
}
.stream-tab-panel{display:none}
.stream-tab-panel.active{display:block}

.stream-category-field{position:relative}
.stream-inline-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:17px}
.stream-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.stream-action-card{display:flex;flex-direction:column;gap:10px}
.stream-action-card>div:first-child p{margin-bottom:0}
.stream-action-card .btn{align-self:flex-start}
.stream-raid-card{grid-column:1/-1}

.stream-live-tool-card{margin-bottom:16px}
.stream-tool-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.stream-tool-head h3{margin:5px 0 0}
.stream-result-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.stream-result-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(10,8,15,.35)
}
.stream-result-row strong{white-space:nowrap}
.stream-prediction-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.stream-outcome-card{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(10,8,15,.35)
}
.stream-outcome-card strong{font-size:17px}
.stream-outcome-card span{color:var(--muted);font-size:12px}
.stream-outcome-card .btn{margin-top:7px;align-self:flex-start}

@media(max-width:900px){
  .stream-action-grid{grid-template-columns:1fr}
  .stream-raid-card{grid-column:auto}
}
@media(max-width:760px){
  .stream-hero-status{align-items:flex-start}
  .stream-prediction-outcomes{grid-template-columns:1fr}
  .stream-result-row{align-items:flex-start;flex-direction:column;gap:5px}
  .stream-result-row strong{white-space:normal}
}


/* Stream Control V2.1 — espacement des CTA Sondage / Prédiction */
#pollPointsCostField{
  margin-top:22px;
  margin-bottom:0;
}

#pollCreate{
  margin-top:24px;
}

#predictionCreate{
  margin-top:24px;
}

/* Le bouton ne colle plus à la dernière ligne même si le champ Channel Points est masqué. */
#pollPointsCostField[hidden] + #pollCreate{
  margin-top:24px;
}

/* Pack OAuth */
.oauth-pack-card{padding:20px}
.oauth-pack-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px
}
.oauth-pack-head h3{margin:5px 0 4px}
.oauth-pack-head p{margin:0;color:var(--muted)}
.oauth-pack-good{color:var(--green)}
.oauth-pack-warn{color:var(--yellow)}

.oauth-group-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.oauth-group-grid.compact{margin-top:14px}
.oauth-group-card{
  padding:14px;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(10,8,15,.34)
}
.oauth-group-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px
}
.oauth-group-card-head>div{
  display:flex;
  flex-direction:column;
  gap:4px
}
.oauth-group-card-head small{color:var(--muted)}

.oauth-scope-chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap
}
.oauth-scope-chip{
  display:inline-flex;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:7px;
  background:#0d0912;
  color:#92859d;
  font-size:10px;
  line-height:1.2
}
.oauth-scope-chip.granted{
  color:#bff4d7;
  border-color:rgba(68,217,143,.25);
  background:rgba(68,217,143,.06)
}
.oauth-planned-block{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07)
}
.oauth-planned-block h3{margin:5px 0 4px}
.oauth-planned-block p{margin:0;color:var(--muted)}

@media(max-width:900px){
  .oauth-group-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .oauth-pack-head{
    align-items:stretch;
    flex-direction:column
  }
}


/* Modération V1 */
.moderation-hero{align-items:center}
.moderation-hero-status{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.moderation-action-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.moderation-action-buttons.secondary{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}

.moderation-list{display:flex;flex-direction:column;gap:10px}
.moderation-row-card,
.moderation-unban-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(27,20,36,.7)
}
.moderation-row-card>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.moderation-row-card p{margin:0;color:var(--muted)}
.moderation-row-card small,
.moderation-unban-card small{color:#887b94}
.moderation-row-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}

.moderation-chat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.moderation-chat-grid>.settings-toggle-card{margin:0!important}
.moderation-setting-card{
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(10,8,15,.28);
  padding:0 14px 14px
}
.moderation-setting-card .settings-toggle-card{
  margin:0 -14px!important;
  border:0!important;
  border-bottom:1px solid var(--border)!important;
  border-radius:14px 14px 0 0!important;
}
.moderation-chat-actions{
  grid-column:1/-1;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.06)
}

.moderation-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.moderation-add-row input{
  width:100%;
  border:1px solid var(--border);
  border-radius:11px;
  background:#0e0a14;
  color:var(--text);
  padding:12px 13px;
  font:inherit
}

.moderation-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.moderation-two-col h2{margin:5px 0 6px}
.moderation-two-col p{color:var(--muted)}
.moderation-shield-card{display:flex;flex-direction:column}
.moderation-shield-status{
  margin-top:13px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:11px;
  background:rgba(10,8,15,.35);
  font-weight:800
}

.moderation-unban-card{
  align-items:stretch;
  flex-direction:column
}
.moderation-unban-card blockquote{
  margin:4px 0;
  padding:12px 14px;
  border-left:3px solid rgba(145,71,255,.65);
  border-radius:0 10px 10px 0;
  background:rgba(145,71,255,.06);
  color:#ddd3e6
}

@media(max-width:900px){
  .moderation-chat-grid,.moderation-two-col{grid-template-columns:1fr}
}
@media(max-width:700px){
  .moderation-hero-status{justify-content:flex-start}
  .moderation-row-card{align-items:flex-start;flex-direction:column}
  .moderation-add-row{grid-template-columns:1fr}
}


/* Modération V1 — espacement AutoMod */
.stream-tab-panel[data-panel="automod"] .section-card:first-child{
  padding:22px;
}

.stream-tab-panel[data-panel="automod"] .section-card:first-child > p{
  margin:10px 0 22px;
}

.stream-tab-panel[data-panel="automod"] .section-card:first-child .field{
  margin-top:0;
  gap:10px;
}

.stream-tab-panel[data-panel="automod"] #automodLevel{
  margin-top:2px;
}

.stream-tab-panel[data-panel="automod"] #automodSave{
  margin-top:20px;
}


/* Presets & sauvegardes V1 */
.preset-hero{align-items:center}
.preset-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0 20px
}
.preset-metrics .card{display:flex;flex-direction:column;gap:7px}
.preset-metrics strong{font-size:24px}
.preset-metrics small{color:var(--muted)}

.preset-security-note,
.preset-backup-guarantee,
.preset-danger-note{
  padding:15px 17px;
  border:1px solid rgba(68,217,143,.28);
  border-radius:14px;
  background:rgba(68,217,143,.055)
}
.preset-security-note p,
.preset-backup-guarantee p{
  margin:5px 0 0;
  color:var(--muted)
}
.preset-danger-note{
  margin-top:18px;
  border-color:rgba(255,189,84,.26);
  background:rgba(255,189,84,.05);
  color:#d9c49b
}

.preset-actions-title{margin-top:28px}
.preset-top-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px
}
.preset-action-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-height:190px
}
.preset-action-card h3{margin:5px 0 7px}
.preset-action-card p{margin:0;color:var(--muted)}
.preset-action-card .btn{align-self:flex-start}

.preset-list{display:flex;flex-direction:column;gap:12px}
.preset-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(27,20,36,.72)
}
.preset-card-main{min-width:0}
.preset-card-head h3{margin:7px 0 6px;font-size:19px}
.preset-card-head p{margin:0;color:var(--muted)}
.preset-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.preset-date{font-size:11px;color:#84788f}
.preset-chip-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:13px
}
.preset-chip-list span{
  padding:5px 8px;
  border:1px solid rgba(145,71,255,.22);
  border-radius:999px;
  background:rgba(145,71,255,.06);
  color:#cfc3d8;
  font-size:10px;
  font-weight:700
}
.preset-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.preset-modal{
  width:min(920px,calc(100vw - 64px))!important;
  max-width:920px!important;
}
.preset-modal .modal-head{
  position:relative;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:20px 72px 8px!important
}
.preset-modal .modal-head>div:first-child{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center
}
.preset-modal .modal-head .icon-btn{
  position:absolute;
  right:16px;
  top:16px
}
.preset-module-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:24px 0 10px
}
.preset-module-title>div{display:flex;gap:6px}
.btn.tiny{padding:7px 10px;font-size:11px}

.preset-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}
.preset-module-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:92px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(10,8,15,.34);
  cursor:pointer
}
.preset-module-card:hover{border-color:rgba(243,63,204,.34)}
.preset-module-card>div{min-width:0}
.preset-module-card strong{display:block;margin-bottom:4px}
.preset-module-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}
.preset-module-card input{flex:0 0 auto}
.preset-apply-body{padding:24px}
.preset-apply-body>p{margin:22px 0 10px;color:var(--muted)}

@media(max-width:1000px){
  .preset-top-actions{grid-template-columns:1fr}
  .preset-action-card{min-height:auto}
}
@media(max-width:800px){
  .preset-metrics{grid-template-columns:1fr}
  .preset-card{grid-template-columns:1fr}
  .preset-card-actions{justify-content:flex-start}
  .preset-module-grid{grid-template-columns:1fr}
  .preset-modal{width:calc(100vw - 30px)!important}
}


/* Profils & Modules V1 */
.module-nav-state{
  margin-left:auto;
  width:18px;
  text-align:center;
  font-size:11px;
  color:var(--green);
  line-height:1
}
.nav-item.module-nav-off{opacity:.58}
.nav-item.module-nav-off .module-nav-state{color:#746a80}
.nav-item.module-nav-off.active{opacity:.78}

.module-lock-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 24px;
  margin:-4px 0 24px;
  border:1px solid rgba(255,200,91,.30);
  border-radius:17px;
  background:linear-gradient(110deg,rgba(255,200,91,.075),rgba(145,71,255,.035)),linear-gradient(180deg,var(--panel2),var(--panel));
  position:relative;
  z-index:5
}
.module-lock-banner h2{margin:5px 0 7px;font-size:22px}
.module-lock-banner p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}
.module-lock-banner .btn{flex:0 0 auto}
.module-locked-content{
  opacity:.38!important;
  filter:saturate(.35);
  pointer-events:none!important;
  user-select:none
}

.profile-hero{align-items:center}
.profile-active-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap
}
.profile-explain-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:28px
}
.profile-explain-grid h3{margin:7px 0}
.profile-explain-grid p{margin-bottom:0}

.module-profile-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px
}
.module-profile-card{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  padding:17px;
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  transition:.16s ease
}
.module-profile-card.is-on{border-color:rgba(68,217,143,.22)}
.module-profile-card.is-off{opacity:.72}
.module-profile-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(145,71,255,.10);
  border:1px solid rgba(145,71,255,.22);
  font-size:18px;font-weight:900
}
.module-profile-card.is-off .module-profile-icon{
  background:#100c16;border-color:var(--border);color:#766c80
}
.module-profile-copy{min-width:0}
.module-profile-heading{
  display:flex;align-items:center;justify-content:space-between;gap:8px
}
.module-profile-heading h3{margin:2px 0;font-size:16px}
.module-state-text{
  font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--green)
}
.is-off .module-state-text{color:#7f7489}
.module-profile-copy p{
  margin:8px 0 10px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45
}
.module-profile-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  min-width:176px
}
.module-open-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 16px;
  border:1px solid rgba(145,71,255,.30);
  border-radius:11px;
  background:rgba(145,71,255,.08);
  color:#d6c2ff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease
}
.module-open-link:hover{
  text-decoration:none;
  color:#fff;
  background:rgba(243,63,204,.12);
  border-color:rgba(243,63,204,.36);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transform:translateY(-1px)
}
.module-switch{margin-top:0}

.profile-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
.profile-config-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:260px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:17px;
  background:linear-gradient(180deg,var(--panel2),var(--panel))
}
.profile-config-card.is-active{
  border-color:rgba(68,217,143,.36);
  box-shadow:inset 0 0 0 1px rgba(68,217,143,.06)
}
.profile-config-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px
}
.profile-config-top h3{margin:8px 0 6px;font-size:19px}
.profile-config-top p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.profile-badges{display:flex;gap:6px;flex-wrap:wrap}
.profile-module-count{
  flex:0 0 auto;
  display:grid;place-items:center;
  min-width:44px;height:36px;
  padding:0 9px;
  border-radius:11px;
  background:#100c16;
  border:1px solid var(--border);
  font-size:12px
}
.profile-card-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:4px
}
.profile-card-actions .btn{padding:9px 11px;font-size:11px}
.profile-card-actions .btn[disabled]{opacity:.55;cursor:default}
.profile-personal-title{margin-top:34px}
.profile-title-actions{display:flex;gap:8px}
.profile-personal-list{
  margin-top:14px;
  margin-bottom:24px
}

.profile-privacy-note{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:16px
}
.profile-privacy-note>div{
  padding:16px 18px;
  border:1px solid rgba(145,71,255,.25);
  border-radius:14px;
  background:rgba(145,71,255,.045)
}
.profile-privacy-note p{margin:6px 0 0;color:var(--muted);line-height:1.5;font-size:12px}

.profile-modal{width:min(650px,92vw)}
.profile-modal-note{
  margin-top:18px;
  padding:13px 14px;
  border:1px solid rgba(68,217,143,.22);
  border-radius:12px;
  background:rgba(68,217,143,.045);
  color:var(--muted);
  font-size:12px
}

@media(max-width:1200px){
  .module-profile-grid,.profile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .module-profile-grid,.profile-card-grid,.profile-explain-grid,.profile-privacy-note{grid-template-columns:1fr}
  .profile-hero,.module-lock-banner{align-items:flex-start;flex-direction:column}
  .profile-active-actions{justify-content:flex-start}
}


/* Module direct ON/OFF control */
.topbar .module-direct-toggle{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:150px;
  padding:10px 12px 10px 14px;
  border:1px solid rgba(68,217,143,.28);
  border-radius:14px;
  background:rgba(68,217,143,.055);
  box-shadow:inset 0 0 0 1px rgba(68,217,143,.025)
}
.topbar .module-direct-toggle.is-off{
  border-color:rgba(138,126,151,.28);
  background:rgba(138,126,151,.055)
}
.module-direct-toggle-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:72px
}
.module-direct-toggle-label{
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  color:var(--muted)
}
.module-direct-toggle strong{
  font-size:12px;
  color:var(--green)
}
.module-direct-toggle.is-off strong{color:#8d8198}
.module-direct-switch{margin-left:auto;flex:0 0 auto}

@media(max-width:800px){
  .topbar .module-direct-toggle{
    width:100%;
    margin-left:0;
    margin-top:12px
  }
}


/* Module direct ON/OFF control v1.1 */
.topbar .module-direct-toggle{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:260px;
  padding:10px 14px;
  border:1px solid rgba(68,217,143,.28);
  border-radius:16px;
  background:rgba(68,217,143,.055);
  box-shadow:inset 0 0 0 1px rgba(68,217,143,.025)
}
.topbar .module-direct-toggle.is-off{
  border-color:rgba(138,126,151,.28);
  background:rgba(138,126,151,.055)
}
.module-direct-toggle-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:64px
}
.module-direct-toggle-label{
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--muted)
}
.module-direct-switch{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font:inherit
}
.module-direct-switch:disabled{opacity:.65;cursor:wait}
.module-direct-switch-text{
  font-size:12px;
  font-weight:800;
  color:#8d8198;
  transition:color .18s ease,opacity .18s ease
}
.module-direct-switch.is-off .module-direct-switch-text.off{color:var(--red)}
.module-direct-switch.is-on .module-direct-switch-text.on{color:var(--green)}
.module-direct-switch-track{
  position:relative;
  width:58px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(145,71,255,.34);
  background:rgba(23,17,31,.95);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), inset 0 8px 18px rgba(0,0,0,.28);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.module-direct-switch.is-on .module-direct-switch-track{
  background:linear-gradient(90deg,rgba(145,71,255,.92),rgba(243,63,204,.92));
  border-color:rgba(243,63,204,.42);
  box-shadow:0 0 0 4px rgba(243,63,204,.08), inset 0 8px 18px rgba(0,0,0,.18);
}
.module-direct-switch.is-off .module-direct-switch-track{
  background:rgba(24,19,31,.95);
  border-color:rgba(138,126,151,.34)
}
.module-direct-switch-knob{
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  transition:transform .2s ease;
}
.module-direct-switch.is-on .module-direct-switch-knob{transform:translateX(28px)}

@media(max-width:800px){
  .topbar .module-direct-toggle{
    width:100%;
    min-width:0;
    margin-left:0;
    margin-top:12px;
    justify-content:space-between
  }
}


/* Global Loxy ON/OFF switch — pure Activé/Désactivé states only */
.loxy-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  cursor:pointer;
  user-select:none;
  white-space:nowrap
}
.loxy-toggle input[type="checkbox"]{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none
}
.loxy-toggle-state{
  font-size:11px;
  font-weight:850;
  color:#81758c;
  transition:color .18s ease,opacity .18s ease
}
.loxy-toggle input:not(:checked) ~ .loxy-toggle-off{color:var(--red)}
.loxy-toggle input:checked ~ .loxy-toggle-on{color:var(--green)}
.loxy-toggle-track{
  position:relative;
  width:58px;
  height:30px;
  flex:0 0 58px;
  border-radius:999px;
  border:1px solid rgba(138,126,151,.34);
  background:rgba(24,19,31,.95);
  box-shadow:inset 0 7px 16px rgba(0,0,0,.28);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease
}
.loxy-toggle-knob{
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 14px rgba(0,0,0,.35);
  transition:transform .2s ease
}
.loxy-toggle input:checked ~ .loxy-toggle-track{
  background:linear-gradient(90deg,rgba(145,71,255,.94),rgba(243,63,204,.94));
  border-color:rgba(243,63,204,.46);
  box-shadow:0 0 0 4px rgba(243,63,204,.07),inset 0 7px 16px rgba(0,0,0,.17)
}
.loxy-toggle input:checked ~ .loxy-toggle-track .loxy-toggle-knob{transform:translateX(28px)}
.loxy-toggle:has(input:disabled){opacity:.52;cursor:not-allowed}
.loxy-toggle:focus-within .loxy-toggle-track{
  outline:2px solid rgba(243,63,204,.35);
  outline-offset:2px
}
.settings-toggle-card .loxy-toggle,
.toggle-row .loxy-toggle{margin-left:auto;flex:0 0 auto}
.field .loxy-toggle{margin-top:7px}
.reward-action-enabled.loxy-toggle{height:44px;align-self:end}
.module-switch.loxy-toggle{margin-top:1px}
.module-direct-toggle .loxy-toggle{margin-left:auto}
.shield-toggle-row{display:flex;align-items:center;margin-top:18px}

@media(max-width:640px){
  .loxy-toggle{gap:7px}
  .loxy-toggle-state{font-size:10px}
}


/* Module cards layout V1 — switch above the open-module button */
@media(max-width:1180px){
  .module-profile-card{grid-template-columns:44px minmax(0,1fr)}
  .module-profile-actions{
    grid-column:2;
    width:100%;
    min-width:0;
    align-items:flex-start
  }
  .module-profile-actions .module-open-link{width:auto;min-width:176px}
}
@media(max-width:760px){
  .module-profile-actions .module-open-link{width:100%}
}


/* Module cards — larger "Ouvrir le module" text */
.module-profile-actions .module-open-link{
  font-size:16px !important;
  font-weight:900 !important;
  min-height:48px;
  padding:12px 18px;
  letter-spacing:.005em
}


/* Module cards — larger descriptions, normal action button text */
.module-profile-copy p{
  font-size:13px !important;
  line-height:1.5 !important;
}

.module-profile-actions .module-open-link{
  font-size:12px !important;
  min-height:42px !important;
  padding:10px 16px !important;
}


/* Command cards — direct ON/OFF beside Régler / Modifier */
.command-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex:0 0 auto;
  flex-wrap:wrap
}
.command-card-actions .command-inline-toggle{
  flex:0 0 auto
}
.command-card-actions .btn{
  flex:0 0 auto
}

@media(max-width:760px){
  .command-card-actions{
    width:100%;
    justify-content:flex-start;
    padding-top:8px
  }
}


/* Multi-streamer V1 */
.streamer-v1-note{
  margin:18px 0 28px;
  padding:16px 18px;
  border:1px solid rgba(145,71,255,.25);
  border-radius:14px;
  background:rgba(145,71,255,.045)
}
.streamer-v1-note p{margin:6px 0 0;color:var(--muted);line-height:1.5}
.streamer-list{display:flex;flex-direction:column;gap:12px}
.streamer-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:17px;
  background:linear-gradient(180deg,var(--panel2),var(--panel))
}
.streamer-card.is-active{
  border-color:rgba(68,217,143,.38);
  box-shadow:inset 0 0 0 1px rgba(68,217,143,.05)
}
.streamer-avatar{
  width:52px;height:52px;border-radius:15px;
  display:grid;place-items:center;
  font-weight:950;font-size:20px;
  background:linear-gradient(135deg,rgba(145,71,255,.35),rgba(243,63,204,.30));
  border:1px solid rgba(243,63,204,.20)
}
.streamer-copy{min-width:0}
.streamer-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.streamer-title-row h3{margin:0;font-size:18px}
.streamer-copy p{margin:6px 0 4px;color:var(--muted)}
.streamer-copy small{color:#81758c}
.streamer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.streamer-actions .btn[disabled]{opacity:.58;cursor:default}
@media(max-width:820px){
  .streamer-card{grid-template-columns:48px minmax(0,1fr)}
  .streamer-actions{grid-column:1/-1;justify-content:flex-start}
}


/* Multi-streamer V1.1 — sidebar scrollable + UI sans identifiants techniques */
@media (min-width:981px){
  .sidebar{
    overflow:hidden;
  }
  .brand{
    flex:0 0 auto;
  }
  .nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:6px;
    scrollbar-width:thin;
    scrollbar-color:rgba(243,63,204,.42) transparent;
  }
  .nav::-webkit-scrollbar{width:6px}
  .nav::-webkit-scrollbar-track{background:transparent}
  .nav::-webkit-scrollbar-thumb{
    background:rgba(243,63,204,.32);
    border-radius:999px;
  }
  .nav::-webkit-scrollbar-thumb:hover{background:rgba(243,63,204,.5)}
  .sidebar-foot{
    flex:0 0 auto;
    margin-top:10px;
  }
}

/* Sessions Web V1 */
.login-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 20% 10%,rgba(145,71,255,.16),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(243,63,204,.11),transparent 30%),
    var(--bg);
}
.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
}
.login-card{
  width:min(620px,100%);
  padding:34px;
  border:1px solid var(--border);
  border-radius:22px;
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.login-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:32px;
}
.login-card h1{
  margin:7px 0 12px;
  font-size:34px;
  line-height:1.08;
}
.login-lead{
  margin:0 0 26px;
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
}
.login-twitch-btn{
  width:100%;
  min-height:48px;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:16px;
}
.login-help{
  margin:16px 0 0;
  color:#8f839a;
  font-size:13px;
  line-height:1.5;
  text-align:center;
}
.login-message{
  margin-top:18px;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
}
.login-message.is-error{
  border:1px solid rgba(255,90,115,.30);
  background:rgba(255,90,115,.08);
  color:#ff9aaa;
}
.streamer-avatar-image{
  object-fit:cover;
  display:block;
}
@media(max-width:620px){
  .login-shell{padding:16px}
  .login-card{padding:24px}
  .login-card h1{font-size:28px}
}
