/* MRG versioned UI cascade · authority-cleaned in 0.6.19-alpha4-rx23; mobile header fit refined in rx24.
 * Source order is preserved verbatim to keep the field-tested cascade semantics.
 */

/* ===== BEGIN pre45-ui.css ===== */
/* beta1-pre45: mobile typography and border-only cockpit/SSTV polish.
   Visual scope only: no control semantics, IDs, event hooks or radio paths change. */

/* FT8 / JS8 / LO64 / CW settings: keep explanatory copy readable on phones. */
#ft8SettingsPane .ft8-settings-tile-copy strong,
#lo64SettingsPane .ft8-settings-tile-copy strong,
#jf8SettingsPane .ft8-settings-tile-copy strong,
#cwSettingsPane .ft8-settings-tile-copy strong{
  font-size:.90rem!important;
  line-height:1.22!important;
}
#ft8SettingsPane .ft8-settings-tile-copy>small,
#lo64SettingsPane .ft8-settings-tile-copy>small,
#jf8SettingsPane .ft8-settings-tile-copy>small,
#cwSettingsPane .ft8-settings-tile-copy>small,
#ft8SettingsPane .mrg-module-settings-subtext,
#lo64SettingsPane .mrg-module-settings-subtext,
#jf8SettingsPane .mrg-module-settings-subtext,
#cwSettingsPane .mrg-module-settings-subtext{
  font-size:.84rem!important;
  line-height:1.35!important;
  font-weight:520!important;
}
#ft8SettingsPane .setting-help,
#lo64SettingsPane .setting-help,
#jf8SettingsPane .setting-help,
#cwSettingsPane .setting-help,
#ft8SettingsPane .display-waterfall-settings-copy>small,
#lo64SettingsPane .display-waterfall-settings-copy>small,
#jf8SettingsPane .display-waterfall-settings-copy>small,
#cwSettingsPane .display-waterfall-settings-copy>small,
#ft8SettingsPane .display-waterfall-palette-row>small,
#lo64SettingsPane .display-waterfall-palette-row>small,
#jf8SettingsPane .display-waterfall-palette-row>small,
#cwSettingsPane .display-waterfall-palette-row>small,
#ft8SettingsPane .display-waterfall-range>small,
#lo64SettingsPane .display-waterfall-range>small,
#jf8SettingsPane .display-waterfall-range>small,
#cwSettingsPane .display-waterfall-range>small,
#ft8SettingsPane .display-waterfall-toggle-row small,
#lo64SettingsPane .display-waterfall-toggle-row small,
#jf8SettingsPane .display-waterfall-toggle-row small,
#cwSettingsPane .display-waterfall-toggle-row small,
#ft8SettingsPane .display-waterfall-level-head small,
#lo64SettingsPane .display-waterfall-level-head small,
#jf8SettingsPane .display-waterfall-level-head small,
#cwSettingsPane .display-waterfall-level-head small{
  font-size:.78rem!important;
  line-height:1.38!important;
}

/* SSTV Live: status row, business-card metadata and fact badges use the same readable scale. */
.sstv-view .sstv-picture-info-card .sstv-picture-meta span{
  min-height:32px;
  font-size:.80rem!important;
  line-height:1.25!important;
}
.sstv-view .sstv-live-business-card .sstv-ui-subtext{
  font-size:.78rem!important;
  line-height:1.25!important;
}
.sstv-view .sstv-live-business-card strong{
  font-size:.82rem!important;
  line-height:1.25!important;
}
.sstv-view .sstv-meta-tag,
.sstv-view .sstv-gallery-tags span{
  min-height:28px;
  font-size:.74rem!important;
  line-height:1.2!important;
}
.sstv-view .sstv-picture-info-card .sstv-picture-footer{
  font-size:.76rem!important;
  line-height:1.35!important;
}
.sstv-view .sstv-picture-info-card .sstv-picture-footer strong{
  font-size:.80rem!important;
}
@media(max-width:430px){
  .sstv-view .sstv-picture-info-card .sstv-picture-meta span{font-size:.78rem!important}
  .sstv-view .sstv-live-business-card .sstv-ui-subtext{font-size:.76rem!important}
  .sstv-view .sstv-live-business-card strong{font-size:.80rem!important}
  .sstv-view .sstv-meta-tag,.sstv-view .sstv-gallery-tags span{font-size:.72rem!important}
}

/* SSTV templates: description removed in markup; give upload and cards one clean line of air. */
.sstv-view .sstv-template-upload{margin:.35rem 0 1.05rem!important}

