:root {
  --bg: #f3f5f4;
  --surface: #ffffff;
  --surface-soft: #f7f9f8;
  --surface-strong: #e9efec;
  --text: #15231f;
  --muted: #66746f;
  --line: #dce4e0;
  --line-strong: #cbd7d1;
  --primary: #0d6b57;
  --primary-dark: #095243;
  --primary-soft: #e4f2ed;
  --sidebar: #10231f;
  --sidebar-soft: #19312b;
  --success: #187447;
  --warning: #a36212;
  --danger: #b23a31;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --shadow: 0 12px 32px rgb(22 44 37 / 8%);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .58; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgb(13 107 87 / 18%); outline-offset: 2px; }
svg { width: 20px; height: 20px; fill: currentColor; }
h1, h2, h3, p { margin-top: 0; }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 6px; color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.primary, .secondary, .text-button, .icon-button, .mobile-menu {
  border: 0;
  border-radius: var(--radius-sm);
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.primary { min-height: 40px; padding: 0 16px; background: var(--primary); color: #fff; font-weight: 750; }
.primary:hover { background: var(--primary-dark); }
.secondary { min-height: 38px; padding: 0 13px; border: 1px solid var(--line-strong); background: #fff; color: var(--text); font-weight: 700; }
.secondary:hover { border-color: var(--primary); color: var(--primary); }
.text-button { padding: 7px 0; background: transparent; color: var(--primary); font-size: 13px; font-weight: 750; }
.wide { width: 100%; }
.icon-button, .mobile-menu { width: 36px; height: 36px; display: grid; place-items: center; background: transparent; color: inherit; }
.icon-button:hover, .mobile-menu:hover { background: rgb(255 255 255 / 8%); }

input, select, textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--text);
}
input, select { height: 42px; padding: 0 12px; }
textarea { min-height: 130px; padding: 11px 12px; line-height: 1.65; resize: vertical; }
input::placeholder, textarea::placeholder { color: #98a39f; }

.login-screen {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(360px, 500px);
  place-content: center;
  gap: 72px;
  padding: 52px;
  background: var(--sidebar);
  color: #fff;
}
body.authenticated .login-screen { display: none; }
.login-brand { position: absolute; top: 34px; left: 40px; display: flex; align-items: center; gap: 12px; }
.login-brand strong, .brand strong { display: block; font-size: 15px; }
.login-brand span, .brand span { display: block; margin-top: 3px; color: #92a8a1; font-size: 10px; letter-spacing: .05em; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / 18%); border-radius: 9px; background: var(--primary); color: #fff; font-size: 13px; font-weight: 850; letter-spacing: -.04em; }
.login-screen > .login-brand + .login-card::before { content: ""; }
.login-card {
  grid-column: 2;
  width: 100%;
  display: grid;
  gap: 18px;
  padding: 34px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--text);
  box-shadow: 0 28px 80px rgb(0 0 0 / 24%);
}
.login-card h1 { margin-bottom: 14px; font-size: clamp(28px, 3vw, 40px); line-height: 1.18; letter-spacing: -.04em; }
.login-copy { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.login-card label, .stack-form label { display: grid; gap: 7px; }
.login-card label > span, .stack-form label > span, .inline-form label > span { font-size: 12px; font-weight: 750; }
.form-message { min-height: 18px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.form-message.error { color: var(--danger); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 238px minmax(0, 1fr); }
body:not(.authenticated) .app-shell { visibility: hidden; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: 238px;
  display: flex;
  flex-direction: column;
  padding: 22px 14px 14px;
  background: var(--sidebar);
  color: #fff;
}
.brand { display: flex; align-items: center; gap: 11px; padding: 0 7px 22px; border-bottom: 1px solid rgb(255 255 255 / 8%); }
.brand .brand-mark { width: 38px; height: 38px; }
nav { display: grid; gap: 4px; margin-top: 18px; }
nav > p { margin: 16px 10px 6px; color: #6f8a81; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
nav a { min-height: 40px; display: flex; align-items: center; gap: 11px; padding: 0 11px; border-radius: 7px; color: #aebdb8; font-size: 13px; font-weight: 650; text-decoration: none; }
nav a svg { width: 18px; height: 18px; }
nav a:hover { background: rgb(255 255 255 / 5%); color: #fff; }
nav a.active { background: var(--sidebar-soft); color: #fff; box-shadow: inset 3px 0 var(--primary); }
.sidebar-footer { margin-top: auto; display: flex; align-items: center; gap: 8px; padding: 14px 6px 0; border-top: 1px solid rgb(255 255 255 / 8%); }
.user-block { min-width: 0; flex: 1; display: flex; align-items: center; gap: 9px; }
.avatar { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--primary); font-size: 12px; font-weight: 850; }
.user-block strong, .user-block small { max-width: 118px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-block strong { font-size: 12px; }
.user-block small { margin-top: 2px; color: #829a92; font-size: 10px; }

.main { grid-column: 2; min-width: 0; }
.topbar { height: 76px; display: flex; align-items: center; gap: 13px; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / 92%); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.topbar p { margin: 0 0 2px; color: var(--muted); font-size: 11px; }
.topbar h1 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
.topbar-meta { margin-left: auto; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.topbar-usage { margin-left: 8px; padding-left: 12px; border-left: 1px solid var(--line); color: var(--primary); font-weight: 800; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 4px rgb(163 98 18 / 10%); }
.status-dot.ok { background: var(--success); box-shadow: 0 0 0 4px rgb(24 116 71 / 10%); }
.mobile-menu { display: none; }
.global-message { display: none; margin: 18px 28px 0; padding: 11px 14px; border: 1px solid #ecc3bf; border-radius: var(--radius-sm); background: #fff2f0; color: var(--danger); font-size: 12px; }
.global-message.show { display: block; }

.page { display: none; padding: 24px 28px 44px; }
.page.active { display: block; }
.page-intro { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.page-intro h2 { margin-bottom: 5px; font-size: 22px; letter-spacing: -.03em; }
.page-intro p { max-width: 760px; margin-bottom: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.page-intro.with-control { align-items: center; gap: 20px; }
.model-select { width: min(360px, 42vw); }

.hero-panel {
  min-height: 182px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 28px 30px;
  border: 1px solid #24433a;
  border-radius: var(--radius-lg);
  background: var(--sidebar);
  color: #fff;
}
.hero-panel h2 { margin-bottom: 10px; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.04em; }
.hero-panel p:not(.eyebrow) { max-width: 720px; margin-bottom: 0; color: #aebdb8; font-size: 13px; line-height: 1.75; }
.hero-panel .primary { flex: 0 0 auto; background: #fff; color: var(--primary-dark); }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0; }
.metric-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.metric-card > span { color: var(--muted); font-size: 12px; }
.metric-card strong { display: block; margin: 8px 0 5px; font-size: 27px; letter-spacing: -.04em; }
.metric-card small { color: #86938e; font-size: 11px; }

.panel { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.two-column { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 16px; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 16px; }
.section-head h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.workflow { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.workflow li { position: relative; display: flex; gap: 13px; padding: 0 0 16px; }
.workflow li:last-child { padding-bottom: 0; }
.workflow li:not(:last-child)::after { content: ""; position: absolute; top: 25px; bottom: 3px; left: 14px; width: 1px; background: var(--line); }
.workflow li > span { position: relative; z-index: 1; width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; color: var(--primary); font-size: 9px; font-weight: 850; }
.workflow strong, .workflow small { display: block; }
.workflow strong { margin: 3px 0 3px; font-size: 13px; }
.workflow small { color: var(--muted); font-size: 11px; line-height: 1.5; }

.model-list, .task-list { display: grid; gap: 9px; }
.model-row, .task-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.model-row:last-child, .task-row:last-child { border-bottom: 0; }
.model-row h3, .task-row h3 { margin: 0 0 5px; font-size: 13px; }
.model-row p, .task-row p { margin: 0; color: var(--muted); font-size: 11px; }
.tag { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 99px; background: var(--surface-strong); color: var(--muted); font-size: 10px; font-weight: 750; }
.tag.complete { background: #e7f5ed; color: var(--success); }
.tag.comparison { background: #fff2df; color: var(--warning); }
.tag.running, .tag.pending { background: #fff2df; color: var(--warning); }
.tag.failed { background: #fceae8; color: var(--danger); }
.empty-state { min-height: 170px; display: grid; place-items: center; color: var(--muted); font-size: 12px; text-align: center; }

.upload-panel { margin-bottom: 16px; }
.evolution-panel { margin-bottom: 16px; border-color: #bfd8ce; background: linear-gradient(135deg, #fff 0%, #edf8f3 100%); }
.evolution-panel .salesmartly-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.evolution-panel > .form-message { margin-top: 10px; }
.evolution-guard-summary { margin-top: 12px; }
.evolution-guard-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; padding: 12px 14px; border: 1px solid #cfe2d9; border-radius: 12px; background: rgba(255,255,255,.75); }
.evolution-guard-actions > div { min-width: 0; }
.evolution-guard-actions .form-message { margin: 0 0 4px; }
.evolution-guard-actions small { display: block; color: var(--muted); line-height: 1.5; }
.guard-value.safe { color: #247452; }
.guard-value.warning { color: #9a6415; }
.guard-value.danger { color: #b63d3d; }
@media (max-width: 760px) { .evolution-guard-actions { align-items: stretch; flex-direction: column; } }
.salesmartly-panel { margin-bottom: 16px; border-color: #c7ddd4; background: linear-gradient(135deg, #fff 0%, #f3faf7 100%); }
.salesmartly-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.salesmartly-summary > div { padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: rgb(255 255 255 / 82%); }
.salesmartly-summary span, .salesmartly-summary strong, .salesmartly-summary small { display: block; }
.salesmartly-summary span { color: var(--muted); font-size: 10px; }
.salesmartly-summary strong { margin: 7px 0 5px; color: var(--primary-dark); font-size: 17px; }
.salesmartly-summary small { color: #83918c; font-size: 9px; line-height: 1.5; }
.salesmartly-endpoint { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: end; gap: 9px; margin-top: 11px; }
.salesmartly-endpoint > div { min-width: 0; }
.salesmartly-endpoint span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 750; }
.salesmartly-endpoint code { min-height: 40px; display: flex; align-items: center; overflow: hidden; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: #fff; color: var(--primary); font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; white-space: nowrap; }
.salesmartly-cities { display: flex; align-items: flex-start; gap: 12px; margin-top: 12px; }
.salesmartly-cities > strong { flex: 0 0 auto; padding-top: 5px; font-size: 10px; }
.salesmartly-cities .chip-list { justify-content: flex-start; }
.salesmartly-panel > .form-message { margin-top: 10px; }
.upload-copy { display: flex; align-items: center; gap: 14px; }
.upload-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--primary-soft); color: var(--primary); }
.upload-copy h3 { margin-bottom: 5px; font-size: 15px; }
.upload-copy p { margin: 0; color: var(--muted); font-size: 12px; }
.upload-form { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .7fr) auto; gap: 9px; margin-top: 18px; }
.file-picker { height: 42px; display: flex; align-items: center; padding: 0 12px; border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); color: var(--muted); font-size: 12px; cursor: pointer; overflow: hidden; }
.file-picker input { display: none; }
.file-picker span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upload-progress { height: 3px; margin-top: 14px; overflow: hidden; border-radius: 3px; background: var(--surface-strong); opacity: 0; }
.upload-progress.active { opacity: 1; }
.upload-progress span { width: 35%; height: 100%; display: block; background: var(--primary); animation: progress 1.2s ease-in-out infinite alternate; }
@keyframes progress { from { transform: translateX(-100%); } to { transform: translateX(280%); } }

.table-panel { padding: 0; overflow: hidden; }
.table-panel .section-head { margin: 0; padding: 18px 20px; }
.table-wrap { overflow: auto; border-top: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { height: 39px; padding: 0 13px; background: var(--surface-soft); color: var(--muted); font-size: 10px; font-weight: 800; text-align: left; white-space: nowrap; }
td { height: 54px; padding: 8px 13px; border-top: 1px solid var(--line); white-space: nowrap; }
tbody tr:hover { background: #fbfcfc; }
td strong, td small { display: block; }
td strong { font-size: 12px; }
td small { margin-top: 3px; color: var(--muted); font-size: 10px; }

.distill-layout, .diagnose-layout, .coach-layout { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.setup-card { position: sticky; top: 100px; }
.stack-form { display: grid; gap: 16px; }
.stack-form small, .inline-form small { color: var(--muted); font-size: 10px; line-height: 1.55; }
.progress-line { width: 190px; height: 5px; margin-top: 7px; overflow: hidden; border-radius: 5px; background: var(--surface-strong); }
.progress-line span { height: 100%; display: block; border-radius: inherit; background: var(--primary); }
.task-meta { display: flex; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 10px; }

.centered-empty { min-height: 300px; display: grid; place-content: center; justify-items: center; padding: 38px; text-align: center; }
.centered-empty h3 { margin-bottom: 8px; font-size: 16px; }
.centered-empty p { max-width: 480px; margin-bottom: 18px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.dna-summary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 30px; align-items: center; margin-bottom: 22px; }
.dna-summary h2 { margin-bottom: 8px; font-size: 25px; }
.dna-summary p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.75; }
.evidence-strip { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.evidence-strip span { padding: 5px 8px; border-radius: 5px; background: var(--surface-soft); color: var(--muted); font-size: 10px; }
.skill-radar { display: grid; gap: 10px; }
.skill-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 34px; align-items: center; gap: 9px; font-size: 11px; }
.skill-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-track { height: 7px; overflow: hidden; border-radius: 7px; background: var(--surface-strong); }
.score-track i { height: 100%; display: block; border-radius: inherit; background: var(--primary); }
.content-section { margin-bottom: 22px; }
.dna-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dna-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.dna-number { width: 27px; height: 27px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 7px; background: var(--primary-soft); color: var(--primary); font-size: 10px; font-weight: 850; }
.dna-card h3 { margin-bottom: 7px; font-size: 14px; }
.dna-card > p { min-height: 42px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.dna-card dl { display: grid; gap: 9px; margin: 14px 0 0; padding-top: 13px; border-top: 1px solid var(--line); }
.dna-card dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.dna-card dd { margin: 3px 0 0; font-size: 11px; line-height: 1.55; }
.behavior-list { margin: 4px 0 0; padding-left: 16px; }
.behavior-list li { margin: 4px 0; }
.sales-flow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 5px; }
.flow-stage { position: relative; padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.flow-stage:not(:last-child)::after { content: "→"; position: absolute; right: -10px; top: 17px; z-index: 1; color: var(--primary); font-weight: 850; }
.flow-stage > span { color: var(--primary); font-size: 9px; font-weight: 850; }
.flow-stage h3 { margin: 5px 0 7px; font-size: 13px; }
.flow-stage p, .flow-stage li { color: var(--muted); font-size: 10px; line-height: 1.55; }
.flow-stage ul { margin: 7px 0; padding-left: 15px; }
.objection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.objection-card { padding: 15px; border: 1px solid var(--line); border-radius: 8px; }
.objection-card h3 { margin-bottom: 7px; font-size: 13px; }
.objection-card p { margin-bottom: 8px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.objection-card blockquote { margin: 10px 0 0; padding: 10px 12px; border-left: 3px solid var(--primary); background: var(--surface-soft); font-size: 11px; line-height: 1.6; }

.result-panel { min-height: 460px; }
.result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.result-header h2 { margin-bottom: 6px; font-size: 18px; }
.result-header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.coach-status { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.big-score { width: 65px; height: 65px; flex: 0 0 auto; display: grid; place-items: center; border: 6px solid var(--primary-soft); border-radius: 50%; color: var(--primary); font-size: 20px; font-weight: 850; }
.result-section { margin-top: 18px; }
.result-section h3 { margin-bottom: 10px; font-size: 13px; }
.compare-list { display: grid; gap: 10px; }
.compare-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 48px; align-items: center; gap: 9px; font-size: 10px; }
.compare-row > small { grid-column: 2 / -1; color: var(--muted); line-height: 1.55; }
.diagnosis-team-panel { margin-top: 16px; }
.diagnosis-batch-list, .diagnosis-report-list { display: grid; gap: 8px; }
.diagnosis-report-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.diagnosis-batch-row, .diagnosis-report-row { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 11px 12px; }
.diagnosis-batch-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 16px; }
.diagnosis-batch-row > div:first-child, .diagnosis-report-row > div:first-child { display: grid; gap: 3px; }
.diagnosis-batch-row span, .diagnosis-report-row span { color: var(--muted); font-size: 9px; }
.diagnosis-batch-row > div:nth-child(2), .diagnosis-report-row > div:last-child { display: flex; align-items: center; gap: 9px; }
.progress-track { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 999px; background: #e7ece9; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--primary); }
.diagnosis-report-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.diagnosis-report-score { color: var(--primary-dark) !important; font-family: var(--serif); font-size: 22px !important; font-weight: 700; }
.compare-bars { display: grid; gap: 3px; }
.compare-bars i { height: 5px; display: block; border-radius: 5px; background: var(--primary-soft); }
.compare-bars i:last-child { background: var(--primary); }
.gap-card, .reply-card, .plan-row { padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.gap-card + .gap-card, .reply-card + .reply-card, .plan-row + .plan-row { margin-top: 8px; }
.gap-card h4, .reply-card h4 { margin: 0 0 5px; font-size: 12px; }
.gap-card p, .reply-card p, .plan-row p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.reply-card blockquote { margin: 8px 0; font-size: 12px; line-height: 1.7; }
.chip-list { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-list span { padding: 5px 8px; border-radius: 99px; background: var(--surface-strong); color: var(--muted); font-size: 10px; }
.case-retrieval { padding-top: 18px; border-top: 1px solid var(--line); }
.case-section-head, .case-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.case-section-head h3 { margin-bottom: 4px; }
.case-section-head p, .retrieval-empty { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.case-list { display: grid; gap: 9px; margin-top: 11px; }
.case-card { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.case-card-head > div { display: flex; align-items: center; gap: 7px; }
.case-card-head strong { font-size: 11px; }
.case-id { color: var(--primary); font-size: 10px; font-weight: 850; }
.match-score { color: var(--primary); font-size: 12px !important; }
.case-card > p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.case-card > p strong { color: var(--text); }
.case-meta { color: #87938f !important; }
.case-tags { margin-top: 9px; }
.case-evidence { margin-top: 10px; padding: 9px 10px; border-left: 3px solid var(--primary); background: var(--surface-soft); }
.case-evidence > strong { font-size: 10px; }
.case-evidence ul { margin: 5px 0 0; padding-left: 16px; }
.case-evidence li { margin: 3px 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.case-card details { margin-top: 9px; border-top: 1px solid var(--line); padding-top: 8px; }
.case-card summary { color: var(--primary); font-size: 10px; font-weight: 750; cursor: pointer; }
.case-card pre { max-height: 220px; overflow: auto; margin: 9px 0 0; padding: 10px; border-radius: 6px; background: var(--sidebar); color: #d9e6e1; font: 10px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }

.realtime-setup-panel { margin-bottom: 16px; }
.realtime-controls { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(260px, 1.35fr) minmax(170px, .75fr) auto; align-items: end; gap: 10px; }
.realtime-controls label { display: grid; gap: 6px; }
.realtime-controls label > span { font-size: 12px; font-weight: 750; }
.realtime-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr); align-items: start; gap: 16px; }
.realtime-chat-panel { padding: 0; overflow: hidden; }
.realtime-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.realtime-chat-head h2 { margin: 0 0 4px; font-size: 16px; }
.realtime-chat-head p { margin: 0; color: var(--muted); font-size: 10px; }
.realtime-status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--primary); font-size: 10px; font-weight: 800; }
.realtime-messages { height: min(56vh, 620px); min-height: 430px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 20px; background: linear-gradient(180deg, #f7faf8, #f1f7f4); }
.realtime-messages.empty-state { display: grid; place-items: center; text-align: center; }
.realtime-messages .centered-empty { max-width: 420px; }
.realtime-messages .centered-empty h3 { margin: 0 0 7px; font-size: 15px; }
.realtime-messages .centered-empty p { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.realtime-bubble { display: flex; flex-direction: column; max-width: 78%; }
.realtime-bubble > span { margin: 0 7px 4px; color: var(--muted); font-size: 9px; font-weight: 750; }
.realtime-bubble p { margin: 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 5px 14px 14px 14px; background: #fff; color: var(--text); font-size: 12px; line-height: 1.65; white-space: pre-wrap; box-shadow: 0 3px 12px rgb(20 55 42 / 5%); }
.realtime-bubble.customer { align-self: flex-start; }
.realtime-bubble.sales { align-self: flex-end; align-items: flex-end; }
.realtime-bubble.sales p { border-color: var(--primary); border-radius: 14px 5px 14px 14px; background: var(--primary); color: #fff; }
.realtime-attachments { display: grid; gap: 7px; margin-top: 7px; }
.realtime-bubble.sales .realtime-attachments { justify-items: end; }
.realtime-image-attachment { display: block; max-width: min(320px, 100%); overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 3px 12px rgb(20 55 42 / 8%); }
.realtime-image-attachment img { display: block; width: 100%; max-height: 280px; object-fit: cover; }
.realtime-image-attachment span { display: block; padding: 7px 9px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.realtime-file-attachment { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 8px; width: min(290px, 100%); padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--text); text-decoration: none; }
.realtime-file-attachment > span:first-child { display: grid; width: 30px; height: 30px; place-content: center; border-radius: 7px; background: var(--surface-soft); color: var(--primary); font-size: 9px; font-weight: 850; }
.realtime-file-attachment strong, .realtime-file-attachment small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.realtime-file-attachment strong { font-size: 10px; }
.realtime-file-attachment small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.realtime-bubble.thinking p { display: flex; align-items: center; gap: 4px; min-width: 46px; }
.realtime-bubble.thinking i { width: 5px; height: 5px; border-radius: 50%; background: #8da49c; animation: realtime-thinking 1s infinite ease-in-out; }
.realtime-bubble.thinking i:nth-child(2) { animation-delay: .15s; }
.realtime-bubble.thinking i:nth-child(3) { animation-delay: .3s; }
@keyframes realtime-thinking { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-3px); opacity: 1; } }
.realtime-composer { display: grid; gap: 9px; padding: 15px 20px 17px; border-top: 1px solid var(--line); background: #fff; }
.realtime-composer > label { font-size: 11px; font-weight: 750; }
.realtime-composer textarea { min-height: 88px; max-height: 200px; resize: vertical; }
.realtime-attachment-tools { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; }
.attachment-picker { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; color: var(--primary); font-size: 10px; font-weight: 800; cursor: pointer; }
.attachment-picker:has(input:disabled) { cursor: not-allowed; opacity: .5; }
.attachment-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.realtime-attachment-tools > span { color: var(--muted); font-size: 9px; }
.text-button { padding: 0; border: 0; background: transparent; color: var(--danger); font-size: 10px; cursor: pointer; }
.realtime-attachment-preview { display: flex; flex-wrap: wrap; gap: 6px; }
.realtime-attachment-preview span { max-width: 240px; padding: 6px 8px; overflow: hidden; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.realtime-composer > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.realtime-composer > div > span { color: var(--muted); font-size: 10px; }
.realtime-composer > div > div { display: flex; gap: 8px; }
.realtime-side-panel { position: sticky; top: 94px; min-height: 340px; }
.realtime-side-panel .centered-empty { display: grid; min-height: 290px; place-content: center; text-align: center; }
.realtime-side-panel .centered-empty h3 { margin: 0 0 7px; font-size: 15px; }
.realtime-side-panel .centered-empty p { max-width: 330px; margin: 0 auto 14px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.realtime-grade-head { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 15px; }
.realtime-amount-card { display: grid; min-height: 104px; padding: 15px 12px; place-content: center; border: 1px solid #b8dcc8; border-radius: 12px; background: linear-gradient(145deg, #effaf4, #fff); text-align: center; }
.realtime-amount-card span { color: var(--muted); font-size: 9px; font-weight: 800; }
.realtime-amount-card strong { margin: 7px 0 3px; color: var(--success); font-size: 25px; line-height: 1; white-space: nowrap; }
.realtime-amount-card small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.realtime-grade-head h2 { margin: 0 0 6px; font-size: 16px; }
.realtime-grade-head p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.realtime-amount-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(90px, 1fr); gap: 8px; margin-top: 16px; }
.realtime-amount-grid span { padding: 11px; border-radius: 7px; background: var(--surface-soft); color: var(--muted); font-size: 9px; }
.realtime-amount-grid strong { display: block; margin-top: 5px; color: var(--text); font-size: 13px; }
.realtime-history-amount { min-width: 90px; color: var(--success); font-size: 12px; }
.realtime-feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.realtime-feedback-grid article { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.realtime-feedback-grid h3 { margin: 0 0 7px; font-size: 11px; }
.realtime-feedback-grid ul { margin: 0; padding-left: 16px; }
.realtime-feedback-grid li, .realtime-feedback-grid p { margin: 4px 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.realtime-reveal { margin-top: 14px; padding: 13px; border-radius: var(--radius-sm); background: #eaf6ef; }
.realtime-reveal h3 { margin: 0 0 8px; color: var(--success); font-size: 12px; }
.realtime-reveal p { margin: 7px 0; color: #446259; font-size: 10px; line-height: 1.65; }
.realtime-history-panel { margin-top: 16px; }

.onboarding-overview { margin-bottom: 16px; overflow: hidden; border-color: #bdd9ce; background: linear-gradient(135deg, #102f28 0%, #17493c 58%, #1f684f 100%); color: #fff; }
.onboarding-overview { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(420px, 1.25fr); align-items: center; gap: 24px; }
.onboarding-overview-copy h2 { margin: 5px 0 8px; font-size: 26px; }
.onboarding-overview-copy > p:last-child { margin: 0; color: #b9d1c8; font-size: 11px; }
.onboarding-overview .eyebrow { color: #8fd1b1; }
.onboarding-overview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.onboarding-overview-metrics > div { padding: 13px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 9px; background: rgb(255 255 255 / 7%); }
.onboarding-overview-metrics span, .onboarding-overview-metrics strong, .onboarding-overview-metrics small { display: block; }
.onboarding-overview-metrics span { color: #a9c5bb; font-size: 9px; }
.onboarding-overview-metrics strong { margin: 6px 0 4px; font-size: 24px; }
.onboarding-overview-metrics small { color: #91afa4; font-size: 9px; line-height: 1.45; }
.onboarding-progress-line { grid-column: 1 / -1; margin: 0; background: rgb(255 255 255 / 12%); }
.onboarding-progress-line span { background: #7ee0aa; }
.onboarding-view-tabs { position: static; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgb(18 55 45 / 7%); }
.onboarding-view-tabs button { min-height: 58px; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 9px; padding: 9px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); text-align: left; }
.onboarding-view-tabs button:hover { background: var(--surface-soft); }
.onboarding-view-tabs button.active { background: var(--primary); color: #fff; box-shadow: 0 7px 18px rgb(24 91 69 / 18%); }
.onboarding-view-tabs button > span { grid-row: 1 / 3; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #e4f1eb; color: var(--primary); font-size: 9px; font-weight: 900; }
.onboarding-view-tabs button.active > span { background: rgb(255 255 255 / 18%); color: #fff; }
.onboarding-view-tabs strong { align-self: end; font-size: 11px; }
.onboarding-view-tabs small { align-self: start; color: inherit; font-size: 9px; opacity: .78; }
.onboarding-journey-panel { margin-bottom: 14px; }
.onboarding-journey-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.onboarding-journey-steps article { position: relative; min-height: 86px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-content: center; gap: 2px 9px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.onboarding-journey-steps article:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; top: 31px; right: -8px; color: #86a69a; font-size: 15px; font-weight: 900; }
.onboarding-journey-steps article > span { grid-row: 1 / 3; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #dfe9e5; color: #698078; font-size: 9px; font-weight: 900; }
.onboarding-journey-steps article strong { align-self: end; font-size: 10px; }
.onboarding-journey-steps article small { align-self: start; color: var(--muted); font-size: 9px; }
.onboarding-journey-steps article.complete { border-color: #b6ddca; background: #eef9f3; }
.onboarding-journey-steps article.complete > span { background: #2f8b65; color: #fff; }
.onboarding-journey-steps article.active { border-color: #4d9a7b; box-shadow: inset 0 0 0 1px #8dc4ac; background: #fff; }
.onboarding-journey-steps article.active > span { background: var(--primary); color: #fff; }
.onboarding-journey-steps article.locked { opacity: .58; }
.onboarding-next-card, .onboarding-optional-diagnostic-card, .onboarding-practice-intro, .onboarding-graduation-card { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 14px; padding: 20px 22px; }
.onboarding-next-card { border-color: #81bca4; background: linear-gradient(135deg, #ecf8f2, #fff 70%); }
.onboarding-optional-diagnostic-card { border-style: dashed; background: #fbfdfc; }
.onboarding-optional-diagnostic-actions { flex: 0 0 auto; display: grid; justify-items: end; gap: 8px; }
.onboarding-next-card h2, .onboarding-optional-diagnostic-card h2, .onboarding-practice-intro h2, .onboarding-graduation-card h2 { margin: 5px 0 7px; font-size: 20px; }
.onboarding-next-card p:not(.eyebrow), .onboarding-optional-diagnostic-card p:not(.eyebrow), .onboarding-practice-intro p:not(.eyebrow), .onboarding-graduation-card p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.onboarding-next-card button, .onboarding-graduation-card button { flex: 0 0 auto; min-width: 150px; min-height: 42px; }
.onboarding-learning-rule { display: flex; align-items: flex-start; gap: 14px; margin: 14px 0; padding: 13px 15px; border-left: 3px solid #d39a3d; border-radius: 0 9px 9px 0; background: #fff8e9; }
.onboarding-learning-rule strong { flex: 0 0 auto; color: #735520; font-size: 10px; }
.onboarding-learning-rule p { margin: 0; color: #6b5d40; font-size: 10px; line-height: 1.6; }
.question-grounding { margin: 0 0 13px; padding: 12px 14px; border: 1px solid #b8d8ca; border-left: 4px solid var(--primary); border-radius: 8px; background: #f1f8f5; }
.question-grounding header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.question-grounding header strong { color: var(--primary); font-size: 10px; }
.question-grounding header span { color: #5f746c; font-size: 8px; font-weight: 750; text-align: right; }
.question-grounding > p { margin: 7px 0; color: #344a42; font-size: 10px; line-height: 1.65; }
.question-grounding footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-top: 7px; border-top: 1px solid #d5e6de; }
.question-grounding footer span { flex: 0 0 auto; color: var(--primary); font-size: 8px; font-weight: 800; }
.question-grounding footer small { color: var(--muted); font-size: 8px; line-height: 1.5; text-align: right; }
.business-operating-map { margin: 18px 0 14px; padding: 24px; overflow: hidden; border-color: #78aa95; background: linear-gradient(180deg, #0f3128 0, #17463a 280px, #f5fbf8 280px, #fff 100%); }
.business-map-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 20px; color: #fff; }
.business-map-head .eyebrow { color: #a8ddc5; }
.business-map-head h2 { margin: 5px 0 4px; color: #fff; font-size: 25px; }
.business-map-head p:last-child { margin: 0; color: #c8e1d6; font-size: 11px; }
.business-map-thesis { max-width: 900px; margin: 0 0 18px; padding: 17px 19px; border: 1px solid rgb(255 255 255 / 22%); border-radius: 10px; background: rgb(7 28 23 / 66%); color: #fff; }
.business-map-thesis strong { display: block; margin-bottom: 7px; color: #aadfc7; font-size: 10px; letter-spacing: .04em; }
.business-map-thesis p { margin: 0; font-size: 15px; font-weight: 800; line-height: 1.75; }
.business-map-thesis small { display: block; margin-top: 8px; color: #cfe1da; font-size: 10px; line-height: 1.65; }
.business-loop-track { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.business-loop-track article { position: relative; min-width: 0; padding: 14px 12px; border: 1px solid #c7ddd3; border-radius: 9px; background: #fff; }
.business-loop-track article:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; top: 50%; right: -9px; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: #17463a; color: #fff; font-size: 9px; font-weight: 900; transform: translateY(-50%); }
.business-loop-track header { display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.business-loop-track header span { color: var(--primary); font-size: 13px; font-weight: 900; }
.business-loop-track header em { color: #6e7f78; font-size: 7px; font-style: normal; font-weight: 800; text-align: right; }
.business-loop-track h3 { margin: 10px 0 6px; font-size: 12px; }
.business-loop-track p { min-height: 70px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.business-loop-track small { display: block; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); color: #466057; font-size: 8px; line-height: 1.55; }
.business-loop-track small strong { display: block; margin-bottom: 3px; color: var(--primary); }
.business-map-explainers { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 10px; }
.business-map-explainers > section { padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: #f7faf8; }
.business-map-explainers h3, .business-source-rules h3 { margin: 0 0 10px; font-size: 12px; }
.business-role-chain { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.business-role-chain span { padding: 9px; border-radius: 7px; background: #fff; }
.business-role-chain strong, .business-role-chain small { display: block; }
.business-role-chain strong { margin-bottom: 4px; color: var(--primary); font-size: 9px; }
.business-role-chain small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.business-map-explainers ol { display: grid; gap: 7px; margin: 0; padding-left: 22px; }
.business-map-explainers li { padding-left: 3px; color: #4f635b; font-size: 9px; line-height: 1.6; }
.business-source-rules { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 13px; margin-top: 10px; padding: 15px; border-radius: 9px; background: #fff7e7; }
.business-source-rules > div:first-child p { margin: 0; color: #6d6046; font-size: 9px; line-height: 1.6; }
.business-source-rules > div:last-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.business-source-rules article { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 4px 7px; padding: 11px; border: 1px solid #ead6ad; border-radius: 8px; background: #fff; }
.business-source-rules article > span { grid-row: 1 / span 3; color: #b17622; font-size: 12px; font-weight: 900; }
.business-source-rules article strong { font-size: 10px; }
.business-source-rules article p, .business-source-rules article small { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.business-source-rules article small { color: #806331; }
.business-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.business-map-footer strong { display: block; margin-bottom: 4px; font-size: 10px; }
.business-map-footer p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.business-map-footer .primary { flex: 0 0 auto; }
.onboarding-core-knowledge-browser { margin-bottom: 12px; border-color: #abd1c0; }
.onboarding-core-knowledge-browser > .section-head { margin-bottom: 14px; }
.onboarding-business-disclosure { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 9px; background: rgb(255 255 255 / 70%); }
.onboarding-business-disclosure > summary { padding: 12px 14px; color: #4b6259; font-size: 10px; font-weight: 800; cursor: pointer; }
.onboarding-business-disclosure .onboarding-business-snapshot { margin: 0 12px 12px; }
.onboarding-library-disclosure { margin: 16px 0; padding: 0; overflow: hidden; }
.onboarding-library-disclosure > summary, .onboarding-team-panel > summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; cursor: pointer; list-style: none; }
.onboarding-library-disclosure > summary::-webkit-details-marker, .onboarding-team-panel > summary::-webkit-details-marker { display: none; }
.onboarding-library-disclosure > summary strong, .onboarding-library-disclosure > summary small, .onboarding-team-panel > summary strong, .onboarding-team-panel > summary small { display: block; }
.onboarding-library-disclosure > summary strong, .onboarding-team-panel > summary strong { margin: 4px 0; font-size: 14px; }
.onboarding-library-disclosure > summary small, .onboarding-team-panel > summary small { color: var(--muted); font-size: 9px; }
.onboarding-library-disclosure[open] > summary, .onboarding-team-panel[open] > summary { border-bottom: 1px solid var(--line); background: #f4f9f7; }
.onboarding-library-disclosure > div, .onboarding-team-panel > div, .onboarding-team-panel > h3 { margin-right: 16px; margin-left: 16px; }
.onboarding-library-disclosure > div { margin-top: 16px; margin-bottom: 16px; }
.onboarding-team-panel { overflow-x: auto; }
.onboarding-graduation-card { margin-top: 16px; }
.onboarding-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.onboarding-command-card { min-height: 168px; display: flex; flex-direction: column; align-items: flex-start; }
.onboarding-command-card.featured { border-color: #82bca4; background: linear-gradient(145deg, #eef9f4, #fff); }
.onboarding-command-card h3 { margin: 5px 0 8px; font-size: 16px; }
.onboarding-command-card p:not(.eyebrow) { flex: 1; margin: 0 0 14px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.onboarding-command-card .command-progress { width: 100%; display: flex; justify-content: space-between; gap: 8px; margin: 0 0 12px; color: var(--muted); font-size: 9px; }
.onboarding-orientation-panel { margin-bottom: 16px; border-color: #add3c3; background: linear-gradient(145deg, #f4fbf8, #fff); }
.onboarding-orientation-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.onboarding-orientation-head h2 { margin: 4px 0 7px; font-size: 21px; }
.onboarding-orientation-head p:last-child { max-width: 720px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.onboarding-orientation-actions { display: grid; justify-items: end; gap: 9px; flex: 0 0 auto; }
.onboarding-orientation-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.onboarding-orientation-section { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.onboarding-orientation-section span { color: var(--success); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.onboarding-orientation-section h3 { margin: 6px 0; font-size: 12px; }
.onboarding-orientation-section p { margin: 0 0 8px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.onboarding-orientation-section ul { margin: 0; padding-left: 16px; color: #435b53; font-size: 9px; line-height: 1.65; }
.onboarding-demo { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.onboarding-demo-copy h3 { margin: 4px 0 7px; font-size: 15px; }
.onboarding-demo-copy > p { color: var(--muted); font-size: 9px; line-height: 1.65; }
.onboarding-demo-copy pre { max-height: none; overflow: auto; margin: 10px 0 0; padding: 12px; border-radius: 8px; background: #163a31; color: #e2f1eb; font: 9px/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.onboarding-demo-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.onboarding-demo-form label { display: grid; gap: 5px; color: #40544d; font-size: 9px; font-weight: 750; }
.onboarding-demo-form textarea { min-height: 78px; resize: vertical; }
.onboarding-demo-form .wide, .onboarding-demo-form .form-message { grid-column: 1 / -1; }
.onboarding-orientation-complete { padding: 16px; border: 1px solid #9dd0b8; border-radius: 9px; background: #eaf8f1; color: #205a43; }
.onboarding-orientation-complete h3 { margin: 0 0 5px; font-size: 14px; }
.onboarding-orientation-complete p { margin: 0; font-size: 9px; line-height: 1.6; }
.onboarding-skill-panel { margin-bottom: 16px; }
.onboarding-skill-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.onboarding-skill-card { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.onboarding-skill-card.mastered { border-color: #94cdb4; background: #f0faf5; }
.onboarding-skill-card.due { border-color: #e2b86d; background: #fff8ea; }
.onboarding-skill-head, .onboarding-skill-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.onboarding-skill-head strong { font-size: 11px; }
.onboarding-skill-head span { color: var(--primary); font-size: 14px; font-weight: 900; }
.onboarding-skill-card .progress-line { height: 6px; margin: 9px 0; background: #dde7e2; }
.onboarding-skill-card.mastered .progress-line span { background: var(--success); }
.onboarding-skill-card.due .progress-line span { background: #d79c36; }
.onboarding-skill-meta { color: var(--muted); font-size: 8px; }
.onboarding-skill-meta em { color: inherit; font-style: normal; }
.onboarding-hint-box { margin: 10px 0; padding: 11px; border: 1px solid #e6c98d; border-radius: 8px; background: #fff9eb; color: #705726; font-size: 10px; line-height: 1.65; }
.onboarding-team-panel { margin-top: 16px; }
.onboarding-team-heatmap { overflow-x: auto; }
.onboarding-heat-table { min-width: 960px; display: grid; gap: 4px; }
.onboarding-heat-row { display: grid; grid-template-columns: 130px 70px repeat(9, 64px) 80px; gap: 4px; align-items: stretch; }
.onboarding-heat-row > span { min-height: 36px; display: grid; place-items: center; padding: 6px; border-radius: 6px; background: var(--surface-soft); color: #50635d; font-size: 8px; text-align: center; }
.onboarding-heat-row.header > span { min-height: 30px; background: #173f35; color: #d8eee5; font-weight: 800; }
.onboarding-heat-row > span.member { justify-items: start; text-align: left; font-weight: 800; }
.onboarding-heat-cell.low { background: #fde9e7; color: #a9433b; }
.onboarding-heat-cell.mid { background: #fff4d9; color: #8b681d; }
.onboarding-heat-cell.high { background: #e3f5eb; color: #23714e; }
.onboarding-heat-cell.mastered { background: #bfe7d1; color: #145b3c; font-weight: 900; }
.onboarding-layout { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr); gap: 16px; align-items: start; }
.onboarding-path-panel { padding-bottom: 12px; }
.onboarding-lesson-list { display: grid; gap: 6px; }
.onboarding-lesson { width: 100%; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--text); text-align: left; }
.onboarding-lesson:hover:not(:disabled), .onboarding-lesson.selected { border-color: #80b9a1; background: #f0f8f4; }
.onboarding-lesson:disabled { cursor: not-allowed; opacity: .58; }
.onboarding-lesson-number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-soft); color: var(--muted); font-size: 10px; font-weight: 850; }
.onboarding-lesson.passed .onboarding-lesson-number { background: #dff3e8; color: var(--success); }
.onboarding-lesson.active .onboarding-lesson-number { background: var(--primary); color: #fff; }
.onboarding-lesson strong, .onboarding-lesson small { display: block; }
.onboarding-lesson strong { font-size: 11px; }
.onboarding-lesson small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.onboarding-lesson-score { color: var(--primary); font-size: 9px; font-weight: 800; white-space: nowrap; }
.onboarding-lesson-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.onboarding-lesson-head h2 { margin: 5px 0 7px; font-size: 20px; }
.onboarding-lesson-head p:not(.eyebrow) { max-width: 680px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.onboarding-lesson-content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.onboarding-lesson-content section { padding: 13px; border-radius: 8px; background: var(--surface-soft); }
.onboarding-lesson-content h3 { margin: 0 0 8px; font-size: 11px; }
.onboarding-lesson-content ul, .onboarding-lesson-content ol { margin: 0; padding-left: 17px; }
.onboarding-lesson-content li { margin: 5px 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.onboarding-task-preview { margin-top: 12px; padding: 13px; border-left: 3px solid var(--primary); border-radius: 0 8px 8px 0; background: #eef7f3; }
.onboarding-task-preview strong { display: block; margin-bottom: 5px; font-size: 11px; }

.onboarding-v3-plan-panel, .onboarding-stage-panel { margin-bottom: 20px; }
.onboarding-v3-section { margin: 22px 0; }
.onboarding-v3-section .section-head > div > p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.onboarding-knowledge-section { padding: 20px; border: 1px solid #b9d8cb; border-radius: 14px; background: linear-gradient(145deg, #f1faf6 0%, #fff 42%); }
.onboarding-business-snapshot { margin-bottom: 12px; border-color: #c9ddd4; background: #fff; }
.onboarding-business-snapshot > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.onboarding-business-snapshot h3 { margin: 0 0 6px; font-size: 15px; }
.onboarding-business-snapshot header p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.onboarding-business-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 16px 0 10px; }
.onboarding-business-metrics > div { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.onboarding-business-metrics span, .onboarding-business-metrics strong, .onboarding-business-metrics small { display: block; }
.onboarding-business-metrics span { color: var(--muted); font-size: 8px; }
.onboarding-business-metrics strong { margin: 6px 0 3px; color: var(--primary-dark); font-size: 18px; letter-spacing: -.03em; }
.onboarding-business-metrics small { color: #87958f; font-size: 7px; line-height: 1.4; }
.onboarding-business-scope { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
.onboarding-business-scope span { padding: 5px 8px; border-radius: 999px; background: #e9f4ef; color: #2e6e55; font-size: 8px; font-weight: 800; }
.onboarding-business-flow { display: grid; grid-template-columns: repeat(11, auto); align-items: center; justify-content: space-between; gap: 5px; overflow-x: auto; padding: 11px 12px; border-radius: 8px; background: #153d33; color: #dcece6; }
.onboarding-business-flow span { min-width: 76px; font-size: 8px; font-weight: 800; text-align: center; white-space: nowrap; }
.onboarding-business-flow i { color: #79b99d; font-size: 11px; font-style: normal; }
.onboarding-business-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.onboarding-business-top section { padding: 11px; border: 1px solid var(--line); border-radius: 8px; }
.onboarding-business-top h4 { margin: 0 0 7px; font-size: 9px; }
.onboarding-business-top ol { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.onboarding-business-top li { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 8px; }
.onboarding-business-top li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-business-top li strong { flex: 0 0 auto; color: #3c5e52; font-size: 7px; }
.onboarding-business-top section > p { margin: 0; color: var(--muted); font-size: 8px; }
.onboarding-knowledge-browser { padding: 16px; }
.onboarding-knowledge-tools { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); align-items: end; gap: 14px; margin-bottom: 13px; }
.onboarding-knowledge-tools label { display: grid; gap: 6px; }
.onboarding-knowledge-tools label > span { color: #3d534b; font-size: 9px; font-weight: 800; }
.onboarding-knowledge-categories { display: flex; flex-wrap: wrap; gap: 5px; }
.onboarding-knowledge-categories button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 8px; font-weight: 800; }
.onboarding-knowledge-categories button:hover, .onboarding-knowledge-categories button.active { border-color: var(--primary); background: var(--primary); color: #fff; }
.onboarding-knowledge-results { display: grid; gap: 8px; }
.onboarding-knowledge-card { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.onboarding-knowledge-card.complete { border-color: #91c8ae; }
.onboarding-knowledge-card.locked { background: #f7f9f8; opacity: .78; }
.onboarding-knowledge-card.locked > summary { cursor: default; }
.onboarding-knowledge-card > summary { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 78px; padding: 13px; cursor: pointer; list-style: none; }
.onboarding-knowledge-card > summary::-webkit-details-marker { display: none; }
.onboarding-knowledge-card[open] > summary { border-bottom: 1px solid var(--line); background: #f2faf6; }
.onboarding-knowledge-card summary small, .onboarding-knowledge-card summary strong { display: block; }
.onboarding-knowledge-card summary small { margin-bottom: 4px; color: var(--primary); font-size: 9px; font-weight: 850; }
.onboarding-knowledge-card summary strong { margin-bottom: 4px; font-size: 12px; }
.onboarding-knowledge-card summary p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.onboarding-knowledge-card summary em { color: var(--primary); font-size: 9px; font-style: normal; font-weight: 900; white-space: nowrap; }
.details-status-expanded { display: none; }
.onboarding-knowledge-card[open] .details-status-collapsed, .onboarding-academy-card[open] .details-status-collapsed, .onboarding-objection-card[open] .details-status-collapsed, .onboarding-case-study[open] .details-status-collapsed { display: none; }
.onboarding-knowledge-card[open] .details-status-expanded, .onboarding-academy-card[open] .details-status-expanded, .onboarding-objection-card[open] .details-status-expanded, .onboarding-case-study[open] .details-status-expanded { display: inline; }
.onboarding-knowledge-body { padding: 15px; }
.onboarding-knowledge-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.onboarding-knowledge-sections > article { padding: 12px; border-radius: 8px; background: var(--surface-soft); }
.onboarding-knowledge-sections h4 { margin: 0 0 7px; font-size: 10px; }
.onboarding-knowledge-sections ul { margin: 0; padding-left: 16px; }
.onboarding-knowledge-sections li { margin: 4px 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
.onboarding-knowledge-related { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 10px; padding: 9px 11px; border-radius: 8px; background: #eff6f3; }
.onboarding-knowledge-related strong { color: #496158; font-size: 8px; }
.onboarding-knowledge-related .text-button { padding: 2px 0; font-size: 8px; }
.onboarding-seven-day-plan { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.onboarding-plan-day { min-width: 132px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.onboarding-seven-day-plan > .onboarding-plan-day { min-height: 160px; padding: 16px; }
.onboarding-seven-day-plan > .onboarding-plan-day > p { min-height: 0; font-size: 10px; }
.onboarding-seven-day-plan > .onboarding-plan-day li { font-size: 10px; }
.onboarding-full-plan { border-top: 1px solid var(--line); padding-top: 10px; }
.onboarding-full-plan > summary { color: var(--primary); font-size: 10px; font-weight: 850; cursor: pointer; }
.onboarding-full-plan > div { display: grid; grid-template-columns: repeat(7, minmax(135px, 1fr)); gap: 8px; overflow-x: auto; margin-top: 10px; }
.onboarding-plan-day.compact { min-width: 135px; }
.onboarding-plan-day.current { border-color: #4a9b79; box-shadow: inset 0 0 0 1px #8bc2aa; background: #f1faf6; }
.onboarding-plan-day.complete { background: #edf8f2; }
.onboarding-plan-day header { display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.onboarding-plan-day header span { color: var(--primary); font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.onboarding-plan-day header strong { color: var(--muted); font-size: 8px; }
.onboarding-plan-day h3 { margin: 11px 0 5px; font-size: 11px; line-height: 1.4; }
.onboarding-plan-day > p { min-height: 41px; margin: 0 0 9px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.onboarding-plan-day ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.onboarding-plan-day li { display: grid; grid-template-columns: 13px 1fr; gap: 4px; color: #71817b; font-size: 8px; line-height: 1.4; }
.onboarding-plan-day li i { color: #9cafaa; font-style: normal; font-weight: 900; }
.onboarding-plan-day li.done { color: #2a7054; }
.onboarding-plan-day li.done i { color: var(--success); }
.onboarding-academy-grid, .onboarding-objection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.onboarding-academy-card, .onboarding-objection-card, .onboarding-case-study { padding: 0; overflow: hidden; }
.onboarding-academy-card.complete, .onboarding-objection-card.complete, .onboarding-case-study.complete { border-color: #9dcdb7; }
.onboarding-academy-card > summary, .onboarding-objection-card > summary, .onboarding-case-study > summary { min-height: 72px; display: grid; align-items: center; gap: 10px; padding: 14px; cursor: pointer; list-style: none; }
.onboarding-academy-card > summary { grid-template-columns: 34px minmax(0, 1fr) auto; }
.onboarding-objection-card > summary { grid-template-columns: 30px minmax(0, 1fr) auto; }
.onboarding-case-study > summary { grid-template-columns: 34px minmax(190px, 1fr) auto auto; }
.onboarding-academy-card > summary::-webkit-details-marker, .onboarding-objection-card > summary::-webkit-details-marker, .onboarding-case-study > summary::-webkit-details-marker { display: none; }
.onboarding-module-number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #e3f1eb; color: #286c51; font-size: 9px; font-weight: 900; }
.onboarding-academy-card summary strong, .onboarding-academy-card summary small, .onboarding-objection-card summary strong, .onboarding-objection-card summary small, .onboarding-case-study summary strong, .onboarding-case-study summary small { display: block; }
.onboarding-academy-card summary strong, .onboarding-objection-card summary strong, .onboarding-case-study summary strong { font-size: 11px; }
.onboarding-academy-card summary small, .onboarding-objection-card summary small, .onboarding-case-study summary small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.onboarding-academy-card summary em, .onboarding-objection-card summary em, .onboarding-case-study summary em { color: var(--primary); font-size: 8px; font-style: normal; font-weight: 850; white-space: nowrap; }
.onboarding-academy-card[open] > summary, .onboarding-objection-card[open] > summary, .onboarding-case-study[open] > summary { border-bottom: 1px solid var(--line); background: #f4faf7; }
.onboarding-module-body, .onboarding-objection-body, .onboarding-case-body { padding: 16px; }
.onboarding-module-summary { margin: 0 0 13px; color: #455a52; font-size: 10px; line-height: 1.7; }
.onboarding-module-outcomes { padding: 12px; border-left: 3px solid var(--primary); border-radius: 0 8px 8px 0; background: #eff8f4; }
.onboarding-module-outcomes h4, .onboarding-module-sections h4, .onboarding-quiz-form h4, .onboarding-objection-body h4 { margin: 0 0 7px; font-size: 10px; }
.onboarding-module-outcomes ul, .onboarding-module-sections ul { margin: 0; padding-left: 17px; }
.onboarding-module-outcomes li, .onboarding-module-sections li { margin: 4px 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.onboarding-module-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 10px 0; }
.onboarding-module-sections article { padding: 12px; border-radius: 8px; background: var(--surface-soft); }
.onboarding-quiz-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.onboarding-quiz-form fieldset { display: grid; gap: 5px; margin: 0 0 10px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.onboarding-quiz-form legend { max-width: 95%; padding: 0 5px; color: #344b43; font-size: 9px; font-weight: 800; line-height: 1.5; }
.onboarding-quiz-form label { display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.onboarding-quiz-form input { width: auto; margin-top: 2px; }
.onboarding-quiz-result { margin-top: 10px; padding: 11px; border-radius: 8px; font-size: 9px; }
.onboarding-quiz-result.passed { background: #eaf7f0; color: #226348; }
.onboarding-quiz-result.failed { background: #fff4e2; color: #755922; }
.onboarding-quiz-result strong { display: block; margin-bottom: 6px; }
.onboarding-quiz-result ul { margin: 0; padding-left: 16px; }
.onboarding-module-complete { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 11px; border-radius: 8px; background: #e9f7ef; color: #276a4f; }
.onboarding-module-complete strong { font-size: 10px; }
.onboarding-module-complete span { font-size: 8px; }
.onboarding-module-locked { display: grid; gap: 5px; padding: 12px; border: 1px dashed #c5d4ce; border-radius: 8px; background: #f4f7f6; color: #63756e; }
.onboarding-module-locked strong { font-size: 10px; }
.onboarding-module-locked span { font-size: 9px; line-height: 1.6; }
.onboarding-objection-card > summary > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; background: #edf5f1; color: #34775d; font-size: 9px; font-weight: 900; }
.onboarding-objection-body { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.onboarding-objection-body > section { padding: 11px; border-radius: 8px; background: var(--surface-soft); }
.onboarding-objection-body > section.warning { background: #fff5e9; }
.onboarding-objection-body p, .onboarding-objection-body ol { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.onboarding-objection-body ol { padding-left: 17px; }
.onboarding-objection-body .onboarding-quiz-form, .onboarding-objection-body .onboarding-quiz-result, .onboarding-objection-body .onboarding-module-complete { grid-column: 1 / -1; }
.onboarding-case-study-list { display: grid; gap: 9px; }
.onboarding-case-skills { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 12px; color: #40554d; font-size: 9px; }
.onboarding-case-skills span { padding: 4px 7px; border-radius: 999px; background: #e9f4ef; color: #2c6d54; }
.onboarding-case-rounds { display: grid; gap: 8px; }
.onboarding-case-rounds > article { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
.onboarding-case-rounds > article > header { display: flex; align-items: center; gap: 9px; padding: 8px 11px; background: #edf6f2; }
.onboarding-case-rounds header span { color: #48866e; font-size: 8px; font-weight: 900; }
.onboarding-case-rounds header strong { font-size: 10px; }
.onboarding-case-rounds > article > div { display: grid; grid-template-columns: 1.25fr 1fr 1fr; }
.onboarding-case-rounds section { padding: 11px; border-right: 1px solid var(--line); }
.onboarding-case-rounds section:last-child { border-right: 0; }
.onboarding-case-rounds b { display: block; margin-bottom: 5px; color: #52655e; font-size: 8px; }
.onboarding-case-rounds p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; white-space: pre-wrap; }
.onboarding-case-reflection { margin-top: 12px; padding: 13px; border-radius: 8px; background: #f2f7f5; }
.onboarding-case-reflection label { display: grid; gap: 6px; color: #3d524a; font-size: 9px; font-weight: 800; }
.onboarding-case-reflection textarea { min-height: 74px; resize: vertical; }
.onboarding-case-reflection button { margin-top: 8px; }
.onboarding-case-reflection.complete { background: #eaf7f0; }
.onboarding-case-reflection.complete strong { font-size: 10px; }
.onboarding-case-reflection.complete p { margin: 6px 0 0; color: #38644f; font-size: 9px; line-height: 1.65; }
.onboarding-stage-map { min-width: 720px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
.onboarding-stage-header, .onboarding-stage-row { display: grid; grid-template-columns: minmax(130px, 1.4fr) repeat(4, minmax(78px, .7fr)) minmax(70px, .6fr); align-items: center; gap: 5px; padding: 7px 10px; }
.onboarding-stage-header { background: #163f35; color: #d9eee5; font-size: 8px; font-weight: 800; text-align: center; }
.onboarding-stage-header span:first-child { text-align: left; }
.onboarding-stage-row { border-top: 1px solid var(--line); }
.onboarding-stage-row strong { font-size: 9px; }
.onboarding-stage-row span { display: grid; place-items: center; min-height: 27px; border-radius: 6px; background: #f0f3f2; color: #899791; font-size: 8px; font-weight: 800; }
.onboarding-stage-row span.complete { background: #dff2e8; color: #23704f; }
.onboarding-stage-row em { color: var(--primary); font-size: 10px; font-style: normal; font-weight: 900; text-align: center; }
.onboarding-stage-panel { overflow-x: auto; }
.onboarding-team-plan { min-width: 950px; display: grid; gap: 4px; overflow-x: auto; }
.onboarding-team-plan-head, .onboarding-team-plan-row { display: grid; grid-template-columns: minmax(130px, 1.4fr) repeat(7, minmax(82px, .8fr)) minmax(82px, .8fr); gap: 4px; }
.onboarding-team-plan-head > span, .onboarding-team-plan-row > span { min-height: 35px; display: grid; place-items: center; padding: 6px; border-radius: 6px; background: var(--surface-soft); color: #50635d; font-size: 8px; text-align: center; }
.onboarding-team-plan-head > span { min-height: 30px; background: #173f35; color: #d8eee5; font-weight: 800; }
.onboarding-team-plan-row > span.member { justify-items: start; text-align: left; }
.onboarding-team-plan-row small { display: block; color: var(--muted); font-size: 7px; }
.onboarding-team-plan-row .attention { background: #fff1d7; color: #8b6319; font-weight: 900; }
.onboarding-team-subtitle { margin: 20px 0 10px; font-size: 12px; }

.guide-intro { align-items: center; }
.guide-intro > div { max-width: 760px; }
.guide-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.guide-role-card { position: relative; min-height: 350px; display: flex; flex-direction: column; overflow: hidden; border-top: 3px solid #7bb29c; }
.guide-role-card.beginner { border-top-color: #2e8b65; background: linear-gradient(155deg, #f1faf6, #fff 55%); }
.guide-role-card.seller { border-top-color: #407e9d; background: linear-gradient(155deg, #f2f8fb, #fff 55%); }
.guide-role-card.manager { border-top-color: #a78343; background: linear-gradient(155deg, #fbf7ef, #fff 55%); }
.guide-role-icon { position: absolute; top: 16px; right: 18px; color: rgb(22 71 57 / 10%); font-size: 46px; font-weight: 950; letter-spacing: -.06em; }
.guide-role-card h3 { margin: 5px 0 10px; font-size: 20px; }
.guide-role-card > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.guide-role-card ol { flex: 1; margin: 16px 0; padding-left: 20px; color: #40554e; font-size: 10px; line-height: 1.8; }
.guide-role-card li::marker { color: var(--primary); font-weight: 900; }
.guide-role-actions, .guide-inline-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.guide-quickstart { margin-bottom: 22px; }
.guide-timeline { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.guide-timeline article { position: relative; min-height: 170px; padding: 13px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.guide-timeline article:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; top: 19px; right: -7px; color: #83a99a; font-size: 15px; font-weight: 900; }
.guide-timeline span { width: 28px; height: 28px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 10px; font-weight: 900; }
.guide-timeline strong { display: block; margin-bottom: 7px; font-size: 11px; }
.guide-timeline p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.guide-section { margin: 22px 0; }
.guide-module-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.guide-module { min-height: 210px; display: flex; flex-direction: column; padding: 16px; }
.guide-module > span { align-self: flex-start; padding: 4px 8px; border-radius: 999px; background: #e4f2ec; color: #276b50; font-size: 8px; font-weight: 850; }
.guide-module h3 { margin: 11px 0 7px; font-size: 15px; }
.guide-module > p { flex: 1; margin: 0 0 13px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.guide-module .text-button { align-self: flex-start; padding: 0; }
.guide-detail-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); gap: 14px; margin: 22px 0; }
.guide-score-card h2, .guide-attachment-card h2 { margin: 5px 0 15px; font-size: 20px; }
.guide-score-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.guide-score-layers article { padding: 12px; border-radius: 8px; background: var(--surface-soft); }
.guide-score-layers strong { font-size: 10px; }
.guide-score-layers p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.guide-rule { margin-top: 10px; padding: 13px; border-left: 3px solid #db9e42; border-radius: 0 8px 8px 0; background: #fff8e9; }
.guide-rule strong { color: #71541d; font-size: 10px; }
.guide-rule p { margin: 5px 0 0; color: #705f3d; font-size: 9px; line-height: 1.65; }
.guide-attachment-card ol { margin: 0 0 13px; padding-left: 20px; color: #40554e; font-size: 10px; line-height: 1.8; }
.guide-file-limit { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 12px 0; }
.guide-file-limit strong { margin-right: 4px; font-size: 10px; }
.guide-file-limit span { padding: 5px 8px; border-radius: 6px; background: #e8f3ef; color: #28674f; font-size: 8px; font-weight: 800; }
.guide-note { margin: 0 0 14px; color: var(--muted); font-size: 9px; line-height: 1.65; }
.guide-tips { margin-bottom: 16px; }
.guide-tips > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.guide-tips article { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.guide-tips article span { color: #69a28b; font-size: 9px; font-weight: 900; }
.guide-tips article strong { display: block; margin: 7px 0 5px; font-size: 11px; }
.guide-tips article p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.guide-faq details { border-top: 1px solid var(--line); }
.guide-faq details:last-child { border-bottom: 1px solid var(--line); }
.guide-faq summary { padding: 13px 4px; cursor: pointer; color: #2d453d; font-size: 10px; font-weight: 800; }
.guide-faq details p { margin: -3px 4px 13px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.onboarding-task-preview p { margin: 0; color: #536760; font-size: 10px; line-height: 1.65; }
.onboarding-lesson-actions { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.onboarding-lesson-actions small { color: var(--muted); font-size: 9px; }
.onboarding-practice { margin-top: 16px; }
.onboarding-question-panel { padding: 0; overflow: hidden; }
#onboardingAnswerForm { display: grid; gap: 10px; }
#onboardingAnswerForm label { display: grid; gap: 7px; font-size: 12px; font-weight: 750; }
#onboardingAnswerForm textarea { min-height: 270px; }
.onboarding-grade { background: #fff; }

.training-setup { margin-bottom: 16px; }
.inline-form { display: flex; align-items: flex-end; gap: 10px; }
.inline-form label { min-width: 240px; display: grid; gap: 6px; }
.inline-form .grow { flex: 1; }
.training-controls { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(260px, 1.6fr) minmax(160px, .75fr) 100px auto; align-items: end; gap: 10px; }
.training-controls label { display: grid; gap: 6px; }
.training-controls label > span { font-size: 12px; font-weight: 750; }
.training-workspace { min-width: 0; }
.training-batch-nav { display: flex; align-items: center; gap: 7px; margin-bottom: 12px; overflow-x: auto; padding-bottom: 2px; }
.training-batch-nav > span { margin-right: auto; color: var(--muted); font-size: 11px; white-space: nowrap; }
.training-step { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; color: var(--muted); font-size: 11px; font-weight: 800; }
.training-step.active { border-color: var(--primary); background: var(--primary); color: #fff; }
.training-step.graded { border-color: #afd8c1; background: #eaf6ef; color: var(--success); }
.training-question { padding: 0; overflow: hidden; }
.training-question-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 19px 20px 16px; border-bottom: 1px solid var(--line); }
.training-question-head h3 { margin: 4px 0 6px; font-size: 17px; }
.training-question-head p { margin: 0; color: var(--muted); font-size: 11px; }
.training-question-head .chip-list { justify-content: flex-end; }
.training-case-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); }
.training-transcript { min-width: 0; padding: 18px 20px 22px; border-right: 1px solid var(--line); background: var(--sidebar); color: #d9e6e1; }
.training-transcript-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.training-transcript-head strong { color: #fff; font-size: 12px; }
.training-transcript-head span { color: #89a198; font-size: 10px; }
.training-transcript pre { max-height: 540px; overflow: auto; margin: 0; font: 11px/1.75 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.training-answer { min-width: 0; padding: 18px 20px 22px; }
.training-task { margin-bottom: 14px; padding: 12px; border-left: 3px solid var(--primary); border-radius: 0 6px 6px 0; background: var(--surface-soft); }
.training-task strong { display: block; margin-bottom: 4px; font-size: 11px; }
.training-task p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.training-answer-form { display: grid; gap: 10px; }
.training-answer-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 750; }
.training-answer-form textarea { min-height: 260px; }
.training-answer-actions { display: flex; align-items: center; gap: 10px; }
.training-answer-actions small { color: var(--muted); font-size: 10px; }
.training-grade { border-top: 1px solid var(--line); }
.training-grade-summary { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; padding: 20px; }
.training-score-ring { width: 132px; height: 132px; display: grid; place-content: center; border: 8px solid #d9e8e2; border-radius: 50%; background: #fff; text-align: center; }
.training-score-ring.passed { border-color: #58a878; }
.training-score-ring strong { color: var(--primary); font-size: 38px; line-height: 1; }
.training-score-ring span { margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 750; }
.training-grade-copy h3 { margin-bottom: 7px; font-size: 16px; }
.training-grade-copy > p { margin-bottom: 12px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.training-dimension-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.training-dimension-grid span { padding: 9px 7px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 10px; text-align: center; }
.training-dimension-grid strong { display: block; margin-top: 4px; color: var(--text); font-size: 16px; }
.training-feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 20px 20px; }
.training-feedback-card { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.training-feedback-card h4 { margin: 0 0 8px; font-size: 12px; }
.training-feedback-card ul { margin: 0; padding-left: 17px; }
.training-feedback-card li, .training-feedback-card p { margin: 5px 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.training-reference { margin: 0 20px 20px; padding: 15px; border-radius: var(--radius-sm); background: #eaf6ef; }
.training-reference h4 { margin: 0 0 8px; color: var(--success); font-size: 12px; }
.training-reference blockquote { margin: 0; color: var(--text); font-size: 11px; line-height: 1.75; white-space: pre-wrap; }
.training-reference p { margin: 10px 0 0; color: #446259; font-size: 10px; line-height: 1.65; }
.training-reveal { margin: 0 20px 20px; padding-top: 13px; border-top: 1px solid var(--line); }
.training-reveal summary { color: var(--primary); font-size: 11px; font-weight: 750; cursor: pointer; }
.training-reveal p { margin: 10px 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.training-reveal pre { max-height: 330px; overflow: auto; margin: 0; padding: 12px; border-radius: 6px; background: var(--sidebar); color: #d9e6e1; font: 10px/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.training-grade > .training-answer-actions { justify-content: flex-end; padding: 0 20px 20px; }
.training-history-panel { margin-top: 16px; }
.training-history { display: grid; gap: 7px; }
.training-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.training-history-row:last-child { border-bottom: 0; }
.training-history-row strong, .training-history-row span { display: block; }
.training-history-row strong { font-size: 12px; }
.training-history-row span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.training-history-score { color: var(--primary) !important; font-size: 20px !important; font-weight: 800; }
.quote-product-admin { margin-bottom: 16px; }
.quote-product-form { display: grid; grid-template-columns: 120px minmax(180px, 1fr) 110px 90px 110px 90px auto; align-items: end; gap: 9px; }
.quote-product-form label, .quote-customer-grid label, .quote-cost-grid label { display: grid; gap: 6px; min-width: 0; }
.quote-product-form label span, .quote-customer-grid label span, .quote-cost-grid label span { font-size: 10px; font-weight: 750; }
.quote-product-list { display: grid; margin-top: 14px; }
.quote-product-row { display: grid; grid-template-columns: minmax(180px, 1fr) 140px 80px auto; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.quote-product-row strong, .quote-product-row code { display: block; }
.quote-product-row strong { font-size: 11px; }
.quote-product-row code { margin-top: 3px; color: var(--muted); font-size: 9px; }
.quote-product-row > span { color: var(--primary); font-size: 11px; font-weight: 800; }
.quote-product-row small { color: var(--muted); font-size: 9px; }
.quote-workspace { display: grid; grid-template-columns: minmax(350px, .82fr) minmax(420px, 1.18fr); gap: 16px; align-items: start; }
.quote-customer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.section-head.compact { margin: 3px 0 0; }
.section-head.compact h3 { margin: 0; font-size: 12px; }
.quote-lines { display: grid; gap: 7px; }
.quote-line { display: grid; grid-template-columns: minmax(190px, 1fr) 72px 82px 90px 30px; align-items: end; gap: 7px; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.quote-line label { display: grid; gap: 5px; }
.quote-line label span, .quote-line > div span { color: var(--muted); font-size: 9px; }
.quote-line > div { display: grid; min-height: 38px; align-content: center; }
.quote-line > div strong { margin-top: 3px; font-size: 10px; }
.quote-cost-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.quotation-preview { position: sticky; top: 94px; }
.quote-document { color: #172620; }
.quote-document > header { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 17px; border-bottom: 2px solid var(--primary); }
.quote-document > header p { margin: 0 0 3px; color: var(--success); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.quote-document > header h2 { margin: 0; font-size: 23px; letter-spacing: .06em; }
.quote-document > header > div:last-child { text-align: right; }
.quote-document > header span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.quote-document > section { display: grid; grid-template-columns: 1.4fr 1fr .7fr; gap: 10px; margin: 14px 0; }
.quote-document > section div { padding: 9px; border-radius: 6px; background: var(--surface-soft); }
.quote-document > section span, .quote-document > section strong { display: block; }
.quote-document > section span { color: var(--muted); font-size: 8px; }
.quote-document > section strong { margin-top: 4px; font-size: 10px; }
.quote-document table { width: 100%; border-collapse: collapse; }
.quote-document th, .quote-document td { padding: 9px 7px; border-bottom: 1px solid var(--line); font-size: 9px; text-align: right; }
.quote-document th:first-child, .quote-document td:first-child { text-align: left; }
.quote-document td strong, .quote-document td small { display: block; }
.quote-document td small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.quote-totals { width: min(320px, 100%); margin: 15px 0 0 auto; }
.quote-totals span { display: flex; justify-content: space-between; padding: 5px 0; color: var(--muted); font-size: 9px; }
.quote-totals span strong { color: var(--text); }
.quote-totals .grand-total { margin-top: 4px; padding-top: 9px; border-top: 2px solid var(--primary); color: var(--text); font-size: 11px; font-weight: 800; }
.quote-totals .grand-total strong { color: var(--success); font-size: 16px; }
.quote-document footer { margin-top: 14px; padding: 10px; border-radius: 6px; background: var(--surface-soft); }
.quote-document footer strong { font-size: 9px; }
.quote-document footer p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; white-space: pre-wrap; }
.quote-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 15px; }
.quote-history-panel { margin-top: 16px; }
.quote-history { display: grid; }
.quote-history-row { display: grid; grid-template-columns: minmax(220px, 1fr) 110px 80px auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.quote-history-row:last-child { border-bottom: 0; }
.quote-history-row > div strong, .quote-history-row > div span { display: block; }
.quote-history-row > div strong { font-size: 10px; }
.quote-history-row > div span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.quote-history-row > strong { color: var(--success); font-size: 12px; }
.account-admin-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 16px; }
.account-usage-panel { margin-bottom: 16px; }
.account-usage-panel .salesmartly-summary { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.account-secret-panel { min-height: 360px; }
.secret-account-list { display: grid; gap: 7px; max-height: 390px; overflow: auto; }
.secret-account-list > div { display: grid; grid-template-columns: minmax(90px, .8fr) minmax(120px, 1fr) minmax(120px, 1fr) auto; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 7px; background: var(--surface-soft); }
.secret-account-list span { font-size: 10px; font-weight: 800; }
.secret-account-list code { padding: 4px 6px; overflow: hidden; border-radius: 4px; background: #fff; color: var(--primary); font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; }
.secret-account-list small { color: var(--muted); font-size: 9px; }
.account-list-panel { margin-top: 16px; }
.account-row { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(185px, 1fr) minmax(240px, 1.25fr) auto; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.account-row:last-child { border-bottom: 0; }
.account-row > div:first-child strong, .account-row > div:first-child code { display: block; }
.account-row strong { font-size: 11px; }
.account-row code { margin-top: 4px; color: var(--primary); font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.account-row small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.account-usage-cell { padding: 8px 10px; border-radius: 7px; background: var(--surface-soft); }
.account-usage-cell strong { color: var(--primary); font-size: 10px; }
.account-row > div:last-child { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.evaluation-notice { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 13px 16px; border: 1px solid #b9dec9; border-radius: var(--radius); background: #eaf6ef; }
.evaluation-notice strong { flex: 0 0 auto; color: var(--success); font-size: 12px; }
.evaluation-notice p { margin: 0; color: #446259; font-size: 11px; line-height: 1.6; }
.evaluation-setup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.evaluation-runs-panel { margin-top: 16px; }
.evaluation-report { margin-top: 16px; }
.evaluation-run-row .progress-line { width: min(320px, 100%); }
.evaluation-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.evaluation-metrics .metric-card { padding: 13px; background: var(--surface-soft); }
.evaluation-metrics .metric-card strong { margin-bottom: 0; font-size: 21px; }
.evaluation-case-list { display: grid; gap: 10px; margin-top: 12px; }
.evaluation-case { padding: 16px; border: 1px solid var(--line); border-left: 4px solid var(--danger); border-radius: var(--radius); background: #fff; }
.evaluation-case.passed { border-left-color: var(--success); }
.evaluation-case-head, .evaluation-case-head > div { display: flex; align-items: center; gap: 9px; }
.evaluation-case-head { justify-content: space-between; }
.evaluation-case-head > div > strong { font-size: 12px; }
.evaluation-case-head > div > span:not(.tag) { color: var(--muted); font-size: 10px; }
.evaluation-score { color: var(--primary); font-size: 22px; }
.evaluation-score-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 12px 0; }
.evaluation-score-grid span { padding: 7px 8px; border-radius: 5px; background: var(--surface-soft); color: var(--muted); font-size: 10px; text-align: center; }
.evaluation-case > p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.evaluation-case > p strong { color: var(--text); }
.evaluation-references { color: #87938f !important; }
.evaluation-case details { margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--line); }
.evaluation-case summary { color: var(--primary); font-size: 10px; font-weight: 750; cursor: pointer; }
.evaluation-transcripts { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 9px; }
.evaluation-transcripts > div > strong { display: block; margin-bottom: 5px; font-size: 10px; }
.evaluation-transcripts pre { max-height: 260px; overflow: auto; margin: 0; padding: 10px; border-radius: 6px; background: var(--sidebar); color: #d9e6e1; font: 9px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.full-span { grid-column: 1 / -1; }

.preview-dialog { width: min(850px, calc(100vw - 36px)); max-height: calc(100vh - 36px); padding: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); }
.preview-dialog::backdrop { background: rgb(7 19 15 / 55%); }
.dialog-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); background: #fff; }
.dialog-head h2 { margin: 0; font-size: 17px; }
.dialog-head .icon-button { color: var(--muted); }
.dialog-head .icon-button:hover { background: var(--surface-strong); }
.dialog-tools { display: flex; align-items: center; gap: 10px; }
.preview-city-control { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.preview-city-control select { width: 180px; height: 34px; }
.preview-content { display: grid; gap: 10px; padding: 18px 20px 24px; }
.preview-item { padding: 13px; border: 1px solid var(--line); border-radius: 7px; }
.preview-meta { display: flex; gap: 12px; margin-bottom: 8px; color: var(--muted); font-size: 10px; }
.preview-item pre { max-height: 150px; overflow: auto; margin: 0; color: #43514c; font: 10px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }

.chat-business-facts-panel { margin-top: 16px; overflow: hidden; }
.chat-business-facts { display: grid; gap: 14px; }
.chat-business-notice, .order-sandbox-warning { padding: 13px 15px; border: 1px solid #ead6ad; border-radius: var(--radius); background: #fff8e8; }
.chat-business-notice strong, .order-sandbox-warning strong { display: block; margin-bottom: 4px; color: var(--warning); font-size: 12px; }
.chat-business-notice p, .order-sandbox-warning p { margin: 0; color: #6e5b3b; font-size: 11px; line-height: 1.65; }
.chat-business-coverage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.chat-business-coverage > div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.chat-business-coverage strong { color: var(--primary); font-size: 21px; }
.chat-business-coverage span { color: var(--muted); font-size: 10px; }
.chat-business-facts details { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.chat-business-facts summary { padding: 13px 15px; color: var(--text); font-size: 12px; font-weight: 800; cursor: pointer; }
.chat-business-facts details > div { padding: 0 15px 15px; }
.chat-fact-signal-list, .chat-fact-operation-list { display: grid; gap: 8px; }
.chat-fact-signal-list > span, .chat-fact-operation-list article { display: grid; gap: 3px; padding: 10px 12px; border-radius: 7px; background: var(--surface-soft); }
.chat-fact-signal-list strong, .chat-fact-operation-list strong { font-size: 11px; }
.chat-fact-signal-list small, .chat-fact-operation-list span { color: var(--muted); font-size: 10px; line-height: 1.55; }
.chat-fact-operation-list em { color: var(--primary); font-size: 9px; font-style: normal; font-weight: 750; }
.chat-fact-operation-list article.needs-confirmation em { color: var(--warning); }
.chat-fact-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.chat-fact-columns h4 { margin: 0 0 8px; font-size: 11px; }
.chat-fact-conflicts { display: grid; gap: 8px; }
.chat-fact-conflicts article { padding: 10px 12px; border-left: 3px solid var(--warning); border-radius: 4px 7px 7px 4px; background: #fff8e8; }
.chat-fact-conflicts strong { display: block; margin-bottom: 3px; font-size: 11px; }
.chat-fact-conflicts p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.chat-fact-conflicts article span { display: block; margin-top: 5px; color: var(--warning); font-size: 9px; font-weight: 700; line-height: 1.55; }

.product-knowledge-panel { margin-top: 12px; overflow: hidden; }
.product-knowledge-library-body { padding: 0 16px 16px; }
.product-authority-notice { display: flex; gap: 10px; margin-bottom: 12px; padding: 12px 14px; border: 1px solid #ead6ad; border-radius: var(--radius); background: #fff8e8; color: #6e5b3b; font-size: 10px; line-height: 1.6; }
.product-authority-notice strong { flex: 0 0 auto; color: var(--warning); }
.product-authority-notice > div { flex: 1 1 auto; min-width: 0; }
.product-authority-notice > div strong, .product-authority-notice > div span { display: block; }
.product-authority-notice > button { flex: 0 0 auto; align-self: center; }
.product-knowledge-search { display: grid; gap: 6px; max-width: 560px; margin-bottom: 14px; }
.product-knowledge-search > span { font-size: 10px; font-weight: 750; }
.product-knowledge-layout { display: grid; grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr); gap: 16px; }
.product-knowledge-list { display: grid; align-content: start; gap: 7px; max-height: 780px; overflow: auto; padding-right: 3px; }
.product-knowledge-item { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--text); text-align: left; }
.product-knowledge-item:hover, .product-knowledge-item.selected { border-color: var(--primary); background: var(--primary-soft); }
.product-knowledge-item.complete { border-color: #b9dec9; }
.product-knowledge-item > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-strong); color: var(--primary); font-size: 10px; font-weight: 850; }
.product-knowledge-item strong, .product-knowledge-item small { display: block; }
.product-knowledge-item strong { font-size: 11px; }
.product-knowledge-item small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.product-knowledge-detail { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.product-knowledge-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.product-knowledge-head h3 { margin-bottom: 4px; font-size: 18px; }
.product-knowledge-head p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.product-evidence-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 13px 0; }
.product-evidence-metrics > div { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.product-evidence-metrics strong { color: var(--primary); font-size: 18px; }
.product-evidence-metrics span { color: var(--muted); font-size: 9px; }
.product-knowledge-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.product-knowledge-facts section { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.product-knowledge-facts section.codes { grid-column: 1 / -1; }
.product-knowledge-facts h4, .product-learning-notes h4, .product-boundary-grid h4, .product-knowledge-quiz h4 { margin: 0 0 8px; font-size: 11px; }
.product-knowledge-facts .chip-list { justify-content: flex-start; }
.product-knowledge-facts .chip-list span { background: var(--surface-soft); color: var(--muted); }
.product-learning-notes { margin-top: 10px; padding: 13px; border: 1px solid #b9dec9; border-radius: 8px; background: #eaf6ef; }
.product-learning-notes ul, .product-boundary-grid ul { margin-bottom: 0; }
.product-learning-notes li, .product-boundary-grid li { color: #4e615a; font-size: 10px; line-height: 1.65; }
.product-boundary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.product-boundary-grid article { padding: 12px; border: 1px solid #ead6ad; border-radius: 8px; background: #fff8e8; }
.product-knowledge-quiz { margin-top: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.product-certification-card { border-left-color: #3177a6; }
.product-certification-card > strong { color: #25658f; }
.product-current-authority { margin: 14px 0; padding: 14px; border: 1px solid #e2c98e; border-radius: 8px; background: #fff8e8; }
.product-current-authority.verified { border-color: #9fd2b9; background: #edf8f2; }
.product-current-authority header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-current-authority h4 { margin: 3px 0 0; font-size: 13px; }
.product-current-authority > p { margin: 10px 0 0; color: #6e5b3b; font-size: 12px; line-height: 1.65; }
.product-current-authority dl { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 7px 12px; margin: 12px 0 0; font-size: 11px; }
.product-current-authority dt { color: var(--muted); font-weight: 750; }
.product-current-authority dd { margin: 0; white-space: pre-wrap; }
.product-current-authority details { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgb(0 0 0 / 8%); }
.product-current-authority summary { color: var(--primary); font-size: 11px; font-weight: 800; cursor: pointer; }
.product-authority-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.product-authority-form label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.product-authority-form textarea { min-height: 72px; }
.product-authority-form .checkbox-line, .product-authority-form button, .product-authority-form .form-message { grid-column: 1 / -1; }
.product-authority-form .checkbox-line { display: flex; align-items: center; }
.product-layer-heading { display: flex; align-items: center; gap: 10px; margin: 15px 0 10px; }
.product-layer-heading > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--primary); color: #fff; font-size: 9px; font-weight: 900; }
.product-layer-heading strong, .product-layer-heading small { display: block; }
.product-layer-heading strong { font-size: 12px; }
.product-layer-heading small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.product-application-form p { color: var(--muted); font-size: 11px; line-height: 1.6; }
.product-application-form > label { display: grid; gap: 6px; }
.product-application-form textarea { min-height: 130px; }

.order-sandbox-panel { margin-top: 16px; overflow: hidden; }
.order-sandbox-layout { display: grid; grid-template-columns: minmax(240px, .36fr) minmax(0, 1fr); gap: 16px; margin-top: 14px; }
.order-sandbox-list { display: grid; align-content: start; gap: 7px; }
.order-sandbox-item { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--text); text-align: left; }
.order-sandbox-item:hover, .order-sandbox-item.selected { border-color: var(--primary); background: var(--primary-soft); }
.order-sandbox-item.passed { border-color: #b9dec9; }
.order-sandbox-item > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-strong); color: var(--primary); font-size: 10px; font-weight: 850; }
.order-sandbox-item > span:last-child { min-width: 0; }
.order-sandbox-item strong, .order-sandbox-item small { display: block; }
.order-sandbox-item strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.order-sandbox-item small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.order-sandbox-workspace { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.order-sandbox-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.order-sandbox-head h3 { margin-bottom: 4px; font-size: 16px; }
.order-sandbox-head > div > span { color: var(--muted); font-size: 9px; }
.order-sandbox-transcript { display: grid; gap: 8px; max-height: 360px; overflow: auto; margin: 14px 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.order-sandbox-transcript p { display: grid; justify-items: start; gap: 3px; max-width: 84%; margin: 0; }
.order-sandbox-transcript p.sales { justify-self: end; justify-items: end; }
.order-sandbox-transcript strong { color: var(--muted); font-size: 9px; }
.order-sandbox-transcript span { padding: 9px 11px; border-radius: 3px 9px 9px 9px; background: var(--surface-strong); font-size: 11px; line-height: 1.55; }
.order-sandbox-transcript p.sales span { border-radius: 9px 3px 9px 9px; background: var(--primary-soft); }
.order-sandbox-form { display: grid; gap: 12px; }
.order-sandbox-questions { display: grid; gap: 10px; }
.order-sandbox-questions fieldset { display: grid; gap: 7px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.order-sandbox-questions legend { padding: 0 5px; font-size: 11px; font-weight: 750; }
.order-sandbox-questions label { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 10px; cursor: pointer; }
.order-sandbox-questions label:has(input:checked) { background: var(--primary-soft); color: var(--primary); font-weight: 750; }
.order-sandbox-questions input[type="radio"] { width: 15px; height: 15px; flex: 0 0 auto; margin: 0; accent-color: var(--primary); }
.order-sandbox-result { display: grid; gap: 8px; margin-top: 12px; padding: 13px; border: 1px solid #edc9c5; border-radius: 8px; background: #fff3f1; }
.order-sandbox-result.passed { border-color: #b9dec9; background: #eaf6ef; }
.order-sandbox-result header { display: flex; justify-content: space-between; gap: 10px; }
.order-sandbox-result header strong { font-size: 12px; }
.order-sandbox-result header span { color: var(--muted); font-size: 9px; }
.order-sandbox-result article { padding-top: 8px; border-top: 1px solid rgb(0 0 0 / 7%); }
.order-sandbox-result article strong { font-size: 10px; }
.order-sandbox-result article p, .order-sandbox-result article span { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.order-certification-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; border-left: 4px solid var(--primary); }
.order-certification-card h2 { margin-bottom: 5px; }
.order-certification-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.order-certification-card > strong { flex: 0 0 auto; color: var(--primary); font-size: 13px; }
.integrated-journey-panel { margin-top: 16px; }
.integrated-brief { margin: 12px 0; padding: 14px; border-left: 3px solid var(--primary); border-radius: 6px; background: #fff; }
.integrated-brief strong { font-size: 12px; }
.integrated-brief p { margin: 6px 0; font-size: 12px; line-height: 1.65; }
.integrated-brief small { color: var(--muted); font-size: 10px; line-height: 1.55; }
.order-sandbox-questions textarea { width: 100%; min-height: 110px; }
.integrated-certification-card { border-left-color: #8a5bb5; }
.field-readiness-panel { margin: 16px 0; }
.field-stage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.field-stage-card { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.field-stage-card.complete { border-color: #9fd2b9; background: #edf8f2; }
.field-stage-card > span { color: var(--primary); font-size: 9px; font-weight: 850; }
.field-stage-card h3 { margin: 6px 0 4px; font-size: 13px; }
.field-stage-card p, .field-stage-card small { color: var(--muted); font-size: 10px; line-height: 1.55; }
.field-evidence-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.field-evidence-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.field-evidence-form textarea { min-height: 110px; }
.field-evidence-form button, .field-evidence-form .form-message { align-self: end; }
.field-records, .field-review-queue { margin-top: 12px; border: 1px solid var(--line); border-radius: 8px; }
.field-records > summary, .field-review-queue > summary { padding: 12px 14px; color: var(--primary); font-size: 11px; font-weight: 800; cursor: pointer; }
.field-records ul { display: grid; gap: 8px; margin: 0; padding: 0 14px 14px; list-style: none; }
.field-records li, .field-review-queue form { padding: 11px; border-radius: 7px; background: var(--surface-soft); }
.field-records li strong { font-size: 11px; }
.field-records li .tag { float: right; }
.field-records li p, .field-records li small, .field-review-queue p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.field-review-queue form { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; margin: 0 14px 10px; }
.field-review-queue form strong, .field-review-queue form p { grid-column: 1 / -1; }

#page-onboarding small, #page-onboarding .muted { font-size: max(10px, 0.75rem); }
[id$="Panel"], [id$="Section"] { scroll-margin-top: 20px; }

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .dna-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-column { grid-template-columns: 1fr; }
  .training-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-controls .grow { grid-column: span 2; }
  .training-controls button { min-height: 42px; }
  .realtime-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .realtime-controls .grow { grid-column: span 2; }
  .realtime-controls button { min-height: 42px; }
  .realtime-layout { grid-template-columns: 1fr; }
  .realtime-side-panel { position: static; }
  .training-case-layout { grid-template-columns: 1fr; }
  .account-admin-grid { grid-template-columns: 1fr; }
  .quote-product-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quote-workspace { grid-template-columns: 1fr; }
  .quotation-preview { position: static; }
  .secret-account-list > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salesmartly-summary, .account-usage-panel .salesmartly-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salesmartly-endpoint { grid-template-columns: 1fr 1fr; }
  .salesmartly-endpoint > div { grid-column: 1 / -1; }
  .training-transcript { border-right: 0; border-bottom: 1px solid var(--line); }
  .onboarding-layout { grid-template-columns: 1fr; }
  .onboarding-overview { grid-template-columns: 1fr; }
  .onboarding-journey-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .onboarding-journey-steps article::after { display: none; }
  .onboarding-command-grid, .onboarding-skill-grid { grid-template-columns: 1fr 1fr; }
  .onboarding-orientation-sections { grid-template-columns: 1fr 1fr; }
  .onboarding-demo { grid-template-columns: 1fr; }
  .onboarding-seven-day-plan { grid-template-columns: repeat(4, minmax(135px, 1fr)); }
  .onboarding-case-study > summary { grid-template-columns: 34px minmax(180px, 1fr) auto; }
  .onboarding-case-study > summary .chip-list { display: none; }
  .guide-role-grid { grid-template-columns: 1fr 1fr; }
  .guide-role-card.manager { grid-column: 1 / -1; min-height: 300px; }
  .guide-timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .guide-timeline article:not(:last-child)::after { display: none; }
  .guide-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-detail-grid { grid-template-columns: 1fr; }
  .order-sandbox-layout { grid-template-columns: 1fr; }
  .order-sandbox-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-knowledge-layout { grid-template-columns: 1fr; }
  .product-knowledge-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
  .business-loop-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .business-loop-track article:nth-child(3)::after { display: none; }
  .business-role-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .login-screen { grid-template-columns: 1fr; padding: 90px 20px 30px; }
  .login-card { grid-column: 1; max-width: 480px; justify-self: center; }
  .login-brand { top: 22px; left: 24px; }
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); box-shadow: 20px 0 50px rgb(0 0 0 / 20%); transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); }
  .main { width: 100%; }
  .mobile-menu { display: grid; }
  .topbar { padding: 0 16px; }
  .page { padding: 18px 16px 36px; }
  .global-message { margin: 14px 16px 0; }
  .distill-layout, .diagnose-layout, .coach-layout { grid-template-columns: 1fr; }
  .setup-card { position: static; }
  .dna-summary { grid-template-columns: 1fr; }
  .upload-form { grid-template-columns: 1fr; }
  .salesmartly-endpoint { grid-template-columns: 1fr; }
  .salesmartly-endpoint > div { grid-column: auto; }
  .dialog-head { align-items: flex-start; gap: 10px; }
  .dialog-tools { align-items: flex-end; flex-direction: column-reverse; }
  .inline-form { align-items: stretch; flex-direction: column; }
  .inline-form label { min-width: 0; }
  .training-grade-summary { grid-template-columns: 1fr; }
  .training-score-ring { width: 112px; height: 112px; }
  .onboarding-lesson-content { grid-template-columns: 1fr; }
  .onboarding-view-tabs { top: 62px; grid-template-columns: 1fr 1fr; }
  .onboarding-journey-steps { grid-template-columns: 1fr 1fr; }
  .onboarding-next-card, .onboarding-optional-diagnostic-card, .onboarding-practice-intro, .onboarding-graduation-card { align-items: flex-start; flex-direction: column; }
  .onboarding-optional-diagnostic-actions { width: 100%; justify-items: start; }
  .onboarding-command-grid, .onboarding-skill-grid { grid-template-columns: 1fr; }
  .onboarding-orientation-sections, .onboarding-demo-form { grid-template-columns: 1fr; }
  .onboarding-orientation-head { flex-direction: column; }
  .onboarding-orientation-actions { width: 100%; grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .onboarding-demo-form .wide, .onboarding-demo-form .form-message { grid-column: auto; }
  .onboarding-academy-grid, .onboarding-objection-grid { grid-template-columns: 1fr; }
  .onboarding-knowledge-section { padding: 14px; }
  .onboarding-business-metrics, .onboarding-business-top { grid-template-columns: 1fr 1fr; }
  .onboarding-knowledge-tools, .onboarding-knowledge-sections { grid-template-columns: 1fr; }
  .business-operating-map { padding: 18px; background: linear-gradient(180deg, #0f3128 0, #17463a 300px, #f5fbf8 300px, #fff 100%); }
  .business-map-thesis { margin-top: 8px; }
  .business-map-explainers, .business-source-rules { grid-template-columns: 1fr; }
  .business-source-rules > div:last-child { grid-template-columns: 1fr; }
  .business-map-footer { align-items: flex-start; flex-direction: column; }
  .onboarding-case-rounds > article > div { grid-template-columns: 1fr; }
  .onboarding-case-rounds section { border-right: 0; border-bottom: 1px solid var(--line); }
  .onboarding-case-rounds section:last-child { border-bottom: 0; }
  .onboarding-team-panel { overflow-x: auto; }
  .guide-role-grid, .guide-module-grid { grid-template-columns: 1fr; }
  .guide-role-card.manager { grid-column: auto; }
  .guide-timeline { grid-template-columns: 1fr 1fr; }
  .guide-tips > div:last-child { grid-template-columns: 1fr 1fr; }
  .guide-score-layers { grid-template-columns: 1fr; }
  .training-dimension-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evaluation-setup-grid, .evaluation-transcripts { grid-template-columns: 1fr; }
  .evaluation-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diagnosis-report-list { grid-template-columns: 1fr; }
  .account-row { grid-template-columns: 1fr; }
  .account-row > div:last-child { justify-content: flex-start; }
  .quote-product-form, .quote-customer-grid, .quote-cost-grid { grid-template-columns: 1fr 1fr; }
  .quote-line { grid-template-columns: minmax(160px, 1fr) 70px 80px; }
  .quote-line > div:nth-of-type(2), .quote-line > .icon-button { grid-row: 2; }
  .quote-history-row { grid-template-columns: 1fr auto; }
  .chat-fact-columns { grid-template-columns: 1fr; }
  .product-knowledge-facts, .product-boundary-grid { grid-template-columns: 1fr; }
  .product-knowledge-facts section.codes { grid-column: auto; }
}

@media (max-width: 580px) {
  .login-card { padding: 25px 20px; }
  .hero-panel { align-items: stretch; flex-direction: column; padding: 22px; }
  .hero-panel .primary { align-self: flex-start; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-card { padding: 14px; }
  .metric-card strong { font-size: 23px; }
  .onboarding-business-metrics, .onboarding-business-top { grid-template-columns: 1fr; }
  .business-map-head { align-items: flex-start; flex-direction: column; }
  .business-map-thesis p { font-size: 13px; }
  .business-loop-track { grid-template-columns: 1fr; }
  .business-loop-track article::after { display: none !important; }
  .business-loop-track p { min-height: 0; }
  .business-role-chain { grid-template-columns: 1fr; }
  .business-map-footer .primary { width: 100%; }
  .question-grounding header, .question-grounding footer { align-items: flex-start; flex-direction: column; }
  .question-grounding header span, .question-grounding footer small { text-align: left; }
  .onboarding-view-tabs { position: static; grid-template-columns: 1fr; }
  .onboarding-view-tabs button { min-height: 52px; }
  .onboarding-journey-steps { grid-template-columns: 1fr; }
  .onboarding-next-card button, .onboarding-optional-diagnostic-card button, .onboarding-graduation-card button { width: 100%; }
  .dna-grid, .objection-grid { grid-template-columns: 1fr; }
  .page-intro.with-control { align-items: stretch; flex-direction: column; }
  .model-select { width: 100%; }
  .topbar-meta { display: none; }
  .guide-intro { align-items: stretch; }
  .guide-timeline, .guide-tips > div:last-child { grid-template-columns: 1fr; }
  .guide-role-card { min-height: auto; }
  .onboarding-seven-day-plan { grid-template-columns: 1fr; overflow: visible; }
  .onboarding-plan-day { min-width: 0; }
  .onboarding-plan-day > p { min-height: 0; }
  .onboarding-module-sections, .onboarding-objection-body { grid-template-columns: 1fr; }
  .onboarding-objection-body .onboarding-quiz-form, .onboarding-objection-body .onboarding-quiz-result, .onboarding-objection-body .onboarding-module-complete { grid-column: auto; }
  .onboarding-case-study > summary { grid-template-columns: 30px minmax(0, 1fr) auto; }
  .upload-copy { align-items: flex-start; }
  .training-controls { grid-template-columns: 1fr; }
  .training-controls .grow { grid-column: auto; }
  .realtime-controls { grid-template-columns: 1fr; }
  .realtime-controls .grow { grid-column: auto; }
  .realtime-messages { min-height: 360px; }
  .realtime-bubble { max-width: 92%; }
  .realtime-composer > div { align-items: stretch; flex-direction: column; }
  .realtime-attachment-tools { align-items: flex-start !important; }
  .realtime-composer > div > div { justify-content: flex-end; }
  .realtime-grade-head { grid-template-columns: 1fr; }
  .realtime-feedback-grid { grid-template-columns: 1fr; }
  .training-question-head { flex-direction: column; }
  .training-question-head .chip-list { justify-content: flex-start; }
  .training-feedback-grid { grid-template-columns: 1fr; }
  .training-dimension-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboarding-overview-metrics { grid-template-columns: 1fr 1fr 1fr; }
  .onboarding-lesson-head, .onboarding-lesson-actions { align-items: flex-start; flex-direction: column; }
  .evaluation-notice { align-items: flex-start; flex-direction: column; }
  .evaluation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evaluation-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salesmartly-summary, .account-usage-panel .salesmartly-summary { grid-template-columns: 1fr 1fr; }
  .salesmartly-cities { flex-direction: column; gap: 6px; }
  .preview-city-control { align-items: flex-start; flex-direction: column; }
  .preview-city-control select { width: 150px; }
  .quote-product-form, .quote-customer-grid, .quote-cost-grid { grid-template-columns: 1fr; }
  .quote-line { grid-template-columns: 1fr 70px; }
  .quote-line > div { display: none; }
  .quote-document > section { grid-template-columns: 1fr; }
  .quote-actions { align-items: stretch; flex-direction: column; }
  .chat-business-coverage, .order-sandbox-list { grid-template-columns: 1fr; }
  .product-knowledge-list { grid-template-columns: 1fr; }
  .order-sandbox-workspace { padding: 12px; }
  .order-sandbox-head, .order-sandbox-result header, .order-certification-card { align-items: flex-start; flex-direction: column; }
  .order-sandbox-transcript p { max-width: 94%; }
}

@media print {
  body * { visibility: hidden !important; }
  #quotationPreview, #quotationPreview * { visibility: visible !important; }
  #quotationPreview { position: absolute !important; inset: 0 !important; width: 100% !important; min-height: 100% !important; border: 0 !important; box-shadow: none !important; }
  #quotationPreview .quote-actions { display: none !important; }
}
/* Keep role-gated sections hidden even when component display rules change. */
[hidden] {
  display: none !important;
}
.quality-control-panel { margin-bottom: 24px; overflow: hidden; }
.quality-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.quality-control-grid article { display: grid; gap: 7px; min-height: 116px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, rgba(34, 96, 77, .08), rgba(255, 255, 255, .82)); }
.quality-control-grid span { color: var(--muted); font-size: 13px; }
.quality-control-grid strong { color: var(--ink); font-size: 25px; }
.quality-control-grid small { color: var(--muted); line-height: 1.5; }
.quality-control-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.quality-control-actions .form-message { flex: 1 1 260px; margin: 0; }
.quality-feature-details { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 14px; }
.quality-feature-details summary { cursor: pointer; font-weight: 700; }
.quality-feature-details ol { margin: 14px 0 0; padding-left: 22px; color: var(--muted); line-height: 1.75; }
.realtime-review-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.realtime-contract-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.realtime-contract-grid article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
@media (max-width: 900px) { .quality-control-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .quality-control-grid, .realtime-contract-grid { grid-template-columns: 1fr; } }
