/* V451 — targeted layout repair. Keeps V449 markup and handlers intact. */

/* Shared save dock: flat, compact, server picker on the left, message on the right. */
#panel-bot-control .joyjoy-save-dock-v449{
  position:sticky!important;
  bottom:8px!important;
  z-index:45!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  min-height:58px!important;
  margin-top:18px!important;
  padding:8px 0!important;
  overflow:visible!important;
  border:0!important;
  border-top:1px solid var(--account-border,var(--gh-border))!important;
  border-radius:0!important;
  background:var(--account-surface,var(--gh-card))!important;
  box-shadow:0 -7px 18px rgba(15,31,52,.05)!important;
  backdrop-filter:none!important;
}
#panel-bot-control .joyjoy-save-dock-v449>.joyjoy-save-server-picker-v449{
  order:0!important;
  flex:0 1 260px!important;
  min-width:220px!important;
  max-width:300px!important;
  margin:0!important;
}
#panel-bot-control .joyjoy-save-dock-v449>.primary{
  order:1!important;
  flex:0 0 auto!important;
  min-width:168px!important;
  min-height:42px!important;
  margin:0!important;
}
#panel-bot-control .joyjoy-save-dock-v449>.discard-unsaved-button{
  order:2!important;
  flex:0 0 auto!important;
  min-height:42px!important;
  margin:0!important;
  white-space:nowrap!important;
}
#panel-bot-control .joyjoy-save-dock-v449>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){
  order:3!important;
  flex:1 1 180px!important;
  min-width:100px!important;
  max-width:460px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  text-align:right!important;
  line-height:1.35!important;
}
#panel-bot-control .joyjoy-save-dock-v449>.joyjoy-save-result-v449{
  order:4!important;
  flex:0 0 auto!important;
  min-height:34px!important;
  margin:0!important;
  padding:4px 8px!important;
}
#panel-bot-control .joyjoy-save-server-trigger-v449{
  min-height:42px!important;
  padding:6px 10px!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:var(--account-surface-soft,var(--gh-subtle))!important;
}
#panel-bot-control .joyjoy-save-server-copy-v449>span{font-size:8px!important}
#panel-bot-control .joyjoy-save-server-copy-v449>strong{font-size:12px!important}
#panel-bot-control .joyjoy-save-server-copy-v449>small{font-size:9px!important}

/* Shieldy welcome/farewell: keep the original V449 structure, repair only sizing and spacing. */
#sh-interaction-view-welcome,
#sh-interaction-view-welcome *{min-width:0}
#sh-interaction-view-welcome .welcome-settings-column,
#sh-interaction-view-welcome .welcome-dependent{
  gap:16px!important;
}
#sh-interaction-view-welcome .welcome-event-card,
#sh-interaction-view-welcome .welcome-master-card{
  overflow:visible!important;
  border-radius:15px!important;
}
#sh-interaction-view-welcome .welcome-event-workspace{
  grid-template-columns:minmax(0,1fr) minmax(300px,350px)!important;
  align-items:start!important;
  gap:18px!important;
}
#sh-interaction-view-welcome .welcome-subsection{
  width:100%!important;
  margin:0!important;
  padding:17px!important;
  overflow:visible!important;
  border-radius:14px!important;
}
#sh-interaction-view-welcome .welcome-subsection+.welcome-subsection{margin-top:0!important}
#sh-interaction-view-welcome .welcome-channel-grid,
#sh-interaction-view-welcome .welcome-control-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#sh-interaction-view-welcome .welcome-message-card textarea,
#sh-interaction-view-welcome .welcome-native-embed-mode-card textarea{
  width:100%!important;
  min-height:92px!important;
  max-height:220px!important;
  resize:vertical!important;
}
#sh-interaction-view-welcome .welcome-card-customization{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  padding:15px!important;
  overflow:visible!important;
}
#sh-interaction-view-welcome .welcome-premium-customization-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:12px!important;
}
#sh-interaction-view-welcome .welcome-native-embed-editor{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:14px 0 0!important;
  border-top:1px solid var(--account-border,var(--gh-border))!important;
}
#sh-interaction-view-welcome .welcome-native-embed-editor-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:4px!important;
  width:100%!important;
  padding:0 0 11px!important;
  border-bottom:1px solid var(--account-border,var(--gh-border))!important;
}
/* One Premium marker is enough; the parent customization block already has it. */
#sh-interaction-view-welcome .welcome-native-embed-editor-head>.premium-feature-badge{display:none!important}
#sh-interaction-view-welcome .welcome-native-embed-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
}
#sh-interaction-view-welcome .welcome-native-embed-mode-card[hidden]{display:none!important}
#sh-interaction-view-welcome .welcome-native-embed-mode-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:14px!important;
  overflow:visible!important;
  border:1px solid var(--account-border,var(--gh-border))!important;
  border-radius:12px!important;
  background:var(--account-surface,var(--gh-card))!important;
}
#sh-interaction-view-welcome .welcome-native-embed-mode-head{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  padding:0 0 11px!important;
}
#sh-interaction-view-welcome .welcome-native-embed-mode-head>span{
  width:30px!important;
  height:30px!important;
  flex:none!important;
}
#sh-interaction-view-welcome .welcome-native-embed-mode-head>div{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
  width:auto!important;
}
#sh-interaction-view-welcome .welcome-native-embed-mode-head strong,
#sh-interaction-view-welcome .welcome-native-embed-mode-head small{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  white-space:normal!important;
}
#sh-interaction-view-welcome .welcome-native-embed-toggle{
  flex:none!important;
  white-space:nowrap!important;
}
#sh-interaction-view-welcome .welcome-embed-variable-groups,
#sh-interaction-view-welcome .welcome-embed-variable-row{
  width:100%!important;
  min-width:0!important;
}
#sh-interaction-view-welcome .compact-variable-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
#sh-interaction-view-welcome .welcome-inline-preview{
  position:sticky!important;
  top:14px!important;
  align-self:start!important;
  width:100%!important;
  max-height:560px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