/* SSTV gallery: only remove the large outside filter frame. Inputs/selects keep their own borders. */
.sstv-view .sstv-gallery-toolbar-compact{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Gateway cockpit: remove only the large outside/group borders. Functional controls stay untouched. */
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-panel,
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-active-panel{
  padding:.35rem .08rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73{
  padding:.35rem .08rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-beacon-compact,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect{
  padding:.42rem .08rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Voice effect: preserve the select + GO behavior, only normalize their visual row. */
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 84px!important;
  align-items:stretch!important;
  gap:.55rem!important;
  width:100%!important;
  min-height:52px!important;
  padding:0!important;
  margin-top:.25rem!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-preset-select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-preset-select select,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-head button{
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:52px!important;
  margin:0!important;
}
/* ===== END pre45-ui.css ===== */

/* ===== BEGIN pre46-ui.css ===== */
/* beta1-pre46: final mobile spacing + read-only hotspot lab.
   Visual overrides only for SSTV/Gateway. Hotspot lab is read-only by contract. */

/* SSTV TX: the two first operator blocks need more breathing room on phones. */
.sstv-view .sstv-image-source-tools,
.sstv-view .sstv-studio-mode-block{
  padding:.82rem .88rem!important;
  gap:.62rem!important;
}
.sstv-view .sstv-image-source-tools .sstv-studio-block-head,
.sstv-view .sstv-studio-mode-block .sstv-studio-block-head{
  min-height:24px;
  align-items:center!important;
}
@media(max-width:430px){
  .sstv-view .sstv-image-source-tools,
  .sstv-view .sstv-studio-mode-block{padding:.76rem!important;gap:.58rem!important}
}

/* Gateway: BAKE + Voice are useful visual subgroups, so bring exactly these two
   inner frames back. The larger Direktbedienung outer frame remains removed. */
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-beacon-compact,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect{
  padding:.72rem!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:var(--surface2)!important;
  box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-beacon-compact .compact-beacon-head>.eyebrow,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-title{
  margin:0!important;
  padding:.08rem 0 .22rem!important;
  color:var(--text)!important;
  opacity:1!important;
  font-size:.80rem!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect{
  gap:.28rem!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-head{
  margin-top:0!important;
}

/* Read-only hotspot capability lab. */
.hotspot-dry-run-panel{
  display:grid;gap:.62rem;margin-top:.78rem;padding:.72rem;
  border:1px solid var(--border);border-radius:14px;background:var(--surface2);
}
.hotspot-dry-run-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.hotspot-dry-run-head>div{display:grid;gap:.18rem;min-width:0}
.hotspot-dry-run-head strong{font-size:.92rem}
.hotspot-dry-run-head small{font-size:.76rem;line-height:1.3;color:var(--muted)}
.hotspot-dry-run-head button{width:auto;min-width:154px}
.hotspot-dry-run-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.48rem}
.hotspot-dry-run-grid>div{display:grid;align-content:start;gap:.18rem;min-width:0;padding:.58rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.hotspot-dry-run-grid span{font-size:.62rem;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.hotspot-dry-run-grid strong{font-size:.88rem;overflow-wrap:anywhere}
.hotspot-dry-run-grid small{font-size:.70rem;line-height:1.28;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:760px){
  .hotspot-dry-run-head{align-items:stretch;flex-direction:column}
  .hotspot-dry-run-head button{width:100%}
  .hotspot-dry-run-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ===== END pre46-ui.css ===== */

/* ===== BEGIN pre50-ui.css ===== */
/* beta1-pre50: SSTV WF state visibility and CW guard diagnostics. */
.sstv-tx-pane-key #sstvTxQuickState{font-size:.34rem;line-height:1.05;letter-spacing:.035em}
.sstv-tx-pane-key.is-auto-wf #sstvTxQuickState{display:block;font-size:.34rem;line-height:1.05;letter-spacing:.035em}
.sstv-tx-pane-key.is-auto-wf #sstvTxQuickMeta{display:block}
.sstv-tx-pane-key.is-auto-wf.is-waiting{border-color:rgba(245,158,11,.76);background:linear-gradient(180deg,rgba(245,158,11,.25),rgba(120,53,15,.18))}
.sstv-tx-pane-key.is-auto-wf.is-transmitting{border-color:rgba(239,68,68,.9);background:linear-gradient(180deg,rgba(239,68,68,.3),rgba(127,29,29,.24))}
.sstv-wf-once-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;margin-top:.65rem}
.sstv-wf-once-actions button{min-height:3.15rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}
.sstv-wf-once-actions button.is-waiting{border-color:rgba(245,158,11,.8)}
.sstv-wf-once-actions button.is-transmitting{border-color:rgba(239,68,68,.9);background:rgba(127,29,29,.28)}
.cw-tx-error-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-top:.55rem;padding:.62rem .72rem;border:1px solid rgba(245,158,11,.55);border-radius:.65rem;background:rgba(120,53,15,.18)}
.cw-tx-error-card[hidden]{display:none!important}
.cw-tx-error-card strong{font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:#fbbf24}
.cw-tx-error-card span{min-width:0;font-size:.82rem;line-height:1.3;color:var(--text,#e5e7eb)}
.cw-tx-error-card button{min-height:2.1rem;padding:.35rem .65rem}
@media(max-width:720px){.cw-tx-error-card{grid-template-columns:1fr auto}.cw-tx-error-card strong{grid-column:1/-1}.sstv-wf-once-actions{gap:.4rem}}
/* ===== END pre50-ui.css ===== */

/* ===== BEGIN pre51-cq.css ===== */
/* beta1-pre51: unified CQ confirm sheet + WF one-shot global TX colors */
.pre51-cq-confirm-sheet{z-index:58!important}.pre51-cq-confirm-body{display:grid;gap:.55rem;padding:.45rem .1rem .1rem}.pre51-cq-confirm-body p{margin:0;color:var(--muted);font-size:.72rem}.pre51-cq-confirm-tx{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;background:var(--success)!important;border-color:var(--success)!important;color:#fff!important}.pre51-cq-confirm-tx strong{font-size:.92rem}.pre51-cq-confirm-tx small{font-size:.58rem;color:#fff!important}.sstv-cq-global-confirm{align-self:end}.sstv-cq-global-confirm span{font-size:.66rem;font-weight:850}
.sstv-wf-once-actions #sstvWfTxOnce.is-waiting{background:#f47a0b!important;border-color:#ffb36a!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #b94e00!important}.sstv-wf-once-actions #sstvWfTxOnce.is-transmitting{background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #8f1710!important;animation:ft8TxStatePulse .9s ease-in-out infinite}.sstv-wf-once-actions #sstvWfTxStop.is-active{background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #8f1710!important}@media(prefers-reduced-motion:reduce){.sstv-wf-once-actions #sstvWfTxOnce.is-transmitting{animation:none!important}}
/* ===== END pre51-cq.css ===== */

/* ===== BEGIN pre52-ui.css ===== */
/* beta1-pre52: SSTV preparation visibility + lightweight WLAN manager. */
.pre52-inline-spinner{display:inline-block;width:.82em;height:.82em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pre52Spin .72s linear infinite;vertical-align:-.08em;margin-right:.32em}
@keyframes pre52Spin{to{transform:rotate(360deg)}}
#sstvWfTxOnce.pre52-danger-ready,#sstvAutoWfStart.pre52-danger-ready,#sstvAutoCqStart.pre52-danger-ready{background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #8f1710!important}
#sstvWfTxOnce.pre52-preparing,#sstvAutoWfStart.pre52-preparing,#sstvAutoCqStart.pre52-preparing{background:#e98318!important;border-color:#ffb36a!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #a94d08!important}
#sstvWfTxOnce.pre52-live-tx,#sstvAutoWfStart.pre52-live-tx,#sstvAutoCqStart.pre52-live-tx{background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #8f1710!important}
#sstvWfTxStop.pre52-stop-live,#sstvAutoWfStop.pre52-stop-live{background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;box-shadow:inset 0 -3px 0 #8f1710!important}
.wifi-manager-card{display:grid;gap:.72rem}.wifi-manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.wifi-manager-toolbar>div{display:grid;gap:.14rem}.wifi-manager-toolbar small{color:var(--muted);font-size:.72rem}.wifi-manager-toolbar button{min-width:150px}.wifi-network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.wifi-network-grid>p{grid-column:1/-1;margin:.15rem 0}.wifi-network-tile{min-height:86px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main signal" "badges badges";gap:.35rem .65rem;text-align:left;padding:.7rem .78rem;background:var(--surface2);border-color:var(--border)}.wifi-network-tile:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}.wifi-network-main{grid-area:main;min-width:0}.wifi-network-main strong,.wifi-network-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wifi-network-main strong{font-size:.86rem}.wifi-network-main small{font-size:.64rem;color:var(--muted);margin-top:.18rem}.wifi-network-signal{grid-area:signal;text-align:right;display:grid;align-content:start;justify-items:end}.wifi-network-signal b{font-size:.9rem;letter-spacing:-.08em;color:var(--success)}.wifi-network-signal small{font-size:.62rem;color:var(--muted)}.wifi-network-badges{grid-area:badges;display:flex;gap:.32rem;flex-wrap:wrap}.wifi-chip{display:inline-flex;align-items:center;min-height:20px;padding:.08rem .38rem;border:1px solid var(--border);border-radius:999px;font-size:.51rem;font-weight:900;letter-spacing:.04em;color:var(--muted);background:var(--surface)}.wifi-chip.current{color:var(--success);border-color:color-mix(in srgb,var(--success) 55%,var(--border))}.wifi-chip.saved{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.wifi-chip.warning{color:#b45309;border-color:#f59e0b}.wifi-connect-dialog{width:min(94vw,560px)}.wifi-connect-dialog-card{max-height:min(88dvh,760px);overflow:auto}.wifi-connect-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.wifi-connect-facts>div{display:grid;gap:.14rem;padding:.55rem .6rem;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.wifi-connect-facts span{font-size:.52rem;color:var(--muted);font-weight:900;letter-spacing:.06em}.wifi-connect-facts strong{font-size:.72rem;overflow-wrap:anywhere}.wifi-password-show{margin-top:-.25rem}.wifi-password-show span{font-size:.72rem}.wifi-password-show small{font-size:.58rem;color:var(--muted)}
#wifiManagerStatus[data-state="error"]{color:var(--danger)}#wifiManagerStatus[data-state="success"]{color:var(--success)}
@media(max-width:680px){.wifi-manager-toolbar{grid-template-columns:1fr}.wifi-manager-toolbar button{width:100%}.wifi-network-grid{grid-template-columns:1fr}.wifi-connect-facts{grid-template-columns:1fr 1fr}.wifi-connect-facts>div:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.pre52-inline-spinner{animation:none}}
/* ===== END pre52-ui.css ===== */

/* ===== BEGIN pre53-ui.css ===== */
/* beta1-pre53: explicit SSTV control locking + Wi-Fi safety cockpit. */
.wifi-safety-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.wifi-safety-strip>div{display:grid;gap:.12rem;padding:.58rem .65rem;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}.wifi-safety-strip span{font-size:.52rem;font-weight:900;letter-spacing:.055em;color:var(--muted)}.wifi-safety-strip strong{font-size:.74rem;line-height:1.15}.wifi-safety-strip small{font-size:.57rem;line-height:1.28;color:var(--muted);overflow-wrap:anywhere}.wifi-safety-strip .is-ok strong{color:var(--success)}.wifi-safety-strip .is-warning strong{color:#b45309}.wifi-safety-strip .is-danger strong{color:var(--danger)}.wifi-safety-verdict{border-width:2px!important}.wifi-dialog-safety{display:grid;gap:.15rem;padding:.62rem .7rem;border:1px solid var(--border);border-radius:11px;background:var(--surface2)}.wifi-dialog-safety strong{font-size:.72rem}.wifi-dialog-safety small{font-size:.6rem;line-height:1.35;color:var(--muted)}.wifi-dialog-safety.is-ok{border-color:color-mix(in srgb,var(--success) 55%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--surface2))}.wifi-dialog-safety.is-danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--surface2))}.wifi-active-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.wifi-active-actions button{min-height:48px}.wifi-unsafe-confirm{padding:.55rem .62rem;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.wifi-unsafe-confirm span small{color:var(--muted)}
@media(max-width:820px){.wifi-safety-strip{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wifi-safety-strip,.wifi-active-actions{grid-template-columns:1fr}}
/* ===== END pre53-ui.css ===== */

/* ===== BEGIN pre54-ui.css ===== */
/* beta1-pre54: Wi-Fi radio switch + SSTV TX contrast polish. */
.wifi-radio-switch{margin:0;padding:.62rem .72rem;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}
.wifi-radio-switch span{min-width:0}.wifi-radio-switch strong{font-size:.78rem}.wifi-radio-switch small{font-size:.62rem;line-height:1.3;color:var(--muted)}
#sstvWfTxOnce.pre52-danger-ready strong,#sstvWfTxOnce.pre52-danger-ready .sstv-ui-subtext,
#sstvWfTxOnce.pre52-preparing strong,#sstvWfTxOnce.pre52-preparing .sstv-ui-subtext,
#sstvWfTxOnce.pre52-live-tx strong,#sstvWfTxOnce.pre52-live-tx .sstv-ui-subtext,
#sstvWfTxStop.pre52-stop-live strong,#sstvWfTxStop.pre52-stop-live .sstv-ui-subtext,
#sstvAutoWfStart.pre52-danger-ready strong,#sstvAutoWfStart.pre52-danger-ready .sstv-ui-subtext,
#sstvAutoCqStart.pre52-danger-ready strong,#sstvAutoCqStart.pre52-danger-ready .sstv-ui-subtext,
#sstvAutoWfStart.pre52-preparing strong,#sstvAutoWfStart.pre52-preparing .sstv-ui-subtext,
#sstvAutoWfStart.pre52-live-tx strong,#sstvAutoWfStart.pre52-live-tx .sstv-ui-subtext,
#sstvAutoWfStop.pre52-stop-live strong,#sstvAutoWfStop.pre52-stop-live .sstv-ui-subtext,
#sstvAutoCqStart.pre52-preparing strong,#sstvAutoCqStart.pre52-preparing .sstv-ui-subtext,
#sstvAutoCqStart.pre52-live-tx strong,#sstvAutoCqStart.pre52-live-tx .sstv-ui-subtext{color:#fff!important;opacity:1!important}
/* ===== END pre54-ui.css ===== */

/* ===== BEGIN pre59-ui.css ===== */
/* Beta1-pre59: Release-Politur. Konsolidiert die aktiven pre56/pre57-Netzwerkregeln und ergänzt mobile Support-/Tailscale-/WLAN-Details. */
/* Beta1-pre56: einheitliche MRG-Schalter fuer dauerhafte Netzwerkoptionen. */
.mrg-option-switch{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:54px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--surface2));cursor:pointer}
.mrg-option-switch.wide{grid-column:1/-1}
.mrg-option-switch>input{position:absolute;opacity:0;pointer-events:none}
.mrg-option-switch>span{position:relative;display:block;min-width:0;flex:1;padding-right:4.15rem}
.mrg-option-switch>span::before{content:"";position:absolute;right:.05rem;top:50%;width:3rem;height:1.72rem;border-radius:999px;transform:translateY(-50%);background:color-mix(in srgb,var(--muted) 30%,white);border:1px solid color-mix(in srgb,var(--border) 85%,white);transition:background .2s ease,border-color .2s ease,opacity .2s ease}
.mrg-option-switch>span::after{content:"";position:absolute;right:1.57rem;top:50%;width:1.22rem;height:1.22rem;border-radius:50%;transform:translateY(-50%);background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.18);transition:right .2s ease}
.mrg-option-switch>input:checked+span::before{background:color-mix(in srgb,var(--success) 55%,white);border-color:color-mix(in srgb,var(--success) 75%,var(--border))}
.mrg-option-switch>input:checked+span::after{right:.21rem}
.mrg-option-switch>input:focus-visible+span::before{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}
.mrg-option-switch>input:disabled+span{opacity:.58}
.mrg-option-switch>input:disabled+span::before{opacity:.62}
.mrg-option-switch small{display:block;margin-top:.18rem}
@media(max-width:680px){.mrg-option-switch{padding:.6rem .65rem}.mrg-option-switch>span{padding-right:3.75rem}}

/* Beta1-pre57: Netzwerkaktionen nach Zustand + saubere WLAN-Passwortzeile. */
.operator-dialog-card label.wifi-password-show{display:flex;align-items:center;justify-content:flex-start;gap:.62rem;width:fit-content;max-width:100%;margin:-.12rem 0 .08rem;padding:.38rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--surface2);cursor:pointer}
.operator-dialog-card label.wifi-password-show>input{position:static;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;padding:0}
.operator-dialog-card label.wifi-password-show>span{display:grid;gap:.04rem;margin:0;padding:0;color:var(--text);font-size:.72rem;line-height:1.2}
.operator-dialog-card label.wifi-password-show strong{font-size:.72rem;color:var(--text)}
.operator-dialog-card label.wifi-password-show small{margin:0;color:var(--muted);font-size:.58rem;line-height:1.2}
button.network-action-start{background:var(--success);border-color:var(--success);color:#fff}
button.network-action-start:hover:not(:disabled),button.network-action-start:focus-visible:not(:disabled){filter:brightness(.94)}
button.network-action-stop{background:var(--danger);border-color:var(--danger);color:#fff}
button.network-action-stop:hover:not(:disabled),button.network-action-stop:focus-visible:not(:disabled){filter:brightness(.94)}
button.network-action-start:disabled,button.network-action-stop:disabled{filter:none}

/* WLAN AUS: nur den Bedienwunsch zeigen, nicht eine scheinbar halbaktive Scan-/Fallback-Oberfläche. */
.wifi-manager-active-area{display:grid;gap:.72rem}
.wifi-radio-off-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center;padding:.7rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text)}
.wifi-radio-off-state[hidden],.wifi-manager-active-area[hidden]{display:none!important}
.wifi-radio-off-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--muted) 12%,var(--surface));border:1px solid var(--border);color:var(--muted);font-weight:900}
.wifi-radio-off-state strong,.wifi-radio-off-state small{display:block}
.wifi-radio-off-state strong{font-size:.78rem}
.wifi-radio-off-state small{margin-top:.12rem;color:var(--muted);font-size:.62rem;line-height:1.35}

/* Tailscale: wichtige HTTPS-Adresse als echte klickbare Zielkachel; reine Bereitschaftsmeldung entfällt. */
.tailscale-pwa-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;margin-top:.65rem;padding:.72rem .78rem;border:1px solid color-mix(in srgb,var(--success) 42%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--success) 6%,var(--surface2));color:var(--text);text-decoration:none}
.tailscale-pwa-tile[hidden]{display:none!important}
.tailscale-pwa-tile:hover,.tailscale-pwa-tile:focus-visible{border-color:color-mix(in srgb,var(--success) 72%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--surface2));outline:none}
.tailscale-pwa-mark{display:grid;place-items:center;min-width:44px;height:34px;padding:0 .45rem;border-radius:9px;background:var(--success);color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.06em}
.tailscale-pwa-copy{min-width:0;display:grid;gap:.12rem}
.tailscale-pwa-copy strong{font-size:.76rem}
.tailscale-pwa-copy small{min-width:0;color:var(--muted);font-size:.61rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tailscale-pwa-open{font-size:1rem;font-weight:900;color:var(--success)}
.network-info-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start;margin-top:.65rem;padding:.72rem .78rem;border:1px solid var(--border);border-radius:13px;background:var(--surface)}
.network-info-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,var(--surface2));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent);font-weight:950;font-family:Georgia,serif}
.network-info-note strong{display:block;font-size:.72rem;margin:.02rem 0 .15rem}
.network-info-note p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.4}
.tailscale-action-hint[hidden]{display:none!important}

