/* A single, local visual language for the workbench and its companion pages. */
:root {
    color-scheme: light;
    --ink-950: #1d1d1f;
    --ink-800: #303036;
    --ink-600: #66666e;
    --ink-400: #8e8e93;
    --line: #e5e5ea;
    --line-strong: #d2d2d7;
    --paper: #ffffff;
    --paper-soft: #f5f5f7;
    --canvas: #f5f5f7;
    --pine-100: #e9f2ff;
    --pine-300: #b9d8ff;
    --pine-500: #007aff;
    --pine-600: #0071e3;
    --pine-700: #005fc1;
    --sales-blue-50: #f2f7ff;
    --sales-blue-100: #e8f2ff;
    --sales-blue-500: #007aff;
    --sales-blue-600: #0071e3;
    --sales-blue-700: #005fc1;
    --sales-blue-gradient: #007aff;
    --sales-blue-gradient-strong: #006ae6;
    --shadow: 0 14px 44px rgb(20 25 40 / 10%);
    --radius-xl: 22px;
    --radius-lg: 18px;
    --radius-md: 12px;
    --font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Segoe UI", "Microsoft YaHei", sans-serif;
    --control-accent: #8052be;
    --control-accent-hover: #7043af;
    --control-accent-soft: #f4eefb;
    --control-border: #d7d4dd;
    --control-ink: #302b37;
    --control-danger: #b42332;
    --control-danger-soft: #fff2f3;
    --control-field-weight: 400;
    --control-secondary-weight: 400;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Segoe UI", "Microsoft YaHei", sans-serif;
}

html, body { background: #f5f5f7; color: #1d1d1f; }
body { font-family: var(--font-ui); letter-spacing: 0; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.app-header, #app .zone-header, dialog .dialog-header { letter-spacing: -0.015em; }
.page-atmosphere { display: none; }
button, input, textarea, select { font-family: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease; }
button:active:not(:disabled) { transform: scale(.98); }
:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 3px solid rgb(128 82 190 / 38%);
    outline-offset: 2px;
}

svg { flex: none; }
.reply-gradient-defs { position: fixed; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.reply-gradient-defs svg { display: block; width: 0; height: 0; }
.header-link svg, .new-contact-button svg, .compact-action svg,
.mobile-mode-tabs svg, .admin-tabs svg, .page-title-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.header-link, .new-contact-button, .compact-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }

.app-header, #workspace-shell > .app-header {
    border-bottom: 1px solid #e5e5ea;
    background: rgb(255 255 255 / 88%);
    box-shadow: 0 1px 10px rgb(25 28 40 / 4%);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}
body[data-demo-persona] #workspace-shell > .app-header,
body[data-tenant-persona] #workspace-shell > .app-header { display: none; }
.app-header h1, #workspace-shell > .app-header h1 { color: #1d1d1f; font-size: 20px; font-weight: 700; letter-spacing: -.035em; }
.header-actions { gap: 6px; }
.header-actions .header-link, .header-actions .header-link.admin-entry {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #48484a;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}
.header-actions .header-link:hover, .header-actions .header-link:focus-visible,
.header-actions .header-link.admin-entry:hover { border-color: #e5e5ea; background: #f2f2f7; color: #0071e3; text-decoration: none; }
.header-status { margin-left: 8px; color: #6e6e73; }
#retry-workspace { min-height: 26px; margin-left: 7px; padding: 3px 8px; border: 0; border-radius: 8px; background: #e9f1ff; color: #236cc4; font-size: 12px; font-weight: 570; }
#retry-workspace[hidden] { display: none; }
.status-dot { background: #30c85a; box-shadow: 0 0 0 4px #e4f8e9; }

#app .panel-brand-icon {position:relative;isolation:isolate;display:block;flex:none;width:44px;min-width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none;}
#app .analysis-orb {display:block;width:44px;height:44px;opacity:0;pointer-events:none;}
#app .panel-brand-icon[data-renderer="webgl"] .analysis-orb {opacity:1;}
#app .panel-brand-icon::after {content:"";display:none;position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 28% 22%,rgb(255 255 255 / 72%),transparent 48%),conic-gradient(#ddeb64,#ffc23b,#f34b91,#7938c3,#08b7d7,#48d593,#ddeb64);box-shadow:inset 1px 2px 3px rgb(255 255 255 / 65%),inset -2px -3px 5px rgb(35 65 112 / 22%);}
#app .panel-brand-icon[data-renderer="css-fallback"]::after {display:block;}
#app .panel-brand-icon[data-renderer="css-fallback"] .analysis-orb {visibility:hidden;}

/* On-demand visual tuner: dock on desktop, stay below the real orb on narrow screens. */
#analysis-orb-tuner {position:fixed;right:12px;top:12px;bottom:12px;z-index:12000;width:340px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid #e1d8ed;border-radius:20px;background:rgb(251 248 255 / 96%);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgb(75 44 112 / 15%);color:var(--control-ink);font:13px/1.5 var(--font-ui);}
#analysis-orb-tuner[hidden] {display:none;}
#analysis-orb-tuner [hidden] {display:none !important;}
#analysis-orb-tuner footer > div {display:flex;gap:8px;}
#analysis-orb-tuner footer button {flex:1;white-space:nowrap;padding-inline:6px;}
#analysis-orb-tuner footer [data-orb-save] {background:#8052be;color:white;border-color:#8052be;}
#analysis-orb-tuner header {display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e8e0f0;flex:none;}
#analysis-orb-tuner h2 {font-size:17px;line-height:1.4;margin:0;}
#analysis-orb-tuner p {margin:3px 0 0;color:#8b7c9b;font-size:12px;}
#analysis-orb-tuner button {width:auto;min-width:0;min-height:32px;margin:0;padding:5px 10px;border:1px solid var(--control-border);border-radius:9px;background:#f7f4fb;color:#7141ae;font:400 13px var(--font-ui);box-shadow:none;}
#analysis-orb-tuner [data-orb-close] {width:32px;height:32px;padding:0;border:0;background:transparent;font-size:24px;color:#897b98;}
#analysis-orb-tuner button:hover {background:#eee6f7;}
#analysis-orb-tuner .orb-tuner-body {flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 18px 14px;}
#analysis-orb-tuner details {border-bottom:1px solid #e9e2f0;padding:9px 0;}
#analysis-orb-tuner summary {position:relative;cursor:pointer;padding:5px 0;font-weight:500;color:#634480;}
#analysis-orb-tuner .orb-color-chip {float:right;width:17px;height:17px;border-radius:50%;border:1px solid rgb(110 75 150 / 18%);}
#analysis-orb-tuner .orb-tuner-row {display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:9px 0 12px;font-weight:400;}
#analysis-orb-tuner output {color:#8c6ba8;font-variant-numeric:tabular-nums;}
#analysis-orb-tuner .orb-tuner-tabs {display:flex;gap:4px;padding:4px;margin:12px 0;background:#eee7f5;border-radius:12px;}
#analysis-orb-tuner .orb-tuner-tabs button {flex:1;border:0;background:transparent;padding-inline:5px;white-space:nowrap;}
#analysis-orb-tuner .orb-tuner-tabs button[aria-selected=true] {background:#fff;color:#7241ad;box-shadow:0 2px 6px rgb(78 44 117 / 9%);}
#analysis-orb-tuner .orb-tuner-effects {display:flex;gap:16px;flex-wrap:wrap;padding:4px 0 12px;margin:0;border:0;min-width:0;}
#analysis-orb-tuner .orb-tuner-effects legend {padding:0;margin:0 0 6px;color:#8b7c9b;}
#analysis-orb-tuner .orb-tuner-effects label {display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer;white-space:nowrap;}
#analysis-orb-tuner input[type=radio] {appearance:auto;width:15px;height:15px;min-height:0;margin:0;padding:0;box-shadow:none;accent-color:#8052be;}
#analysis-orb-tuner input[type=range] {grid-column:1 / -1;appearance:auto;width:100%;height:18px;min-height:18px;min-width:0;margin:0;padding:0;border:0;box-shadow:none;background:transparent;accent-color:#9561c8;cursor:pointer;}
#analysis-orb-tuner footer {flex:none;display:grid;gap:8px;padding:12px 18px;border-top:1px solid #e8e0f0;}
#analysis-orb-tuner .orb-tuner-feedback {position:absolute;bottom:104px;left:18px;right:18px;z-index:1;padding:10px 12px;border:1px solid #dfd5ea;border-radius:10px;background:#fff;color:#7141ae;box-shadow:0 4px 16px rgb(75 44 112 / 12%);pointer-events:none;font-size:12px;}
@media(min-width:1101px){
    body[data-orb-tuner-open] #workspace-shell:not([hidden]) {width:calc(100% - 364px);}
    body[data-orb-tuner-open] #workspace-shell > #app.simulator-shell {grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) minmax(310px,1fr);}
    body[data-orb-tuner-open] #app .sales-grid {grid-template-columns:minmax(90px,.4fr) minmax(0,1fr);}
}
#app .ai-zone-header { position: relative; isolation: isolate; }
#app .top-analysis-split { margin-left: 0; }
#app .analysis-split-control {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
#app .analysis-split-control::before, #app .analysis-split-control::after { content: none; }
#app .analysis-split-control > button { position: relative; height: 44px; min-height: 44px; border: 0; box-shadow: none; }
#app .analysis-split-control .analyze-now {
    display: grid;
    width: 44px;
    min-width: 44px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
}
#app .analysis-split-control .analyze-now:hover,
#app .analysis-split-control .analyze-now:focus-visible { border: 0; outline: none; background: transparent; box-shadow: none; }
#app .analysis-split-control .analysis-mode-toggle {
    flex: 0 0 auto;
    min-width: 55px;
    gap: 4px;
    justify-content: center;
    padding: 0 3px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #6947a8;
    font-size: 12px;
    font-weight: 580;
    white-space: nowrap;
}
#app .analysis-split-control .analysis-mode-toggle:hover { border: 0; background: transparent; color: #8657c0; }
#app .analysis-mode-menu {
    width: 270px;
    border-color: #e5e5ea;
    border-radius: 14px;
    background: rgb(255 255 255 / 97%);
    box-shadow: 0 14px 36px rgb(25 28 40 / 15%);
    backdrop-filter: saturate(180%) blur(18px);
}
#app .analysis-mode-menu button { background: transparent; color: #1d1d1f; }
#app .analysis-mode-menu button:hover,
#app .analysis-mode-menu button[aria-checked="true"] { background: #f2f7ff; }
#app .analysis-mode-menu small { color: #8e8e93; }

.model-switcher { display: none !important; }
#workspace-shell > .app-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
}
#workspace-shell > .app-header .header-actions { flex: 0 0 auto; margin-left: auto; }
#composer-context-status.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; padding: 0; clip: rect(0 0 0 0); white-space: nowrap; }
.model-switcher select {
    border-color: #d2d2d7;
    border-radius: 12px;
    background: #f8f8fa;
    color: #1d1d1f;
    font-weight: 600;
}
#app > [data-desktop-panel] {
    border: 1px solid #e5e5ea;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 22px rgb(20 25 40 / 5%);
}
#app .client-zone > .zone-header,
#app .sales-zone > .zone-header,
#app .intelligence-zone > .zone-header {
    border-bottom: 1px solid #e9e9ed;
    background: #fff;
    color: #1d1d1f;
}
#app .sales-zone > .zone-header { background: #f5f8ff; }
#app .client-zone > .zone-header { background: #f6fbf7; }
#app .sales-zone > .zone-header h2, #app .client-zone > .zone-header h2,
#app .intelligence-zone > .zone-header h2 { color: #1d1d1f; font-weight: 600; letter-spacing: -.025em; }
.zone-kicker, .rail-heading, .coach-toolbar { letter-spacing: .005em; }
#app .sales-zone .contact-rail { border-color: #e5e5ea; background: #fbfbfd; }
#app .sales-zone .contact-item.is-selected { border-left-color: var(--control-accent); background: var(--control-accent-soft); }
#app .sales-zone .contact-title { background: #f9faff; }
#app .client-zone .contact-title.compact-title { background: #f8faf8; }