#sh-interaction-view-welcome .welcome-preview-card{
  width:100%!important;
  max-width:350px!important;
  margin:0 auto!important;
  padding:13px!important;
  overflow:hidden!important;
}
#sh-interaction-view-welcome .shieldy-lolka-card-preview,
#sh-interaction-view-welcome .welcome-native-embed-shell,
#sh-interaction-view-welcome .shieldy-welcome-image-card{
  max-width:100%!important;
  width:100%!important;
}
#sh-interaction-view-welcome .welcome-banner-preview{
  aspect-ratio:2/1!important;
  min-height:0!important;
  max-height:165px!important;
}
#sh-interaction-view-welcome .welcome-section-body[hidden],
#sh-interaction-view-welcome .welcome-native-embed-mode-card[hidden]{display:none!important}

/* Shieldy logs: consistent cards and fields without rebuilding markup. */
[data-module-panel="sh-punishments"] .unified-log-builder{display:grid!important;gap:16px!important}
[data-module-panel="sh-punishments"] :is(.log-collection-master,.shieldy-routing-pro-card,.log-style-card){
  margin:0!important;
  padding:18px!important;
  border-radius:15px!important;
  overflow:visible!important;
}
[data-module-panel="sh-punishments"] .log-general-grid{
  display:grid!important;
  grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(145px,.7fr))!important;
  gap:12px!important;
  align-items:start!important;
}
[data-module-panel="sh-punishments"] .shieldy-routing-pro-grid,
[data-module-panel="sh-punishments"] .log-scope-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
[data-module-panel="sh-punishments"] .shieldy-routing-toggle-grid,
[data-module-panel="sh-punishments"] .log-display-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
[data-module-panel="sh-punishments"] .unified-log-list{display:grid!important;gap:12px!important}
[data-module-panel="sh-punishments"] .unified-log-card{
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
[data-module-panel="sh-punishments"] .unified-log-head{
  min-height:72px!important;
  border-radius:14px!important;
}
[data-module-panel="sh-punishments"] .unified-log-body[hidden]{display:none!important}
[data-module-panel="sh-punishments"] .unified-log-body{
  padding:16px!important;
  border-top:1px solid var(--account-border,var(--gh-border))!important;
}
[data-module-panel="sh-punishments"] .log-event-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
[data-module-panel="sh-punishments"] .log-event-grid>label,
[data-module-panel="sh-punishments"] .bot-log-picker>label,
[data-module-panel="sh-punishments"] .log-display-grid>.toggle-row{
  min-width:0!important;
  min-height:62px!important;
  margin:0!important;
  padding:11px 12px!important;
  border-radius:11px!important;
}
[data-module-panel="sh-punishments"] .log-scope-grid>.field,
[data-module-panel="sh-punishments"] .shieldy-routing-pro-grid>.field{
  min-width:0!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--account-border,var(--gh-border))!important;
  border-radius:11px!important;
  background:var(--account-surface-soft,var(--gh-subtle))!important;
}
[data-module-panel="sh-punishments"] :is(input,select,textarea){max-width:100%!important}