/* Hardware-Support: kompakte, zusammengehörige Token-Aktionen und Berechtigungen. */
.hardware-support-view .station-identity-priority-card{gap:.65rem}
.hardware-support-view .station-identity-priority-card .form-grid{gap:.58rem}
.hardware-support-view .support-token-summary{gap:.5rem;padding:.58rem .62rem;border-radius:11px}
.hardware-support-view .support-token-summary button{min-height:42px;padding:.52rem .7rem}
.hardware-support-view .support-token-actions{margin-top:.58rem;gap:.55rem}
.hardware-support-view .support-token-actions button{min-height:46px;padding:.58rem .65rem;line-height:1.18}
.support-permissions-card{padding-bottom:.82rem}
.support-permission-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface2)}
.support-permission-list>div{min-width:0;display:grid;gap:.1rem;align-content:center;padding:.62rem .68rem;border-left:1px solid var(--border)}
.support-permission-list>div:first-child{border-left:0}
.support-permission-list span{font-size:.52rem;font-weight:900;letter-spacing:.065em;color:var(--muted)}
.support-permission-list strong{font-size:.82rem;line-height:1.12;overflow-wrap:anywhere}
.support-permission-list small{font-size:.57rem;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}
.support-token-privacy{margin-top:.6rem;padding:.6rem .68rem;font-size:.66rem;line-height:1.35}

@media(max-width:520px){
  .hardware-support-view .station-identity-priority-card{padding:.82rem}
  .hardware-support-view .station-identity-priority-card .section-head{margin-bottom:.05rem}
  .hardware-support-view .station-identity-priority-card input{min-height:48px;padding:.58rem .68rem}
  .hardware-support-view .support-token-summary{grid-template-columns:auto minmax(0,1fr);gap:.42rem .55rem}
  .hardware-support-view .support-token-summary button{grid-column:1/-1;width:100%}
  .hardware-support-view .support-token-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hardware-support-view .support-token-actions button{white-space:normal}
  .support-permission-list{grid-template-columns:1fr}
  .support-permission-list>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "meta value";column-gap:.75rem;padding:.52rem .62rem;border-left:0;border-top:1px solid var(--border)}
  .support-permission-list>div:first-child{border-top:0}
  .support-permission-list span{grid-area:label}
  .support-permission-list strong{grid-area:value;align-self:center;text-align:right}
  .support-permission-list small{grid-area:meta}
  .tailscale-pwa-tile{padding:.65rem .68rem}
  .tailscale-pwa-copy small{font-size:.58rem}
}
/* ===== END pre59-ui.css ===== */

/* ===== BEGIN pre60-ui.css ===== */
/* Beta1-pre60: SSTV-Automatik-Erklaerung, Poller-Draftschutz-Hilfen und Public-Header-Paritaet. */

/* SSTV Extras: kurze Erklaerung statt isolierter Ueberschrift. */
.sstv-automation-head{align-items:flex-start!important;gap:.75rem!important}
.sstv-automation-copy{display:grid;gap:.18rem;min-width:0;flex:1 1 auto}
.sstv-automation-copy>strong{font-weight:850;line-height:1.15}
.sstv-automation-copy>.sstv-ui-subtext{max-width:62ch;line-height:1.32;color:var(--muted)}
.sstv-automation-head>.switch{flex:0 0 auto;margin-left:auto}
#sstvAutoCqProgress,#sstvAutoWfProgress{display:none!important}

