/* Shared surfaces use the operator's theme tokens, including native controls. */
:root { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; }
.auth-page { background:var(--bg); }
.auth-topbar { display:flex; justify-content:space-between; align-items:center; padding:1.2rem 2rem; border-bottom:1px solid var(--line); background:var(--surface); }
.auth-shell { width:min(920px,100%); min-height:calc(100dvh - 80px); margin:auto; padding:3rem 2rem; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4rem; }
.auth-copy h1 { font-size:clamp(2rem,3vw,3.3rem); line-height:1.12; max-width:12ch; margin:.9rem 0 1.4rem; }
.auth-copy p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; line-height:1.65; max-width:33ch; }
.auth-card,.logout-state { padding:2.2rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); box-shadow:0 8px 30px #00000008; }
.auth-step { display:grid; gap:1.4rem; }
.auth-card h2 { font-size:1.6rem; }
.auth-card .field input { min-height:44px; background:var(--surface); color:var(--text); }
.auth-card .field>span { font-size:.92rem; color:var(--muted); }
:root[data-theme="dark"] .button--primary,:root[data-theme="dark"] .icon-button--accent { color:var(--on-accent,#fff); }
.auth-card .button--primary { min-height:44px; }
.auth-hint,.auth-error { line-height:1.5; }
.auth-error:empty { margin:0; }
.auth-error { margin:1rem 0 0; color:var(--danger); }
.logout-page { min-height:calc(100dvh - 80px); display:grid; place-items:center; padding:2rem; }
.logout-state { width:min(420px,100%); }
.logout-state h1 { margin-bottom:1rem; }
#adminWorkspace { flex:1; min-height:0; overflow:auto; background:var(--bg); }
#adminWorkspace .workspace-grid--admin { gap:1rem; }
#adminWorkspace .panel { border:1px solid var(--line); border-radius:.7rem; background:var(--surface); box-shadow:0 2px 5px #00000005; }
#adminWorkspace .panel__header { margin-bottom:1.2rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
#adminWorkspace .account-row,#adminWorkspace .product-card,#adminWorkspace .classification-row { background:var(--surface); color:var(--text); border-color:var(--line); }
#adminWorkspace input,#adminWorkspace select,#adminWorkspace textarea { background:var(--surface); color:var(--text); border-color:var(--line-strong); }
#adminWorkspace .product-card__description,#adminWorkspace .state-line { color:var(--muted); }
.product-dialog__description,.reason-list li,.desktop-capture-copy p { color:var(--muted); }
.product-detail-parameters>div,.classification-row,.desktop-device-row,.history-turn,.history-suggestion,.script-path-item { background:var(--surface); color:var(--text); border-color:var(--line); }
.segmented-control { background:var(--surface-raised); }
.segmented-control .is-active,.script-node-editor[data-drop-zone="inside"],.script-path-item.is-active,.history-turn--manager,.pairing-grant { background:var(--accent-soft); color:var(--accent-text); border-color:var(--line-strong); }
.history-turn--customer,.qualification-item--confirmed { background:var(--success-soft); border-color:var(--success); }
.pending-transition,.history-lamp,.qualification-item--proposed { background:var(--warning-soft); border-color:var(--warning); }
.call-grid .coach-panel[data-view="live"] { grid-template-rows:3.2rem minmax(0,1fr) 6rem; }
.coach-panel[data-view="live"]>.workspace-cue-sequence { grid-row:2; }
.coach-panel[data-view="live"]>.last-customer { grid-row:3; }
.coach-panel[data-view="live"] .coach-answers { display:flex; flex-direction:column; gap:.75rem; }
.coach-panel[data-view="live"] .coach-answers .script-guide { flex:none; }
.assignment-dialog { width:min(46rem,calc(100vw - 2rem)); max-height:90dvh; }
.assignment-fields { display:grid; gap:1rem; margin-bottom:1.5rem; }
.assignment-fields fieldset { border:1px solid var(--line); border-radius:.6rem; padding:1rem; }
.assignment-fields legend { padding:0 .4rem; font-weight:600; }
.assignment-fields label { display:flex; gap:.8rem; align-items:center; padding:.6rem 0; cursor:pointer; }
.assignment-fields input { width:1.2rem; height:1.2rem; accent-color:var(--accent); }
#adminWorkspace .account-actions { flex-wrap:wrap; }
@media(max-width:650px) {
  .auth-shell { grid-template-columns:1fr; gap:1.5rem; padding:2rem 1.2rem; }
  .auth-copy h1 { max-width:none; }
  .auth-copy p:not(.eyebrow) { max-width:none; }
  .auth-card { padding:1.6rem; }
}
/* Keyboard-accessible integration switch and explanatory tooltip. */
.typesafe-setting,.typesafe-toggle{display:flex;align-items:center;gap:12px}
.typesafe-setting + .typesafe-setting{margin-top:14px}
.typesafe-toggle input{appearance:none;width:42px;height:24px;border:1px solid currentColor;border-radius:20px;background:transparent;position:relative;cursor:pointer;flex:none}
.typesafe-toggle input::after{content:"";position:absolute;width:16px;height:16px;top:3px;left:3px;border-radius:50%;background:currentColor;transition:transform .15s}
.typesafe-toggle input:checked{background:var(--accent);color:white}
.typesafe-toggle input:checked::after{transform:translateX(18px)}
.typesafe-toggle input:disabled{opacity:.5;cursor:not-allowed}
.typesafe-help{position:relative}
.typesafe-help [role=tooltip]{display:none;position:absolute;z-index:20;top:100%;right:0;width:min(320px,70vw);padding:14px;border-radius:8px;background:#242434;color:#fff;line-height:1.5;box-shadow:0 8px 24px #0004}
.typesafe-help:hover [role=tooltip],.typesafe-help:focus-within [role=tooltip]{display:block}

/* Admin: task-focused sections, compact settings and theme-safe controls. */
#adminWorkspace { padding:24px clamp(16px,3vw,48px); }
#adminWorkspace .admin-workspace-heading { margin:0 0 20px; }
#adminWorkspace .admin-navigation { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:18px; border-bottom:1px solid var(--line); }
#adminWorkspace .admin-navigation [aria-pressed="true"] { color:var(--accent-text); background:var(--accent-soft); border-color:var(--accent); }
#adminWorkspace .workspace-grid--admin { grid-template-columns:minmax(0,1fr); align-items:start; margin:20px auto 0; max-width:1440px; }
#adminWorkspace [data-admin-panel][hidden] { display:none; }
#adminWorkspace .admin-panel { min-height:0; padding:22px; min-width:0; }
#adminWorkspace .panel__header { min-height:0; gap:16px; flex-wrap:wrap; margin-bottom:18px; padding-bottom:14px; }
#adminWorkspace h2 { font-size:1.15rem; }
#adminWorkspace .account-table-head,#adminWorkspace .account-row { grid-template-columns:minmax(180px,1.3fr) minmax(110px,.65fr) minmax(130px,.7fr) 90px minmax(220px,1fr); }
#adminWorkspace .account-row { padding:14px 8px; font-size:.85rem; }
#adminWorkspace .account-person span { font-size:.8rem; }
#adminWorkspace .account-create-row { padding:16px; border-radius:10px; background:var(--bg); }
#adminWorkspace .product-list { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
#adminWorkspace .product-card { min-width:0; }
#adminWorkspace .product-card__description { line-height:1.55; overflow-wrap:anywhere; }
#adminWorkspace .typesafe-panel { max-width:760px; width:100%; }
#adminWorkspace .typesafe-panel .panel__header { border:0; padding-bottom:0; margin-bottom:14px; }
#adminWorkspace .admin-actions { flex-wrap:wrap; }
#adminWorkspace .typesafe-toggle { cursor:pointer; }
#adminWorkspace .typesafe-toggle input, #nativeDesktopSettings .typesafe-toggle input { appearance:none; box-sizing:border-box; width:42px; height:24px; min-height:24px; padding:0; margin:0; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface-raised); color:var(--muted); }
#adminWorkspace .typesafe-toggle input:checked, #nativeDesktopSettings .typesafe-toggle input:checked { background:var(--accent); border-color:var(--accent); color:white; }
#adminWorkspace .typesafe-help .icon-button { width:28px; height:28px; min-height:28px; padding:0; border-radius:50%; }
#adminWorkspace #typeSafeStatus { margin:10px 0 0; font-size:.85rem; line-height:1.5; color:var(--muted); }
#adminWorkspace .typesafe-timeout { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }
#adminWorkspace .typesafe-timeout select { width:112px; flex:none; }
#adminWorkspace #typeSafeTimeoutHelp { margin:8px 0 0; font-size:.85rem; line-height:1.5; color:var(--muted); }
#adminWorkspace .voice-policy-form { max-width:640px; }
#adminWorkspace .voice-policy-row { grid-template-columns:minmax(160px,1fr) minmax(220px,1fr); }
#adminWorkspace .ruleset-row { background:var(--bg); }
@media(max-width:1150px) {
  #adminWorkspace .account-create-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #adminWorkspace .account-table-head { display:none; }
  #adminWorkspace .account-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  #adminWorkspace .account-actions { grid-column:1/-1; grid-row:auto; justify-content:flex-start; }
}
@media(max-width:700px) {
  #adminWorkspace .admin-panel { padding:16px; }
  #adminWorkspace .admin-content-grid,#adminWorkspace .classification-row,#adminWorkspace .voice-policy-row,#adminWorkspace .voice-policy-form,#adminWorkspace .account-create-row { grid-template-columns:minmax(0,1fr); }
  #adminWorkspace .typesafe-setting { flex-wrap:wrap; }
  #adminWorkspace .account-create-row .button { grid-column:1; }
  #adminWorkspace .typesafe-help [role=tooltip] { left:0; right:auto; }
}