.primary-button, #app .primary-button, .usage-quick-actions button[aria-expanded="true"] {
    border: 1px solid var(--control-accent);
    border-radius: 12px;
    background: var(--control-accent);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 3px 9px rgb(128 82 190 / 15%);
}
.primary-button:hover, #app .primary-button:hover { border-color: var(--control-accent-hover); background: var(--control-accent-hover); box-shadow: 0 5px 13px rgb(128 82 190 / 20%); filter: none; }
#app .client-zone .primary-button { border-color: #22ad55; background: #22ad55; box-shadow: 0 3px 9px rgb(34 173 85 / 15%); }
#app .client-zone .primary-button:hover { border-color: #199448; background: #199448; }
#app #customer-form > .primary-button {
    border: 0;
    background: linear-gradient(125deg, #2ac475 0%, #20b66a 52%, #18a963 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgb(27 165 91 / 19%);
}
#app #customer-form > .primary-button:hover {
    border: 0;
    background: linear-gradient(125deg, #23b96d 0%, #1baa63 52%, #139d5b 100%);
    color: #fff;
    box-shadow: 0 6px 15px rgb(27 165 91 / 24%);
}
#app #sales-form > .primary-button {
    border: 0;
    background: linear-gradient(125deg, #3b96f5 0%, #2582ed 52%, #2572df 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgb(34 111 216 / 19%);
}
#app #sales-form > .primary-button:hover {
    border: 0;
    background: linear-gradient(125deg, #318af0 0%, #1f77e5 52%, #1b69d4 100%);
    color: #fff;
    box-shadow: 0 6px 15px rgb(34 111 216 / 24%);
}
#app #coach-form .coach-send {
    border: 0;
    background: linear-gradient(125deg, #9165d8 0%, #9863d3 52%, #ab6ccc 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgb(131 83 188 / 19%);
}
#app #coach-form .coach-send:hover {
    border: 0;
    background: linear-gradient(125deg, #8559cf 0%, #8d57c9 52%, #a260c3 100%);
    color: #fff;
    box-shadow: 0 6px 15px rgb(131 83 188 / 24%);
}
.secondary-button, .text-button, .admin-action, .usage-quick-actions button,
.follow-up-form-actions button:not(.primary-button), .console-inline button:not(.primary-button) {
    border: 1px solid #e5e5ea;
    border-radius: 11px;
    background: #f5f5f7;
    color: #33333a;
    font-weight: 600;
    text-decoration: none;
}
.secondary-button:hover, .text-button:hover, .admin-action:hover,
.usage-quick-actions button:hover {
    border-color: #d2d2d7;
    background: #ebebef;
    color: #0071e3;
    text-decoration: none;
}
.follow-up-form-actions button:not(.primary-button):hover {
    border-color: #c8b9dd;
    background: var(--control-accent-soft);
    color: var(--control-accent);
    text-decoration: none;
}
#app .sales-zone .sales-header-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 8px; }
#app .sales-zone .sales-header-actions .account-tabs { min-width: 0; }
#follow-up-title { color: #48484a; font-size: 16px; font-weight: 650; letter-spacing: -.02em; }
.follow-up-tabs { display: flex; gap: 4px; margin: 0 16px 8px; padding: 4px; border-radius: 13px; background: #f5f5f7; flex: none; }
.follow-up-tabs button { flex: 1 1 0; min-width: 0; min-height: 40px; padding: 7px 12px; border: 0; border-radius: 10px; background: transparent; color: #6e6e73; font-size: 14px; font-weight: 600; cursor: pointer; }
.follow-up-tabs button[aria-selected="true"] { background: #fff; color: var(--control-accent); box-shadow: 0 1px 4px rgb(0 0 0 / 9%); }
.follow-up-tabs button:focus-visible { outline: 3px solid #d9c6f1; outline-offset: 1px; }
#follow-up-outline,
#admin-dialog .admin-panel form button:not([class]),
#admin-followup-detail form button:not([class]),
#provider-settings-dialog > button:not([class]) {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #d2d2d7;
    border-radius: 10px;
    background: #f5f5f7;
    color: #303036;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
}
#follow-up-outline:hover,
#admin-dialog .admin-panel form button:not([class]):hover,
#admin-followup-detail form button:not([class]):hover,
#provider-settings-dialog > button:not([class]):hover { border-color: #bdbdc4; background: #ebebef; }
.assistant-icon-button, .coach-settings-button, .follow-up-button,
.coach-icon-action, .icon-button { border-radius: 12px; }
#app .assistant-icon-button[aria-selected="true"] { background: #efe9fc; color: #7048b7; box-shadow: none; }
#app .assistant-icon-button[aria-selected="true"] .grading-tab-icon:not(.is-graded) { color: inherit; }
#app .assistant-icon-button .grading-tab-icon.is-graded { color: #6e6e73; }
#app .assistant-icon-button, #app .coach-settings-button { color: #6e6e73; }
#app .assistant-icon-button[aria-selected="true"] { color: #7048b7; }
#app .assistant-icon-button.follow-up-button { color: #6e6e73; }

input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    border-color: #d2d2d7;
    border-radius: 12px;
    background: #fff;
    color: #1d1d1f;
}
input::placeholder, textarea::placeholder { color: #8e8e93; }
input:focus, select:focus, textarea:focus { border-color: var(--control-accent); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--control-accent); }
.chat-composer textarea, #app .coach-form textarea { border-color: #d2d2d7; border-radius: 14px; }
.message-bubble, .reply-option, .coach-raw-reply-item { border-radius: 16px; }

dialog, #admin-dialog, .floating-window {
    border: 1px solid #e5e5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 68px rgb(18 22 34 / 18%);
}
dialog::backdrop, #admin-dialog::backdrop { background: rgb(24 27 35 / 35%); backdrop-filter: blur(7px); }
#admin-dialog::backdrop { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.dialog-header, .admin-header { border-bottom: 1px solid #e5e5ea; background: #fafafa; }
.floating-window .dialog-header { border-radius: 19px 19px 0 0; }
.icon-button, .dialog-header [data-close-dialog], .dialog-header [data-minimize-window] {
    border: 0;
    border-radius: 10px;
    background: #f0f0f2;
    color: #6e6e73;
}
.icon-button:hover, .dialog-header [data-close-dialog]:hover, .dialog-header [data-minimize-window]:hover { background: #e5e5ea; color: #1d1d1f; }
#follow-up-list { border-color: #e5e5ea; border-radius: 14px; }
.follow-up-item { border-bottom-color: #ededf0; }
.follow-up-item:hover, .follow-up-item:focus-visible { background: var(--control-accent-soft); }

#admin-dialog { border-radius: 22px; }
.admin-header { padding: 20px 24px; background: #fafafa; }
.admin-tabs { gap: 5px; padding: 10px 18px; border-bottom-color: #e5e5ea; background: #fff; }
.admin-tabs button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #6e6e73;
    font-size: 12px;
    font-weight: 600;
}
.admin-tabs button svg { width: 17px; height: 17px; }
.admin-tabs button:hover { background: #f5f5f7; color: #1d1d1f; }
.admin-tabs button[aria-selected="true"] { border-bottom-color: transparent; background: var(--control-accent-soft); color: var(--control-accent); }
.admin-style-tabs button[aria-selected="true"] { border-bottom-color: var(--control-accent); color: var(--control-accent); }
.admin-body { background: #fff; }
#admin-dialog .provider-form {
    padding: 20px;
    border-color: #e5e5ea;
    border-radius: 16px;
    background: #fafafa;
}
#admin-dialog .provider-form > fieldset {
    min-width: 0;
    margin: 0;
    padding: 14px;
    border: 1px solid #e5e5ea;
    border-radius: 12px;
    background: #fff;
}
#admin-dialog .provider-form > fieldset legend { padding-inline: 6px; color: #6e6e73; font-size: 12px; font-weight: 600; }
#admin-dialog .provider-form label { color: #48484a; font-weight: 600; }
#admin-dialog .provider-form input:not([type="checkbox"]),
#admin-dialog .provider-form select,
#admin-dialog .provider-form textarea { border-color: #d2d2d7; border-radius: 12px; }
#admin-dialog .provider-form input:focus,
#admin-dialog .provider-form select:focus,
#admin-dialog .provider-form textarea:focus { border-color: var(--control-accent); outline-color: rgb(128 82 190 / 38%); }
.admin-data-table-wrap { border-color: #e5e5ea; border-radius: 14px; }
.admin-data-table th { background: #f5f5f7; color: #6e6e73; }
.admin-data-table tbody tr:hover { background: #f8faff; }
.usage-hero, .provider-card, .sales-style-choice { border-radius: 16px; }
.usage-quick-actions button { min-height: 38px; border-radius: 11px; }
.business-industry-field { max-width: 100%; }
#business-industry { min-height: 44px; background: #fff; color: #303036; font-weight: 500; }
.business-industry-hint { margin: -2px 0 6px; color: #6e6e73; font-size: 12px; font-weight: 400; line-height: 1.5; }
#style-effective-hint { margin: 6px 2px 0; color: #6e6e73; font-size: 13px; font-weight: 500; line-height: 1.5; }

/* Quiet text for provisional AI data; preserve stronger emphasis for confirmed values. */
.profile-manual-section { padding: 12px 0; }
.customer-grading-grade-field { color: #6e6e73; font-size: 13px; font-weight: 600; }
.follow-up-grade-choices button { color: #48484a; font-size: 16px; font-weight: 550; letter-spacing: -.015em; }
.follow-up-grade-choices button[data-customer-grade="pending"] { color: #6e6e73; font-size: 13px; font-weight: 500; }
.follow-up-grade-choices button[aria-pressed="true"] { color: #fff; }
#app #coach-output .coach-analysis-document .coach-chat-markdown-heading { margin: 16px 0 6px; color: #303036; font-size: 15px; font-weight: 600; line-height: 1.4; }
#app #coach-output .coach-analysis-document .coach-chat-markdown-heading:first-child { margin-top: 0; }
#app #coach-output .coach-analysis-document .coach-chat-answer-paragraph { margin: 0; color: #3b3b40; font-size: 13px; font-weight: 400; line-height: 1.65; }
#app #coach-output .coach-analysis-document .coach-chat-answer-paragraph + .coach-chat-answer-paragraph { margin-top: 8px; }
#app #coach-output .coach-analysis-document strong { font-weight: 600; }

.mobile-mode-tabs svg { width: 21px; height: 21px; }
@media (max-width: 1100px) {
    .app-header { background: rgb(255 255 255 / 90%); }
    #workspace-shell > .app-header { width: 100%; max-width: none; min-height: 56px; margin: 0; padding: 8px 12px; }
    .mobile-mode-tabs {
        gap: 3px;
        margin: 6px 9px 0;
        padding: 5px;
        border: 1px solid #e5e5ea;
        border-radius: 18px 18px 0 0;
        background: rgb(255 255 255 / 93%);
        box-shadow: 0 -5px 18px rgb(18 22 34 / 6%);
        backdrop-filter: blur(18px);
    }
    .mobile-mode-tabs button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 54px; border-radius: 13px; color: #6e6e73; font-size: 11px; font-weight: 600; }
    body[data-mobile-mode="client"] .mobile-mode-tabs [data-mobile-mode="client"],
    body[data-mobile-mode="sales"] .mobile-mode-tabs [data-mobile-mode="sales"],
    body[data-mobile-mode="coach"] .mobile-mode-tabs [data-mobile-mode="coach"] { background: var(--control-accent-soft); color: var(--control-accent); box-shadow: none; }
    .app-surface { border-radius: 17px; }
}
@media (max-width: 600px) {
    #workspace-shell > .app-header { gap: 6px; padding-inline: 8px; }
    #workspace-shell > .app-header .header-actions { gap: 2px; }
    #workspace-shell > .app-header .header-actions .header-link { width: 34px; min-width: 34px; min-height: 34px; }
    .header-actions .header-link { width: 38px; min-width: 38px; padding: 0; }
    .header-actions .header-link span { display: none; }
    .header-actions .header-link svg { width: 19px; height: 19px; }
    .header-actions .header-link { position: relative; }
    .admin-tabs { padding-inline: 10px; }
    .admin-tabs button { min-height: 42px; padding-inline: 10px; }
}

/* Login, operator console and the local model setup share the same hierarchy. */
body.console-login, body.console-platform, body.provider-bootstrap { background: #f5f5f7; color: #1d1d1f; font-family: var(--font-ui); }
body.console-login main { width: min(520px, calc(100vw - 32px)); margin: min(13vh, 100px) auto 40px; padding: 0; }
body.console-platform main { max-width: 1180px; padding: 28px 20px 70px; }
body.console-platform.is-embedded main { max-width: none; padding: 0 12px 28px; }
body.console-platform.is-embedded main > header { display: none; }
body.console-platform.is-embedded section { margin-top: 12px; }
body.console-login header, body.console-platform header { align-items: center; gap: 16px; }
body.console-login h1, body.console-platform h1, body.provider-bootstrap h1 { display: flex; align-items: center; gap: 12px; margin: 0; color: #1d1d1f; font-size: 27px; font-weight: 700; letter-spacing: -.035em; }
.page-title-icon { display: inline-grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--control-accent-soft); color: #0071e3; }
.page-title-icon svg { width: 21px; height: 21px; }
body.console-login section, body.console-platform section, body.provider-bootstrap main {
    border: 1px solid #e5e5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 5px 28px rgb(20 25 40 / 5%);
}
body.console-login section { margin-top: 20px; padding: 30px; }
body.console-platform section { margin-top: 18px; padding: 24px; }
body.console-login form, body.console-platform form { gap: 16px; }
body.console-login label, body.console-platform label, body.provider-bootstrap label { color: #48484a; font-size: 13px; font-weight: 600; }
body.console-login input, body.console-platform input:not([type="checkbox"]), body.provider-bootstrap input {
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid #d2d2d7;
    border-radius: 12px;
    background: #fff;
    color: #1d1d1f;
    font-size: 15px;
}
body.console-login button, body.console-platform button, body.provider-bootstrap button {
    min-height: 44px;
    padding: 9px 16px;
    border: 1px solid var(--control-accent);
    border-radius: 12px;
    background: var(--control-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}
body.console-login button:hover, body.console-platform button:hover, body.provider-bootstrap button:hover { border-color: var(--control-accent-hover); background: var(--control-accent-hover); }
body.console-platform nav { display: flex; align-items: center; gap: 8px; }
body.console-login a, body.console-platform a { color: var(--control-accent); font-weight: 600; text-decoration: none; }
body.console-login a:hover, body.console-platform a:hover { text-decoration: underline; }
body.console-platform .console-row { border-color: #e5e5ea; border-radius: 14px; background: #fbfbfd; }
body.console-login #console-status, body.console-platform #console-status { min-height: 22px; padding: 8px 0; background: transparent; color: var(--control-accent); }
body.provider-bootstrap main { width: min(540px, calc(100vw - 32px)); padding: 32px; }
body.provider-bootstrap p { color: #6e6e73; }
body.provider-bootstrap #status { color: var(--control-accent); }
body.provider-bootstrap #status[data-error="true"] { color: #b42318; }
@media (max-width: 600px) {
    body.console-login main { margin-top: 42px; }
    body.console-login section, body.console-platform section, body.provider-bootstrap main { padding: 20px; }
    body.console-platform main { padding: 18px 12px 50px; }
    body.console-login h1, body.console-platform h1, body.provider-bootstrap h1 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Branded chat headers keep their status and actions aligned at the far edge. */
#app .client-zone > .zone-header .connection-state,
#app .sales-zone > .zone-header .sales-header-actions { margin-left: auto; }
#app .client-zone > .zone-header {
    border-bottom-color: #079a4e;
    background: radial-gradient(circle at 82% -45%, rgb(255 255 255 / 24%), transparent 44%), linear-gradient(105deg, #079b4f, #09bd61 65%, #0acb69);
    color: #fff;
}
#app .sales-zone > .zone-header {
    border-bottom-color: #1768cc;
    background: radial-gradient(circle at 82% -45%, rgb(255 255 255 / 24%), transparent 44%), linear-gradient(105deg, #1768cb, #2985ee 65%, #4299f7);
    color: #fff;
}
#app .client-zone > .zone-header h2,
#app .sales-zone > .zone-header h2 { display: inline-flex; align-items: center; gap: 9px; color: #fff; }
.chat-brand-icon { width: 25px; height: 25px; flex: none; color: #fff; }
#app .sales-zone .chat-brand-icon { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
#app .client-zone > .zone-header .connection-state { padding: 3px 9px; border: 1px solid rgb(255 255 255 / 30%); border-radius: 999px; background: rgb(255 255 255 / 14%); color: #fff; }
#app .sales-zone > .zone-header .account-pill { border-color: rgb(255 255 255 / 38%); background: rgb(255 255 255 / 18%); color: #fff; }

/* Static overlapping radial fields keep the desktop calm without continuous repaint. */
body, body.console-login, body.console-platform, body.provider-bootstrap {
    background-color: #f5f3fa;
    background-image:
        radial-gradient(ellipse 47% 54% at 12% 20%, rgb(112 220 176 / 48%) 0%, rgb(147 224 193 / 28%) 43%, transparent 78%),
        radial-gradient(ellipse 45% 58% at 44% 74%, rgb(119 179 248 / 42%) 0%, rgb(155 195 247 / 22%) 46%, transparent 81%),
        radial-gradient(ellipse 48% 60% at 84% 20%, rgb(179 143 240 / 45%) 0%, rgb(199 172 243 / 23%) 45%, transparent 82%),
        radial-gradient(ellipse 37% 50% at 71% 87%, rgb(246 179 190 / 35%) 0%, rgb(248 203 208 / 18%) 48%, transparent 82%),
        radial-gradient(ellipse 35% 43% at 18% 90%, rgb(250 214 162 / 29%) 0%, transparent 78%);
}
#app > [data-desktop-panel] {
    border: 0;
    box-shadow: 0 12px 34px rgb(54 55 88 / 10%);
    backdrop-filter: blur(12px) saturate(138%);
    -webkit-backdrop-filter: blur(12px) saturate(138%);
}
body[data-ambient-tier="light"] #app > [data-desktop-panel] { backdrop-filter: blur(6px) saturate(120%); -webkit-backdrop-filter: blur(6px) saturate(120%); }
/* Translucent radial washes preserve each workspace color while the canvas shows through. */
#app > .client-zone { background: radial-gradient(ellipse at 20% 8%, rgb(234 255 243 / 67%), transparent 73%), rgb(255 255 255 / 52%); }
#app > .client-zone { box-shadow: 0 12px 34px rgb(50 107 77 / 10%); }
#app .client-zone .contact-title.compact-title { display: flex; flex-direction: row; justify-content: flex-start; gap: 10px; border-bottom-color: rgb(162 205 180 / 40%); background: rgb(249 255 251 / 52%); }
#app .client-zone .message-thread { background: rgb(242 253 247 / 22%); }
#app .client-zone .chat-composer { background: rgb(249 255 251 / 67%); }
#app > .sales-zone { background: radial-gradient(ellipse at 18% 12%, rgb(229 242 255 / 72%), transparent 75%), rgb(255 255 255 / 50%); }
#app > .sales-zone { box-shadow: 0 12px 34px rgb(59 94 150 / 11%); }
#app .sales-zone .contact-rail { background: rgb(248 251 255 / 48%); }
#app .sales-zone .sales-chat { background: rgb(249 252 255 / 31%); }
#app .sales-zone .contact-title { border-bottom-color: rgb(168 194 228 / 43%); background: rgb(248 252 255 / 57%); }
#app .sales-zone .message-thread { background: rgb(241 248 255 / 18%); }
#app .sales-zone .chat-composer { background: rgb(249 251 255 / 70%); }
#app > .intelligence-zone { background: radial-gradient(ellipse at 82% 9%, rgb(242 232 255 / 74%), transparent 75%), rgb(255 255 255 / 50%); }
#app > .intelligence-zone { box-shadow: 0 12px 34px rgb(104 71 142 / 11%); }
#app .intelligence-zone > .zone-header { border-bottom-color: rgb(194 173 224 / 44%); background: rgb(250 246 255 / 65%); }
#app .intelligence-zone .coach-content { background: rgb(251 247 255 / 27%); }
#app .intelligence-zone .profile-scroll { background: #fff; }
#app .intelligence-zone .coach-output-scroll > .coach-toolbar, #app #sales-coach-panel > .coach-form { background: rgb(252 249 255 / 68%); }
#app .intelligence-zone .follow-up-grade-choices button:hover { border-color: transparent; background: #f0e6fb; color: #6946a5; }
#app .intelligence-zone .follow-up-grade-choices button[aria-pressed="true"] { border: 0; background: linear-gradient(135deg, #7151c6, #a46ad8 58%, #c781cf); color: #fff; box-shadow: 0 4px 12px rgb(119 75 178 / 20%); }
#app .intelligence-zone .follow-up-grade-choices button:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgb(162 111 214 / 24%); }
#app .contact-title .customer-title-avatar { display: block; width: 34px; min-width: 34px; height: 34px; flex: none; overflow: hidden; border: 2px solid rgb(255 255 255 / 90%); border-radius: 50%; background: #ecf1f6; box-shadow: 0 2px 7px rgb(30 50 70 / 12%); }
#app .contact-title .customer-title-avatar[hidden] { display: none; }
#app .contact-title .customer-title-avatar svg { display: block; width: 100%; height: 100%; }
#app .contact-avatar svg { display: block; width: 100%; height: 100%; border-radius: 50%; }
#app .client-zone .contact-title .customer-title-copy, #app .sales-zone .contact-title .customer-title-copy { display: flex; min-width: 0; flex-direction: column; gap: 1px; }
#app .sales-zone .contact-title > .customer-title-identity { display: flex; min-width: 0; flex-direction: row; align-items: center; gap: 10px; }
#app .contact-title strong { overflow: hidden; color: #354257; font-size: 15px; font-weight: 600; line-height: 1.35; letter-spacing: 0; text-overflow: ellipsis; white-space: nowrap; }
#app .client-zone .contact-title strong { color: #355744; }
#app .sales-zone .contact-title strong { color: #37577e; }
#app .contact-title .customer-title-copy > span { color: #7d8897; font-size: 11px; line-height: 1.3; }

#app .assistant-header-actions .assistant-icon-button:hover,
#app .assistant-header-actions .assistant-icon-button:focus-visible,
#app .assistant-header-actions .coach-settings-button:hover,
#app .assistant-header-actions .coach-settings-button:focus-visible { color: #fff; box-shadow: 0 4px 12px rgb(96 67 145 / 20%); }
#app #sales-coach-tab:hover, #app #sales-coach-tab:focus-visible { background: linear-gradient(135deg, #7e58d2, #a879e8); }
#app #customer-profile-tab:hover, #app #customer-profile-tab:focus-visible { background: linear-gradient(135deg, #6550c6, #916adb); }
#app #open-personal-ai-settings:hover, #app #open-personal-ai-settings:focus-visible { background: linear-gradient(135deg, #6d61b1, #9883d3); }
#app #customer-profile-tab:hover .grading-tab-icon,
#app #customer-profile-tab:focus-visible .grading-tab-icon { color: #fff; }

.simulation-quick-rail {
    position: relative;
    z-index: 5;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 62px;
    padding: 8px clamp(12px, 2vw, 28px);
    border-bottom: 1px solid #e5e8ef;
    background: rgb(255 255 255 / 92%);
    box-shadow: 0 2px 12px rgb(29 38 56 / 5%);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    overflow-x: auto;
    scrollbar-width: none;
}
.simulation-quick-rail::-webkit-scrollbar { display: none; }
.simulation-nav-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 5px; }
.simulation-quick-rail .quick-rail-action,
.simulation-quick-rail .new-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto;
    min-width: max-content;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0 13px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #515b6b;
    font-size: 13px;
    font-weight: 550;
    white-space: nowrap;
    cursor: pointer;
}
.quick-rail-label { display: inline; }
.simulation-quick-rail .quick-rail-action[hidden] { display: none; }
#simulation-quick-rail #open-create-contact:hover:not(:disabled),
#simulation-quick-rail #open-create-contact:focus-visible:not(:disabled) { background: linear-gradient(135deg, #18aa67, #35c888); color: #fff; transform: translateY(-1px); }
#simulation-quick-rail #open-demo-video:hover,
#simulation-quick-rail #open-demo-video:focus-visible { background: linear-gradient(135deg, #7554ce, #a475e5); color: #fff; transform: translateY(-1px); }
.persona-role-group { display: flex; align-items: center; flex: 0 0 auto; gap: 5px; padding-left: 12px; border-left: 1px solid #e6e3ef; }
.persona-role-group[hidden] { display: none; }
#simulation-quick-rail .persona-role-action[aria-checked="true"] { background: linear-gradient(135deg, #7651cf, #b377d6); color: #fff; box-shadow: 0 4px 12px rgb(107 69 174 / 19%); }
#simulation-quick-rail .persona-role-action:hover:not(:disabled),
#simulation-quick-rail .persona-role-action:focus-visible:not(:disabled) { background: linear-gradient(135deg, #8260d7, #b983dc); color: #fff; transform: translateY(-1px); }
#simulation-quick-rail .persona-role-action:focus-visible { outline: 2px solid #6945bf; outline-offset: 2px; }
.simulation-quick-rail .quick-rail-action:disabled { opacity: .45; cursor: not-allowed; }
.simulation-quick-rail .quick-rail-action svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body[data-qa-role-switch] #open-demo-video,
body[data-qa-role-switch] #open-guided-demo { display: none; }
body[data-qa-role-switch] #simulation-quick-rail { flex-wrap: nowrap; }
body[data-qa-role-switch] .simulation-nav-actions { width: auto; justify-content: flex-start; }
body[data-qa-role-switch] .persona-role-group { width: auto; margin: 0; padding: 0 0 0 12px; border-top: 0; border-left: 1px solid #e6e3ef; justify-content: flex-start; }
@media (max-width: 600px) { .toast { right: 12px; left: auto; bottom: calc(76px + env(safe-area-inset-bottom)); } }

#demo-video-dialog { width: min(760px, calc(100vw - 16px)); height: min(580px, calc(100dvh - 80px)); }
#demo-video-dialog .dialog-header { min-height: 72px; padding: 12px 17px; background: linear-gradient(110deg, #fff, #f5f8fd); }
.demo-video-heading { display: flex; align-items: center; gap: 11px; }
.demo-video-heading h2 { color: #252932; font-size: 17px; font-weight: 700; }
.demo-video-heading p { margin: 2px 0 0; color: #7b8190; font-size: 11px; }
.demo-video-heading-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #e8f1ff; color: #1975d2; }
.demo-video-heading-icon svg, .demo-video-empty-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#demo-video-dialog .dialog-header [data-close-video] { min-width: 32px; border: 0; border-radius: 10px; background: #f0f0f2; color: #6e6e73; }
#demo-video-dialog .dialog-header [data-close-video]:hover { background: #e5e5ea; color: #1d1d1f; }
.demo-video-body { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 13px; padding: 16px; }
.demo-video-stage { position: relative; display: grid; min-height: 0; flex: 1; overflow: hidden; place-items: center; border-radius: 16px; background: radial-gradient(circle at 50% 10%, #3c495c, #181f2c 67%, #101722); cursor: pointer; }
.demo-video-stage video { width: 100%; height: 100%; object-fit: contain; }
.demo-video-stage:has(video:not([src])) { cursor: default; }
.demo-video-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #fff; text-align: center; pointer-events: none; }
.demo-video-empty[hidden] { display: none; }
.demo-video-empty-icon { display: grid; width: 60px; height: 60px; place-items: center; margin-bottom: 5px; border: 1px solid rgb(255 255 255 / 20%); border-radius: 20px; background: rgb(255 255 255 / 12%); box-shadow: 0 10px 25px rgb(0 0 0 / 18%); }
.demo-video-empty-icon svg { width: 28px; height: 28px; }
.demo-video-empty strong { font-size: 17px; font-weight: 650; }
.demo-video-empty > span:last-child { max-width: 250px; color: #b9c1ce; font-size: 12px; }
.demo-video-controls { display: flex; min-height: 45px; align-items: center; gap: 10px; padding: 0 4px; }
.demo-video-controls button { display: grid; width: 35px; height: 35px; min-height: 35px; flex: none; place-items: center; padding: 0; border: 0; border-radius: 10px; background: #f1f3f6; color: #2c3541; }
.demo-video-controls button:hover:not(:disabled) { background: #e7f0ff; color: #1876d8; }
.demo-video-controls button:disabled, .demo-video-controls input:disabled { opacity: .45; cursor: not-allowed; }
.demo-video-controls button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.demo-video-controls span { color: #777d88; font-size: 11px; font-variant-numeric: tabular-nums; }
.demo-video-controls input[type="range"] { min-width: 0; height: 5px; accent-color: #2582e8; cursor: pointer; }
#demo-video-progress { flex: 1; }
#demo-video-volume { width: 74px; }

@media (min-width: 1321px) {
    #app .sales-workspace { grid-template-columns: 224px minmax(0, 1fr); }
}
#app .sales-zone .contact-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 76px;
    padding: 9px 10px 9px 11px;
    border-bottom: 1px solid rgb(117 151 193 / 14%);
    border-left: 3px solid transparent;
    background: transparent;
    transition: background-color 160ms ease, border-color 160ms ease;
}
#app .sales-zone .contact-row:hover { background: rgb(229 240 255 / 78%); }
#app .sales-zone .contact-row:has(.contact-item.is-selected) {
    border-left-color: #2582ed;
    background: rgb(220 235 255 / 85%);
}
#app .sales-zone .contact-row:has(.contact-item.is-selected):hover { background: rgb(210 230 255 / 92%); }
#app .sales-zone .contact-avatar-wrap { position: relative; display: block; width: 46px; height: 46px; }
#app .sales-zone .contact-rail .contact-avatar {
    display: block;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 13px;
    box-shadow: 0 2px 8px rgb(43 84 129 / 13%);
}
#app .sales-zone .contact-avatar svg { width: 100%; height: 100%; border-radius: 13px; }
#app .sales-zone .contact-unread-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    min-width: 19px;
    height: 19px;
    place-items: center;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: #ff4d58;
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    pointer-events: none;
}
#app .sales-zone .contact-unread-badge.is-dot { top: -4px; right: -4px; min-width: 16px; width: 16px; height: 16px; padding: 0; border: 0; }
#app .sales-zone .contact-item,
#app .sales-zone .contact-item:hover,
#app .sales-zone .contact-item.is-selected,
#app .sales-zone .contact-row:hover .contact-item {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
#app .sales-zone .contact-item-line { align-items: baseline; gap: 5px; }
#app .sales-zone .contact-item strong {
    min-width: 0;
    color: #26364d;
    font-size: 14px;
    font-weight: 550;
    letter-spacing: -.015em;
}
#app .sales-zone .contact-time {
    flex: none;
    color: #8b98aa;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
#app .sales-zone .contact-preview,
#app .sales-zone .contact-sales-names {
    margin-top: 4px;
    color: #7b899b;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
}
#app .sales-zone .contact-row:has(.contact-delete-button) .contact-time { margin-right: 18px; }

#app .intelligence-zone .coach-raw-reply:hover,
#app .intelligence-zone .coach-raw-reply.is-hovered,
#app .intelligence-zone .coach-raw-reply:focus-visible,
#app .intelligence-zone .reply-option.is-hovered,
#app .intelligence-zone #coach-output .reply-option:hover,
#app .intelligence-zone #coach-output .reply-option:focus-within {
    background: linear-gradient(105deg, rgb(233 222 251 / 91%), rgb(251 232 247 / 88%));
    box-shadow: inset 4px 0 #8c5ccc;
}
#app .intelligence-zone .coach-icon-action,
#app .intelligence-zone .reply-option-icon { color: #7951af; background: #f2ebfb; }
#app .intelligence-zone .coach-icon-action:hover,
#app .intelligence-zone .coach-icon-action:focus-visible,
#app .intelligence-zone .reply-option-icon:hover,
#app .intelligence-zone .reply-option-icon:focus-visible {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #8158c9, #b271d3 65%, #cf83ba);
    box-shadow: 0 4px 11px rgb(114 72 157 / 17%);
}
#app .intelligence-zone .reply-feedback-button:is(:hover, :focus-visible, [aria-pressed="true"]) {
    border: 0;
    background: none;
    color: #8050ba;
    box-shadow: none;
    outline: none;
}
#app .intelligence-zone .reply-feedback-button:is(:hover, :focus-visible, [aria-pressed="true"]) svg path {
    fill: url(#reply-thumb-gradient);
    stroke: url(#reply-thumb-gradient);
    stroke-width: 1.2;
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:hover,
#app .intelligence-zone .assistant-header-actions .coach-settings-button:hover,
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"] {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #7955c8, #ad70d6 65%, #c77fbe);
    box-shadow: 0 4px 11px rgb(114 72 157 / 17%);
    outline: none;
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:hover .grading-tab-icon,
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"] .grading-tab-icon { color: #fff; }
#app .intelligence-zone .assistant-header-actions #customer-profile-tab:hover,
#app .intelligence-zone .assistant-header-actions #customer-profile-tab[aria-selected="true"] { background: #f5f5f7; box-shadow: none; }
#app .intelligence-zone .assistant-header-actions #customer-profile-tab .grading-tab-icon.is-graded { color: #6e6e73; }
#app .client-zone .icon-button:hover,
#app .client-zone .compact-action:hover { border-color: transparent; color: #fff; background: linear-gradient(135deg, #13a569, #38c787); box-shadow: 0 4px 11px rgb(37 137 89 / 15%); }
#app .sales-zone .icon-button:hover,
#app .sales-zone .compact-action:hover { border-color: transparent; color: #fff; background: linear-gradient(135deg, #277de3, #67a4f2); box-shadow: 0 4px 11px rgb(41 107 186 / 15%); }
#app .sales-zone #open-import-dialog { border-radius: 999px; }
#app .sales-zone #open-import-dialog:hover span,
#app .sales-zone #open-import-dialog:focus-visible span { color: #fff; }
#follow-up-dialog > .dialog-header { background: linear-gradient(110deg, #f5edfd, #fbf0f7 62%, #f9f6ff); }
#follow-up-dialog {
    border: 1px solid #e8e5ed;
    border-radius: 22px;
    background: #fff;
    color: #1d1d1f;
    box-shadow: 0 22px 70px rgb(35 23 62 / 20%);
}
#follow-up-dialog .follow-up-tabs {
    align-self: center;
    margin: 14px 20px 2px;
    padding: 4px;
    border: 0;
    border-radius: 14px;
    background: #f3f2f6;
}
#follow-up-dialog .follow-up-tabs button { min-height: 38px; padding: 0 20px; border-radius: 10px; font-size: 14px; font-weight: 650; }
#follow-up-dialog #follow-up-form { gap: 16px; padding: 20px 24px 18px; }
#follow-up-dialog .follow-up-form label,
#follow-up-dialog .follow-up-time-fields legend { color: #62636b; font-size: 13px; font-weight: 600; }
#follow-up-dialog .follow-up-create-options { grid-template-columns: 36px minmax(0, 1fr); column-gap: 16px; }
#follow-up-dialog .follow-up-grade-choices { gap: 7px; }
#follow-up-dialog .follow-up-grade-choices button { min-height: 38px; border: 1px solid #dedee4; border-radius: 10px; background: #f7f7f9; font-size: 16px; }
#follow-up-dialog .follow-up-time-fields { grid-template-columns: minmax(0, 1fr) 78px 78px; gap: 12px; }
#follow-up-dialog :is(#follow-up-remind-at, #follow-up-hour, #follow-up-minute, #follow-up-note) { border: 1px solid #d7d7df; border-radius: 11px; background: #fff; color: #1d1d1f; font-size: 14px; }
#follow-up-dialog :is(#follow-up-remind-at, #follow-up-hour, #follow-up-minute) { height: 42px; }
#follow-up-dialog #follow-up-note { min-height: 78px; padding: 11px 12px; line-height: 1.5; }
#follow-up-dialog .follow-up-note-field { display: grid; gap: 7px; min-width: 0; }
#follow-up-dialog .follow-up-note-shell { display: grid; min-width: 0; border: 1px solid #d7d7df; border-radius: 11px; background: #fff; overflow: hidden; }
#follow-up-dialog .follow-up-note-shell:focus-within { border-color: #9056c8; box-shadow: 0 0 0 3px rgb(144 86 200 / 14%); }
#follow-up-dialog .follow-up-note-shell #follow-up-note { display: block; width: 100%; max-width: 100%; max-height: none; border: 0; border-radius: 0; resize: vertical; }
#follow-up-dialog .follow-up-note-shell #follow-up-note:focus-visible { outline: none; box-shadow: none; }
#follow-up-dialog .follow-up-create-options { display: flex; align-items: center; justify-content: flex-start; gap: 12px; padding: 0; }
#follow-up-dialog .follow-up-note-shell .follow-up-create-options { margin: 0 12px 5px; }
#follow-up-dialog .follow-up-create-options .follow-up-star { display: flex; align-items: center; width: 28px; min-height: 28px; height: 28px; margin: 0; }
#follow-up-dialog .follow-up-create-options .star-glyph { width: 22px; height: 22px; font-size: 22px; }
#follow-up-dialog .follow-up-create-options .follow-up-grade-choices { display: flex; gap: 6px; }
#follow-up-dialog .follow-up-create-options .follow-up-grade-choices button { flex: none; width: 32px; height: 28px; min-height: 28px; padding: 0; border-radius: 7px; font-size: 12px; font-weight: 400; }
.follow-up-history-editor { display: grid; gap: 10px; margin-top: 12px; }
.follow-up-history-editor :is(input,textarea) { width: 100%; min-width: 0; }
.follow-up-history-entry .follow-up-history-attribution { margin-top: 7px; padding-top: 0; border-top: 0; color: #777782; font-size: 12px; font-weight: 400; }
#follow-up-dialog :is(#follow-up-remind-at, #follow-up-hour, #follow-up-minute, #follow-up-note):focus-visible { border-color: #9056c8; box-shadow: 0 0 0 3px rgb(144 86 200 / 14%); }
#follow-up-dialog .follow-up-form-actions { padding-top: 16px; border-top: 1px solid #ededf1; }
#follow-up-dialog .follow-up-form-utility { gap: 12px; flex-wrap: wrap; }
#follow-up-dialog .follow-up-stop-label { color: #4b4c53; font-size: 13px; }
#follow-up-dialog #follow-up-outline { min-height: 38px; padding: 0 14px; border: 1px solid #dedee4; border-radius: 10px; background: #f7f7f9; color: #484850; font-size: 13px; font-weight: 600; }
#follow-up-dialog #follow-up-outline:hover { background: #eeedf3; }
#follow-up-dialog .follow-up-form-commit button { min-width: 88px; min-height: 40px; border-radius: 11px; font-size: 14px; }
#follow-up-dialog .follow-up-history { margin: 0 24px 22px; border-top: 1px solid #e7e7ec; }
#follow-up-dialog .follow-up-history-heading { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; padding: 12px 0; }
#follow-up-dialog #follow-up-history-title { margin: 0; color: #24242b; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
#follow-up-dialog #follow-up-ai-guidance { flex: none; min-height: 36px; padding: 0 17px; border: 1px solid #e1d4f3; border-radius: 999px; background: var(--control-accent-soft); color: var(--control-accent); font-size: 13px; font-weight: 700; box-shadow: none; }
#follow-up-dialog #follow-up-ai-guidance:hover { border-color: #cdb8e8; background: #eee2f9; color: var(--control-accent-hover); }
#follow-up-dialog #follow-up-ai-guidance:focus-visible { outline: 3px solid rgb(144 86 200 / 24%); outline-offset: 2px; }
#follow-up-dialog .follow-up-history-empty { margin: 10px 0 28px; color: #85858e; font-size: 13px; }
#follow-up-dialog .follow-up-history-entry { padding: 15px 17px; border-color: #e7e7ec; border-radius: 15px; box-shadow: 0 2px 8px rgb(28 28 30 / 3%); }
#follow-up-dialog #follow-up-tasks-panel { padding: 8px 24px 22px; }
@media (max-width: 600px) {
    #follow-up-dialog #follow-up-form { padding: 16px; }
    #follow-up-dialog .follow-up-history { margin: 0 16px 18px; }
    #follow-up-dialog .follow-up-time-fields { grid-template-columns: minmax(0, 1fr) 58px 58px; gap: 8px; }
    #follow-up-dialog .follow-up-create-options { grid-template-columns: 36px minmax(0, 1fr); gap: 7px; }
    #follow-up-dialog .follow-up-grade-choices { grid-template-columns: repeat(4, minmax(32px, 1fr)); gap: 4px; }
    #follow-up-dialog .follow-up-grade-choices button { min-height: 36px; }
    #follow-up-dialog .follow-up-form-actions { align-items: stretch; }
    #follow-up-dialog .follow-up-form-commit { width: 100%; justify-content: flex-end; }
    #follow-up-dialog #follow-up-tasks-panel { padding: 8px 16px 18px; }
}
#follow-up-grade-choices button[aria-pressed="true"] { border: 0; color: #fff; background: linear-gradient(135deg, #7955c8, #ad70d6 65%, #c77fbe); }
#admin-dialog .admin-header { background: linear-gradient(110deg, #f4f0fc, #faf2f9 57%, #f5f8ff); }
#admin-dialog .admin-tabs button[aria-selected="true"] { border-bottom-color: transparent; color: #fff; background: linear-gradient(135deg, #7955c8, #ad70d6 65%, #c77fbe); }
#app :is(input, select, textarea):focus,
#app :is(input, select, textarea):focus-visible,
dialog :is(input, select, textarea):focus,
dialog :is(input, select, textarea):focus-visible {
    outline: none;
    box-shadow: none;
}
#simulation-quick-rail .quick-rail-action:hover,
#simulation-quick-rail .new-contact-button:hover { border-color: transparent; outline: none; box-shadow: 0 4px 11px rgb(81 91 130 / 15%); }
@media (max-width: 600px) {
    .simulation-quick-rail { flex-wrap: wrap; justify-content: center; min-height: 54px; padding: 4px 8px; gap: 0; }
    .simulation-nav-actions { justify-content: center; width: 100%; }
    .persona-role-group { justify-content: center; width: 100%; margin-top: 3px; padding: 4px 0 0; border-left: 0; border-top: 1px solid #e6e3ef; }
    .simulation-quick-rail .quick-rail-action { height: 40px; min-height: 40px; padding: 0 10px; font-size: 12px; }
    #demo-video-dialog { height: min(460px, calc(100dvh - 80px)); }
    .demo-video-body { padding: 12px; }
    #demo-video-volume { width: 48px; }
    .demo-video-controls { gap: 6px; }
}
/* assistant-icon-state-v2 */
#app .intelligence-zone .assistant-header-actions .assistant-icon-button,
#app .intelligence-zone .assistant-header-actions .coach-settings-button,
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"] {
    background: transparent;
    box-shadow: none;
    color: #6e6e73;
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"],
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"] .grading-tab-icon.is-graded {
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:hover,
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:focus-visible,
#app .intelligence-zone .assistant-header-actions .coach-settings-button:hover,
#app .intelligence-zone .assistant-header-actions .coach-settings-button:focus-visible,
#app .intelligence-zone .assistant-header-actions #customer-profile-tab:hover,
#app .intelligence-zone .assistant-header-actions #customer-profile-tab:focus-visible {
    background: #f2f2f4;
    box-shadow: none;
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:hover .grading-tab-icon,
#app .intelligence-zone .assistant-header-actions .assistant-icon-button:focus-visible .grading-tab-icon {
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions :is(#sales-coach-tab,#customer-profile-tab)[aria-selected="true"] {
    background: transparent;
    box-shadow: none;
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions :is(#sales-coach-tab,#customer-profile-tab,#follow-up-button,#open-personal-ai-settings):is(:hover,:focus-visible) {
    background: #f2f2f4;
    box-shadow: none;
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions #customer-profile-tab[aria-selected="true"] .grading-tab-icon.is-graded,
#app .intelligence-zone .assistant-header-actions #customer-profile-tab:is(:hover,:focus-visible) .grading-tab-icon.is-graded {
    color: #8052be;
}
#app .intelligence-zone .assistant-header-actions :is(#sales-coach-tab,#customer-profile-tab)[aria-selected="true"]:is(:hover,:focus-visible) {
    background: transparent;
    box-shadow: none;
}

.assistant-icon-gradient-defs { position: absolute; overflow: hidden; pointer-events: none; }
#app #sales-coach-tab, #app #sales-coach-tab * { text-decoration: none; }
#app #sales-coach-tab .sales-tab-underline { stroke: currentColor !important; }
#app .analysis-split-control #analyze-now-button,
#app .analysis-split-control #analyze-now-button:is(:hover,:focus-visible,:disabled,[aria-busy="true"]) { background: transparent; border: 0; box-shadow: none; }
#app #analyze-now-button[aria-busy="true"] { opacity: 1; filter: none; cursor: pointer; }
#app .analysis-stopped-text { white-space: pre-wrap; overflow-wrap: anywhere; }
#app .analysis-stopped-notice { color: var(--ink-400); font-size: 13px; font-weight: 400; }
#app .intelligence-zone .assistant-header-actions #follow-up-button:is(:hover,:focus-visible) {
    background: transparent;
    box-shadow: none;
}
#app .intelligence-zone .assistant-header-actions :is(#sales-coach-tab,#customer-profile-tab,#follow-up-button,#open-personal-ai-settings):is(:hover,:focus-visible,[aria-selected="true"]) {
    color: #7f50bd;
}
#app .intelligence-zone .assistant-header-actions :is(#sales-coach-tab,#customer-profile-tab,#follow-up-button,#open-personal-ai-settings):is(:hover,:focus-visible,[aria-selected="true"]) svg :is(path,circle,rect,line,polyline) {
    stroke: url(#assistant-icon-gradient);
}
#app .intelligence-zone .assistant-header-actions .assistant-icon-button[aria-selected="true"] .grading-tab-icon.is-graded .grading-tab-letter {
    color: #8052be;
    background: linear-gradient(135deg, #7651c9, #bc76c4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#admin-dialog .style-actions button { min-width: 82px; min-height: 36px; padding: 0 16px; border-radius: 10px; font-size: 13px; font-weight: 650; box-shadow: none; }
#admin-dialog #style-cancel { border: 1px solid var(--control-border); background: #f7f6f9; color: var(--control-ink); }
#admin-dialog #style-cancel:hover:not(:disabled) { border-color: #bcb3ca; background: var(--control-accent-soft); color: var(--control-accent); }
#admin-dialog #style-confirm { border: 1px solid var(--control-accent); background: var(--control-accent); color: #fff; }
#admin-dialog #style-confirm:hover:not(:disabled) { border-color: var(--control-accent-hover); background: var(--control-accent-hover); color: #fff; }
#admin-dialog .style-actions button:disabled { cursor: not-allowed; opacity: .68; }
#app .profile-portrait-header button:disabled { cursor: not-allowed; opacity: .55; }

/* Shared web control roles: the workbench, settings, sign-in, and operator pages. */
button:disabled { cursor: not-allowed; }
body :is(button, input, select, textarea) { font-family: var(--font-ui); }
body :is(button, input, select, textarea):focus-visible { outline: 3px solid rgb(128 82 190 / 30%); outline-offset: 2px; }
body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus-visible { border-color: var(--control-accent); }
body :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--control-accent); }
.primary-button, #admin-dialog .primary-button,
#admin-dialog .admin-panel form button[type="submit"],
body.console-login button[type="submit"], body.provider-bootstrap button[type="submit"] {
    min-height: 42px; border: 1px solid var(--control-accent); border-radius: 12px;
    background: var(--control-accent); color: #fff; font-size: 14px; font-weight: 600;
    box-shadow: 0 3px 10px rgb(128 82 190 / 16%);
}
.primary-button:hover:not(:disabled), #admin-dialog .primary-button:hover:not(:disabled),
#admin-dialog .admin-panel form button[type="submit"]:hover:not(:disabled),
body.console-login button[type="submit"]:hover:not(:disabled), body.provider-bootstrap button[type="submit"]:hover:not(:disabled) {
    border-color: var(--control-accent-hover); background: var(--control-accent-hover); color: #fff;
    box-shadow: 0 5px 14px rgb(128 82 190 / 20%); filter: none;
}
.secondary-button, .admin-action:not(.admin-action-primary):not(.admin-action-danger),
#admin-dialog .admin-panel form button[type="button"]:not(.primary-button):not(.danger-button),
#admin-dialog .console-inline button:not(.primary-button):not(.danger-button) {
    min-height: 40px; border: 1px solid var(--control-border); border-radius: 11px;
    background: #f7f6f9; color: var(--control-ink); font-size: 13px; font-weight: 600; box-shadow: none;
}
.secondary-button:hover:not(:disabled), .admin-action:not(.admin-action-primary):not(.admin-action-danger):hover:not(:disabled),
#admin-dialog .admin-panel form button[type="button"]:not(.primary-button):not(.danger-button):hover:not(:disabled),
#admin-dialog .console-inline button:not(.primary-button):not(.danger-button):hover:not(:disabled) {
    border-color: #c8b9dd; background: var(--control-accent-soft); color: var(--control-accent);
}
.danger-button, .admin-action-danger, #admin-dialog .danger-button {
    min-height: 40px; border: 1px solid #edc7cb; border-radius: 11px;
    background: #fff; color: var(--control-danger); font-size: 13px; font-weight: 600; box-shadow: none;
}
.danger-button:hover:not(:disabled), .admin-action-danger:hover:not(:disabled), #admin-dialog .danger-button:hover:not(:disabled) {
    border-color: var(--control-danger); background: var(--control-danger-soft); color: var(--control-danger);
}
#product-sku-delete-confirm { background: var(--control-danger); color: #fff; }
#product-sku-delete-confirm:hover:not(:disabled) { background: #9b1c29; color: #fff; }
#admin-dialog .style-actions button { min-width: 96px; min-height: 42px; font-size: 14px; }
#admin-dialog .business-product-actions button { min-height: 42px; }
#admin-dialog .provider-form :is(input,select,textarea),
#admin-dialog .usage-modal-form :is(input,select,textarea) { font-size: 14px; }
#admin-dialog .usage-filter :is(input:not([type="checkbox"]),select),
#admin-dialog .admin-followup-filter :is(input:not([type="checkbox"]),select) {
    min-height: 42px; border: 1px solid var(--control-border); border-radius: 11px;
    background: #fff; color: var(--control-ink); font-size: 14px; font-weight: 400;
}
#admin-dialog .usage-filter :is(input:not([type="checkbox"]),select):focus-visible,
#admin-dialog .admin-followup-filter :is(input:not([type="checkbox"]),select):focus-visible { border-color: var(--control-accent); }
#usage-batch-form select, #tenant-limit-form select, #admin-dialog .usage-limit-controls select { font-size: 14px; font-weight: 400; }
#admin-dialog .admin-tabs button[aria-selected="true"] { background: var(--control-accent); color: #fff; }
#admin-dialog .admin-style-tabs button[aria-selected="true"] { border-bottom-color: var(--control-accent); color: var(--control-accent); }
#admin-dialog .sales-style-choice:has(input:checked) { border-color: var(--control-accent); background: var(--control-accent-soft); }
#admin-dialog .sales-style-primary:hover, #admin-dialog .sales-style-primary:focus-visible { background: var(--control-accent-soft); color: var(--control-accent); }
#admin-dialog .sales-style-primary[aria-pressed="true"]:hover,
#admin-dialog .sales-style-primary[aria-pressed="true"]:focus-visible { background: #fff6df; color: #e9a300; }

/* Shared control typography: form values and quiet actions use regular weight on every page. */
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="button"]):not([type="submit"]), select, textarea,
         .admin-followup-staff-picker summary, .admin-followup-staff-picker button, .member-style-trigger, .member-style-option) {
    font-weight: var(--control-field-weight) !important;
}
body :is(.secondary-button, .text-button, .admin-action:not(.admin-action-primary):not(.admin-action-danger),
         .member-batch-actions button, .follow-up-pagination button, .follow-up-bulk-toolbar button,
         .follow-up-history-actions button, .profile-portrait-actions button,
         .admin-followup-list-footer button, .usage-quick-actions button,
         .admin-advanced-heading button, #follow-up-outline,
         #admin-dialog .admin-panel form button[type="button"]:not(.primary-button):not(.danger-button)) {
    font-weight: var(--control-secondary-weight) !important;
}
