/* Phase 1 private switch controls. Scoped to the existing Settings dialog. */
#settingsDialog .phase1-settings-form{width:min(720px,calc(100vw - 28px));max-height:min(88vh,860px);overflow:auto}
.phase1-current{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 14px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,var(--panel2)),var(--panel))}
.phase1-current>div{display:grid;gap:4px;min-width:0}.phase1-current small,.phase1-section-head small{color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.13em}.phase1-current strong{min-width:0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.phase1-current span{min-width:0;color:var(--muted);font-size:9px;overflow-wrap:anywhere}.phase1-current>b{flex:0 0 auto;padding:6px 9px;border:1px solid var(--line2);border-radius:999px;color:var(--muted);font-size:8px;letter-spacing:.1em}.phase1-current>b[data-state="active"]{border-color:color-mix(in srgb,var(--safe) 35%,var(--line));background:color-mix(in srgb,var(--safe) 7%,transparent);color:var(--safe)}.phase1-current>b[data-state="paused"]{border-color:color-mix(in srgb,var(--warn) 38%,var(--line));background:color-mix(in srgb,var(--warn) 7%,transparent);color:var(--warn)}
.phase1-locked{display:grid;gap:10px}.phase1-locked[hidden],.phase1-private[hidden],.phase1-section [hidden]{display:none!important}.phase1-private{display:grid;gap:12px}.phase1-section{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.phase1-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.phase1-section-head>div{display:grid;gap:4px;min-width:0}.phase1-section-head strong{font-size:12px}.phase1-section-head>span{max-width:48%;min-width:0;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.07em;text-align:right;overflow-wrap:anywhere}.phase1-section-copy{margin:0;color:var(--muted);font-size:9.5px;line-height:1.5}.phase1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#settingsDialog .field-group{display:grid;gap:6px}#settingsDialog .field-group label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:800}#settingsDialog .field-group label span{color:var(--muted2);font-size:8px;font-weight:600}#settingsDialog .field-group input,#settingsDialog .field-group select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--line2);border-radius:10px;outline:none;background:var(--panel);color:var(--text);font-size:12px}#settingsDialog .field-group input:focus,#settingsDialog .field-group select:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--line2));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.phase1-input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line2);border-radius:10px;background:var(--panel);overflow:hidden}.phase1-input-unit input{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.phase1-input-unit span{padding:0 11px;color:var(--muted);font-size:9px;border-left:1px solid var(--line)}.phase1-help{display:block;color:var(--muted);font-size:8.5px;line-height:1.45}.phase1-actions{display:flex;flex-wrap:wrap;gap:8px}.phase1-actions button{min-width:150px}.phase1-warning{border-color:color-mix(in srgb,var(--warn) 35%,var(--line))!important;color:var(--warn)!important}.phase1-error{min-height:18px;margin:0;color:var(--danger);font-size:9px;line-height:1.45}#settingsDialog menu{margin:2px 0 0;padding:0;display:flex;justify-content:flex-end}#settingsDialog button:disabled,#settingsDialog input:disabled,#settingsDialog select:disabled{cursor:not-allowed;opacity:.55}
.top-status[data-state="paused"]{color:var(--warn)}.status-console[data-state="paused"]{border-color:color-mix(in srgb,var(--warn) 26%,var(--line))}.status-console[data-state="paused"] .state-pill{border-color:color-mix(in srgb,var(--warn) 34%,var(--line));background:color-mix(in srgb,var(--warn) 8%,transparent);color:var(--warn)}.status-console[data-state="paused"] .ring-progress{stroke:var(--warn)!important;stroke-dashoffset:0!important;opacity:.68}.status-console[data-state="paused"] .button-pulse{background:var(--warn);box-shadow:0 0 15px color-mix(in srgb,var(--warn) 60%,transparent)}
html[data-theme="light"] .phase1-section{background:#f7fbff}html[data-theme="light"] .phase1-current{background:linear-gradient(145deg,#f3f8ff,#fff)}
@media(max-width:700px){#settingsDialog .phase1-settings-form{width:min(100%,calc(100vw - 18px));max-height:92vh;padding:15px}.phase1-current{align-items:flex-start;padding:12px}.phase1-current>b{margin-top:1px}.phase1-grid{grid-template-columns:1fr}.phase1-section{padding:13px}.phase1-section-head{gap:10px}.phase1-actions{display:grid;grid-template-columns:1fr}.phase1-actions button,#phase1Pause,#phase1Resume,#phase1Unlock{width:100%;min-height:44px}#settingsDialog .field-group input,#settingsDialog .field-group select{min-height:46px;font-size:14px}}
@media(max-width:430px){#mobileSettings{display:grid!important;place-items:center;flex:0 0 39px}}

/* Real-device acceptance polish. Keep the existing Settings destination visible across mobile browser viewport differences. */
@media(max-width:700px){
  #mobileSettings{display:grid!important;place-items:center;flex:0 0 39px}
  #lockNowButton{display:none!important}
  .mobile-brand{flex:0 0 auto;min-width:74px}
  .mobile-brand>span:last-child{min-width:0}
  .mobile-brand strong{white-space:nowrap}
  #operatorButton{min-width:68px!important;max-width:76px;padding-inline:8px!important;font-size:0!important;white-space:nowrap;overflow:hidden}
  #operatorButton::after{content:"Access";font-size:10px;font-weight:850}
}

/* If a stale cached Phase 1 script left a header-only duplicate override card, suppress only that empty duplicate. */
#phase1PrivateControls .phase1-section:has(#phase1OverrideMeta):not(:has(#phase1DeadlineOverride)){display:none!important}

/* Phase 1 has configuration only. Do not imply that a delivery runtime is waiting to execute. */
.action-status-row .is-pending{opacity:.72}
.action-status-row .is-pending strong{font-size:0!important;color:var(--muted)!important}
.action-status-row .is-pending strong::after{content:"NOT ACTIVE";font-size:7px;font-weight:850;letter-spacing:.08em}

/* Desktop Settings must own its width. The generic app dialog is intentionally only 440px. */
#settingsDialog{width:min(680px,calc(100vw - 48px));max-width:680px;max-height:90dvh;overflow:hidden}
#settingsDialog .phase1-settings-form{width:100%;max-width:100%;min-width:0;max-height:86dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
#settingsDialog .dialog-head,#settingsDialog .phase1-current,#settingsDialog .phase1-locked,#settingsDialog .phase1-private,#settingsDialog .phase1-section,#settingsDialog .phase1-grid,#settingsDialog .field-group,#settingsDialog .setting-note{min-width:0;max-width:100%}
#settingsDialog .setting-note p,#settingsDialog .phase1-section-copy,#settingsDialog .phase1-help{max-width:100%;overflow-wrap:anywhere}
#settingsDialog .phase1-input-unit{min-width:0;max-width:100%}
#settingsDialog .phase1-input-unit input{min-width:0}

@media(max-width:700px){
  #settingsDialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:94dvh}
  #settingsDialog .phase1-settings-form{width:100%;max-width:100%;max-height:92dvh;overflow-x:hidden;padding:15px}
  .phase1-current{flex-wrap:wrap}
}
