:root {
  --ink: #13231d;
  --muted: #66736d;
  --line: #dfe5e1;
  --paper: #f5f6f2;
  --green: #0d5b42;
  --green-2: #1f7a59;
  --gold: #b9914b;
  --red: #bd3d32;
  --amber: #d4872a;
  --shadow: 0 18px 50px rgba(24, 44, 36, .10);
}

.device-check-button { width: 100%; min-height: 44px; border: 1px solid rgba(11, 96, 73, .22); border-radius: 999px; background: #eef7f2; color: var(--green, #0a5b46); font-weight: 700; }
.device-check-sheet { position: fixed; inset: 0; z-index: 120; padding: 20px; background: rgba(4, 24, 19, .72); overflow: auto; }
.device-check-card { width: min(520px, 100%); margin: 4vh auto; padding: 22px; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.device-check-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.device-check-head h2 { margin: 0; }
.device-check-head button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #eef3f0; font-size: 24px; }
.device-check-progress { height: 7px; margin: 18px 0; border-radius: 999px; overflow: hidden; background: #edf1ef; }
.device-check-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #0a5b46, #35b783); transition: width .15s ease; }
.device-check-results { display: grid; gap: 8px; }
.device-check-results > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 13px; border-radius: 12px; background: #f6f8f7; }
.device-check-results [data-status="pass"] strong { color: #08734f; }
.device-check-results [data-status="warn"] strong { color: #9a6a10; }
.device-check-results [data-status="fail"] { background: #fff0ef; }
.device-check-results [data-status="fail"] strong { color: #b3312d; }
.device-check-note { min-height: 24px; color: #65736d; }
.device-check-actions { display: flex; gap: 10px; }
.device-check-actions button { flex: 1; min-height: 46px; border: 0; border-radius: 14px; background: #0a5b46; color: #fff; font-weight: 700; }
.device-check-actions button.secondary { background: #edf3f0; color: #0a5b46; }

.stability-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.stability-strip > div { padding: 9px 10px; border-radius: 11px; background: rgba(8, 82, 62, .06); }
.stability-strip span { display: block; color: #70807a; font-size: 11px; }
.stability-strip strong { display: block; margin-top: 2px; font-size: 13px; color: #183c31; }
.stability-strip strong.warning { color: #b45d13; }

.acceptance-page { min-height: 100vh; background: #f4f7f5; color: #17231f; }
.acceptance-shell { width: min(1100px, calc(100% - 28px)); margin: 0 auto; padding: 28px 0 70px; }
.acceptance-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.acceptance-toolbar a { color: #0a5b46; font-weight: 700; text-decoration: none; }
.acceptance-intro, .acceptance-summary, .acceptance-result { background: #fff; border: 1px solid #dbe6e0; border-radius: 20px; box-shadow: 0 10px 30px rgba(10, 50, 38, .05); }
.acceptance-intro { padding: 22px; }
.acceptance-controls { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 18px; }
.acceptance-controls select, .acceptance-controls button { min-height: 46px; border-radius: 13px; }
.acceptance-controls select { border: 1px solid #cedbd5; padding: 0 12px; background: #fff; }
.acceptance-controls button { border: 0; padding: 0 22px; background: #0a5b46; color: #fff; font-weight: 700; }
.acceptance-summary { margin-top: 18px; padding: 18px 22px; }
.acceptance-results { display: grid; gap: 12px; margin-top: 14px; }
.acceptance-result { padding: 16px 18px; }
.acceptance-result.pass { border-left: 5px solid #169765; }
.acceptance-result.fail { border-left: 5px solid #c7463e; }
.acceptance-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.acceptance-result h3 { margin: 0; font-size: 17px; }
.acceptance-result p { margin: 7px 0 0; color: #65736d; }
.acceptance-checks { margin: 10px 0 0; padding-left: 20px; color: #4e5e58; }
.acceptance-checks li.fail { color: #b3312d; }

@media (max-width: 640px) {
  .device-check-sheet { padding: 10px; }
  .device-check-card { margin: 2vh auto; padding: 18px; border-radius: 20px; }
  .acceptance-controls { grid-template-columns: 1fr; }
  .acceptance-result-head { align-items: flex-start; flex-direction: column; }
  .stability-strip { grid-template-columns: 1fr; }
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Microsoft YaHei UI", "PingFang SC", sans-serif; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.topbar { height: 68px; padding: 0 36px; display: flex; align-items: center; justify-content: space-between; background: rgba(250,251,248,.92); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; letter-spacing: .04em; }
.brand-mark { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: white; background: var(--green); font-family: SimSun, serif; }
.version-pill, .mode-badge { border: 1px solid #bfd1c8; color: var(--green); background: #edf6f1; border-radius: 999px; padding: 8px 13px; font-size: 12px; }
.home-shell { max-width: 1380px; margin: 0 auto; padding: 58px 34px 90px; }
.hero { min-height: 560px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: center; padding: 58px 62px; border-radius: 30px; color: white; background: radial-gradient(circle at 92% 8%, rgba(201,165,92,.32), transparent 30%), linear-gradient(135deg, #0b3d2d, #112b24 70%); box-shadow: var(--shadow); }
.eyebrow { margin: 0 0 12px; color: var(--gold); font-size: 11px; letter-spacing: .18em; font-weight: 800; }
.hero h1 { font-family: SimSun, "Songti SC", serif; font-size: clamp(38px, 4vw, 66px); line-height: 1.15; font-weight: 500; margin: 0 0 24px; letter-spacing: -.04em; }
.hero h1 span { color: #e6c882; }
.hero-copy { max-width: 720px; color: #d7e2dd; font-size: 17px; line-height: 1.9; }
.trust-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.trust-row span { border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 8px 12px; font-size: 12px; color: #e2ebe7; }
.start-card { color: var(--ink); background: rgba(255,255,255,.96); padding: 30px; border-radius: 24px; box-shadow: 0 18px 60px rgba(0,0,0,.18); }
.card-kicker { font-size: 21px; font-weight: 800; margin-bottom: 22px; }
label { display: block; color: var(--muted); font-size: 13px; margin: 15px 0; }
input, select, textarea { width: 100%; border: 1px solid #d3dbd6; border-radius: 12px; padding: 12px 13px; color: var(--ink); background: #fff; outline: none; transition: .2s; }
input:focus, select:focus, textarea:focus { border-color: var(--green-2); box-shadow: 0 0 0 3px rgba(31,122,89,.12); }
label input, label select { margin-top: 7px; }
.switch-row { display: flex; align-items: center; gap: 9px; }
.switch-row input { width: 17px; margin: 0; }
.primary-button { width: 100%; border: 0; padding: 14px 18px; border-radius: 12px; color: white; background: var(--green); display: flex; justify-content: space-between; font-weight: 800; }
.primary-button:hover { background: #084b36; }
.primary-button.small { width: auto; min-width: 100px; justify-content: center; }
.form-error { min-height: 18px; color: var(--red); font-size: 12px; }
.section-block { margin-top: 70px; }
.section-block.compact { margin-top: 52px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.section-heading h2 { font-family: SimSun, serif; font-size: 34px; margin: 0; }
.section-heading > p { color: var(--muted); max-width: 520px; }
.store-strip { margin-top: 34px; }
.store-strip h3 { margin: 0 0 14px; font-size: 15px; color: var(--green); }
.package-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 13px; }
.package-card { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 18px; min-height: 172px; display: flex; flex-direction: column; }
.package-name { font-weight: 800; font-size: 16px; }
.package-meta, .source-note { color: var(--muted); font-size: 11px; margin-top: 5px; }
.package-price { margin-top: 17px; color: var(--green); font-family: Georgia, serif; font-size: 23px; }
.package-price.muted { color: var(--muted); font-size: 15px; }
.package-card a { margin-top: auto; font-size: 12px; color: var(--green-2); }
.recent-list { display: grid; gap: 10px; }
.recent-item { text-decoration: none; display: flex; justify-content: space-between; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.recent-item div { display: flex; flex-direction: column; gap: 5px; }
.recent-item div:last-child { text-align: right; }
.recent-item span { color: var(--muted); font-size: 12px; }
.empty-state { padding: 28px 16px; text-align: center; color: #8b9691; font-size: 13px; }

.console-page { height: 100vh; overflow: hidden; }
.console-topbar { position: relative; height: 64px; }
.session-title { display: flex; align-items: baseline; gap: 10px; }
.session-title span { color: var(--muted); font-size: 12px; }
.header-actions { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #35a66f; box-shadow: 0 0 0 5px rgba(53,166,111,.12); }
.live-dot.offline { background: #aab2ae; box-shadow: none; }
.ghost-button { border: 1px solid var(--line); background: white; border-radius: 9px; padding: 8px 11px; margin-left: 10px; }
.console-grid { height: calc(100vh - 64px); display: grid; grid-template-columns: minmax(370px, 1.05fr) minmax(350px, .9fr) minmax(320px, .75fr); gap: 12px; padding: 12px; }
.console-panel { min-height: 0; background: white; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.panel-heading { min-height: 76px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #edf0ee; }
.panel-heading h2 { margin: 0; font-family: SimSun, serif; font-size: 24px; }
.panel-heading .eyebrow { margin-bottom: 5px; }
.transcript-panel, .advice-panel { display: flex; flex-direction: column; }
.transcript-stream, .event-list { flex: 1; overflow: auto; padding: 16px; }
.turn { max-width: 86%; border-radius: 14px; padding: 12px 13px; margin-bottom: 12px; position: relative; }
.turn.customer { background: #f0f3f1; margin-right: auto; }
.turn.sales { color: #fff; background: var(--green); margin-left: auto; }
.turn-speaker { font-size: 10px; font-weight: 800; opacity: .7; margin-bottom: 5px; }
.turn-text { line-height: 1.65; font-size: 14px; }
.turn time { display: block; text-align: right; font-size: 9px; opacity: .55; margin-top: 6px; }
.asr-toolbar { border-top: 1px solid var(--line); padding: 10px 12px; background: #f8faf9; }
.asr-status-line { min-height: 20px; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.asr-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #aab2ae; }
.asr-status-dot.ready { background: #35a66f; box-shadow: 0 0 0 4px rgba(53,166,111,.10); }
.asr-status-dot.recording { background: var(--red); box-shadow: 0 0 0 4px rgba(189,61,50,.12); animation: pulse 1.2s infinite; }
.asr-partial { min-width: 0; margin-left: auto; max-width: 52%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--green); }
.asr-controls { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; margin-top: 6px; }
.asr-controls label { margin: 0; font-size: 9px; }
.asr-controls select { margin-top: 4px; padding: 7px 9px; border-radius: 8px; font-size: 11px; }
.asr-controls button { min-width: 104px; height: 33px; border: 0; border-radius: 9px; color: white; background: var(--green); font-size: 11px; font-weight: 800; }
.asr-controls button.recording { background: var(--red); }
.asr-controls button:disabled { cursor: not-allowed; color: #8d9692; background: #e4e8e6; }
.asr-toolbar > p { margin: 7px 1px 0; color: #84908a; font-size: 8px; line-height: 1.45; }
@keyframes pulse { 50% { opacity: .42; } }
.replay-panel { border-top: 1px solid var(--line); background: #f9fbf9; }
.replay-panel summary { padding: 11px 14px; color: var(--green); font-size: 12px; font-weight: 800; cursor: pointer; }
.replay-panel summary span { margin-left: 6px; color: var(--muted); font-size: 9px; font-weight: 400; }
.replay-panel form { padding: 0 12px 12px; }
.replay-panel form > p { margin: 0 2px 8px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.replay-panel textarea { resize: vertical; min-height: 112px; font-size: 11px; line-height: 1.55; }
.replay-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 7px; }
.replay-actions > button:first-child { border: 1px solid var(--line); border-radius: 9px; padding: 8px 11px; color: var(--muted); background: white; font-size: 10px; }
.turn-composer { border-top: 1px solid var(--line); padding: 12px; }
.speaker-tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.speaker-tabs label { margin: 0; }
.speaker-tabs input { display: none; }
.speaker-tabs span { display: block; padding: 6px 12px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.speaker-tabs input:checked + span { color: white; border-color: var(--green); background: var(--green); }
.turn-composer textarea { resize: none; border-radius: 11px; }
.composer-footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; }
.demo-menu { display: flex; gap: 5px; flex-wrap: wrap; }
.demo-menu button { border: 0; border-radius: 999px; background: #eef2f0; padding: 7px 9px; color: #5c6862; font-size: 11px; }
.counter { min-width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: white; background: var(--green); font-size: 12px; }
.coach-event { border: 1px solid var(--line); border-left: 5px solid var(--green-2); border-radius: 14px; padding: 15px; margin-bottom: 12px; }
.coach-event.p0 { border-left-color: var(--red); background: #fff7f6; }
.coach-event.p1 { border-left-color: var(--amber); }
.event-top { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted); }
.event-top > span { padding: 3px 6px; color: white; background: var(--green); border-radius: 5px; }
.p0 .event-top > span { background: var(--red); }
.p1 .event-top > span { background: var(--amber); }
.event-top time { margin-left: auto; }
.event-prompt { margin: 12px 0 7px; font-size: 19px; font-weight: 900; }
.event-reason { color: var(--muted); font-size: 12px; line-height: 1.6; }
.coach-event blockquote { margin: 10px 0 0; padding: 9px 11px; background: rgba(0,0,0,.035); border-radius: 8px; color: #65706a; font-size: 12px; }
.event-sources { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; font-size: 10px; }
.event-sources span { color: var(--muted); width: 100%; }
.event-sources a { color: var(--green-2); }
.event-sources em { color: var(--muted); font-style: normal; }
.guidance-stack { display: grid; gap: 7px; margin-top: 12px; }
.guidance-card { padding: 10px 11px; border-radius: 10px; background: #f4f7f5; }
.guidance-card span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.guidance-card p { margin: 5px 0 0; color: var(--ink); font-size: 12px; line-height: 1.55; }
.guidance-card.say { background: #eaf4ef; }
.guidance-card.ask { border: 1px solid #dce9e2; background: white; }
.guidance-card.avoid { background: #fff4f2; }
.guidance-card.avoid p { color: #973c34; }
.side-stack { min-height: 0; display: grid; grid-template-rows: 1.1fr .9fr; gap: 12px; }
.state-panel, .knowledge-panel { min-height: 0; overflow: auto; }
.intent-badge { padding: 7px 10px; border-radius: 999px; color: var(--green); background: #eaf4ef; font-size: 11px; font-weight: 800; }
.next-action-card { margin: 14px 16px 7px; padding: 13px 14px; border-radius: 12px; color: white; background: linear-gradient(135deg, var(--green), #174d3c); }
.next-action-card span { display: block; margin-bottom: 6px; color: #c8ddd4; font-size: 9px; letter-spacing: .08em; }
.next-action-card strong { font-size: 13px; line-height: 1.5; }
.intent-reason { margin: 0 18px 8px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.metric-row { display: flex; justify-content: space-between; padding: 13px 18px; border-bottom: 1px solid #f0f2f1; font-size: 12px; }
.metric-row span { color: var(--muted); }
.tag-title { margin: 14px 18px 8px; color: var(--muted); font-size: 11px; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 18px; }
.tag { border-radius: 999px; padding: 5px 8px; color: var(--green); background: #eaf4ef; font-size: 10px; }
.tag.muted { color: #89928e; background: #f1f3f2; }
.profile-list { padding: 0 18px 15px; }
.profile-item { display: grid; grid-template-columns: 10px 1fr auto; gap: 7px; align-items: center; padding: 7px 0; font-size: 11px; }
.profile-item em { color: #8a948f; font-style: normal; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #ccd2cf; }
.status-dot.done { background: #2a9b67; }
.status-dot.asked { background: #d6973b; }
.knowledge-search { display: flex; padding: 12px; gap: 6px; }
.knowledge-search input { padding: 9px 10px; }
.knowledge-search button { border: 0; color: white; background: var(--green); border-radius: 9px; padding: 0 12px; }
.knowledge-results { padding: 0 12px 12px; }
.knowledge-hit { border-top: 1px solid #edf0ee; padding: 11px 4px; }
.knowledge-hit > div { display: flex; justify-content: space-between; font-size: 11px; }
.knowledge-hit small { display: block; color: #839089; font-size: 9px; margin-top: 4px; }
.knowledge-hit p { color: var(--muted); font-size: 10px; line-height: 1.6; margin: 7px 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.knowledge-hit a { color: var(--green-2); font-size: 10px; }
.source-locked { color: #8a7561; font-size: 10px; }
.replay-report { margin: 14px 14px 18px; padding: 13px; border: 1px solid #d9e5df; border-radius: 13px; background: #f7faf8; }
.replay-report-title span { display: block; color: var(--gold); font-size: 8px; letter-spacing: .14em; }
.replay-report-title strong { display: block; margin-top: 4px; font-size: 14px; }
.replay-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px; }
.replay-metrics > div { padding: 8px; border-radius: 8px; background: white; }
.replay-metrics span { display: block; color: var(--muted); font-size: 8px; }
.replay-metrics strong { display: block; margin-top: 3px; color: var(--green); font-size: 14px; }
.priority-summary { display: flex; gap: 6px; margin-top: 9px; }
.priority-summary span { border-radius: 999px; padding: 4px 7px; color: white; font-size: 9px; }
.priority-summary .p0 { background: var(--red); }
.priority-summary .p1 { background: var(--amber); }
.priority-summary .p2 { background: var(--green-2); }
.replay-final-state { margin-top: 9px; }
.replay-final-state p { display: flex; justify-content: space-between; margin: 0; padding: 6px 0; border-bottom: 1px solid #e7ece9; font-size: 9px; }
.replay-final-state p span { color: var(--muted); }
.acceptance-list { display: grid; gap: 5px; margin-top: 9px; }
.acceptance-list span { padding: 6px 7px; border-radius: 7px; font-size: 8px; }
.acceptance-list .pass { color: #176c4d; background: #e8f4ed; }
.acceptance-list .warn { color: #8e5b1c; background: #fff4df; }
.replay-note { margin: 9px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }

@media (max-width: 1100px) {
  .package-grid { grid-template-columns: repeat(3, 1fr); }
  .console-page { height: auto; overflow: auto; }
  .console-grid { height: auto; grid-template-columns: 1fr 1fr; }
  .side-stack { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .transcript-panel, .advice-panel { min-height: 720px; }
}
@media (max-width: 760px) {
  .topbar { padding: 0 16px; }
  .version-pill, .session-title { display: none; }
  .home-shell { padding: 18px 14px 60px; }
  .hero { grid-template-columns: 1fr; padding: 34px 22px; gap: 30px; }
  .hero h1 { font-size: 38px; }
  .section-heading { display: block; }
  .package-grid { grid-template-columns: repeat(2, 1fr); }
  .console-grid { display: block; padding: 8px; }
  .console-panel, .side-stack { margin-bottom: 9px; }
  .transcript-panel, .advice-panel { min-height: 620px; }
  .side-stack { display: block; }
  .state-panel, .knowledge-panel { max-height: none; margin-bottom: 9px; }
}

/* Mobile-first one-tap sales app */
.mobile-app-home {
  min-height: 100svh;
  color: #ecf8f3;
  background:
    radial-gradient(circle at 50% 34%, rgba(22, 137, 102, .30), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(15, 99, 78, .26), transparent 38%),
    linear-gradient(180deg, #071b18 0%, #092d23 58%, #061813 100%);
}
.mobile-appbar {
  width: min(100%, 560px);
  height: 72px;
  margin: 0 auto;
  padding: max(14px, env(safe-area-inset-top)) 22px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mobile-logo { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.mobile-logo strong { font-size: 34px; line-height: 1; letter-spacing: -.06em; }
.mobile-wave { color: #3ad2a1; font-size: 28px; font-weight: 900; transform: rotate(90deg); }
.settings-button { width: 44px; height: 44px; border: 0; border-radius: 50%; color: #d6e8e1; background: rgba(255,255,255,.08); font-size: 21px; }
.launch-shell { width: min(100%, 520px); min-height: calc(100svh - 72px); margin: 0 auto; padding: 34px 22px calc(36px + env(safe-area-inset-bottom)); }
.launch-stage { text-align: center; }
.launch-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #b9d1c8; font-size: 11px; }
#home-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #8a9b95; }
#home-status-dot.ready { background: #39dfa9; box-shadow: 0 0 0 5px rgba(57,223,169,.12); }
.launch-kicker { margin: 54px 0 10px; color: #37d8a5; font-weight: 800; letter-spacing: .08em; }
.launch-stage h1 { margin: 0; color: white; font-family: "Microsoft YaHei UI", sans-serif; font-size: clamp(36px, 10vw, 50px); letter-spacing: -.05em; }
.launch-copy { max-width: 390px; margin: 18px auto 0; color: #a9c2b8; font-size: 14px; line-height: 1.8; }
.sound-wave { height: 74px; margin: 28px auto 18px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.sound-wave i, .mobile-record-wave i { display: block; width: 3px; border-radius: 9px; background: #33d8a5; box-shadow: 0 0 14px rgba(51,216,165,.45); }
.sound-wave i:nth-child(1), .sound-wave i:nth-child(11) { height: 6px; opacity: .4; }
.sound-wave i:nth-child(2), .sound-wave i:nth-child(10) { height: 13px; opacity: .55; }
.sound-wave i:nth-child(3), .sound-wave i:nth-child(9) { height: 22px; opacity: .7; }
.sound-wave i:nth-child(4), .sound-wave i:nth-child(8) { height: 34px; }
.sound-wave i:nth-child(5), .sound-wave i:nth-child(7) { height: 48px; }
.sound-wave i:nth-child(6) { height: 66px; }
.mobile-start-form { text-align: left; }
.customer-bind { height: 52px; margin: 0; padding: 0 15px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.055); }
.customer-bind > span { color: #38d6a5; font-size: 24px; }
.customer-bind input { margin: 0; padding: 0; border: 0; color: white; background: transparent; box-shadow: none; }
.customer-bind input::placeholder { color: #a5bdb4; }
.quick-settings { margin-top: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.04); }
.quick-settings summary { padding: 14px 15px; display: flex; justify-content: space-between; gap: 12px; color: #a6bdb5; cursor: pointer; list-style: none; font-size: 12px; }
.quick-settings summary::-webkit-details-marker { display: none; }
.quick-settings summary strong { color: #e6f2ed; }
.quick-settings-fields { padding: 0 14px 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-settings-fields label { margin: 0; color: #9eb5ad; font-size: 10px; }
.quick-settings-fields input, .quick-settings-fields select { margin-top: 6px; border-color: rgba(255,255,255,.14); color: white; background: #123c30; }
.device-status { margin: 30px 0 13px; display: grid; grid-template-columns: auto 1fr; column-gap: 8px; justify-content: center; color: #d7e9e2; text-align: left; }
.device-status > span { grid-row: 1 / 3; color: #39d9a6; font-size: 12px; }
.device-status strong { font-size: 13px; }
.device-status small { margin-top: 2px; color: #77968a; font-size: 10px; }
.one-tap-start { width: 100%; min-height: 68px; border: 0; border-radius: 22px; color: #06261d; background: linear-gradient(135deg, #63efc4, #21c894); box-shadow: 0 18px 42px rgba(16, 181, 132, .25); font-size: 21px; font-weight: 900; }
.one-tap-start:disabled { color: #81958e; background: #24453a; box-shadow: none; cursor: not-allowed; }
.mobile-start-form .form-error { margin: 9px 4px 0; color: #ffb2a8; text-align: center; }
.recent-drawer { margin-top: 28px; border-top: 1px solid rgba(255,255,255,.1); color: #a9c0b7; }
.recent-drawer > summary { padding: 16px 3px; cursor: pointer; font-size: 12px; }
.recent-drawer .recent-item { border-color: rgba(255,255,255,.1); color: #eaf5f1; background: rgba(255,255,255,.045); }
.recent-drawer .recent-item span { color: #8ba69b; }
.knowledge-ready { margin-top: 18px; padding: 15px; display: flex; flex-direction: column; gap: 5px; border-radius: 15px; color: #90aa9f; background: rgba(255,255,255,.035); font-size: 10px; }
.knowledge-ready strong { color: #c5d9d1; font-size: 12px; }
.knowledge-ready small { color: #708b80; }

.primary-coach-panel { position: relative; }
.listening-card { margin: 12px 16px 0; padding: 16px; border-radius: 14px; color: white; background: linear-gradient(135deg, #0d654b, #123e32); }
.listening-card span, .listening-card small { display: block; color: #a9d7c7; font-size: 9px; }
.listening-card strong { display: block; margin: 6px 0; font-size: 16px; line-height: 1.5; }
.listening-empty small { display: inline-block; margin-top: 8px; color: #a0aca6; line-height: 1.6; }
.mobile-record-wave { height: 30px; display: flex; align-items: center; justify-content: center; gap: 5px; }
.mobile-record-wave i { height: 6px; opacity: .5; }
.mobile-record-wave i:nth-child(2), .mobile-record-wave i:nth-child(6) { height: 13px; }
.mobile-record-wave i:nth-child(3), .mobile-record-wave i:nth-child(5) { height: 20px; }
.mobile-record-wave i:nth-child(4) { height: 27px; }
.is-recording .mobile-record-wave i { animation: listening-bars 1s ease-in-out infinite alternate; }
.is-recording .mobile-record-wave i:nth-child(2n) { animation-delay: -.35s; }
@keyframes listening-bars { to { transform: scaleY(.35); opacity: .35; } }
.mobile-record-control .asr-controls { display: block; }
.mobile-record-control .asr-controls button { width: 100%; height: 54px; font-size: 15px; }
.turn.uncertain { margin-left: auto; margin-right: auto; border: 1px dashed #cbd4d0; color: #64706a; background: #f5f7f6; }
.advanced-tools { position: fixed; right: 18px; bottom: 18px; z-index: 40; width: 330px; max-height: 75vh; overflow: auto; box-shadow: var(--shadow); }
.advanced-tools > summary { padding: 13px 15px; color: var(--green); font-size: 11px; font-weight: 800; cursor: pointer; }

@media (max-width: 760px) {
  .mobile-coach-page { min-height: 100svh; height: auto; overflow: auto; background: #071d18; }
  .mobile-console-topbar { height: 62px; padding: 0 14px; position: sticky; color: white; background: rgba(6, 27, 22, .95); border-color: rgba(255,255,255,.08); }
  .mobile-console-topbar .mobile-logo strong { font-size: 27px; }
  .mobile-console-topbar .mobile-wave { font-size: 23px; }
  .mobile-console-topbar .header-actions { color: #a9beb6; }
  .mobile-console-topbar .ghost-button { margin-left: 2px; border-color: rgba(255,255,255,.16); color: white; background: rgba(255,255,255,.07); }
  .mobile-coach-grid { display: flex; flex-direction: column; padding: 0; }
  .primary-coach-panel { order: 1; min-height: calc(100svh - 62px); margin: 0; border: 0; border-radius: 0; color: white; background: linear-gradient(180deg, #08241d, #0a2d23); }
  .mobile-advice-heading { min-height: 68px; border-color: rgba(255,255,255,.08); }
  .mobile-advice-heading h2 { color: white; font-family: "Microsoft YaHei UI", sans-serif; }
  .primary-coach-panel .counter { color: #06261d; background: #4de0b2; }
  .primary-coach-panel .listening-card { background: linear-gradient(135deg, #0f7455, #12503e); }
  .primary-coach-panel .event-list { min-height: 230px; padding: 14px; }
  .primary-coach-panel .coach-event { color: var(--ink); background: #fbfdfc; }
  .primary-coach-panel .empty-state { color: #86a298; }
  .mobile-record-control { padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); border-color: rgba(255,255,255,.1); background: rgba(5, 24, 19, .92); }
  .mobile-record-control .asr-status-line { color: #a8beb5; }
  .mobile-record-control .asr-partial { color: #59e4b8; }
  .mobile-record-control .asr-controls button { height: 62px; border-radius: 20px; color: #06261d; background: linear-gradient(135deg, #63efc4, #21c894); font-size: 18px; }
  .mobile-record-control .asr-controls button.recording { color: white; background: linear-gradient(135deg, #c64b42, #a8302a); }
  .mobile-record-control > p { color: #728e83; font-size: 9px; text-align: center; }
  .compact-transcript-panel { order: 2; min-height: 360px; margin: 9px; }
  .compact-transcript-panel .transcript-stream { max-height: 430px; }
  .side-stack { order: 3; display: none; }
  .advanced-tools { display: none; }
}

/* Server-ready mobile runtime */
.network-banner { position: fixed; inset: 0 0 auto; z-index: 100; padding: calc(9px + env(safe-area-inset-top)) 16px 9px; color: #351b00; background: #ffd787; text-align: center; font-size: 12px; font-weight: 800; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.network-banner[hidden] { display: none; }
.is-offline .mobile-appbar, .is-offline .console-topbar { margin-top: 34px; }
.mobile-app-home .recent-item { padding: 0; overflow: hidden; border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.05); }
.mobile-app-home .recent-item > a { flex: 1; min-width: 0; padding: 13px 14px; display: flex; justify-content: space-between; text-decoration: none; }
.mobile-app-home .recent-item > button { align-self: stretch; border: 0; border-left: 1px solid rgba(255,255,255,.10); padding: 0 13px; color: #ffb8ad; background: rgba(151,44,35,.12); font-size: 11px; }
.runtime-drawer { margin-top: 12px; border: 1px solid rgba(255,255,255,.10); border-radius: 15px; background: rgba(255,255,255,.035); }
.runtime-drawer summary { padding: 14px 15px; color: #b5cbc2; cursor: pointer; font-size: 12px; }
.runtime-checks { padding: 0 15px 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.runtime-checks > div { padding: 10px; border-radius: 10px; background: rgba(255,255,255,.05); }
.runtime-checks span, .runtime-checks strong { display: block; }
.runtime-checks span { color: #819b91; font-size: 9px; }
.runtime-checks strong { margin-top: 4px; color: #c9dad3; font-size: 12px; }
.runtime-checks strong.ok { color: #54e5b7; }
.runtime-checks strong.warn { color: #ffc980; }
.runtime-drawer > p { margin: 0; padding: 3px 15px 14px; color: #8ba399; font-size: 10px; line-height: 1.6; }
.logout-form { text-align: center; }
.logout-form button { border: 0; padding: 9px 12px; color: #87a198; background: transparent; font-size: 11px; }
.admin-entry { display: block; margin: 12px auto 0; color: #58dfb4; text-align: center; font-size: 12px; text-decoration: none; }
.wake-status { text-align: center; color: #8ea29a !important; }
.wake-status.active { color: #50dcae !important; }
.stealth-option { margin: 10px 0 0; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.10); border-radius: 11px; color: #b8cec5; background: rgba(255,255,255,.035); }
.stealth-option input { width: 17px; height: 17px; margin: 0; accent-color: #3edbaa; }
.stealth-option > span { min-width: 0; display: flex; align-items: center; justify-content: space-between; flex: 1; gap: 10px; }
.stealth-option strong { color: #d8e9e2; font-size: 10px; }
.stealth-option small { color: #78958a; font-size: 8px; text-align: right; }
.privacy-cover { position: fixed; inset: 0; z-index: 120; width: 100%; height: 100%; border: 0; padding: 0; background: #000; cursor: pointer; }
.privacy-cover[hidden] { display: none; }
.privacy-cover span { position: absolute; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); width: 5px; height: 5px; border-radius: 50%; background: #123d30; transform: translateX(-50%); box-shadow: 0 0 12px rgba(35,169,124,.22); }

.session-summary { position: fixed; inset: 0; z-index: 90; overflow: auto; padding: 24px; background: rgba(2,17,13,.88); backdrop-filter: blur(16px); }
.session-summary[hidden] { display: none; }
.summary-sheet { width: min(100%, 620px); margin: 0 auto; padding: 30px; border-radius: 24px; color: var(--ink); background: #f8faf8; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.summary-handle { display: none; }
.summary-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.summary-title-row h1 { margin: 0; font-size: 30px; }
.summary-title-row p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.summary-title-row > strong { padding: 8px 11px; border-radius: 999px; color: #0e6c4b; background: #e2f4eb; font-size: 12px; white-space: nowrap; }
.summary-metrics { margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.summary-metrics > div { padding: 14px; border: 1px solid #e2e8e4; border-radius: 13px; background: white; }
.summary-metrics span, .summary-block > span, .summary-next > span { display: block; color: var(--muted); font-size: 10px; }
.summary-metrics strong { display: block; margin-top: 5px; color: var(--green); font-size: 18px; }
.summary-block { margin-top: 12px; padding: 14px; border-radius: 13px; background: #edf2ef; }
.summary-block p { margin: 7px 0 0; font-size: 13px; line-height: 1.6; }
.summary-tags { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.summary-tags em { padding: 5px 8px; border-radius: 999px; color: #0e6247; background: #dceee5; font-size: 10px; font-style: normal; }
.summary-next { margin-top: 15px; padding: 18px; border-radius: 16px; color: white; background: linear-gradient(135deg,#0d684d,#103d31); }
.summary-next strong { display: block; margin-top: 6px; font-size: 18px; line-height: 1.5; }
.summary-next ol { margin: 12px 0 0; padding-left: 20px; color: #cfe2da; font-size: 11px; line-height: 1.8; }
.summary-disclaimer { margin: 13px 3px; color: #7a8781; font-size: 9px; line-height: 1.6; }
.summary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.summary-actions.three { grid-template-columns: 1.25fr 1fr 1fr; }
.summary-actions a, .summary-actions button { min-height: 46px; border: 0; border-radius: 12px; display: grid; place-items: center; text-decoration: none; font-size: 12px; font-weight: 800; }
.summary-actions a { color: white; background: var(--green); }
.summary-actions a.secondary { color: var(--green); background: #e6eeea; }
.summary-actions button { color: var(--green); background: #e6eeea; }

@media (max-width: 560px) {
  .session-summary { padding: 62px 0 0; display: flex; align-items: flex-end; }
  .summary-sheet { min-height: calc(100svh - 62px); padding: 14px 18px calc(22px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .summary-handle { width: 42px; height: 4px; margin: 0 auto 18px; display: block; border-radius: 9px; background: #d2dad5; }
  .summary-title-row h1 { font-size: 25px; }
  .summary-metrics { margin: 18px 0; }
  .summary-metrics > div { padding: 11px; }
  .summary-metrics strong { font-size: 15px; }
  .summary-next { padding: 15px; }
  .summary-next strong { font-size: 16px; }
  .summary-actions.three { grid-template-columns: 1fr 1fr; }
  .summary-actions.three > a:first-child { grid-column: 1 / -1; }
}

/* Full quality report */
.report-page { min-height: 100vh; color: var(--ink); background: #eef2ef; }
.report-topbar { height: 68px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; color: white; background: #08271f; }
.report-topbar > div { display: flex; gap: 18px; }
.report-topbar a { color: inherit; text-decoration: none; font-size: 12px; }
.report-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0 72px; }
.report-cover { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.report-cover h1 { margin: 0; font-size: 40px; }
.report-cover > div > p:last-child { margin: 10px 0 0; color: var(--muted); }
.report-downloads, .report-bottom-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.report-downloads a, .report-bottom-actions a, .report-bottom-actions button, .report-loading button { min-height: 42px; padding: 0 15px; border: 0; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: white; background: var(--green); text-decoration: none; font-size: 11px; font-weight: 800; }
.report-summary-card { margin: 26px 0 18px; padding: 24px; display: grid; grid-template-columns: 160px 1fr; gap: 24px; border-radius: 20px; color: white; background: linear-gradient(135deg,#0a654c,#0a3329); box-shadow: 0 20px 50px rgba(16,74,56,.18); }
.report-score { display: grid; place-items: center; padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.07); text-align: center; }
.report-score span { color: #a8cec0; font-size: 10px; }
.report-score strong { font-size: 54px; line-height: 1.15; }
.report-score em { color: #ebc883; font-size: 11px; font-style: normal; }
.report-summary-content { min-width: 0; }
.report-summary-head { display: flex; align-items: center; gap: 9px; }
.report-summary-head strong, .report-summary-head span { padding: 5px 9px; border-radius: 999px; font-size: 10px; }
.report-summary-head strong { color: #063526; background: #69e3bb; }
.report-summary-head span { color: #c6ded5; background: rgba(255,255,255,.08); }
.report-summary-content h2 { margin: 13px 0 18px; font-size: 22px; line-height: 1.5; }
.report-summary-content dl { margin: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.report-summary-content dl > div { padding: 11px; border-radius: 10px; background: rgba(255,255,255,.07); }
.report-summary-content dt { color: #9ebeb2; font-size: 9px; }
.report-summary-content dd { margin: 5px 0 0; font-size: 11px; line-height: 1.55; }
.report-section { margin-top: 15px; padding: 22px; border: 1px solid #dce5df; border-radius: 18px; background: white; box-shadow: 0 12px 32px rgba(23,55,43,.045); }
.report-section-title { margin-bottom: 17px; display: flex; align-items: center; gap: 12px; }
.report-section-title > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 10px; font-weight: 900; }
.report-section-title h2, .report-section-title p { margin: 0; }
.report-section-title h2 { font-size: 20px; }
.report-section-title p { margin-top: 4px; color: var(--muted); font-size: 10px; }
.report-section-title.compact { margin-bottom: 10px; }
.report-table-wrap { overflow-x: auto; }
.report-table-wrap table { width: 100%; border-collapse: collapse; font-size: 11px; }
.report-table-wrap th, .report-table-wrap td { padding: 10px; border-bottom: 1px solid #e8eeea; text-align: left; vertical-align: top; line-height: 1.55; }
.report-table-wrap th { color: var(--muted); font-size: 9px; }
.need-grid, .followup-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.need-grid article, .followup-grid article { min-width: 0; padding: 14px; border-radius: 12px; background: #edf3ef; }
.need-grid article > strong, .followup-grid article > strong { color: var(--green); }
.need-grid article > p, .followup-grid article > p { color: #637169; font-size: 10px; line-height: 1.6; }
.need-grid dl { margin: 10px 0 0; }
.need-grid dt { color: var(--muted); font-size: 9px; }
.need-grid dd { margin: 3px 0 8px; font-size: 10px; line-height: 1.6; }
.followup-grid article > span { display: block; margin-bottom: 6px; color: #a3752b; font-size: 9px; font-weight: 800; }
.sop-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.sop-grid article { padding: 14px; border: 1px solid #e1e8e3; border-radius: 12px; }
.sop-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sop-grid article > div span { color: var(--green); font-weight: 900; }
.sop-grid progress { width: 100%; height: 6px; margin-top: 10px; accent-color: var(--green); }
.sop-grid p { margin: 8px 0 4px; font-size: 10px; line-height: 1.55; }
.sop-grid small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.report-two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.report-list { margin: 0; padding-left: 22px; }
.report-list li { margin: 10px 0; padding-left: 4px; }
.report-list p { margin: 5px 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.report-list em { color: var(--green); font-size: 10px; font-style: normal; }
.report-list blockquote { margin: 7px 0 0; padding: 9px 11px; border-left: 3px solid #d3a24e; color: #725927; background: #fff8e9; font-size: 10px; line-height: 1.6; }
.phrase-list { margin: 0; padding: 0; list-style: none; }
.phrase-list li { margin: 8px 0; padding: 10px 12px; border-radius: 10px; font-size: 10px; line-height: 1.6; }
.phrase-list.good li { color: #0a6849; background: #e9f5ef; }
.phrase-list.risk li { color: #8d3f37; background: #fff0ed; }
.compact-result > strong { color: var(--green); font-size: 16px; }
.report-raw-details { margin-top: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.report-raw-details details { border: 1px solid #dce5df; border-radius: 13px; background: white; }
.report-raw-details summary { padding: 15px; color: var(--green); cursor: pointer; font-size: 11px; font-weight: 800; }
.raw-turns, .raw-events { max-height: 520px; overflow: auto; padding: 0 13px 13px; }
.raw-turns article, .raw-events article { padding: 10px; border-top: 1px solid #edf1ee; }
.raw-turns strong, .raw-turns p, .raw-events span, .raw-events strong, .raw-events p { display: block; margin: 0; }
.raw-turns strong, .raw-events strong { color: var(--green); font-size: 10px; }
.raw-turns strong em { margin-left: 5px; color: #9b6b23; font-size: 8px; font-style: normal; }
.raw-turns p, .raw-events p, .raw-events blockquote { margin-top: 5px; font-size: 10px; line-height: 1.6; }
.raw-turns small, .raw-events span { color: var(--muted); font-size: 8px; }
.raw-events blockquote { margin-left: 0; color: #68746f; }
.report-footnote { margin: 14px 2px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.report-bottom-actions { justify-content: flex-end; }
.report-bottom-actions button { color: var(--green); border: 1px solid #cad8d1; background: white; }
.report-loading { min-height: 65vh; display: grid; place-items: center; align-content: center; text-align: center; }
.report-loading h1 { margin: 0; font-size: 36px; }
.report-loading > p:not(.eyebrow) { max-width: 600px; color: var(--muted); line-height: 1.7; }
.report-spinner { width: 42px; height: 42px; margin-bottom: 20px; border: 4px solid #d8e5df; border-top-color: var(--green); border-radius: 50%; animation: report-spin .9s linear infinite; }
@keyframes report-spin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  .report-topbar { padding: 0 16px; }
  .report-shell { width: min(100% - 24px, 1120px); padding-top: 22px; }
  .report-cover { align-items: flex-start; flex-direction: column; }
  .report-cover h1 { font-size: 30px; }
  .report-summary-card { padding: 15px; grid-template-columns: 105px 1fr; gap: 13px; }
  .report-score { padding: 12px; }
  .report-score strong { font-size: 42px; }
  .report-summary-content h2 { font-size: 16px; }
  .report-summary-content dl { grid-template-columns: 1fr; }
  .need-grid, .followup-grid, .report-two-columns, .report-raw-details { grid-template-columns: 1fr; }
  .sop-grid { grid-template-columns: 1fr; }
  .report-section { padding: 15px; }
  .report-section-title h2 { font-size: 17px; }
}

.login-page { min-height: 100svh; margin: 0; padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); box-sizing: border-box; display: grid; place-items: center; color: #edf9f4; background: radial-gradient(circle at 50% 20%, rgba(32,153,116,.26), transparent 30%), linear-gradient(180deg,#071b18,#092d23); }
.login-shell { width: min(100%, 390px); }
.login-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 42px; }
.login-brand strong { font-size: 36px; }
.login-shell h1 { margin: 8px 0 12px; font-size: 34px; }
.login-shell > p:not(.eyebrow) { margin: 0 0 28px; color: #a9c2b8; line-height: 1.7; }
.login-form label { color: #a9c2b8; }
.login-form input, .login-form select { color: #effaf6; border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); }
.login-form select option { color: #13231d; }
.login-form .one-tap-start { margin-top: 24px; }
.login-error { min-height: auto; margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; color: #ffd2cc; background: rgba(180,47,37,.20); }
.login-shell > small { display: block; margin-top: 18px; color: #80978e; text-align: center; }

/* Standalone operations console */
.admin-page { min-height: 100vh; background: #eef2ef; }
.admin-topbar { height: 68px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; color: white; background: #08271f; }
.admin-topbar > div { display: flex; align-items: center; gap: 16px; color: #a9c0b7; font-size: 12px; }
.admin-topbar a { color: inherit; text-decoration: none; }
.admin-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 38px 0 70px; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.admin-heading h1 { margin: 0; font-size: 38px; }
.admin-heading > div > p:last-child { margin: 10px 0 0; color: var(--muted); }
.admin-heading button, .admin-panel-heading button { border: 1px solid #cbd7d1; border-radius: 10px; padding: 10px 15px; color: var(--green); background: white; font-weight: 800; }
.admin-metrics { margin: 26px 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.admin-metrics article { min-width: 0; padding: 18px; border: 1px solid #dfe7e2; border-radius: 15px; background: white; }
.admin-metrics span { display: block; color: var(--muted); font-size: 11px; }
.admin-metrics strong { display: block; margin-top: 9px; color: var(--green); font-size: 21px; }
.admin-metrics strong.ok { color: #178759; }
.admin-metrics strong.warn { color: var(--red); }
.admin-panel { padding: 22px; border: 1px solid #dce5df; border-radius: 18px; background: white; box-shadow: 0 15px 40px rgba(23,55,43,.06); }
.admin-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-panel-heading h2 { margin: 0; }
.admin-panel-heading p { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.admin-panel-heading .danger-outline { color: var(--red); border-color: #e6c5c1; }
.admin-table-wrap { margin-top: 18px; overflow-x: auto; }
.admin-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12px; }
.admin-table-wrap th, .admin-table-wrap td { padding: 12px 10px; border-bottom: 1px solid #edf1ee; text-align: left; white-space: nowrap; }
.admin-table-wrap th { color: var(--muted); font-size: 10px; }
.session-status { padding: 4px 8px; border-radius: 999px; color: #63706a; background: #edf1ef; }
.session-status.active { color: #0b6b49; background: #e1f4eb; }
.admin-score { color: var(--green); font-size: 18px; }
.result-link, .result-download { display: inline-flex; align-items: center; min-height: 30px; padding: 0 9px; border-radius: 8px; color: white; background: var(--green); text-decoration: none; font-size: 10px; font-weight: 800; }
.result-download { color: var(--green); border: 1px solid #cbd8d1; background: white; }
.result-link.muted { color: #68766f; background: #edf1ef; }
.admin-message { min-height: 20px; margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.admin-note { margin-top: 14px; padding: 15px 18px; display: flex; gap: 12px; border-radius: 13px; color: #607069; background: #e4ebe7; font-size: 11px; line-height: 1.6; }
.admin-note strong { color: var(--green); white-space: nowrap; }

@media (max-width: 900px) {
  .admin-metrics { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .admin-topbar { padding: 0 16px; }
  .admin-shell { width: min(100% - 24px, 1180px); padding-top: 24px; }
  .admin-heading { align-items: flex-start; }
  .admin-heading h1 { font-size: 30px; }
  .admin-heading > div > p:last-child { font-size: 12px; }
  .admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .admin-metrics article { padding: 14px; }
  .admin-panel { padding: 15px; }
  .admin-panel-heading { align-items: flex-start; flex-direction: column; }
  .admin-note { flex-direction: column; gap: 4px; }
  .admin-table-wrap { overflow: visible; }
  .admin-table-wrap table, .admin-table-wrap tbody { display: block; }
  .admin-table-wrap thead { display: none; }
  .admin-table-wrap tr { margin: 12px 0; padding: 9px 12px; display: grid; border: 1px solid #e1e9e4; border-radius: 13px; background: #f8faf9; }
  .admin-table-wrap td { min-width: 0; padding: 8px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #e7ede9; white-space: normal; text-align: right; overflow-wrap: anywhere; }
  .admin-table-wrap td:last-child { border-bottom: 0; }
  .admin-table-wrap td::before { content: attr(data-label); flex: 0 0 auto; color: var(--muted); font-size: 9px; text-align: left; }
  .admin-table-wrap td[colspan] { display: block; text-align: center; }
  .admin-table-wrap td[colspan]::before { display: none; }
}

/* Internal mobile-state examples */
.examples-page { min-height: 100vh; color: #edf7f3; background: #061813; }
.examples-topbar { width: min(100%, 1440px); height: 70px; margin: 0 auto; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); }
.examples-topbar > a:last-child { color: #9ab2a9; font-size: 12px; text-decoration: none; }
.examples-shell { width: min(1380px, calc(100% - 36px)); margin: 0 auto; padding: 48px 0 90px; }
.examples-intro { max-width: 780px; }
.examples-intro h1 { margin: 0; font-size: clamp(34px,5vw,58px); }
.examples-intro > p:last-of-type { color: #9eb6ad; line-height: 1.8; }
.examples-policy { margin-top: 20px; padding: 15px 18px; display: flex; gap: 14px; border: 1px solid rgba(83,222,177,.22); border-radius: 14px; color: #a9c3ba; background: rgba(39,139,107,.12); font-size: 12px; line-height: 1.7; }
.examples-policy strong { color: #54e4b6; white-space: nowrap; }
.example-grid { margin-top: 46px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; align-items: start; }
.example-card { min-width: 0; }
.example-card.summary-example-card { grid-column: span 2; }
.example-label { min-height: 48px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.example-label > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #063425; background: #4fe0b2; font-size: 10px; font-weight: 900; }
.example-label strong, .example-label small { display: block; }
.example-label small { margin-top: 3px; color: #769087; font-size: 9px; }
.example-card > p { color: #849e94; font-size: 10px; line-height: 1.7; }
.example-phone { position: relative; min-height: 600px; overflow: hidden; border: 7px solid #172a24; border-radius: 34px; background: linear-gradient(180deg,#08241d,#0a3025); box-shadow: 0 26px 60px rgba(0,0,0,.32); }
.stealth-preview { background: #000; }
.stealth-preview i { position: absolute; left: 50%; bottom: 22px; width: 5px; height: 5px; border-radius: 50%; background: #123d30; box-shadow: 0 0 12px rgba(35,169,124,.2); }
.preview-bar { height: 54px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); color: #9ec1b4; font-size: 8px; }
.preview-bar b { color: white; font-size: 20px; }
.preview-body { padding: 26px 17px; }
.preview-body > small, .preview-summary-head small { color: #c89d55; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.preview-body h2 { margin: 9px 0 10px; color: white; font-size: 26px; line-height: 1.35; }
.preview-body > p { color: #90aa9f; font-size: 10px; line-height: 1.7; }
.preview-listen { margin-top: 50px; padding: 18px; border-radius: 15px; color: #a8d2c2; background: rgba(24,121,90,.24); text-align: center; }
.preview-listen span, .preview-listen strong, .preview-listen em { display: block; }
.preview-listen span, .preview-listen em { font-size: 8px; font-style: normal; }
.preview-listen strong { margin: 9px 0; color: white; font-size: 14px; }
.preview-wave { position: absolute; inset: auto 0 28px; color: #45d7aa; text-align: center; font-size: 28px; letter-spacing: 4px; }
.prompt-preview blockquote { margin: 34px 0 20px; padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; color: #9fbaaf; background: rgba(255,255,255,.035); font-size: 10px; line-height: 1.7; }
.preview-guidance { padding: 15px; border-radius: 13px; color: #0a392a; background: #e8f6f0; }
.preview-guidance span, .preview-guidance strong { display: block; }
.preview-guidance span { color: #51806e; font-size: 8px; }
.preview-guidance strong { margin-top: 7px; font-size: 13px; line-height: 1.6; }
.preview-avoid, .preview-next { margin-top: 10px; padding: 11px; border-radius: 10px; font-size: 9px; line-height: 1.6; }
.preview-avoid { color: #ffc9c3; background: rgba(150,49,40,.25); }
.preview-next { color: #bfe7d9; background: rgba(35,136,104,.24); }
.buying-preview { background: linear-gradient(180deg,#08291f,#0b3a2c); }
.summary-preview { min-height: 680px; padding: 22px 17px; color: var(--ink); background: #f4f7f4; }
.preview-summary-head { position: relative; }
.preview-summary-head h2 { margin: 9px 0 4px; font-size: 23px; }
.preview-summary-head p { margin: 0; color: var(--muted); font-size: 9px; }
.preview-summary-head b { position: absolute; right: 0; top: 18px; padding: 6px 8px; border-radius: 999px; color: #0b6849; background: #ddf1e7; font-size: 9px; }
.preview-summary-metrics { margin: 20px 0 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.preview-summary-metrics span { padding: 10px 6px; border: 1px solid #dfe6e2; border-radius: 10px; background: white; text-align: center; font-size: 9px; }
.preview-summary-block { margin-top: 9px; padding: 12px; border-radius: 11px; background: #e8eeea; }
.preview-summary-block small { color: var(--muted); font-size: 8px; }
.preview-summary-block p { margin: 7px 0 0; display: flex; flex-wrap: wrap; gap: 4px; }
.preview-summary-block em { padding: 4px 6px; border-radius: 999px; color: #0b6246; background: #d4e9df; font-size: 8px; font-style: normal; }
.preview-summary-block strong { display: block; margin-top: 6px; font-size: 10px; }
.preview-summary-action { margin-top: 10px; padding: 14px; border-radius: 13px; color: white; background: #0d6148; }
.preview-summary-action small { color: #a9d2c3; font-size: 8px; }
.preview-summary-action strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.5; }
.preview-summary-action ol { margin: 8px 0 0; padding-left: 17px; color: #c6ded5; font-size: 8px; line-height: 1.8; }
.preview-summary-note { color: #7b8882; font-size: 7px; line-height: 1.5; }

@media (max-width: 1100px) {
  .example-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .examples-topbar { padding: 0 18px; }
  .examples-shell { width: min(100% - 28px, 1380px); padding-top: 30px; }
  .examples-policy { flex-direction: column; gap: 4px; }
  .example-grid { grid-template-columns: 1fr; }
  .example-card.summary-example-card { grid-column: auto; }
  .example-phone { width: min(100%, 360px); margin: 0 auto; }
}
