/* Couche visuelle ShowManager. Les grilles et la timeline de régie ne sont pas redimensionnées ici. */
body.mode-regie {
  --regie-bg: #070814;
  --regie-panel-bg: #101326;
  --regie-border: rgba(255, 255, 255, 0.1);
  --regie-text-main: #f7f7fb;
  --regie-text-muted: #9da2ba;
  --regie-accent: #8f74ff;
  --regie-accent-soft: rgba(155, 135, 255, 0.12);
  --regie-danger: #ff667b;
  --regie-success: #67eaa2;
  --regie-radius: 15px;
  --regie-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

body.mode-regie .regie-root { font-family: 'Manrope', 'Segoe UI', sans-serif; }
body.mode-regie .regie-title { letter-spacing: -.035em; }
body.mode-regie .regie-subtitle, body.mode-regie .regie-hint { color: var(--regie-text-muted); }
body.mode-regie .regie-header-logo, body.mode-regie .regie-show-card-logo { background: #0b0d1b; border-color: rgba(155,135,255,.24); box-shadow: 0 8px 22px rgba(0,0,0,.2); }
body.mode-regie .regie-panel,
body.mode-regie .regie-card,
body.mode-regie .regie-accordion,
body.mode-regie .regie-modal {
  background: linear-gradient(145deg, rgba(18,21,42,.97), rgba(10,12,27,.97));
  border-color: var(--regie-border);
  box-shadow: var(--regie-shadow);
}
body.mode-regie .regie-panel-header { border-bottom-color: rgba(255,255,255,.07); }
body.mode-regie .regie-panel-header h2 { letter-spacing: -.02em; }
body.mode-regie .regie-ops-card,
body.mode-regie .regie-modes-toolbar,
body.mode-regie .regie-mode-card,
body.mode-regie .regie-zones-group {
  background: linear-gradient(145deg, rgba(21,25,49,.96), rgba(12,14,30,.96));
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 10px 28px rgba(0,0,0,.15);
}
body.mode-regie .regie-ops-label { color: #aaaec3; }
body.mode-regie .regie-progress { background: rgba(255,255,255,.08); }
body.mode-regie .regie-progress span { background: linear-gradient(90deg, #7457ff, #52e2d0); }
body.mode-regie .regie-btn { border: 1px solid rgba(155,135,255,.18); background: rgba(155,135,255,.1); color: #cfc5ff; font-family: inherit; font-weight: 700; }
body.mode-regie .regie-btn:hover { background: rgba(155,135,255,.18); border-color: rgba(155,135,255,.34); }
body.mode-regie .regie-btn-primary { color: #fff; background: linear-gradient(135deg, #7457ff, #9277ff); border-color: rgba(255,255,255,.12); }
body.mode-regie .regie-btn-success { color: #07140e; background: #67eaa2; border-color: transparent; }
body.mode-regie .regie-btn-danger { color: #fff; background: #d94d64; border-color: rgba(255,255,255,.1); }
body.mode-regie .regie-input,
body.mode-regie .regie-input-time,
body.mode-regie .regie-textarea,
body.mode-regie .regie-select {
  color: var(--regie-text-main);
  background: rgba(7,9,20,.78);
  border-color: rgba(255,255,255,.12);
  font-family: inherit;
}
body.mode-regie .regie-input:focus,
body.mode-regie .regie-textarea:focus,
body.mode-regie .regie-select:focus { border-color: rgba(82,226,208,.6); box-shadow: 0 0 0 3px rgba(82,226,208,.1); }
body.mode-regie .regie-table th { color: #969bb1; }
body.mode-regie .regie-table td { border-color: rgba(255,255,255,.07); }
body.mode-regie .regie-table tbody tr:nth-child(odd) { background: rgba(255,255,255,.018); }
body.mode-regie .regie-table tbody tr:hover { background: rgba(155,135,255,.07); }
body.mode-regie .regie-status-log,
body.mode-regie .regie-option-row,
body.mode-regie .regie-zone-card { background: rgba(7,9,20,.72); border-color: rgba(255,255,255,.09); }
body.mode-regie .regie-option-row.regie-option-on,
body.mode-regie .regie-zone-card.regie-zone-on { border-color: rgba(103,234,162,.55); box-shadow: 0 0 0 1px rgba(103,234,162,.16); }
body.mode-regie .regie-accordion-summary::before { background: rgba(155,135,255,.09); }
body.mode-regie .regie-accordion[open] > .regie-accordion-summary::before { color: #d2caff; background: rgba(155,135,255,.2); }
body.mode-regie .regie-accordion-count, body.mode-regie .regie-tag { color: #cfc6ff; background: rgba(155,135,255,.09); border-color: rgba(155,135,255,.2); }
body.mode-regie .regie-modal-overlay { background: rgba(2,3,10,.78); backdrop-filter: blur(8px); }
body.mode-regie .regie-modal-header { background: linear-gradient(135deg, rgba(25,29,55,.99), rgba(11,13,29,.99)); }
body.mode-regie .regie-editor-sidebar { background: radial-gradient(circle at 15% 0%, rgba(155,135,255,.15), transparent 36%), rgba(7,9,20,.58); border-color: rgba(255,255,255,.08); }
body.mode-regie .regie-editor-nav-btn:hover,
body.mode-regie .regie-editor-nav-btn-active { background: rgba(155,135,255,.12); border-color: rgba(155,135,255,.25); }

body.mode-regie .sm-regie-library {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
body.mode-regie .sm-regie-library .regie-header {
  padding: 20px 22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(82,226,208,.13), transparent 34%),
    linear-gradient(135deg, rgba(20,24,48,.98), rgba(10,13,29,.98));
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
}
body.mode-regie .sm-regie-library .regie-title { margin-top: 0; font-size: clamp(25px,3vw,34px); }
body.mode-regie .sm-regie-library .regie-search { max-width: 560px; margin-top: 14px; }
body.mode-regie .sm-regie-library .regie-search-input { min-height: 40px; border-radius: 11px; }
body.mode-regie .sm-regie-library .regie-show-list {
  padding: 2px;
  gap: 10px;
}
body.mode-regie .sm-regie-library .regie-show-card-wrap {
  border-radius: 16px;
  transition: transform .18s ease, border-color .18s ease;
}
body.mode-regie .sm-regie-library .regie-show-card-wrap:hover {
  border-color: rgba(82,226,208,.28);
  transform: translateY(-2px);
}

/* Le panneau Zones avait width:100% + padding + bordure, soit environ 22 px de trop. */
body.mode-regie .regie-panel-zones {
  width: auto;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
body.mode-regie .regie-panel-zones .regie-panel-body,
body.mode-regie .regie-zones-grid-wrapper,
body.mode-regie .regie-zones-group { min-width: 0; max-width: 100%; box-sizing: border-box; }

body.mode-regie .regie-root,
body.mode-regie .regie-root *,
body.mode-regie .regie-root *::before,
body.mode-regie .regie-root *::after { box-sizing: border-box; }
body.mode-regie .regie-root-dashboard,
body.mode-regie .regie-main,
body.mode-regie .regie-row {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
body.mode-regie .regie-row > *,
body.mode-regie .regie-panel,
body.mode-regie .regie-panel-body {
  min-width: 0;
  max-width: 100%;
}
body.mode-regie .regie-panel-body.regie-scroll { scrollbar-gutter: stable; }
body.mode-regie .regie-zones-grid-wrapper {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  overflow-x: clip;
}
body.mode-regie .regie-zones-grid { min-width: 0; }
body.mode-regie .regie-zone-card,
body.mode-regie .regie-option-row,
body.mode-regie .regie-mode-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
body.mode-regie .regie-zone-main {
  flex: 1 1 120px;
  min-width: 0;
}
body.mode-regie .regie-zone-buttons {
  flex: 0 1 auto;
  min-width: 0;
}
body.mode-regie .regie-zone-buttons .regie-btn {
  min-width: 0;
  padding-inline: 9px;
}
body.mode-regie .regie-editor-zones-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.mode-regie .regie-editor-zones-col { min-width: 0; }

@media (max-width: 960px) {
  body.mode-regie .regie-zones-grid-wrapper,
  body.mode-regie .regie-editor-zones-grid {
    grid-template-columns: 1fr;
  }
}

/* Aucune règle .regie-timeline-* : la géométrie et le comportement restent entièrement inchangés. */