/* TuneTune settings: no horizontal overflow behind the quick-command card. */
#tunetune-music-panel .music-settings-grid{
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important;
  gap:16px!important;
  align-items:start!important;
}
#tunetune-music-panel .music-settings-grid>*{min-width:0!important;max-width:100%!important}
#tunetune-music-panel .music-settings-grid>.console-card,
#tunetune-music-panel .music-settings-grid>.command-card{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#tunetune-music-panel .music-settings-grid>.console-card form,
#tunetune-music-panel .music-settings-grid>.console-card .console-fields,
#tunetune-music-panel .volume-setting-v181,
#tunetune-music-panel .volume-control-v181,
#tunetune-music-panel .volume-scale-v181{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
#tunetune-music-panel .volume-control-v181 input[type="range"]{
  width:100%!important;
  min-width:0!important;
}
#tunetune-music-panel .music-settings-grid>.console-card .toggle-row{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#tunetune-music-panel .music-settings-grid>.console-card .toggle-row>span:first-child{min-width:0!important}
#tunetune-music-panel .command-list button{
  grid-template-columns:minmax(86px,auto) minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
}

/* TuneTune player preview: compact and bounded. */
#tunetune-music-panel .player-customization-grid{
  grid-template-columns:minmax(0,1fr) minmax(310px,370px)!important;
  align-items:start!important;
}
#tunetune-music-panel .player-customization-controls{position:relative!important;top:auto!important}
#tunetune-music-panel .player-customization-preview-wrap{
  position:sticky!important;
  top:14px!important;
  max-height:570px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
#tunetune-music-panel .player-embed-preview{width:100%!important;max-width:360px!important;margin:0 auto!important}
#tunetune-music-panel .player-preview-banner{width:100%!important;max-width:100%!important}

@media(max-width:1240px){
  #tunetune-music-panel .music-settings-grid{grid-template-columns:minmax(0,1fr)!important}
  #tunetune-music-panel .music-settings-grid>*{grid-column:1!important;grid-row:auto!important}
  #tunetune-music-panel .music-settings-grid>.command-card{max-width:none!important}
  #tunetune-music-panel .player-customization-grid{grid-template-columns:minmax(0,1fr)!important}
  #tunetune-music-panel .player-customization-preview-wrap{position:relative!important;top:auto!important;max-height:none!important}
}
@media(max-width:1050px){
  #sh-interaction-view-welcome .welcome-event-workspace{grid-template-columns:minmax(0,1fr)!important}
  #sh-interaction-view-welcome .welcome-inline-preview{position:relative!important;top:auto!important;max-height:520px!important}
  [data-module-panel="sh-punishments"] .log-general-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  #panel-bot-control .joyjoy-save-dock-v449{flex-wrap:wrap!important;padding:8px 0!important}
  #panel-bot-control .joyjoy-save-dock-v449>.joyjoy-save-server-picker-v449{flex:1 1 100%!important;max-width:none!important}
  #panel-bot-control .joyjoy-save-dock-v449>.primary,
  #panel-bot-control .joyjoy-save-dock-v449>.discard-unsaved-button{flex:1 1 calc(50% - 5px)!important;min-width:0!important}
  #panel-bot-control .joyjoy-save-dock-v449>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){
    flex:1 1 auto!important;max-width:none!important;margin-left:0!important;text-align:left!important
  }
  #sh-interaction-view-welcome .welcome-channel-grid,
  #sh-interaction-view-welcome .welcome-control-grid,
  [data-module-panel="sh-punishments"] .shieldy-routing-pro-grid,
  [data-module-panel="sh-punishments"] .shieldy-routing-toggle-grid,
  [data-module-panel="sh-punishments"] .log-scope-grid,
  [data-module-panel="sh-punishments"] .log-display-grid{grid-template-columns:minmax(0,1fr)!important}
  [data-module-panel="sh-punishments"] .log-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  #sh-interaction-view-welcome .welcome-native-embed-mode-head{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  #sh-interaction-view-welcome .welcome-native-embed-toggle{grid-column:1/-1!important;justify-self:start!important}
  #sh-interaction-view-welcome .welcome-subsection,
  #sh-interaction-view-welcome .welcome-card-customization{padding:13px!important}
  [data-module-panel="sh-punishments"] .log-general-grid,
  [data-module-panel="sh-punishments"] .log-event-grid{grid-template-columns:minmax(0,1fr)!important}
  #panel-bot-control .joyjoy-save-dock-v449>.primary,
  #panel-bot-control .joyjoy-save-dock-v449>.discard-unsaved-button{flex-basis:100%!important}
}

