/* Dense management surfaces for the new admin shell. Keep every rule inside
   the shell so login pages and standalone browser sources retain their design. */
body.admin-panel [data-page="overview"],
body.admin-panel [data-page="discord"],
body.admin-panel [data-page="discord/bot"],
body.admin-panel [data-page^="twitch"],
body.admin-panel [data-page^="settings"],
body.admin-panel [data-page="account"],
body.admin-panel [data-page="users"],
body.admin-panel [data-page^="studio/"] { min-width:0; width:100%; }

body.admin-panel .route-page > .panel,
body.admin-panel .route-page article.panel,
body.admin-panel .route-page form.panel,
body.admin-panel .route-page details.panel {
  min-width:0; margin:0 0 12px; padding:14px; border-radius:2px;
}
body.admin-panel .route-page .panel-heading { gap:10px; margin-bottom:12px; }
body.admin-panel .route-page .panel-heading h2 { font-size:14px; line-height:1.35; }
body.admin-panel .route-page .panel-heading p,
body.admin-panel .route-page .help-text { font-size:11px; line-height:1.5; }
body.admin-panel .route-page .management-quicklinks { gap:6px; margin:0 0 12px; }
body.admin-panel [data-page="overview"] .management-quicklinks { display:flex; flex-wrap:wrap; }
body.admin-panel [data-page="overview"] .stats-grid { gap:8px; }
body.admin-panel [data-page="overview"] .stat-card { min-width:0; padding:12px; border-radius:2px; }
body.admin-panel [data-page="overview"] .overview-columns { gap:12px; }
body.admin-panel [data-page="overview"] .stat-grid { gap:8px; }
body.admin-panel .route-page .two-columns,
body.admin-panel .route-page .account-layout,
body.admin-panel .route-page .moderation-layout,
body.admin-panel .route-page .playlist-layout,
body.admin-panel .route-page .schedule-layout {
  gap:12px; align-items:start; min-width:0;
}
body.admin-panel .route-page .two-columns > *,
body.admin-panel .route-page .account-layout > *,
body.admin-panel .route-page .moderation-layout > *,
body.admin-panel .route-page .playlist-layout > *,
body.admin-panel .route-page .schedule-layout > * { min-width:0; }
body.admin-panel .route-page .platform-banner { margin-bottom:12px; padding:12px 14px; border-radius:2px; }
body.admin-panel .route-page .inventory-list,
body.admin-panel .route-page .command-catalog,
body.admin-panel .route-page .response-list,
body.admin-panel .route-page .timer-list,
body.admin-panel .route-page .moderation-history { min-width:0; }
body.admin-panel .route-page .inventory-list > *,
body.admin-panel .route-page .follow-list > *,
body.admin-panel .route-page .user-list > * { min-width:0; overflow-wrap:anywhere; }
body.admin-panel .route-page .settings-fields { gap:10px 16px; }
body.admin-panel .route-page .field { min-width:0; margin-bottom:10px; }
body.admin-panel .route-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),
body.admin-panel .route-page select,
body.admin-panel .route-page textarea { max-width:100%; min-width:0; border-radius:2px; }
body.admin-panel .route-page textarea { resize:vertical; }
body.admin-panel .route-page .form-footer,
body.admin-panel .route-page .save-row { gap:8px; margin-top:12px; padding-top:10px; }
body.admin-panel .route-page .count-tag,
body.admin-panel .route-page .badge { border-radius:2px; }
body.admin-panel .route-page .collection-actions { gap:4px; }
body.admin-panel .route-page .collection-actions .ui-icon-button { width:36px; min-width:36px; height:36px; min-height:36px; padding:7px; border-color:transparent; background:transparent; color:var(--muted,#a0a5ab); border-radius:2px; }
body.admin-panel .route-page .collection-actions .ui-icon-button:hover:enabled { border-color:var(--line,#323538); background:#23262a; color:var(--accent,#ebbb90); }
body.admin-panel .route-page .collection-actions .ui-icon-button:focus-visible { outline:2px solid var(--accent,#ebbb90); outline-offset:2px; }
body.admin-panel .route-page summary { cursor:pointer; }
body.admin-panel .route-page .field { min-width:0; }
body.admin-panel .route-page .field > input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),
body.admin-panel .route-page .field > select,
body.admin-panel .route-page .field > textarea { box-sizing:border-box; width:100%; }
body.admin-panel .route-page .settings-group { min-width:0; gap:12px 20px; padding:18px 0; border-color:var(--line,#34373d); }
body.admin-panel .route-page .settings-group > h3 { margin:0; color:var(--text,#e5e7eb); font-size:13px; }
body.admin-panel .route-page .settings-group > .help-text { max-width:76ch; margin:0; }
body.admin-panel .route-page .settings-group .field { margin:0; }
body.admin-panel .route-page .setting-toggle { min-width:0; gap:16px; padding:14px 0; }
body.admin-panel .route-page .setting-toggle > div { min-width:0; }
body.admin-panel .route-page .setting-toggle p { max-width:72ch; }
body.admin-panel .route-page .save-row,
body.admin-panel .route-page .form-footer { min-width:0; }
body.admin-panel .route-page .save-row p,
body.admin-panel .route-page .form-footer p { max-width:78ch; }
body.admin-panel .route-page .follow-row { min-width:0; gap:10px; }
body.admin-panel .route-page .follow-name { min-width:0; overflow-wrap:anywhere; }
body.admin-panel .route-page .follow-row .badge { flex:none; }
body.admin-panel .management-dialog { box-sizing:border-box; width:min(680px,calc(100vw - 28px)); max-height:min(88dvh,900px); padding:24px; border:1px solid var(--line,#34373d); border-radius:2px; background:var(--panel,#1b1d20); color:var(--text,#e5e7eb); }
body.admin-panel .management-dialog > form.panel { min-width:0; }
body.admin-panel .management-dialog-heading { align-items:flex-start; margin-bottom:16px; }
body.admin-panel .management-dialog .dialog-actions { gap:8px; margin-top:20px; }
body.admin-panel .route-page button:focus-visible,
body.admin-panel .route-page a:focus-visible,
body.admin-panel .route-page input:focus-visible,
body.admin-panel .route-page select:focus-visible,
body.admin-panel .route-page textarea:focus-visible,
body.admin-panel .route-page summary:focus-visible,
body.admin-panel .management-dialog button:focus-visible,
body.admin-panel .management-dialog a:focus-visible,
body.admin-panel .management-dialog input:focus-visible,
body.admin-panel .management-dialog select:focus-visible,
body.admin-panel .management-dialog textarea:focus-visible,
body.admin-panel .management-dialog summary:focus-visible { outline-color:var(--accent,#ebbb90); }
body.admin-panel #discordCommandList,
body.admin-panel #twitchCommandList { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:8px; }
body.admin-panel #discordCommandList > *,
body.admin-panel #twitchCommandList > * { min-width:0; }
body.admin-panel #twitchCommandList .command-editable { padding:10px; border:1px solid var(--line,#34373d); background:var(--surface,#1b1d20); border-radius:2px; }
body.admin-panel #channelList,
body.admin-panel #roleList { max-height:min(66vh,780px); overflow:auto; scrollbar-gutter:stable; }
body.admin-panel #workspaceRestartPanel { margin-top:14px; padding-top:12px; border-top:1px solid var(--line,#34373d); }
body.admin-panel #accountDeletionPanel { display:flex; align-items:center; justify-content:space-between; gap:12px; }
body.admin-panel #accountDeletionPanel[hidden] { display:none!important; }

/* Music, video and playlist workspaces are generated by their existing views. */
body.admin-panel #musicAdmin .music-admin-grid,
body.admin-panel #musicAdmin .video-library-workspace,
body.admin-panel #musicAdmin .music-admin-side,
body.admin-panel #musicAdmin .music-admin-main { min-width:0; }
body.admin-panel #musicAdmin .music-admin-grid { gap:12px; align-items:start; }
body.admin-panel #musicAdmin .music-admin-grid > .panel,
body.admin-panel #musicAdmin .video-library-workspace > .panel { min-width:0; padding:14px; margin:0; border-radius:2px; }
body.admin-panel #musicAdmin .music-admin-side { position:static; }
body.admin-panel #musicAdmin .music-library-tabs { gap:4px; margin:0 0 10px; border-bottom:1px solid var(--line,#34373d); }
body.admin-panel #musicAdmin .music-library-tabs [role=tab] { min-height:32px; padding:6px 9px; border-radius:2px 2px 0 0; }
body.admin-panel #musicAdmin .music-library-tabs [aria-selected=true] { color:var(--accent,#ebbb90); border-color:var(--accent,#ebbb90); }
body.admin-panel #musicAdmin .music-transport-controls { gap:4px; }
body.admin-panel #musicAdmin .music-transport-controls .button { min-height:32px; padding:5px 7px; }
body.admin-panel #musicAdmin .music-settings-fields { gap:8px 12px; }
body.admin-panel #musicAdmin .music-track,
body.admin-panel #musicAdmin .video-library-row,
body.admin-panel #musicAdmin .video-trash-row,
body.admin-panel #musicAdmin .playlist-item { min-width:0; border-radius:2px; }
body.admin-panel #musicAdmin .music-playlist-form,
body.admin-panel #musicAdmin .music-playlist-form > .field { min-width:0; }
body.admin-panel #musicAdmin .music-playlist-form select,
body.admin-panel #musicAdmin .music-playlist-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]) { width:100%; max-width:100%; }
body.admin-panel #musicAdmin .video-library-details { position:static; }
body.admin-panel #musicAdmin .video-library-workspace { grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr); gap:12px; }
body.admin-panel #musicAdmin .music-card { border-radius:2px; }

/* Soundboard tiles remain the original button nodes, including in fullscreen. */
body.admin-panel #soundboardAdmin .soundboard-toolbar { gap:10px; margin-bottom:12px; }
body.admin-panel #soundboardAdmin .soundboard-actions { gap:6px; }
body.admin-panel #soundboardAdmin .soundboard-grid { grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr); gap:12px; }
body.admin-panel #soundboardAdmin .soundboard-grid > .panel,
body.admin-panel #soundboardAdmin .soundboard-upload-area { padding:12px; border-radius:2px; }
body.admin-panel #soundboardAdmin .soundboard-library-heading { gap:8px; margin-bottom:10px; }
body.admin-panel #soundboardAdmin .soundboard-library-heading h2 { font-size:14px; }
body.admin-panel #soundboardAdmin .soundboard-tiles { grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr)); gap:8px; }
body.admin-panel #soundboardAdmin .soundboard-tile { border-radius:2px; }
body.admin-panel #soundboardAdmin .soundboard-tile-select { padding:12px; gap:7px; }
body.admin-panel #soundboardAdmin .soundboard-tile-select strong { font-size:12px; }
body.admin-panel #soundboardAdmin .soundboard-type-icon { width:40px; height:40px; border-radius:2px; font-size:20px; }
body.admin-panel #soundboardAdmin .soundboard-editor > h2 { margin-bottom:12px; }
body.admin-panel #soundboardAdmin .soundboard-fields { gap:10px; }
body.admin-panel #soundboardAdmin .soundboard-field-grid { gap:10px; }
body.admin-panel #soundboardAdmin .soundboard-preview { margin:12px 0 8px; border-radius:2px; }
body.admin-panel #soundboardAdmin .soundboard-tile-tools { gap:6px; margin:10px 0; }
body.admin-panel #soundboardAdmin .soundboard-mode-controls { flex-wrap:wrap; }
body.admin-panel #soundboardAdmin .soundboard-mode-controls .button { min-height:30px; padding:4px 8px; }
body.admin-panel #soundboardAdmin .soundboard-tile-tools input,
body.admin-panel #soundboardAdmin .soundboard-tile-tools select { min-width:100px; }
body.admin-panel #soundboardAdmin:fullscreen { width:100%; height:100%; padding:0 clamp(12px,2vw,32px) 20px; overflow:auto; }
body.admin-panel #soundboardAdmin:fullscreen .soundboard-tiles { grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr)); gap:10px; }
body.admin-panel #soundboardAdmin:fullscreen .soundboard-tile { border-radius:2px; }
body.admin-panel #soundboardAdmin:fullscreen .soundboard-tile-select { min-height:160px; padding:16px; }
body.admin-panel #soundboardAdmin:fullscreen .soundboard-toolbar { padding:14px 0 10px; }

body.admin-panel #soundsAdmin .sounds-columns { grid-template-columns:minmax(260px,.7fr) minmax(0,1.7fr); gap:12px; }
body.admin-panel #soundsAdmin .sounds-columns > .panel { min-width:0; padding:14px; margin:0; border-radius:2px; }
body.admin-panel #soundsAdmin .sounds-upload-area { padding:12px; border-radius:2px; }
body.admin-panel #soundsAdmin .sounds-filters { gap:8px; margin:12px 0 6px; }
body.admin-panel #soundsAdmin .sounds-cue { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:9px 0; }
body.admin-panel #soundsAdmin .sounds-cue h3 { font-size:12px; }
body.admin-panel #soundsAdmin .sounds-assets { max-height:62vh; }
body.admin-panel #soundsAdmin .sounds-actions { gap:5px; }
body.admin-panel #soundsAdmin .sounds-actions .button { min-height:30px; padding:5px 8px; }
body.admin-panel .sounds-picker { border-radius:2px; padding:16px; }

@media (min-width:1800px) {
  body.admin-panel #musicAdmin .music-admin-grid[data-task="library"] { grid-template-columns:minmax(0,2fr) minmax(320px,.7fr); }
  body.admin-panel #soundboardAdmin .soundboard-tiles { grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); }
}
@media (max-width:1050px) {
  body.admin-panel .route-page .account-layout,
  body.admin-panel .route-page .moderation-layout,
  body.admin-panel .route-page .schedule-layout,
  body.admin-panel #musicAdmin .video-library-workspace,
  body.admin-panel #soundsAdmin .sounds-columns { grid-template-columns:minmax(0,1fr); }
  body.admin-panel #soundboardAdmin .soundboard-grid { grid-template-columns:minmax(0,1fr); }
  body.admin-panel #soundboardAdmin .soundboard-editor[hidden] { display:none!important; }
}
@media (max-width:650px) {
  body.admin-panel .route-page > .panel,
  body.admin-panel .route-page article.panel,
  body.admin-panel .route-page form.panel,
  body.admin-panel .route-page details.panel,
  body.admin-panel #musicAdmin .music-admin-grid > .panel,
  body.admin-panel #soundsAdmin .sounds-columns > .panel { padding:10px; }
  body.admin-panel .route-page .two-columns,
  body.admin-panel .route-page .playlist-layout { grid-template-columns:minmax(0,1fr); }
  body.admin-panel #accountDeletionPanel { align-items:stretch; flex-direction:column; }
  body.admin-panel #twitchCommandList .command-editable { grid-template-columns:minmax(0,1fr) auto; }
  body.admin-panel #twitchCommandList .command-editable > .toggle-label { grid-column:2; }
  body.admin-panel #twitchCommandList .command-details { grid-column:1/-1; grid-row:2; }
  body.admin-panel #musicAdmin .video-library-workspace { grid-template-columns:minmax(0,1fr); }
  body.admin-panel #musicAdmin .music-transport-controls { grid-template-columns:repeat(5,minmax(0,1fr)); }
  body.admin-panel #soundboardAdmin .soundboard-field-grid,
  body.admin-panel #soundsAdmin .sounds-cue { grid-template-columns:minmax(0,1fr); }
  body.admin-panel #soundboardAdmin .soundboard-fields .field > label { min-height:0; }
  body.admin-panel #soundboardAdmin .soundboard-toolbar > .soundboard-actions { width:100%; }
  body.admin-panel #soundsAdmin .sounds-assets { max-height:38vh; }
  body.admin-panel .route-page .settings-group { grid-template-columns:minmax(0,1fr); gap:10px; }
  body.admin-panel .route-page .setting-toggle { align-items:flex-start; }
  body.admin-panel .route-page .form-footer,
  body.admin-panel .route-page .save-row { align-items:flex-start; }
  body.admin-panel .management-dialog { padding:18px; }
}