/* Wenn eine Automatik den TX-Pfad belegt, erklaert MRG Ursache + Loesungsweg direkt am TX-Button. */
.sstv-automation-tx-hint{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;margin:.55rem 0 .15rem;padding:.68rem .75rem;border:1px solid color-mix(in srgb,var(--warning) 46%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--warning) 9%,var(--surface));color:var(--text)}
.sstv-automation-tx-hint[hidden]{display:none!important}
.sstv-automation-tx-hint>div{display:grid;gap:.16rem;min-width:0}
.sstv-automation-tx-hint>div>strong{font-weight:900}
.sstv-automation-tx-hint button{min-height:38px;padding:.5rem .75rem;white-space:nowrap;border-color:color-mix(in srgb,var(--danger) 68%,var(--border));color:var(--danger);background:var(--surface)}
.sstv-automation-tx-hint button:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface))}

/* Public Dashboard: BAT/HDD und Funkbedingungen nutzen dieselbe optische Sprache wie der Admin-Cockpit-Header. */
.public-pre40-resources .mrg-resource-tile-content{grid-template-columns:22px auto 1fr!important;gap:.22rem!important;padding:0 .42rem!important}
.public-pre40-resources .mrg-resource-tile-icon{display:grid!important;place-items:center!important;width:22px!important;height:22px!important}
.public-pre40-resources .mrg-resource-tile-icon svg{width:20px!important;height:20px!important}
.public-pre40-resources b{font-size:.57rem!important;line-height:1!important;font-weight:700!important}
.public-pre40-resources strong{font-size:.68rem!important;line-height:1!important;font-weight:950!important}
.public-header-propagation .mrg-prop-tile{padding:0 .38rem!important}
.public-header-propagation .mrg-prop-tile span{left:.42rem!important;top:.34rem!important}
.public-header-propagation .mrg-prop-tile b{font-size:.72rem!important}
.public-header-propagation svg{left:.28rem!important;right:.28rem!important;bottom:.12rem!important;width:calc(100% - .56rem)!important;height:29px!important}

@media(max-width:760px){
  .sstv-automation-copy>.sstv-ui-subtext{font-size:.78rem}
  .sstv-automation-tx-hint{grid-template-columns:1fr}
  .sstv-automation-tx-hint button{width:100%}
  .public-pre40-resources .mrg-resource-tile-content{grid-template-columns:20px auto 1fr!important;gap:.12rem!important;padding:0 .25rem!important}
  .public-pre40-resources .mrg-resource-tile-icon{width:19px!important;height:19px!important}
  .public-pre40-resources .mrg-resource-tile-icon svg{width:18px!important;height:18px!important}
  .public-pre40-resources b{font-size:.50rem!important}
  .public-pre40-resources strong{font-size:.60rem!important}
  .public-header-propagation .mrg-prop-tile{padding:0 .24rem!important}
  .public-header-propagation .mrg-prop-tile span{left:.28rem!important;top:.28rem!important}
  .public-header-propagation .mrg-prop-tile b{font-size:.64rem!important}
  .public-header-propagation svg{left:.18rem!important;right:.18rem!important;width:calc(100% - .36rem)!important;height:27px!important}
}
/* ===== END pre60-ui.css ===== */

/* ===== BEGIN pre61-ui.css ===== */
/* Beta1-pre61: SSTV state clarity + exact public cockpit resource parity. */

/* Shared PWR/SWR/S/AF layout now receives the SSTV value in the same value column. */
.sstv-mode-meter .ft8-power-title>small,
.sstv-mode-meter .ft8-swr-title>small{grid-column:3!important;justify-self:end!important;white-space:nowrap!important}

/* AUTO-CQ uses the same compact keybar typography as AUTO-WF. */
.sstv-tx-pane-key.is-auto-cq #sstvTxQuickState,
.sstv-tx-pane-key.is-auto-wf #sstvTxQuickState{
  display:block!important;font-size:.34rem!important;line-height:1.05!important;
  font-weight:850!important;letter-spacing:.035em!important;color:inherit!important;opacity:.96!important
}
.sstv-tx-pane-key.is-auto-cq #sstvTxQuickMeta,
.sstv-tx-pane-key.is-auto-wf #sstvTxQuickMeta{font-size:.49rem!important;line-height:1!important;color:inherit!important}

/* AUTO-WF and AUTO-CQ are alternative modes, never simultaneous choices. */
.sstv-auto-wf-card.is-mode-blocked,
.sstv-auto-cq-card.is-mode-blocked{opacity:.58}

.sstv-module-off-hint{display:grid;gap:.12rem;margin:.45rem 0 .65rem;padding:.62rem .72rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface2) 72%,transparent)}
.sstv-module-off-hint[hidden]{display:none!important}
.sstv-module-off-hint>strong{font-weight:900}
.sstv-composer-card.is-module-off .sstv-studio-panel:not(.is-active){pointer-events:none}
.sstv-composer-card.is-module-off input:disabled,
.sstv-composer-card.is-module-off select:disabled,
.sstv-composer-card.is-module-off textarea:disabled,
.sstv-composer-card.is-module-off button:disabled{cursor:not-allowed}
#sstvTxStart.is-automation-locked{opacity:.58!important;cursor:not-allowed!important}

/* Public dashboard: copy the backend BAT/HDD geometry, including removal of the
   historical pseudo dividers/card frame. This is structural parity, not only font sizing. */
.public-pre40-actions>.public-pre40-resources{
  position:relative!important;margin:0!important;min-height:82px!important;height:82px!important;
  align-self:stretch!important;border:0!important;border-right:1px solid var(--border)!important;
  border-radius:0!important;overflow:hidden!important;background:transparent!important;box-sizing:border-box!important
}
.public-pre40-resources::before,.public-pre40-resources::after{display:none!important;content:none!important}
.public-pre40-resources .mrg-resource-row{
  position:relative!important;isolation:isolate!important;width:100%!important;max-width:100%!important;min-width:0!important;
  height:41px!important;box-sizing:border-box!important;overflow:hidden!important;padding:0!important;margin:0!important;
  display:block!important;grid-template-columns:none!important;border:0!important;border-radius:0!important;
  background:color-mix(in srgb,currentColor 5%,transparent)!important;color:#168a50!important
}
.public-pre40-resources .mrg-resource-row:first-child{border-bottom:1px solid var(--border)!important}
.public-pre40-resources .mrg-resource-row+.mrg-resource-row{border-top:0!important}
.public-pre40-resources .mrg-resource-tile>.mrg-resource-fill{
  position:absolute!important;z-index:0!important;left:0!important;top:0!important;bottom:0!important;
  height:100%!important;max-width:100%!important;border:0!important;border-radius:0!important;
  background:currentColor!important;opacity:.24!important
}
.public-pre40-resources .mrg-resource-tile-content{
  position:absolute!important;z-index:2!important;inset:0!important;display:grid!important;
  grid-template-columns:22px auto 1fr!important;align-items:center!important;gap:.28rem!important;
  padding:0 .42rem!important;color:currentColor!important;pointer-events:none!important
}
.public-pre40-resources .mrg-resource-key{border:0!important;background:transparent!important;padding:0!important}
.public-pre40-resources .mrg-resource-tile-icon{display:grid!important;place-items:center!important;width:22px!important;height:22px!important}
.public-pre40-resources .mrg-resource-tile-icon svg{width:20px!important;height:20px!important}
.public-pre40-resources .mrg-resource-tile-content b{font-size:.57rem!important;line-height:1!important;font-weight:700!important;letter-spacing:.04em!important}
.public-pre40-resources .mrg-resource-tile-content strong{justify-self:end!important;font-size:.68rem!important;line-height:1!important;font-weight:950!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}

@media(max-width:760px){
  .public-pre40-actions>.public-pre40-resources{min-height:82px!important;height:82px!important}
  .public-pre40-resources .mrg-resource-tile-content{grid-template-columns:20px auto 1fr!important;gap:.12rem!important;padding:0 .25rem!important}
  .public-pre40-resources .mrg-resource-tile-icon{width:19px!important;height:19px!important}
  .public-pre40-resources .mrg-resource-tile-icon svg{width:18px!important;height:18px!important}
  .public-pre40-resources .mrg-resource-tile-content b{font-size:.50rem!important}
  .public-pre40-resources .mrg-resource-tile-content strong{font-size:.60rem!important}
}