/* V453 — stable, flat save dock shared by TuneTune, Shieldy and Gamey. */
#panel-bot-control .joyjoy-save-dock-v453{
  position:sticky!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  z-index:70!important;
  display:grid!important;
  grid-template-columns:minmax(210px,280px) auto auto minmax(120px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:60px!important;
  margin:18px 0 0!important;
  padding:8px 10px!important;
  overflow:visible!important;
  border:1px solid var(--account-border,var(--gh-border))!important;
  border-radius:10px!important;
  background:var(--account-surface,var(--gh-card))!important;
  box-shadow:0 5px 16px rgba(15,31,52,.07)!important;
  backdrop-filter:none!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}
#panel-bot-control .joyjoy-save-dock-v453[hidden]{display:none!important}
#panel-bot-control .bot-module-panel.is-active .joyjoy-save-dock-v453.has-unsaved-changes,
#panel-bot-control .bot-module-panel[aria-hidden="false"] .joyjoy-save-dock-v453.has-unsaved-changes{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-server-picker-v453{
  grid-column:1!important;
  order:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
#panel-bot-control .joyjoy-save-dock-v453>.primary{
  grid-column:2!important;
  order:1!important;
  min-width:172px!important;
  min-height:42px!important;
  margin:0!important;
  white-space:nowrap!important;
}
#panel-bot-control .joyjoy-save-dock-v453>.discard-unsaved-button{
  grid-column:3!important;
  order:2!important;
  min-width:156px!important;
  min-height:42px!important;
  margin:0!important;
  white-space:nowrap!important;
}
#panel-bot-control .joyjoy-save-dock-v453>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){
  grid-column:4!important;
  order:3!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0 4px!important;
  overflow-wrap:anywhere!important;
  text-align:left!important;
  line-height:1.35!important;
}
#panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-result-v453{
  grid-column:5!important;
  order:4!important;
  min-width:0!important;
  margin:0!important;
  justify-self:end!important;
}
#panel-bot-control .joyjoy-save-dock-v453 .joyjoy-save-server-trigger-v449{
  min-height:42px!important;
  padding:6px 10px!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:var(--account-surface-soft,var(--gh-subtle))!important;
}
#panel-bot-control .joyjoy-save-dock-v453.is-saving-v453>.primary{cursor:wait!important}

/* Ticket center is managed per panel/type; there is no redundant global switch. */
.ticket-center-heading-v452 .ticket-center-always-on-v453{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #82e596;
  border-radius:999px;
  background:#dafbe1;
  color:#116329;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.ticket-center-v452[data-feature-body="tickets"]{
  display:grid!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
}
.ticket-center-v452[data-feature-body="tickets"]>input[hidden]{display:none!important}

@media(max-width:980px){
  #panel-bot-control .joyjoy-save-dock-v453{
    grid-template-columns:minmax(190px,1fr) repeat(2,minmax(145px,auto))!important;
  }
  #panel-bot-control .joyjoy-save-dock-v453>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){
    grid-column:1/4!important;
    grid-row:2!important;
    padding:2px 0 0!important;
  }
  #panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-result-v453{
    grid-column:4!important;
    grid-row:1/3!important;
  }
}
@media(max-width:720px){
  #panel-bot-control .joyjoy-save-dock-v453{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
  }
  #panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-server-picker-v453{grid-column:1/3!important;grid-row:1!important}
  #panel-bot-control .joyjoy-save-dock-v453>.primary{grid-column:1!important;grid-row:2!important;min-width:0!important;width:100%!important}
  #panel-bot-control .joyjoy-save-dock-v453>.discard-unsaved-button{grid-column:2!important;grid-row:2!important;min-width:0!important;width:100%!important}
  #panel-bot-control .joyjoy-save-dock-v453>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){
    grid-column:1/3!important;grid-row:3!important;text-align:left!important
  }
  #panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-result-v453{grid-column:1/3!important;grid-row:4!important;justify-self:start!important}
}
@media(max-width:460px){
  #panel-bot-control .joyjoy-save-dock-v453{grid-template-columns:1fr!important}
  #panel-bot-control .joyjoy-save-dock-v453>*{grid-column:1!important}
  #panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-server-picker-v453{grid-row:1!important}
  #panel-bot-control .joyjoy-save-dock-v453>.primary{grid-row:2!important}
  #panel-bot-control .joyjoy-save-dock-v453>.discard-unsaved-button{grid-row:3!important}
  #panel-bot-control .joyjoy-save-dock-v453>:is(.api-form-message,.prefix-save-status,.panel-save-message,.muted-status,[aria-live="polite"]:not(.joyjoy-save-result-v449)){grid-row:4!important}
  #panel-bot-control .joyjoy-save-dock-v453>.joyjoy-save-result-v453{grid-row:5!important}
}
