:root {
  --ink: #171719;
  --ink-2: #262629;
  --paper: #f4f4f1;
  --card: #ffffff;
  --line: #dedfdc;
  --muted: #777c80;
  --gold: #a98b54;
  --gold-soft: #f3eee3;
  --green: #266149;
  --green-soft: #e7f1eb;
  --red: #9e3733;
  --red-soft: #f6e9e7;
  --blue: #285a86;
  --blue-soft: #e9f1f8;
  --shadow: 0 14px 36px rgba(17, 17, 19, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ai-suite {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.ai-topbar {
  position: fixed; inset: 0 0 auto 0; z-index: 30;
  height: 64px; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  background: #111113; color: #fff; border-bottom: 1px solid #2d2d30;
}
.ai-brand { display: flex; align-items: center; gap: 14px; }
.ai-brand img { width: 39px; height: 39px; object-fit: contain; }
.ai-brand strong { font-size: 15px; letter-spacing: .08em; }
.ai-brand span { color: #aaa7a0; font-size: 12px; }
.ai-top-actions { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.ai-top-chip { padding: 8px 12px; border: 1px solid #39393c; border-radius: 999px; color: #dedfdc; }
.ai-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: #111113; font-weight: 700; }

.ai-sidebar {
  position: fixed; z-index: 20; top: 64px; bottom: 0; left: 0;
  width: 238px; padding: 24px 16px; overflow: auto;
  background: #171719; color: #dedfdc;
}
.ai-side-label { margin: 4px 10px 10px; color: #777c80; font-size: 11px; letter-spacing: .12em; }
.ai-nav { display: grid; gap: 5px; margin-bottom: 24px; }
.ai-nav a { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 9px 11px; border-radius: 8px; font-size: 13px; }
.ai-nav a:hover { background: #222225; }
.ai-nav a.active { color: #fff; background: #303033; box-shadow: inset 3px 0 var(--gold); }
.ai-nav .nav-icon { width: 21px; text-align: center; color: #cdbb95; }
.ai-back { border-top: 1px solid #303033; padding-top: 18px; }

.ai-main { margin-left: 238px; padding: 92px 30px 48px; min-height: 100vh; }
.ai-main-inner { max-width: 1440px; margin: 0 auto; }
.ai-breadcrumb { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--muted); font-size: 12px; }
.ai-breadcrumb a:hover { color: var(--ink); }
.ai-breadcrumb strong { color: var(--ink); font-weight: 600; }
.ai-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 22px; }
.ai-eyebrow { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ai-hero h1 { margin: 8px 0 8px; font-size: clamp(27px, 3vw, 40px); line-height: 1.15; letter-spacing: -.035em; }
.ai-hero p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.hero-meta { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

.pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: #ececea; color: #54585c; font-size: 12px; font-weight: 600; white-space: nowrap; }
.pill.gold { background: var(--gold-soft); color: #6f533c; }
.pill.good { background: var(--green-soft); color: var(--green); }
.pill.warn { background: #fff2dc; color: #8a5b13; }
.pill.bad { background: var(--red-soft); color: var(--red); }
.pill.blue { background: var(--blue-soft); color: var(--blue); }

.journey { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; margin-bottom: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.journey-step { position: relative; padding: 14px 10px; border: 0; background: #fff; color: var(--muted); cursor: pointer; text-align: left; }
.journey-step small { display: block; margin-bottom: 4px; color: #aaa7a0; font-size: 10px; }
.journey-step strong { font-size: 12px; }
.journey-step.active { background: var(--ink); color: #fff; }
.journey-step.active small { color: #cdbb95; }
.journey-step.done { background: #f2f7f4; color: var(--green); }

.grid { display: grid; gap: 18px; }
.grid.two { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); }
.grid.equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card { background: var(--card); border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 2px 7px rgba(17,17,19,.025); }
.card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 18px 20px 13px; border-bottom: 1px solid #ececea; }
.card-head h2, .card-head h3 { margin: 0; font-size: 16px; }
.card-head p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.card-body { padding: 18px 20px 20px; }
.card + .card { margin-top: 18px; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric { padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.metric .label { color: var(--muted); font-size: 12px; }
.metric .value { margin: 8px 0 4px; font-size: 25px; font-weight: 700; letter-spacing: -.03em; }
.metric .hint { color: var(--muted); font-size: 11px; }

.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; color: #54585c; font-size: 12px; font-weight: 600; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #cfd1ce; border-radius: 8px; outline: none; background: #fff; color: var(--ink);
}
.field textarea { min-height: 92px; resize: vertical; line-height: 1.55; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(169,139,84,.13); }
.helper { margin-top: 6px; color: var(--muted); font-size: 11px; }

.image-style-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.image-style-choice {
  min-height: 66px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px;
  background: #fff; color: var(--ink); cursor: pointer; text-align: left;
}
.image-style-choice:hover { border-color: #b9aa8d; }
.image-style-choice.selected { border-color: var(--gold); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold); }
.image-style-choice strong { display: block; margin-bottom: 4px; font-size: 12px; }
.image-style-choice small { display: block; color: var(--muted); font-size: 10px; line-height: 1.35; }

.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.choice { min-height: 72px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; text-align: left; }
.choice:hover { border-color: #b9aa8d; }
.choice.selected { border-color: var(--gold); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold); }
.choice strong { display: block; margin-bottom: 4px; font-size: 13px; }
.choice small { color: var(--muted); font-size: 11px; line-height: 1.35; }

.btn-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 39px; padding: 9px 14px; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 700; }
.btn.primary { background: var(--ink); color: #fff; }
.btn.primary:hover { background: #303033; }
.btn.gold { background: var(--gold); color: #fff; }
.btn.secondary { border-color: #cfd1ce; background: #fff; color: #3f4245; }
.btn.danger { border-color: #e4b8b4; background: #fff; color: var(--red); }
.btn:disabled { cursor: not-allowed; opacity: .42; }
.content-flow-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 9px; }

.notice { display: none; margin-bottom: 16px; padding: 12px 14px; border-radius: 9px; background: var(--blue-soft); color: var(--blue); font-size: 12px; line-height: 1.55; }
.notice.show { display: block; }
.notice.good { background: var(--green-soft); color: var(--green); }
.notice.warn { background: #fff2dc; color: #7a500e; }
.notice.bad { background: var(--red-soft); color: var(--red); }

.asset-row { display: grid; grid-template-columns: 84px 1fr auto; gap: 13px; align-items: center; padding: 11px 0; border-bottom: 1px solid #ececea; }
.asset-row:last-child { border-bottom: 0; }
.asset-thumb { height: 58px; border-radius: 8px; background: linear-gradient(135deg, #111113, #6f533c); position: relative; overflow: hidden; }
.asset-thumb:after { content: "LEXUS"; position: absolute; right: 7px; bottom: 6px; color: #fff; font-size: 9px; letter-spacing: .12em; }
.asset-meta strong { display: block; font-size: 12px; }
.asset-meta small { color: var(--muted); font-size: 11px; }

.variants { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.variant {
  position: relative; min-height: 190px; padding: 14px; overflow: hidden; border: 2px solid transparent;
  border-radius: 12px; color: #fff; cursor: pointer; background-size: cover; background-repeat: no-repeat;
  background-position: center;
}
.variant[data-variant="A"] { background-image: linear-gradient(180deg,rgba(10,10,12,.38) 0%,rgba(10,10,12,.10) 42%,rgba(10,10,12,.86) 100%), url("./lexus-rz-road-front.jpg"); background-position: 54% center; }
.variant[data-variant="B"] { background-image: linear-gradient(180deg,rgba(4,13,23,.26) 0%,rgba(4,13,23,.04) 42%,rgba(4,13,23,.88) 100%), url("./lexus-rz-cockpit.jpg"); background-position: 42% center; }
.variant[data-variant="C"] { background-image: linear-gradient(180deg,rgba(24,10,8,.34) 0%,rgba(24,10,8,.06) 42%,rgba(24,10,8,.88) 100%), url("./lexus-rz-road-rear.jpg"); background-position: 52% center; }
.variant[data-variant="D"] { background-image: linear-gradient(180deg,rgba(7,16,14,.42) 0%,rgba(7,16,14,.12) 42%,rgba(7,16,14,.90) 100%), url("./lexus-rz-hero.jpg"); background-position: 80% center; }
.variant:before { content: "RZ"; position: absolute; right: -10px; bottom: -36px; font-size: 106px; font-weight: 800; opacity: .13; }
.variant.selected { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(169,139,84,.18); }
.variant small { opacity: .78; }
.variant h3 { margin: 58px 0 6px; max-width: 210px; font-size: 20px; line-height: 1.2; }
.variant .format { position: absolute; right: 10px; top: 10px; padding: 5px 8px; border-radius: 999px; background: rgba(0,0,0,.32); font-size: 10px; }

.check-list { display: grid; gap: 10px; }
.check-item { display: flex; gap: 10px; align-items: flex-start; padding: 11px; border-radius: 8px; background: #f7f7f5; }
.check-icon { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; }
.check-item.warn .check-icon { background: #fff2dc; color: #8a5b13; }
.check-item strong { display: block; font-size: 12px; }
.check-item small { color: var(--muted); font-size: 11px; line-height: 1.4; }

.timeline { display: grid; gap: 0; }
.timeline-item { position: relative; padding: 0 0 18px 28px; }
.timeline-item:before { content: ""; position: absolute; left: 8px; top: 8px; bottom: -5px; width: 1px; background: var(--line); }
.timeline-item:last-child:before { display: none; }
.timeline-item:after { content: ""; position: absolute; left: 3px; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 3px solid var(--gold); }
.timeline-item.done:after { background: var(--green); border-color: var(--green); }
.timeline-item strong { font-size: 12px; }
.timeline-item p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

.plan-block { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fbfbfa; }
.plan-block + .plan-block { margin-top: 10px; }
.plan-block h3 { margin: 0 0 8px; font-size: 13px; }
.plan-row { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; color: var(--muted); font-size: 12px; border-bottom: 1px dashed #e1e1df; }
.plan-row:last-child { border-bottom: 0; }
.plan-row strong { color: var(--ink); }
.bar { height: 8px; overflow: hidden; border-radius: 999px; background: #ececea; }
.bar > span { display: block; height: 100%; border-radius: inherit; background: var(--gold); }

.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 10px 12px; color: var(--muted); background: #f7f7f5; font-size: 11px; text-align: left; white-space: nowrap; }
td { padding: 13px 12px; border-bottom: 1px solid #ececea; font-size: 12px; vertical-align: top; }
tr[data-feedback] { cursor: pointer; }
tr[data-feedback]:hover, tr.selected { background: #faf7f1; }
.person { display: flex; gap: 9px; align-items: center; }
.avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #6f533c; font-weight: 700; }

.detail-list { display: grid; gap: 10px; }
.detail-row { display: grid; grid-template-columns: 95px 1fr; gap: 10px; font-size: 12px; }
.detail-row dt { color: var(--muted); }
.detail-row dd { margin: 0; line-height: 1.55; }
.quote { margin: 0; padding: 13px; border-left: 3px solid var(--gold); background: var(--gold-soft); color: #493d2f; font-size: 13px; line-height: 1.65; }

.task-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 14px; }
.task-stage { padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--muted); font-size: 11px; text-align: center; }
.task-stage.done { background: var(--green-soft); color: var(--green); border-color: #c4dacb; }
.task-stage.current { background: var(--ink); color: #fff; border-color: var(--ink); }

.empty-state { padding: 46px 24px; text-align: center; color: var(--muted); }
.empty-state strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 16px; }
.hidden { display: none !important; }

.center-upgrade {
  position: fixed; z-index: 9999; right: 22px; top: 82px;
  display: flex; align-items: center; gap: 10px; padding: 11px 13px;
  border: 1px solid #cdbb95; border-radius: 10px; background: #171719; color: #fff;
  box-shadow: var(--shadow); font-family: Inter,"PingFang SC",sans-serif;
}
.center-upgrade .new { padding: 3px 6px; border-radius: 999px; background: var(--gold); color: #111113; font-size: 9px; font-weight: 800; }
.center-upgrade strong { font-size: 12px; }
.center-upgrade span:last-child { color: #cdbb95; font-size: 13px; }
.center-upgrade.matrix-entry { top: 136px; }
.center-upgrade.assistant-entry { top: 82px; background: #fff; color: var(--ink); border-color: var(--gold); }

.matrix-dealer { cursor: pointer; }
.matrix-dealer:hover, .matrix-dealer.selected { background: #faf7f1; }
.channel-stack { display: flex; flex-wrap: wrap; gap: 5px; }
.channel-tag { padding: 4px 7px; border-radius: 6px; background: #ececea; color: #55595d; font-size: 10px; }
.channel-tag.ready { background: var(--green-soft); color: var(--green); }
.channel-tag.wait { background: #fff2dc; color: #83560f; }
.preview-card { position: relative; min-height: 270px; padding: 22px; overflow: hidden; border-radius: 13px; color: #fff; background: linear-gradient(145deg, rgba(13,13,14,.84), rgba(66,52,36,.58)), url("./lexus-rz-road-front.jpg") center/cover; }
.preview-card:after { content: "LEXUS"; position: absolute; right: 18px; top: 18px; letter-spacing: .16em; font-size: 12px; }
.preview-card .preview-copy { position: absolute; left: 22px; right: 22px; bottom: 22px; }
.preview-card h3 { margin: 0 0 8px; max-width: 330px; font-size: 26px; line-height: 1.15; }
.preview-card p { margin: 0; max-width: 390px; opacity: .83; font-size: 12px; line-height: 1.55; }
.performance-up { color: var(--green); font-weight: 700; }

/* SCRM operating workbenches */
.acquisition-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.source-rail,.priority-list,.group-portfolio,.handover-list,.owner-journey{display:grid;gap:8px}.source-option,.priority-customer,.group-row,.handover-item,.owner-journey button{width:100%;padding:13px;display:grid;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.source-option{grid-template-columns:1fr auto}.source-option b,.source-option span{grid-column:1}.source-option span,.source-option em,.priority-customer small,.group-row small,.handover-item small,.owner-journey span{color:var(--muted);font-size:11px;font-style:normal}.source-option em{grid-column:2;grid-row:1/3}.source-option.selected,.priority-customer.selected,.group-row.selected,.handover-item.selected,.owner-journey button.active{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold)}.acquisition-detail{min-height:100%}.mini-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:15px 0}.mini-journey span{padding:8px 5px;border-radius:7px;background:#ececea;color:var(--muted);font-size:10px;text-align:center}.mini-journey span.active{background:#171719;color:#fff}.mini-journey span.done{background:#e4f3e9;color:#246445}.detail-grid.wide{grid-template-columns:90px 1fr}.result-panel{margin-top:13px;padding:13px;border:1px solid #cdbb95;border-radius:10px;background:#fffaf1;color:#55462f;font-size:12px;line-height:1.65}.card-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.priority-customer{grid-template-columns:32px 1fr auto}.priority-customer>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#171719;color:#fff;font-size:10px}.priority-customer strong,.priority-customer small{display:block}.priority-customer small{margin-top:4px}.priority-customer em{color:#7a623b;font-size:10px;font-style:normal}.service-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-summary.compact{grid-template-columns:1fr}.service-summary>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.service-summary span,.compact-metrics span{display:block;color:var(--muted);font-size:10px}.service-summary strong{display:block;margin-top:5px;font-size:12px;line-height:1.45}.group-row{grid-template-columns:auto 1fr auto}.group-health{min-width:42px;padding:5px 7px;border-radius:999px;font-size:9px;text-align:center}.group-health.good{background:#e5f3ea;color:#286948}.group-health.warn{background:#fff0d8;color:#8a5a11}.group-row strong,.group-row small{display:block}.group-row small{margin-top:4px}.group-row em{color:#77684e;font-size:10px;font-style:normal}.task-filter-row{display:flex;gap:7px;margin-bottom:12px;overflow-x:auto}.task-filter-row button{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);white-space:nowrap}.task-filter-row button.active{border-color:#171719;background:#171719;color:#fff}.execution-table{overflow:hidden;border:1px solid var(--line);border-radius:11px}.execution-item{padding:12px;display:grid;grid-template-columns:38px 1fr auto auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.execution-item:last-child{border-bottom:0}.execution-item.hidden{display:none}.execution-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--gold-soft);color:#715a31;font-weight:800}.execution-item strong,.execution-item small{display:block}.execution-item small{margin-top:4px;color:var(--muted);font-size:10px}.execution-item>button{padding:7px 10px;border:1px solid #c8b487;border-radius:7px;background:#fff;color:#6d5731;font-weight:700}.moment-plan-card{padding:15px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(135deg,#171719,#3a342a);color:#fff}.moment-plan-card>span,.moment-plan-card>small{color:#cdbb95;font-size:10px}.moment-plan-card h3{margin:8px 0 5px}.moment-plan-card p{margin:0 0 13px;color:#d5d2cc;font-size:11px}.progress-line{height:6px;margin:10px 0;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.progress-line i{display:block;height:100%;background:var(--gold)}.compact-metrics{gap:8px}.compact-metrics .plan-block{padding:12px}.compact-metrics strong{display:block;margin-top:4px;font-size:22px}.handover-item{grid-template-columns:1fr auto}.handover-item strong,.handover-item small{display:block}.handover-item small{margin-top:4px}.handover-item em{color:#755f38;font-size:10px;font-style:normal}.owner-journey{grid-template-columns:1fr 1fr;margin-bottom:10px}.owner-journey button{min-height:72px}.owner-journey b,.owner-journey span{display:block}.owner-journey span{margin-top:4px;line-height:1.4}

body.mobile-assistant { min-height: 100vh; background: #e9e8e4; }
.mobile-shell { width: min(100%, 480px); min-height: 100vh; margin: 0 auto; padding-bottom: 82px; background: #f6f6f3; box-shadow: 0 0 42px rgba(17,17,19,.15); }
.mobile-top { position: sticky; top: 0; z-index: 20; padding: 18px 18px 13px; color: #fff; background: #111113; }
.mobile-top-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mobile-top h1 { margin: 0; font-size: 19px; }
.mobile-top p { margin: 4px 0 0; color: #aaa7a0; font-size: 11px; }
.mobile-logo { width: 34px; height: 34px; object-fit: contain; }
.mobile-content { padding: 16px; }
.mobile-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 14px; padding: 4px; border-radius: 10px; background: #e8e8e5; }
.mobile-tab { padding: 10px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); cursor: pointer; font-weight: 700; font-size: 12px; }
.mobile-tab.active { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(17,17,19,.06); }
.mobile-greeting { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 8px 0 16px; }
.mobile-greeting h2 { margin: 0 0 5px; font-size: 22px; }
.mobile-greeting p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.mobile-count { min-width: 54px; padding: 9px; border-radius: 10px; background: var(--gold-soft); text-align: center; }
.mobile-count strong { display: block; font-size: 19px; }
.mobile-count small { color: #6f533c; font-size: 10px; }
.mobile-task { margin-bottom: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
.mobile-task.ai { border-left: 4px solid var(--gold); }
.mobile-task.done { opacity: .62; }
.mobile-task-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mobile-task h3 { margin: 7px 0 5px; font-size: 14px; line-height: 1.35; }
.mobile-task p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.mobile-task-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #ececea; color: var(--muted); font-size: 10px; }
.customer-hero { padding: 18px; border-radius: 15px; background: #171719; color: #fff; }
.customer-head { display: flex; gap: 13px; align-items: center; }
.customer-avatar { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: #111113; font-size: 18px; font-weight: 800; }
.customer-hero h2 { margin: 0 0 3px; font-size: 18px; }
.customer-hero p { margin: 0; color: #aaa7a0; font-size: 11px; }
.customer-tags { display: flex; gap: 6px; margin-top: 13px; flex-wrap: wrap; }
.customer-tags .pill { background: #2d2d30; color: #dedfdc; }
.mobile-card { margin-top: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.mobile-card h3 { margin: 0 0 10px; font-size: 14px; }
.nba-card { border-color: #d4bd8f; background: linear-gradient(145deg,#fff,#fbf7ee); }
.nba-card .reason { margin: 9px 0; padding: 10px; border-radius: 8px; background: #f3eee3; color: #6f533c; font-size: 11px; line-height: 1.55; }
.mobile-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }
.mobile-actions .btn { width: 100%; }
.mobile-input { width: 100%; min-height: 41px; padding: 10px 11px; border: 1px solid #cfd1ce; border-radius: 8px; background: #fff; }
.mobile-bottom { position: fixed; z-index: 30; left: 50%; bottom: 0; width: min(100%, 480px); transform: translateX(-50%); display: grid; grid-template-columns: repeat(5, 1fr); padding: 8px 8px 10px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.mobile-bottom button, .mobile-bottom a { display: grid; gap: 3px; place-items: center; padding: 6px 2px; border: 0; background: transparent; color: var(--muted); font-size: 9px; cursor: pointer; }
.mobile-bottom .active { color: var(--ink); font-weight: 700; }
.mobile-bottom b { font-size: 16px; }
.mobile-toast { position: fixed; z-index: 50; left: 50%; bottom: 82px; width: min(calc(100% - 32px), 448px); transform: translateX(-50%) translateY(20px); padding: 12px 14px; border-radius: 10px; background: #171719; color: #fff; opacity: 0; pointer-events: none; transition: .2s; font-size: 12px; line-height: 1.5; }
.mobile-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* Lexus mobile assistant theme */
body.mobile-assistant { background: #d9d8d4; }
.mobile-assistant .mobile-shell { background: #f4f3ef; box-shadow: 0 0 48px rgba(17,17,19,.2); }
.mobile-assistant .mobile-top { padding-top: 21px; padding-bottom: 17px; background: linear-gradient(125deg,#0d0d0e 5%,#242321 100%); border-bottom: 1px solid rgba(205,187,149,.48); }
.mobile-assistant .mobile-top:after { content: "LEXUS SALES EXPERIENCE"; display: block; margin-top: 12px; color: #c7b994; font-size: 8px; letter-spacing: .18em; }
.mobile-context-back { display: inline-flex; align-items: center; gap: 6px; margin-top: 11px; color: #cdbb95; font-size: 10px; font-weight: 700; }
.mobile-context-back.hidden { display: none; }
.mobile-assistant .mobile-top h1 { letter-spacing: .04em; }
.mobile-assistant .mobile-logo { width: 54px; height: 27px; }
.mobile-assistant .mobile-tabs { background: #dfdcd4; }
.mobile-assistant .mobile-tab.active { background: #171719; color: #fff; box-shadow: 0 4px 12px rgba(17,17,19,.16); }
.mobile-assistant .mobile-count { color: #fff; background: #171719; border: 1px solid #a98b54; }
.mobile-assistant .mobile-count small { color: #cdbb95; }
.mobile-assistant .mobile-task,.mobile-assistant .mobile-card { border-color: #ddd7ca; box-shadow: 0 4px 15px rgba(17,17,19,.035); }
.mobile-assistant .mobile-task.ai { border-left-color: #a98b54; }
.mobile-assistant .pill.blue { background: #ebe7df; color: #66583f; }
.mobile-assistant .customer-hero { background: linear-gradient(115deg,rgba(12,12,13,.96),rgba(48,42,32,.78)),url("./lexus-rz-hero.jpg") center/cover; border: 1px solid rgba(169,139,84,.55); }
.mobile-assistant .nba-card { border-color: #cdbb95; background: linear-gradient(145deg,#fff,#f7f1e5); }
.mobile-assistant .mobile-bottom { border-top-color: #d7d1c5; background: rgba(250,249,246,.97); }
.mobile-assistant .mobile-bottom .active { position: relative; color: #8b7145; }
.mobile-assistant .mobile-bottom .active:after { content: ""; position: absolute; left: 28%; right: 28%; bottom: 0; height: 2px; background: #a98b54; }
.mobile-assistant .mobile-toast { border: 1px solid #79633f; }

.detail-grid { display: grid; grid-template-columns: 90px 1fr; gap: 9px; margin: 12px 0 0; font-size: 12px; line-height: 1.55; }
.detail-grid dt { color: var(--muted); }
.detail-grid dd { margin: 0; }

@media (max-width: 1100px) {
  .acquisition-layout { grid-template-columns: 1fr; }
  .service-summary { grid-template-columns: 1fr; }
  .grid.two, .grid.equal { grid-template-columns: 1fr; }
  .grid.four, .metrics { grid-template-columns: repeat(2, 1fr); }
  .journey { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .mini-journey { grid-template-columns: 1fr; }
  .execution-item { grid-template-columns: 34px 1fr; }
  .execution-item>em,.execution-item>button { grid-column: 2; justify-self: start; }
  .owner-journey { grid-template-columns: 1fr; }
  .ai-topbar { padding: 0 14px; }
  .ai-top-chip, .ai-brand span { display: none; }
  .ai-sidebar { position: static; width: auto; padding: 74px 12px 10px; display: flex; gap: 6px; overflow: auto; }
  .ai-side-label, .ai-back { display: none; }
  .ai-nav { display: flex; flex: 0 0 auto; margin: 0; }
  .ai-nav a { white-space: nowrap; }
  .ai-main { margin-left: 0; padding: 22px 14px 36px; }
  .ai-hero { display: block; }
  .hero-meta { justify-content: flex-start; margin-top: 14px; }
  .grid.three, .grid.four, .metrics, .field-grid, .choice-grid, .variants { grid-template-columns: 1fr; }
  .image-style-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey { grid-template-columns: repeat(2, 1fr); }
  .task-flow { grid-template-columns: 1fr; }
  .center-upgrade { top: auto; bottom: 18px; right: 14px; }
  .center-upgrade.matrix-entry { top: auto; bottom: 72px; }
}

/* SCRM voice-to-content operating loop */
.social-publication-list{display:grid;gap:7px;margin-top:13px}
.social-publication-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}
.social-publication-list strong{font-size:10px;color:var(--muted);font-weight:500}
.social-publication-list em{font-style:normal;white-space:nowrap}
.voice-loop .card-body{display:grid;gap:16px}
.voice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.voice-summary>div{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fbfbfa}
.voice-summary span,.voice-summary strong,.voice-summary small{display:block}
.voice-summary span{color:var(--muted);font-size:10px}
.voice-summary strong{margin:5px 0 3px;font-size:23px;line-height:1}
.voice-summary small{color:var(--muted);font-size:10px;line-height:1.45}
.voice-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:14px;align-items:start}
.voice-topic-list{display:grid;gap:8px}
.voice-topic{width:100%;padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:start;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.voice-topic>div{min-width:0}
.voice-topic strong,.voice-topic small{display:block}
.voice-topic strong{font-size:12px;line-height:1.4}
.voice-topic small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}
.voice-topic em{grid-column:2;color:#77684e;font-size:9px;font-style:normal}
.voice-topic.selected{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 3px 0 var(--gold)}
.voice-priority{padding:5px 7px;border-radius:999px;font-size:9px;white-space:nowrap}
.voice-priority.fix{background:#fff0d8;color:#8a5a11}
.voice-priority.amplify{background:#e5f3ea;color:#286948}
.voice-detail{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfbfa}
.voice-detail h3{margin:5px 0 0;font-size:15px}
.voice-detail blockquote{margin:13px 0;padding:12px 14px;border-left:3px solid var(--gold);background:#fff;color:#3f3a32;font-size:12px;line-height:1.65}
.voice-evidence{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.voice-evidence>div{padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.voice-evidence span,.voice-evidence strong{display:block}
.voice-evidence span{color:var(--muted);font-size:9px}
.voice-evidence strong{margin-top:5px;font-size:11px;line-height:1.55}
.voice-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:13px}
.voice-flow span{padding:8px 5px;border-radius:7px;background:#ececea;color:var(--muted);font-size:9px;text-align:center}
.voice-flow span.done{background:#e4f3e9;color:#246445}
.voice-flow span.active{background:#171719;color:#fff}

@media (max-width:980px){
  .voice-summary{grid-template-columns:1fr 1fr}
  .voice-workspace{grid-template-columns:1fr}
  .voice-flow{grid-template-columns:repeat(3,1fr)}
  .social-publication-list>div{grid-template-columns:1fr auto}
  .social-publication-list>div strong{grid-column:1}
}
@media (max-width:620px){
  .voice-summary,.voice-evidence{grid-template-columns:1fr}
  .voice-flow{grid-template-columns:1fr 1fr}
}

/* Mobile sales assistant: connected customer journey */
.mobile-assistant .mobile-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.assistant-linked-card .mobile-task-head h3,.assistant-journey-objects h3{margin-bottom:0}
.assistant-object-list{display:grid;gap:0;margin-top:10px;border:1px solid #e5e0d7;border-radius:10px;overflow:hidden;background:#fbfaf7}
.assistant-object-list>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 11px;border-bottom:1px solid #e8e4dc;align-items:start}
.assistant-object-list>div:last-child{border-bottom:0}
.assistant-object-list span{color:var(--muted);font-size:10px;line-height:1.45}
.assistant-object-list strong{font-size:11px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.assistant-object-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.assistant-boundary-note,.assistant-journey-intro,.assistant-owner-detail{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.assistant-journey-hero{position:relative;padding:18px;overflow:hidden;border:1px solid rgba(169,139,84,.6);border-radius:15px;background:linear-gradient(125deg,rgba(12,12,13,.97),rgba(50,42,29,.84)),url("./lexus-rz-road-front.jpg") 62% center/cover;color:#fff}
.assistant-journey-hero:after{content:"RZ";position:absolute;right:-8px;bottom:-28px;color:rgba(255,255,255,.08);font-size:104px;font-weight:800;line-height:1;pointer-events:none}
.assistant-journey-hero .customer-head{position:relative;z-index:1}
.assistant-journey-hero .customer-head p{margin:0 0 4px;color:#c7b994;font-size:10px}
.assistant-journey-hero h2{margin:0;font-size:18px;line-height:1.3}
.assistant-journey-summary{position:relative;z-index:1;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.18)}
.assistant-journey-summary span,.assistant-journey-summary strong,.assistant-journey-summary small{display:block}
.assistant-journey-summary span{color:#c7b994;font-size:9px;letter-spacing:.08em}
.assistant-journey-summary strong{margin-top:4px;font-size:14px}
.assistant-journey-summary small{margin-top:4px;color:#dedbd3;font-size:10px;line-height:1.45}
.assistant-journey-list{display:grid;gap:8px;margin-top:13px}
.assistant-journey-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:start;padding:11px;border:1px solid #e3dfd7;border-radius:10px;background:#faf9f6}
.assistant-journey-step i{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e8e6e1;color:#77736c;font-size:10px;font-style:normal;font-weight:800}
.assistant-journey-step strong,.assistant-journey-step p{display:block}
.assistant-journey-step strong{font-size:11px;line-height:1.35}
.assistant-journey-step p{margin:4px 0 0;color:var(--muted);font-size:9.5px;line-height:1.5}
.assistant-journey-step .journey-status{padding:4px 6px;border-radius:999px;background:#eceae5;color:#77736c;font-size:8.5px;white-space:nowrap}
.assistant-journey-step.done{border-color:#cfe3d7;background:#f4fbf6}
.assistant-journey-step.done i{background:#2f7350;color:#fff}
.assistant-journey-step.done .journey-status{background:#e1f1e7;color:#286948}
.assistant-journey-step.current{border-color:#c8ad78;background:#fff9ed;box-shadow:inset 3px 0 0 #a98b54}
.assistant-journey-step.current i{background:#171719;color:#fff}
.assistant-journey-step.current .journey-status{background:#f0e4ca;color:#6f533c}
.assistant-journey-step.warn{border-color:#e4b8b4;background:#fff8f7}
.assistant-journey-step.warn i{background:#a64239;color:#fff}
.assistant-journey-step.warn .journey-status{background:#f8e5e2;color:#983d35}
.assistant-history-link{display:block;margin-top:11px;color:#7a623b;font-size:10px;font-weight:700;text-align:right}

@media (max-width:390px){
  .assistant-object-list>div{grid-template-columns:80px minmax(0,1fr)}
  .assistant-object-actions,.assistant-journey-objects .mobile-actions{grid-template-columns:1fr}
}