/* Beta1 final polish: automation confirmation tiles, CQ danger parity and header quality labels. */
.sstv-automation-confirm-toggle{
  margin-top:.46rem!important;padding:.50rem .62rem!important;border-radius:10px!important;
  background:color-mix(in srgb,var(--surface2) 78%,transparent)!important;
  border-color:color-mix(in srgb,var(--border) 88%,transparent)!important
}
.sstv-automation-confirm-toggle>span{gap:.10rem!important}
.sstv-automation-confirm-toggle strong{font-size:.68rem!important;line-height:1.15!important;font-weight:850!important}
.sstv-automation-confirm-toggle small{font-size:.58rem!important;line-height:1.28!important;color:var(--muted)!important}
#sstvAutoCqStart.pre52-danger-ready{
  background:#d92d20!important;border-color:#ef5148!important;color:#fff!important;opacity:1!important;
  box-shadow:inset 0 -3px 0 #8f1710!important
}
#sstvAutoCqStart.pre52-danger-ready strong,#sstvAutoCqStart.pre52-danger-ready .sstv-ui-subtext{color:#fff!important;opacity:1!important}
.sstv-tx-pane-key.is-idle:not(.is-auto-cq):not(.is-auto-wf) #sstvTxQuickState{
  font-size:.27rem!important;line-height:1!important;font-weight:800!important;letter-spacing:.025em!important;opacity:.82!important
}
#adminShell .mrg-prop-tile>span{display:grid!important;align-content:start!important;gap:.02rem!important}
#adminShell .mrg-prop-quality-sr{
  position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;
  overflow:visible!important;clip:auto!important;white-space:nowrap!important;border:0!important;
  display:block!important;font-style:normal!important;font-size:.39rem!important;line-height:1!important;
  font-weight:850!important;letter-spacing:.035em!important;opacity:.76!important;color:inherit!important
}
@media(max-width:760px){
  .sstv-automation-confirm-toggle{padding:.46rem .54rem!important}
  .sstv-automation-confirm-toggle strong{font-size:.64rem!important}
  .sstv-automation-confirm-toggle small{font-size:.54rem!important}
  #adminShell .mrg-prop-quality-sr{font-size:.35rem!important}
}
/* ===== END pre61-ui.css ===== */

/* ===== BEGIN ftx-alpha2.css ===== */
/* MRG 0.6.19-alpha2 · shared FTx mode selector. */
.ftx-mode-bar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.15rem 0 .65rem}
.ftx-mode-switch{display:inline-flex;align-items:center;gap:.28rem;padding:.25rem;border:1px solid var(--line,#d8dde4);border-radius:999px;background:var(--card,#fff);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ftx-mode-switch button{appearance:none;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:800;min-width:3.8rem;padding:.5rem .78rem;cursor:pointer;transition:background .15s,color .15s,opacity .15s}
.ftx-mode-switch button:hover:not(:disabled){background:rgba(30,120,210,.09)}
.ftx-mode-switch button.is-active{background:var(--accent,#1677d2);color:#fff}
.ftx-mode-switch button:disabled{opacity:.42;cursor:not-allowed}
.ftx-mode-switch button small{font-size:.58rem;letter-spacing:.05em;vertical-align:.15em}
.ftx-mode-notice{display:flex;align-items:center;gap:.55rem;flex:1 1 20rem;margin:0;padding:.48rem .7rem;border:1px solid rgba(31,111,191,.24);border-radius:.72rem;background:rgba(31,111,191,.07);font-size:.82rem}
.ftx-mode-notice strong{white-space:nowrap;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}
.ftx-mode-notice span{opacity:.82}
.ft8-view.is-ft4-rx-only .ft8-key-cq,.ft8-view.is-ft4-rx-only #ft8TxStatusQuick{opacity:.42;filter:saturate(.2)}
.ft8-view.is-ft4-rx-only [data-ft8-pane="history"],.ft8-view.is-ft4-rx-only [data-ft8-pane="map"]{opacity:.38;cursor:not-allowed}
@media(max-width:700px){.ftx-mode-bar{align-items:stretch}.ftx-mode-switch{width:100%;justify-content:center}.ftx-mode-switch button{flex:1}.ftx-mode-notice{font-size:.78rem}}
/* ===== END ftx-alpha2.css ===== */

/* ===== BEGIN alpha4-rx4-ui.css ===== */
/* MRG 0.6.19-alpha4-rx18 · cockpit / user management consolidation layer */
.ftx-mode-status-only{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin:.2rem 0 .5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8794a6)}
.ftx-mode-status-only strong{font-size:.78rem;padding:.22rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);color:var(--accent,#43e28a);background:color-mix(in srgb,var(--accent,#43e28a) 10%,transparent)}
.ftx-start-mode-card{max-width:520px}.ftx-start-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}.ftx-start-mode-choice{min-height:120px;border-radius:18px;display:grid;place-items:center;align-content:center;gap:.35rem}.ftx-start-mode-choice strong{font-size:2rem}.ftx-start-mode-choice small{opacity:.72}

/* rx14: one final Gateway cockpit authority in the existing consolidation layer. */
.view[data-view="gateway"] .gateway-operation-workspace-alpha73{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0 0 .85rem!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-panel{
  width:100%!important;max-width:100%!important;min-width:0!important;
  padding:.55rem .08rem .45rem!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-panel>.eyebrow{margin:0 0 .42rem!important}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-picker{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.5rem!important;width:100%!important;min-width:0!important;
}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-start-panel{display:none!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important;}
.view[data-view="gateway"] .gateway-runtime-card.gateway-runtime-voice-card{
  position:relative;min-height:310px;padding:1.15rem!important;display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 48px;grid-template-rows:auto 1fr;gap:.8rem 1rem;
  border:1px solid color-mix(in srgb,currentColor 14%,transparent);overflow:hidden;
  transition:border-color .2s,box-shadow .2s,background .2s,opacity .2s;
}
.view[data-view="gateway"] .gateway-runtime-card.gateway-runtime-voice-card::after{content:"";position:absolute;inset:-40%;pointer-events:none;opacity:0;transition:opacity .2s;background:radial-gradient(circle,color-mix(in srgb,var(--success) 20%,transparent),transparent 55%)}
.view[data-view="gateway"] .gateway-runtime-card.is-online:not(.is-mirror):not(.is-rx-mirror-active){border-color:color-mix(in srgb,var(--success) 65%,transparent);background:color-mix(in srgb,var(--success) 7%,var(--surface));box-shadow:0 0 24px color-mix(in srgb,var(--success) 24%,transparent),inset 0 0 28px color-mix(in srgb,var(--success) 7%,transparent)}
.view[data-view="gateway"] .gateway-runtime-card.is-online:not(.is-mirror):not(.is-rx-mirror-active)::after{opacity:1;animation:mrgVoiceGlow 2.7s ease-in-out infinite}
.view[data-view="gateway"] .gateway-runtime-card.is-mirror.is-online,
.view[data-view="gateway"] .gateway-runtime-card.is-rx-mirror-active{border-color:color-mix(in srgb,var(--warning) 72%,transparent)!important;background:color-mix(in srgb,var(--warning) 10%,var(--surface))!important;box-shadow:0 0 22px color-mix(in srgb,var(--warning) 24%,transparent),inset 0 0 24px color-mix(in srgb,var(--warning) 8%,transparent)!important}
.view[data-view="gateway"] .gateway-runtime-card.is-mirror.is-online::after,
.view[data-view="gateway"] .gateway-runtime-card.is-rx-mirror-active::after{opacity:1;background:radial-gradient(circle,color-mix(in srgb,var(--warning) 19%,transparent),transparent 55%);animation:mrgVoiceGlow 3.1s ease-in-out infinite}
.view[data-view="gateway"] .gateway-runtime-card.has-error{border-color:color-mix(in srgb,var(--danger) 70%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--danger) 18%,transparent)}
.view[data-view="gateway"] .gateway-runtime-card.is-offline:not(.is-unconfigured){border-color:color-mix(in srgb,var(--danger) 35%,transparent)}
.view[data-view="gateway"] .gateway-runtime-card.is-unconfigured{opacity:.58;filter:saturate(.45);background:color-mix(in srgb,currentColor 3%,transparent)}
@keyframes mrgVoiceGlow{50%{box-shadow:0 0 34px color-mix(in srgb,currentColor 30%,transparent),inset 0 0 32px color-mix(in srgb,currentColor 8%,transparent)}}
.view[data-view="gateway"] .gateway-runtime-card .gateway-runtime-copy{grid-column:2;grid-row:1;min-width:0}
.view[data-view="gateway"] .gateway-runtime-card .gateway-runtime-copy small{font-size:1rem}
.view[data-view="gateway"] .gateway-runtime-card .gateway-runtime-copy strong{font-size:1.35rem}
.view[data-view="gateway"] .gateway-runtime-card .gateway-voice-config-state{display:none!important}
.view[data-view="gateway"] .gateway-voice-config-button{
  grid-column:3!important;grid-row:1!important;align-self:start!important;justify-self:end!important;position:static!important;
  width:48px!important;height:44px!important;min-width:48px!important;min-height:44px!important;padding:0!important;border-radius:12px!important;
}
.view[data-view="gateway"] .gateway-voice-config-button svg{width:20px!important;height:20px!important}
.view[data-view="gateway"] .gateway-voice-cockpit-details{grid-column:1/-1;display:grid;gap:.8rem;align-self:end}
.view[data-view="gateway"] .gateway-voice-cockpit-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}
.view[data-view="gateway"] .gateway-voice-cockpit-metrics>div{min-width:0;padding:.65rem .7rem;border-radius:12px;background:color-mix(in srgb,currentColor 5%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.view[data-view="gateway"] .gateway-voice-cockpit-metrics span{display:block;font-size:.61rem;letter-spacing:.07em;opacity:.64}
.view[data-view="gateway"] .gateway-voice-cockpit-metrics strong{display:block;margin-top:.2rem;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.view[data-view="gateway"] .gateway-voice-cockpit-badges{display:flex;gap:.45rem;flex-wrap:wrap}
.view[data-view="gateway"] .gateway-voice-cockpit-badges span{padding:.26rem .5rem;border-radius:999px;font-size:.68rem;font-weight:800;background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.view[data-view="gateway"] .gateway-voice-cockpit-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.view[data-view="gateway"] .gateway-voice-cockpit-actions button{min-height:50px;font-weight:900;color:#fff!important}
.view[data-view="gateway"] .gateway-action-start{background:var(--success)!important;border-color:var(--success)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--success) 18%,transparent)!important}
.view[data-view="gateway"] .gateway-action-stop,
.view[data-view="gateway"] .gateway-action-rx-stop{background:var(--danger)!important;border-color:var(--danger)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--danger) 18%,transparent)!important}
.view[data-view="gateway"] .gateway-action-rx-start{background:var(--warning)!important;border-color:var(--warning)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--warning) 18%,transparent)!important}
.view[data-view="gateway"] .gateway-voice-cockpit-actions button:disabled{box-shadow:none!important}
[data-theme="light"] .view[data-view="gateway"] .gateway-runtime-card.is-online:not(.is-mirror):not(.is-rx-mirror-active),body.theme-light .view[data-view="gateway"] .gateway-runtime-card.is-online:not(.is-mirror):not(.is-rx-mirror-active){background:#eefbf4}
[data-theme="light"] .view[data-view="gateway"] .gateway-runtime-card.is-mirror.is-online,
[data-theme="light"] .view[data-view="gateway"] .gateway-runtime-card.is-rx-mirror-active,body.theme-light .view[data-view="gateway"] .gateway-runtime-card.is-mirror.is-online,body.theme-light .view[data-view="gateway"] .gateway-runtime-card.is-rx-mirror-active{background:#fff8ec!important}
[data-theme="light"] .view[data-view="gateway"] .gateway-runtime-card::after,body.theme-light .view[data-view="gateway"] .gateway-runtime-card::after{display:none}
@media(max-width:900px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73{grid-template-columns:minmax(0,1fr)!important}
  .view[data-view="gateway"] .gateway-runtime-card.gateway-runtime-voice-card{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:44px minmax(0,1fr) 52px!important;grid-template-rows:auto auto!important;padding:.82rem!important;gap:.42rem .68rem!important;overflow:hidden!important}
  .view[data-view="gateway"] .gateway-runtime-card .gateway-runtime-icon{grid-column:1!important;grid-row:1!important}
  .view[data-view="gateway"] .gateway-runtime-card .gateway-runtime-copy{grid-column:2!important;grid-row:1!important;align-self:center!important}
  .view[data-view="gateway"] .gateway-runtime-card .gateway-voice-config-button{grid-column:3!important;grid-row:1!important}
  .view[data-view="gateway"] .gateway-runtime-card .gateway-voice-cockpit-details{grid-column:1/-1!important;grid-row:2!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .view[data-view="gateway"] .gateway-voice-cockpit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-metrics>div:last-child{grid-column:span 2!important}
  .view[data-view="gateway"] .gateway-runtime-card.gateway-runtime-voice-card{grid-template-columns:38px minmax(0,1fr) 50px!important;padding:.7rem!important;gap:.36rem .52rem!important}
}
@media(max-width:420px){
  .view[data-view="gateway"] .gateway-voice-cockpit-metrics{grid-template-columns:minmax(0,1fr)!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-metrics>div:last-child{grid-column:auto!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-actions{grid-template-columns:minmax(0,1fr)!important}
  .view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-picker{gap:.35rem!important}
}

.gateway-beacon-compact,.gateway-voice-effect{border:1px solid color-mix(in srgb,currentColor 12%,transparent)!important;border-radius:14px!important;background:color-mix(in srgb,currentColor 3%,transparent)!important}.gateway-beacon-compact::before,.gateway-voice-effect::before{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,#ffb238 13%,transparent);font-weight:900}.gateway-beacon-compact::before{content:"◉"}.gateway-voice-effect::before{content:"♬"}

.user-manager-list{display:grid;gap:.65rem}.user-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:12px}.user-manager-row.is-owner{border-color:color-mix(in srgb,#3de886 32%,transparent)}.user-manager-row small{display:block;margin-top:.25rem;opacity:.67;overflow-wrap:anywhere}.user-manager-row>div{min-width:0}.user-manager-row strong{overflow-wrap:anywhere}.user-row-actions,.user-manager-actions{display:flex;gap:.4rem;align-items:center;justify-content:flex-end}.user-module-fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:12px;padding:.8rem}.user-module-fieldset legend{padding:0 .4rem;font-weight:800}.user-module-fieldset label{display:flex;gap:.4rem;align-items:center}
.public-schedule-panel{margin:0 0 1rem}.public-schedule-panel .mrg-schedule-table{min-width:620px}

@media(max-width:900px){.user-manager-row{grid-template-columns:1fr 1fr}.user-manager-actions{grid-column:1/-1}.user-module-fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ftx-start-mode-options{grid-template-columns:1fr}.gateway-cockpit-schedule-head,.public-schedule-head{align-items:flex-start;flex-direction:column}.user-manager-row{grid-template-columns:1fr}.user-module-fieldset{grid-template-columns:1fr}}

/* rx4: FTX-only controls must never leak into another module view. */
[data-ftx-scoped-ui][hidden] { display: none !important; }


/* rx5 field correction: mobile Gateway cockpit must never widen the whole application. */
.view[data-view="gateway"],
.view[data-view="gateway"] #gatewayOperationCard,
.view[data-view="gateway"] .gateway-runtime-grid-alpha73,
.view[data-view="gateway"] .gateway-cockpit-schedules,
.view[data-view="gateway"] .gateway-operation-workspace-alpha73,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 {
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.view[data-view="gateway"] { overflow-x:clip!important; }
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table-wrap { width:100%!important; max-width:100%!important; min-width:0!important; overflow-x:auto!important; }


/* FTX mode is selected at power-on. No extra status row may consume S-meter/preset space. */
.ftx-mode-status-only,#ftxModeBar,#ftxActiveModeBadge{display:none!important}

/* rx8: restricted operator profile shares the existing form language without a new CSS layer. */
.user-profile-fieldset{border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:12px;padding:.8rem}.user-profile-fieldset legend{padding:0 .4rem;font-weight:800}.user-profile-editor-grid,.user-profile-grid,.user-profile-password-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-profile-logout-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.user-profile-logout-card>div{min-width:0}.user-profile-card .wide,.user-profile-fieldset .wide{grid-column:1/-1}
@media(max-width:640px){.user-profile-editor-grid,.user-profile-grid,.user-profile-password-grid{grid-template-columns:minmax(0,1fr)}.user-profile-logout-card{align-items:stretch;flex-direction:column}.user-profile-logout-card button{width:100%}}


/* rx15: Gateway mobile repair + compact operator tools + master switch authority. */
.view[data-view="gateway"] .gateway-rx-mirror-option{display:none!important}

/* Voice cards: keep the proven full-width mobile presentation instead of squeezing two cards side by side. */
@media(max-width:1100px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"],
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73{grid-template-columns:minmax(0,1fr)!important}
}

/* Schedule cockpit had markup but no final visual authority after the earlier CSS layers. */
.view[data-view="gateway"] .gateway-cockpit-schedules{
  display:grid!important;gap:.7rem!important;margin:.9rem 0!important;padding:1rem!important;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))!important;border-radius:18px!important;
  background:color-mix(in srgb,var(--surface) 96%,var(--surface2))!important;box-shadow:none!important;
}
.view[data-view="gateway"] .gateway-cockpit-schedule-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:.8rem!important}
.view[data-view="gateway"] .gateway-cockpit-schedule-head .eyebrow{margin:0 0 .18rem!important}
.view[data-view="gateway"] .gateway-cockpit-schedule-head h3{margin:0!important;font-size:1.05rem!important}
.view[data-view="gateway"] #gatewayScheduleAdd{min-height:44px!important;width:auto!important;padding:.55rem .85rem!important;border-radius:12px!important;font-size:.8rem!important;white-space:nowrap!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table-wrap{overflow-x:auto!important;border:1px solid var(--border)!important;border-radius:13px!important;background:var(--surface)!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table{width:100%!important;min-width:640px!important;border-collapse:collapse!important;border-spacing:0!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table th{padding:.52rem .65rem!important;text-align:left!important;font-size:.62rem!important;letter-spacing:.08em!important;color:var(--muted)!important;border-bottom:1px solid var(--border)!important;background:color-mix(in srgb,var(--surface2) 82%,var(--surface))!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td{padding:.62rem .65rem!important;font-size:.75rem!important;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)!important;vertical-align:middle!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table tbody tr:last-child td{border-bottom:0!important}
.view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td.muted{text-align:center!important;padding:1rem!important;color:var(--muted)!important}

/* Compact direct controls: remove decorative icon rows and dead vertical space. */
.gateway-beacon-compact::before,.gateway-voice-effect::before{display:none!important;content:none!important}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-beacon-compact,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect{
  min-height:0!important;padding:.68rem .72rem!important;gap:.46rem!important;align-content:start!important;grid-template-rows:auto auto!important;
}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .compact-beacon-head{min-height:0!important}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .compact-beacon-row{margin-top:0!important;gap:.45rem!important}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .voice-effect-title{padding:0 .05rem .28rem!important;min-height:0!important}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-head{margin-top:0!important;min-height:44px!important;grid-template-columns:minmax(0,1fr) 66px!important;gap:.5rem!important}
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-preset-select,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-preset-select select,
.view[data-view="gateway"] .gateway-operator-tools-alpha73 .gateway-voice-effect .voice-effect-head button{height:44px!important;min-height:44px!important}

/* Reusable MRG master switch: one placement, always top-right in Equalizer sections. */
.rx3-hidden-checkbox-label{display:none!important}
.view[data-view="gateway"] .tx-eq-cockpit>summary.has-mrg-master-switch{position:relative!important;padding-right:5.1rem!important;min-height:64px!important}
.view[data-view="gateway"] .mrg-inline-master-switch{
  position:absolute!important;top:50%!important;right:.75rem!important;transform:translateY(-50%)!important;
  width:64px!important;height:36px!important;min-width:64px!important;min-height:36px!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--muted) 35%,var(--border))!important;border-radius:999px!important;
  background:color-mix(in srgb,var(--muted) 15%,var(--surface2))!important;box-shadow:none!important;z-index:3!important;
}
.view[data-view="gateway"] .mrg-inline-master-switch>span{position:relative!important;display:block!important;width:100%!important;height:100%!important;border-radius:inherit!important}
.view[data-view="gateway"] .mrg-inline-master-switch i{position:absolute!important;top:4px!important;left:4px!important;width:26px!important;height:26px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 2px 7px rgba(0,0,0,.22)!important;transition:left .16s ease!important}
.view[data-view="gateway"] .mrg-inline-master-switch.is-on{background:var(--success)!important;border-color:color-mix(in srgb,var(--success) 70%,var(--border))!important;box-shadow:0 0 14px color-mix(in srgb,var(--success) 25%,transparent)!important}
.view[data-view="gateway"] .mrg-inline-master-switch.is-on i{left:32px!important}
.view[data-view="gateway"] .mrg-inline-master-switch:disabled{opacity:.42!important;cursor:not-allowed!important;box-shadow:none!important}

@media(max-width:700px){
  .view[data-view="gateway"] .gateway-cockpit-schedule-head{align-items:stretch!important;flex-direction:column!important}
  .view[data-view="gateway"] #gatewayScheduleAdd{width:100%!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table{min-width:0!important;display:block!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table thead{display:none!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table tbody{display:grid!important;gap:.5rem!important;padding:.5rem!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table tr{display:grid!important;gap:.3rem!important;padding:.65rem!important;border:1px solid var(--border)!important;border-radius:11px!important;background:var(--surface2)!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:.45rem!important;padding:.15rem 0!important;border:0!important;font-size:.72rem!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td:nth-child(1)::before{content:"ZEIT"}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td:nth-child(2)::before{content:"ZEITPLAN"}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td:nth-child(3)::before{content:"SPRACHWEG"}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td:nth-child(4)::before{content:"FUNK"}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td:nth-child(5)::before{content:"STATUS"}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td::before{font-size:.58rem!important;font-weight:900!important;letter-spacing:.08em!important;color:var(--muted)!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td[colspan]{display:block!important;text-align:center!important;padding:.8rem!important}
  .view[data-view="gateway"] .gateway-cockpit-schedules .mrg-schedule-table td[colspan]::before{content:none!important}
}


/* rx16: explicit Gateway card anatomy and compact header resource fit. */
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  min-height:0!important;padding:.86rem!important;gap:.72rem!important;overflow:hidden!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head{
  display:grid!important;grid-template-columns:44px minmax(0,1fr) 52px!important;align-items:center!important;gap:.68rem!important;min-width:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-icon{
  position:static!important;grid-column:1!important;grid-row:auto!important;align-self:center!important;justify-self:center!important;width:44px!important;height:44px!important;margin:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-copy{
  position:static!important;grid-column:2!important;grid-row:auto!important;align-self:center!important;display:grid!important;gap:.1rem!important;min-width:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-copy>strong{font-size:1.12rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-copy>small{font-size:.72rem!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-voice-config-button{
  position:static!important;grid-column:3!important;grid-row:auto!important;justify-self:end!important;align-self:center!important;width:48px!important;height:44px!important;min-width:48px!important;min-height:44px!important;margin:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-details{
  grid-column:1!important;grid-row:2!important;width:100%!important;display:grid!important;gap:.65rem!important;min-width:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;min-width:0!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>div{
  min-width:0!important;padding:.58rem .65rem!important;border-radius:11px!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>.metric-server{grid-column:1/-1!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics strong{font-size:.8rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:420px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card{padding:.72rem!important;gap:.6rem!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head{grid-template-columns:40px minmax(0,1fr) 48px!important;gap:.5rem!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-icon{width:40px!important;height:40px!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-voice-config-button{width:46px!important;min-width:46px!important;height:42px!important;min-height:42px!important}
}
@media(max-width:330px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics{grid-template-columns:minmax(0,1fr)!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>.metric-server{grid-column:auto!important}
}

/* Give BAT/HDD enough horizontal room; take that room from the propagation column, not from radio/nav touch targets. */
@media(max-width:760px){
  #adminShell .mrg-cockpit-header-grid{grid-template-columns:76px minmax(0,1fr) 44px 44px!important;grid-template-areas:"resources propagation radio nav"!important}
  #adminShell .mrg-header-resources .mrg-resource-tile-content{grid-template-columns:16px auto minmax(0,1fr)!important;column-gap:.07rem!important;padding:0 .10rem!important}
  #adminShell .mrg-header-resources .mrg-resource-tile-icon{width:18px!important;height:18px!important}
  #adminShell .mrg-header-resources .mrg-resource-tile-icon svg{width:17px!important;height:17px!important}
  #adminShell .mrg-header-resources .mrg-resource-tile-content b{font-size:.47rem!important;letter-spacing:.015em!important;white-space:nowrap!important}
  #adminShell .mrg-header-resources .mrg-resource-tile-content strong{justify-self:end!important;font-size:.54rem!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important}
  #adminShell .mrg-header-nav-stack>.mrg-header-cell svg,#adminShell .mrg-header-radio-stack>.mrg-header-cell svg{width:21px!important;height:21px!important}
  #adminShell .mrg-header-propagation .mrg-prop-tile{padding:0 .16rem!important}
  #adminShell .mrg-header-propagation .mrg-prop-tile>span{left:.2rem!important}
}

/* Radio EQ: disabled master in FM means 'not effective in this mode', not 'not readable'. */
.view[data-view="gateway"] #radioHardwareEq .mrg-inline-master-switch:disabled{opacity:.68!important}


/* rx17: close the inherited Alpha73 dead space between mode picker and Voice cards. */
.view[data-view="gateway"] #gatewayOperationCard{gap:.6rem!important}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73{margin-bottom:.15rem!important}
.view[data-view="gateway"] .gateway-operation-workspace-alpha73 .gateway-mode-panel{min-height:0!important;align-content:start!important;padding-bottom:.2rem!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]{margin-top:0!important}

/* Manual TRX read: intentionally keep the user-visible activity indicator alive for at least 3 seconds. */
.view[data-view="gateway"] #radioEqRead{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.48rem!important}
.view[data-view="gateway"] #radioEqRead.is-trx-reading::before{
  content:"";width:15px;height:15px;flex:0 0 15px;border:2px solid color-mix(in srgb,currentColor 28%,transparent);
  border-top-color:currentColor;border-radius:50%;animation:rx17TrxReadSpin .72s linear infinite
}
@keyframes rx17TrxReadSpin{to{transform:rotate(360deg)}}
/* ===== END alpha4-rx4-ui.css ===== */

/* alpha4-rx34: PWA login + editable protected owner */
.login-form{display:grid;gap:.05rem}.login-remember{display:flex!important;align-items:center;gap:.65rem;margin-top:.8rem!important;padding:.62rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}
.login-remember input{width:20px;height:20px;flex:0 0 auto}.login-remember>span{min-width:0;margin:0!important}.login-remember strong,.login-remember small{display:block}.login-remember strong{font-size:.84rem}.login-remember small{margin-top:.12rem;color:var(--muted);font-size:.7rem;line-height:1.3}.user-manager-row.is-owner{background:color-mix(in srgb,var(--success) 4%,var(--surface));}.user-owner-edit-note{color:var(--muted);font-size:.72rem}


/* RC2 Phase 5: compact Voice provider cards with explicit handoff hierarchy. */
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]{gap:.62rem!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card{
  padding:.62rem .68rem!important;gap:.46rem!important;border-radius:14px!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head{
  grid-template-columns:38px minmax(0,1fr) 44px!important;gap:.5rem!important;min-height:40px!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-runtime-icon{width:38px!important;height:38px!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-card-head .gateway-voice-config-button{
  width:42px!important;min-width:42px!important;height:38px!important;min-height:38px!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-details{gap:.42rem!important}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.34rem!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>div{
  padding:.38rem .48rem!important;border-radius:9px!important;min-height:48px!important;display:grid!important;align-content:center!important;
}
.view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>.metric-server{grid-column:span 2!important}
.view[data-view="gateway"] .gateway-voice-cockpit-badges{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.34rem!important}
.view[data-view="gateway"] .gateway-voice-cockpit-badges span{text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.view[data-view="gateway"] .gateway-voice-cockpit-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important;gap:.4rem!important}
.view[data-view="gateway"] .gateway-voice-cockpit-actions button{min-height:44px!important;padding:.52rem .6rem!important;line-height:1.08!important}
.view[data-view="gateway"] .gateway-action-promote{background:var(--warning)!important;border-color:var(--warning)!important;color:#fff!important;box-shadow:0 6px 16px color-mix(in srgb,var(--warning) 16%,transparent)!important}
.view[data-view="gateway"] .gateway-runtime-card.is-switching{outline:1px solid color-mix(in srgb,var(--warning) 55%,transparent)!important;outline-offset:-1px!important}
.view[data-view="gateway"] .voice-quickstart-button.is-secondary-handoff:not(:disabled){border-color:color-mix(in srgb,var(--warning) 58%,var(--border))!important}
@media(max-width:1100px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:520px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card{padding:.56rem .6rem!important;gap:.4rem!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>.metric-server{grid-column:span 2!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-actions{grid-template-columns:minmax(0,1.45fr) minmax(92px,.55fr)!important}
}
@media(max-width:350px){
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .view[data-view="gateway"] .gateway-runtime-grid-alpha73[data-layout="alpha173"]>.gateway-voice-summary-card .gateway-voice-cockpit-metrics>.metric-server{grid-column:1/-1!important}
  .view[data-view="gateway"] .gateway-voice-cockpit-actions{grid-template-columns:minmax(0,1fr)!important}
}

/* ===== BEGIN pre47 module-settings parity =====
   FT8 is the visual/structural reference for all operator-facing module settings.
   This block only normalizes presentation; module-specific capabilities remain module-specific. */
.mrg-module-settings-main .ft8-settings-tile-copy>strong{font-size:.90rem!important;line-height:1.22!important}
.mrg-module-settings-main .mrg-module-settings-subtext{display:block;color:var(--muted);font-size:.84rem!important;line-height:1.35!important;font-weight:520!important;margin-top:.12rem}
.mrg-module-settings-main .digital-settings-group{display:grid;gap:.72rem;padding:.78rem .1rem;border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent)}
.mrg-module-settings-main .digital-settings-group:first-of-type{border-top:0;padding-top:.28rem}
.mrg-module-settings-main .digital-settings-group>h4{margin:0;font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.mrg-module-settings-main .setting-help{font-size:.78rem!important;line-height:1.38!important}
.mrg-module-settings-main .ft8-settings-actions{margin-top:.78rem}
#sstvSettingsPane .mrg-module-settings-main .digital-settings-group{background:transparent!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;padding:.78rem .1rem!important;margin-top:0!important}
#sstvSettingsPane .mrg-module-settings-main .digital-settings-group:first-of-type{border-top:0!important;padding-top:.28rem!important}
@media(max-width:680px){
  .mrg-module-settings-main .ft8-settings-pairs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.48rem!important}
  .mrg-module-settings-main .ft8-settings-pairs>label{min-width:0!important}
  .mrg-module-settings-main .ft8-settings-pairs input,.mrg-module-settings-main .ft8-settings-pairs select{width:100%!important;min-width:0!important}
}
@media(max-width:420px){
  .mrg-module-settings-main .ft8-settings-pairs{grid-template-columns:1fr!important}
}
/* ===== END pre47 module-settings parity ===== */


/* ===== BEGIN pre48 compact settings + CW dark composer polish ===== */
/* Short select/number pairs should remain compact on phone-sized operator screens. */
.mrg-module-settings-main .ft8-settings-pairs.mrg-short-field-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.52rem!important;
}
.mrg-module-settings-main .mrg-short-field-grid>.mrg-field-full{grid-column:1/-1!important}
.mrg-module-settings-main .mrg-option-switch.wide{grid-column:1/-1!important;width:100%!important;min-width:0!important}

/* Match the proven muted-red FT8 TX-state language instead of a pale pink CW field. */
.cw-console-grid>.cw-composer,
.cw-live-pane .cw-composer{
  background:color-mix(in srgb,#dc2626 11%,var(--surface2))!important;
  border-color:color-mix(in srgb,#dc2626 42%,var(--border))!important;
}
.cw-console-grid>.cw-composer input,
.cw-live-pane .cw-composer input{
  background:color-mix(in srgb,#dc2626 11%,var(--surface2))!important;
  color:var(--text)!important;
}
:root[data-theme="dark"] .cw-console-grid>.cw-composer,
:root[data-theme="dark"] .cw-live-pane .cw-composer,
:root[data-theme="dark"] .cw-console-grid>.cw-composer input,
:root[data-theme="dark"] .cw-live-pane .cw-composer input{
  background:color-mix(in srgb,#dc2626 14%,var(--surface2))!important;
}
/* ===== END pre48 compact settings + CW dark composer polish ===== */


/* ===== BEGIN rc2-pre49 network cockpit + SSTV waiting art ===== */
/* Network status is presented as proper MRG cockpit telemetry instead of flat list rows. */
.network-status-grid,
.hotspot-dry-run-grid,
.wifi-safety-strip{gap:.68rem!important}
.network-status-grid>div,
.hotspot-dry-run-grid>div,
.wifi-safety-strip>div{
  --mrg-net-accent:var(--accent);
  position:relative;
  isolation:isolate;
  min-width:0;
  min-height:106px;
  align-content:center!important;
  gap:.28rem!important;
  padding:.9rem .95rem .88rem 1.08rem!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--mrg-net-accent) 28%,var(--border))!important;
  border-radius:17px!important;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--mrg-net-accent) 9%,var(--surface2)) 0%,var(--surface) 70%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(6,13,24,.08);
}
.network-status-grid>div::before,
.hotspot-dry-run-grid>div::before,
.wifi-safety-strip>div::before{
  content:"";
  position:absolute;
  inset:.55rem auto .55rem .48rem;
  width:3px;
  border-radius:999px;
  background:var(--mrg-net-accent);
  box-shadow:0 0 12px color-mix(in srgb,var(--mrg-net-accent) 54%,transparent);
}
.network-status-grid>div::after,
.hotspot-dry-run-grid>div::after,
.wifi-safety-strip>div::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:70px;height:70px;
  right:-26px;top:-30px;
  border-radius:50%;
  background:color-mix(in srgb,var(--mrg-net-accent) 10%,transparent);
  filter:blur(2px);
}
.network-status-grid>div:nth-child(5n+1),.hotspot-dry-run-grid>div:nth-child(4n+1),.wifi-safety-strip>div:nth-child(4n+1){--mrg-net-accent:#20a66a}
.network-status-grid>div:nth-child(5n+2),.hotspot-dry-run-grid>div:nth-child(4n+2),.wifi-safety-strip>div:nth-child(4n+2){--mrg-net-accent:#2f80ed}
.network-status-grid>div:nth-child(5n+3),.hotspot-dry-run-grid>div:nth-child(4n+3),.wifi-safety-strip>div:nth-child(4n+3){--mrg-net-accent:#e89219}
.network-status-grid>div:nth-child(5n+4),.hotspot-dry-run-grid>div:nth-child(4n+4),.wifi-safety-strip>div:nth-child(4n+4){--mrg-net-accent:#17a9b7}
.network-status-grid>div:nth-child(5n+5){--mrg-net-accent:#8b68d9}
.network-status-grid span,.hotspot-dry-run-grid span,.wifi-safety-strip span{font-size:.61rem!important;font-weight:950!important;letter-spacing:.095em!important;color:var(--muted)!important}
.network-status-grid strong,.hotspot-dry-run-grid strong,.wifi-safety-strip strong{font-size:1rem!important;line-height:1.12!important;letter-spacing:.015em;overflow-wrap:anywhere}
.network-status-grid small,.hotspot-dry-run-grid small,.wifi-safety-strip small{font-size:.69rem!important;line-height:1.32!important;color:var(--muted)!important;overflow-wrap:anywhere}
.hotspot-dry-run-panel{border-radius:18px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface2) 91%,transparent),var(--surface))!important}
.wifi-safety-verdict{border-width:1px!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mrg-net-accent) 18%,transparent),0 8px 22px rgba(6,13,24,.08)!important}
.tailscale-settings-card .network-status-grid>div{min-height:114px}
@media(max-width:560px){
  .network-status-grid,.hotspot-dry-run-grid,.wifi-safety-strip{grid-template-columns:1fr!important}
  .network-status-grid>div,.hotspot-dry-run-grid>div,.wifi-safety-strip>div{min-height:92px;padding:.78rem .82rem .76rem 1rem!important}
}

/* Generated MRG SSTV waiting artwork replaces the generic NO SIGNAL placeholder. */
.sstv-picture-empty-art{width:100%;height:100%;min-height:inherit;padding:0!important;overflow:hidden;background:#0d1420}
.sstv-picture-empty-art .sstv-waiting-placeholder{display:block!important;width:100%;height:100%;min-height:inherit;max-height:none!important;object-fit:contain;background:#0d1420}
.sstv-gallery-strip[hidden]{display:none!important}
/* ===== END rc2-pre49 network cockpit + SSTV waiting art ===== */
