:root {
  --bg: #0b1421;
  --surface: #111d2c;
  --surface-2: #17263a;
  --ink: #edf3f8;
  --muted: #92a5b7;
  --line: #2b3d52;
  --brand: #c9a55d;
  --brand-dark: #ab8642;
  --green: #64c59a;
  --green-bg: #153a32;
  --amber: #e2bd68;
  --amber-bg: #383318;
  --blue: #79aee5;
  --blue-bg: #18304b;
  --sidebar: #08111d;
  --sidebar-muted: #8295a7;
  --radius: 8px;
  font-family: "Microsoft YaHei UI", "PingFang SC", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, .button { border: 0; cursor: pointer; }
svg { width: 18px; height: 18px; flex: 0 0 auto; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 248px; background: var(--sidebar); color: white; padding: 22px 16px; display: flex; flex-direction: column; z-index: 10; border-right: 1px solid #213247; }
.brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 24px; border-bottom: 1px solid #30363c; }
.brand-logo { width: 46px; height: 46px; flex: 0 0 auto; object-fit: cover; border: 1px solid #5a4727; border-radius: 6px; box-shadow: 0 0 18px rgba(201,165,93,.12); }
.brand strong, .brand small, .signed-user strong, .signed-user small { display: block; }
.brand small, .signed-user small { color: var(--sidebar-muted); margin-top: 3px; font-size: 12px; }
.sidebar nav { display: grid; gap: 5px; margin-top: 20px; }
.sidebar nav a { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 6px; color: #d9dfe5; font-size: 14px; }
.sidebar nav a:hover { background: #17263a; color: #f8e2ad; }
.sidebar-bottom { margin-top: auto; border-top: 1px solid #30363c; padding: 18px 8px 0; }
.signed-user { margin-bottom: 14px; }
.app-main { margin-left: 248px; padding: 34px 38px 80px; min-height: 100vh; min-width: 0; }
.login-main { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--bg); }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.page-head h1 { margin: 4px 0 5px; font-size: 30px; line-height: 1.2; }
.page-head p, .panel-head p { margin: 0; color: var(--muted); line-height: 1.55; }
.eyebrow { color: var(--brand); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.head-actions { display: flex; gap: 10px; }
.button, button.primary, button.secondary, button.ghost { min-height: 42px; padding: 0 16px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; }
.primary { background: var(--brand); color: white; }
.primary:hover { background: var(--brand-dark); }
.secondary { background: var(--surface-2); border: 1px solid #445b74; color: var(--ink); }
.ghost { background: transparent; color: var(--sidebar-muted); padding: 0 !important; min-height: 34px !important; }
.full { width: 100%; }
button:disabled { opacity: .45; cursor: not-allowed; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; }
.metric-grid.compact { grid-template-columns: repeat(2, minmax(180px, 260px)); }
.metric { min-height: 126px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; }
.metric span, .metric small { color: var(--muted); }
.metric strong { font-size: 32px; margin: 10px 0 5px; line-height: 1; }
.metric.attention { border-top: 4px solid #e1a21c; }
.metric.success { border-top: 4px solid var(--green); }
.panel { min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; margin-bottom: 18px; }
.panel.narrow { max-width: 760px; }
.panel.table-panel { padding: 0; overflow: hidden; }
.panel-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 16px; }
.panel h2, .panel-head h2 { margin: 0 0 4px; font-size: 19px; }
.two-col { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr); gap: 18px; min-width: 0; }
.two-col > * { min-width: 0; }
.account-layout { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 18px; min-width: 0; }
.account-layout > * { min-width: 0; }
.dataset-overview { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr) auto; align-items: center; gap: 24px; margin-bottom: 28px; padding: 22px 24px; border: 1px solid #594d2d; border-left: 4px solid var(--brand); background: #171e25; border-radius: var(--radius); }
.dataset-copy h2 { margin: 5px 0 7px; font-size: 22px; }
.dataset-copy p { margin: 0; color: var(--muted); line-height: 1.6; }
.dataset-stats { display: grid; grid-template-columns: repeat(3, 1fr); min-width: 0; }
.dataset-stats div { min-width: 0; padding: 4px 14px; border-left: 1px solid var(--line); }
.dataset-stats strong, .dataset-stats span { display: block; }
.dataset-stats strong { color: #f1d38d; font-size: 25px; }
.dataset-stats span { color: var(--muted); margin-top: 5px; font-size: 12px; }
.mobile-action-band { display: none; }
.table-wrap { max-width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th { text-align: left; color: #b7c7d6; background: #162437; font-size: 12px; text-transform: uppercase; }
th, td { padding: 12px 13px; border-bottom: 1px solid var(--line); vertical-align: middle; }
td { font-size: 14px; }
td small { display: block; color: var(--muted); margin-top: 4px; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
tr:last-child td { border-bottom: 0; }
.round-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.round-list div { background: var(--surface); padding: 15px; display: flex; justify-content: space-between; }
.round-list strong { font-size: 21px; }
.timeline { display: grid; gap: 14px; }
.timeline > div { display: grid; grid-template-columns: 12px 1fr; gap: 0 10px; align-items: center; }
.timeline small { grid-column: 2; color: var(--muted); margin-top: 3px; }
.dot { width: 8px; height: 8px; background: var(--brand); border-radius: 50%; }
.flash { position: sticky; top: 14px; z-index: 20; margin: 0 auto 16px; max-width: 980px; border-radius: 6px; padding: 13px 16px; background: var(--green-bg); color: #9ce0bf; border: 1px solid #2d6754; }
.flash.error { background: #431f24; color: #ffb2b8; border-color: #743841; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
label { display: grid; gap: 7px; color: #c4d0db; font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid #42566d; border-radius: 6px; background: #0d1927; color: var(--ink); padding: 11px 12px; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(228,61,48,.11); }
.short-field { max-width: 240px; margin: 18px 0; }
.assignment-city-field { max-width: 520px; margin-bottom: 22px; }
.employee-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 9px; }
.employee-picker label { display: flex; align-items: center; gap: 9px; padding: 11px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 6px; }
.employee-picker input { width: 18px; height: 18px; }
.account-rule { margin-bottom: 14px; }
.account-actions { display: flex; flex-wrap: wrap; gap: 7px; min-width: 190px; }
.account-actions form { margin: 0; }
.compact-button { min-height: 34px !important; padding: 0 10px !important; font-size: 12px; }
.muted-text { color: var(--muted); font-size: 12px; }
.callout, .warning { padding: 14px 16px; border-radius: 6px; background: var(--amber-bg); color: var(--amber); display: grid; gap: 4px; }
.upload-box { margin-top: 20px; border: 1px dashed #aeb8c1; border-radius: var(--radius); padding: 34px; text-align: center; display: grid; justify-items: center; gap: 14px; }
.upload-box svg { width: 34px; height: 34px; color: var(--brand); }
.upload-box h2 { margin: 0; }
.filter-bar { display: grid; grid-template-columns: 2fr 1fr 180px 110px; gap: 10px; margin-bottom: 14px; }
.priority { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 24px; border-radius: 4px; font-size: 12px; font-weight: 800; }
.priority.p1 { background: #5b311e; color: #ffd0a6; }
.priority.p2 { background: var(--blue-bg); color: var(--blue); }
.priority.p3 { background: #27384a; color: #b9c7d4; }
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 6px; display: grid; place-items: center; }
.queue-count { background: var(--surface); border: 1px solid var(--line); padding: 9px 13px; border-radius: 6px; font-weight: 800; }
.customer-focus { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: 18px; margin-bottom: 18px; }
.focus-main, .followup-form { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.followup-workspace { min-width: 0; }
.followup-details > summary { display: none; }
.mobile-quick-followup, .mobile-record-picker, .customer-mobile-list { display: none; }
.focus-title { display: flex; justify-content: space-between; gap: 18px; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.focus-title h2 { margin: 8px 0 3px; font-size: 24px; }
.focus-title p { margin: 0; color: var(--muted); }
.city-badge { text-align: right; }
.city-badge strong, .city-badge span { display: block; }
.city-badge span { color: var(--muted); font-size: 12px; margin-top: 5px; }
.contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 18px 0; }
.contact-button { min-height: 64px; border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; background: var(--surface-2); color: var(--ink); text-align: left; overflow: hidden; }
.contact-button:hover { border-color: var(--brand); background: #1b2c40; }
.contact-button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-button small { display: block; color: var(--muted); margin-bottom: 3px; }
.context-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.context-strip div { background: #142235; padding: 12px; }
.context-strip span, .context-strip strong { display: block; }
.context-strip span { color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.form-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.form-title > div { display: flex; gap: 10px; align-items: center; }
.form-title h2, .form-title p { margin: 0; }
.form-title p { color: var(--muted); font-size: 12px; }
.step-number { width: 28px; height: 28px; display: grid; place-items: center; background: var(--brand); color: white; border-radius: 50%; font-weight: 800; }
.followup-form > label { margin-top: 13px; }
.followup-form button { margin-top: 16px; }
.selected-row td { background: #283121; }
.empty, .empty-state { color: var(--muted); text-align: center; }
.empty-state { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 60px 20px; }
.empty-state svg { width: 40px; height: 40px; }
.login-shell { width: min(960px, 100%); display: grid; grid-template-columns: 1.15fr .85fr; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.login-copy { background: #07101b; color: white; padding: 56px 50px; min-height: 430px; display: flex; flex-direction: column; justify-content: center; }
.login-brand-logo { width: 170px; max-width: 48vw; height: auto; margin: -18px 0 18px; mix-blend-mode: screen; }
.login-copy h1 { font-size: 38px; line-height: 1.2; margin: 12px 0 18px; }
.login-copy p { color: #c8d0d7; line-height: 1.8; margin: 0; }
.login-form { padding: 48px 38px; display: grid; align-content: center; gap: 17px; }
.login-form h2 { margin: 0 0 6px; }
.mobile-nav { display: none; }
.brand-intro[hidden] { display: none; }
.brand-intro { position: fixed; z-index: 1000; inset: 0; overflow: hidden; background: #020508; color: #f4dda4; opacity: 1; transition: opacity .42s ease; }
.brand-intro.is-leaving { opacity: 0; pointer-events: none; }
.brand-intro-stage { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }
.brand-intro-skip { position: absolute; z-index: 6; top: max(18px, env(safe-area-inset-top)); right: 22px; min-height: 36px; padding: 0 12px; border: 1px solid #604e2e; border-radius: 4px; background: rgba(2,5,8,.82); color: #c9b27d; font-size: 12px; }
.brand-intro-hint { position: absolute; z-index: 6; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); transform: translateX(-50%); color: #6f7881; font-size: 11px; white-space: nowrap; opacity: 0; animation: intro-hint-in .4s 1.8s ease forwards; }
.intro-car, .intro-final-logo { position: absolute; width: min(660px, 92vw); height: auto; user-select: none; pointer-events: none; }
.intro-car { z-index: 2; clip-path: inset(23% 1% 30% 1%); opacity: 0; transform: translate(-118vw, -6%) scale(.72); filter: blur(12px) drop-shadow(0 0 22px rgba(232,185,91,.48)); }
.brand-intro.is-playing .intro-car { animation: intro-car-arrival 1.35s cubic-bezier(.18,.75,.21,1) forwards; }
.intro-final-logo { z-index: 3; width: min(560px, 80vw); opacity: 0; transform: scale(.92); filter: drop-shadow(0 0 24px rgba(224,174,77,.18)); }
.brand-intro.is-playing .intro-final-logo { animation: intro-logo-lock .72s 1.12s cubic-bezier(.2,.75,.2,1) forwards; }
.intro-caption { position: absolute; z-index: 4; top: calc(50% + min(292px, 39vw)); margin: 0; color: #c8af76; font-size: 13px; letter-spacing: .12em; opacity: 0; transform: translateY(8px); }
.brand-intro.is-playing .intro-caption { animation: intro-caption-in .5s 1.5s ease forwards; }
.intro-track { position: absolute; z-index: 1; left: -35vw; top: 58%; width: 34vw; height: 2px; background: #d2a751; box-shadow: 0 0 10px rgba(224,174,77,.75), 0 14px 0 rgba(176,134,57,.22); opacity: 0; }
.brand-intro.is-playing .intro-track { animation: intro-track-sweep 1.15s .08s cubic-bezier(.18,.78,.25,1) forwards; }
.intro-spark { position: absolute; z-index: 4; left: calc(50% + min(224px, 30vw)); top: calc(50% - min(90px, 12vw)); width: 5px; height: 5px; background: #fff4c9; opacity: 0; box-shadow: 0 0 7px #fff4c9, 0 0 18px #d8a44a, 0 0 42px #d8a44a; transform: rotate(45deg) scale(.2); }
.brand-intro.is-playing .intro-spark { animation: intro-spark-flash .62s 1.42s ease-out forwards; }
.brand-intro-running .login-shell { opacity: .08; transform: scale(.985); }
.brand-intro-complete .login-shell { animation: login-stage-reveal .56s ease both; }
@keyframes intro-car-arrival {
  0% { opacity: 0; transform: translate(-118vw, -6%) scale(.72); filter: blur(12px) drop-shadow(0 0 22px rgba(232,185,91,.45)); }
  24% { opacity: 1; }
  68% { opacity: 1; transform: translate(0, -6%) scale(1); filter: blur(0) drop-shadow(0 0 22px rgba(232,185,91,.32)); }
  86% { opacity: .9; transform: translate(2vw, -6%) scale(1); }
  100% { opacity: 0; transform: translate(2vw, -6%) scale(1.01); filter: blur(0) drop-shadow(0 0 14px rgba(232,185,91,.15)); }
}
@keyframes intro-track-sweep {
  0% { opacity: 0; transform: translateX(0) scaleX(.3); }
  25% { opacity: 1; }
  100% { opacity: 0; transform: translateX(155vw) scaleX(2.2); }
}
@keyframes intro-logo-lock {
  0% { opacity: 0; transform: scale(.92); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes intro-spark-flash {
  0% { opacity: 0; transform: rotate(45deg) scale(.2); }
  38% { opacity: 1; transform: rotate(45deg) scale(2.3); }
  100% { opacity: 0; transform: rotate(45deg) scale(4.8); }
}
@keyframes intro-caption-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes intro-hint-in {
  to { opacity: 1; }
}
@keyframes login-stage-reveal {
  from { opacity: .1; transform: translateY(8px) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.visual-hero { position: relative; isolation: isolate; min-height: 240px; margin: -10px 0 28px; padding: 38px; border: 1px solid #31465f; border-radius: 8px; overflow: hidden; background: url("visual_main_banner.jpg") center 46% / cover no-repeat; display: flex; flex-direction: column; justify-content: end; }
.visual-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(5, 14, 25, .72); }
.visual-hero > .eyebrow, .visual-hero > h1, .visual-hero > p { position: relative; z-index: 2; }
.hero-brand-watermark { position: absolute; z-index: 1; width: min(290px, 30vw); height: auto; right: 22px; top: 50%; transform: translateY(-50%); opacity: .52; mix-blend-mode: screen; pointer-events: none; }
.visual-hero h1 { margin: 8px 0 8px; max-width: 820px; font-size: 36px; line-height: 1.2; color: #f4dda4; }
.visual-hero p { max-width: 760px; margin: 0; color: #c8d5e1; line-height: 1.7; }
.compact-hero { min-height: 220px; }
.workflow-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--line); }
.workflow-strip > div { min-height: 96px; padding: 16px; background: var(--surface); display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; align-content: center; }
.workflow-strip > div.active { background: #2d2b1d; }
.workflow-strip span { grid-row: 1 / 3; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--brand); border-radius: 50%; color: var(--brand); font-weight: 800; }
.workflow-strip strong, .workflow-strip small { display: block; }
.workflow-strip small { color: var(--muted); margin-top: 4px; }
.upload-box span { color: var(--muted); font-weight: 400; }
.upload-box input { background: transparent; border: 0; padding: 0; max-width: 420px; }
.guardrails { display: grid; gap: 8px; }
.guardrails p { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 6px; color: #c7d3de; line-height: 1.55; }
.padded { padding: 20px 20px 0; }
.candidate-metrics { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.candidate-filter { grid-template-columns: minmax(260px, 1fr) 220px 120px; }
.candidate-shell { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.4fr); gap: 18px; align-items: start; }
.candidate-list-panel { padding: 0; overflow: hidden; position: sticky; top: 18px; }
.candidate-list-panel .panel-head { padding: 18px 18px 0; }
.candidate-list { max-height: 720px; overflow: auto; border-top: 1px solid var(--line); }
.candidate-row { display: grid; grid-template-columns: 42px minmax(140px, 1.5fr) minmax(110px, .8fr) 44px 20px; gap: 10px; align-items: center; padding: 13px 14px; border-bottom: 1px solid var(--line); }
.candidate-row:hover { background: #17273a; }
.candidate-row.active { background: #30301e; box-shadow: inset 3px 0 0 var(--brand); }
.candidate-name, .candidate-city { min-width: 0; }
.candidate-name strong, .candidate-name small, .candidate-city strong, .candidate-city small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.candidate-name small, .candidate-city small { color: var(--muted); margin-top: 4px; font-size: 11px; }
.candidate-row .score { color: var(--brand); font-weight: 800; text-align: right; }
.verification-panel { padding: 22px; }
.verify-title { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.verify-title h2 { margin: 10px 0 4px; font-size: 25px; }
.verify-title p { margin: 0; color: var(--muted); }
.source-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0; }
.evidence-block { margin: 0 0 22px; padding: 15px; border: 1px solid #4d4729; background: #262719; border-radius: 6px; }
.evidence-block span { color: var(--brand); font-size: 12px; font-weight: 800; }
.evidence-block p { margin: 7px 0 0; line-height: 1.65; color: #d9e1e8; }
.verification-actions { display: grid; grid-template-columns: 1.6fr 1.2fr 1fr 1fr; gap: 9px; margin-top: 18px; }
.danger-button { min-height: 42px; padding: 0 14px; border: 1px solid #7a3b42; border-radius: 6px; background: #421d23; color: #ffb9be; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; }
.upload-progress { width: 100%; padding: 13px; border: 1px solid #4c5d6f; border-radius: 6px; background: #101c2a; text-align: left; }
.upload-progress[hidden] { display: none; }
.upload-progress-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.upload-progress-head span, .upload-progress small { color: var(--muted); }
.upload-progress-track { height: 7px; margin-bottom: 8px; overflow: hidden; border-radius: 4px; background: #26374a; }
.upload-progress-track span { display: block; width: 0; height: 100%; background: var(--brand); transition: width .2s ease; }
.upload-progress-track span.processing { animation: upload-pulse 1.1s ease-in-out infinite alternate; }
@keyframes upload-pulse { from { opacity: .45; } to { opacity: 1; } }
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 18px; }
.pagination a:last-child { justify-self: end; }
.pagination strong { color: var(--muted); font-size: 13px; }
.outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 16px; }
.outcome-grid label { position: relative; display: block; cursor: pointer; }
.outcome-grid input { position: absolute; opacity: 0; pointer-events: none; }
.outcome-grid span { min-height: 48px; display: grid; place-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); text-align: center; }
.outcome-grid input:checked + span { border-color: var(--brand); background: #30301e; color: #f4dda4; box-shadow: inset 3px 0 0 var(--brand); }
.post-sale-history { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--line); }
.post-sale-history > div { display: grid; grid-template-columns: 132px minmax(130px, .7fr) minmax(0, 1.4fr); gap: 12px; padding: 13px; background: var(--surface); align-items: center; }
.post-sale-history span, .post-sale-history small { color: var(--muted); }
.post-sale-history small { overflow-wrap: anywhere; }
@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(3, 1fr); }
  .account-layout { grid-template-columns: 1fr; }
  .customer-focus { grid-template-columns: 1fr; }
  .candidate-shell { grid-template-columns: 1fr; }
  .candidate-list-panel { position: static; }
  .dataset-overview { grid-template-columns: 1fr auto; }
  .dataset-stats { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 760px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  .sidebar { display: none; }
  .app-main { width: 100%; max-width: 100%; margin-left: 0; padding: 18px 12px 168px; overflow-x: hidden; }
  .mobile-nav { position: fixed; z-index: 30; display: flex; justify-content: space-around; align-items: center; inset: auto 0 0; height: 66px; background: #08111d; border-top: 1px solid var(--line); }
  .mobile-nav a { display: grid; justify-items: center; gap: 4px; color: #bdc9d4; font-size: 11px; }
  .page-head { display: grid; align-items: start; }
  .page-head > .button { width: 100%; }
  .page-head h1 { font-size: 25px; }
  .head-actions { display: none; }
  .metric-grid, .metric-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric { min-height: 112px; padding: 15px; }
  .metric strong { font-size: 27px; }
  .two-col, .account-layout, .form-grid.two, .login-shell { grid-template-columns: 1fr; }
  .login-copy { min-height: auto; padding: 34px 28px; }
  .login-brand-logo { width: 112px; margin: -12px 0 12px; }
  .login-copy h1 { font-size: 29px; }
  .login-form { padding: 32px 26px; }
  .intro-car { width: 116vw; }
  .intro-final-logo { width: 88vw; }
  .intro-caption { top: calc(50% + 43vw); max-width: 86vw; text-align: center; font-size: 11px; }
  .intro-spark { left: 80%; top: 43%; }
  .filter-bar { grid-template-columns: 1fr; }
  .filter-bar input:first-child { grid-column: auto; }
  .focus-title { display: grid; }
  .city-badge { text-align: left; }
  .contact-actions, .context-strip { grid-template-columns: 1fr; }
  .followup-form { padding: 18px 15px; }
  .queue-table { display: none; }
  .visual-hero { min-height: 160px; padding: 21px 18px; margin-bottom: 18px; background-position: 58% 46%; }
  .hero-brand-watermark { width: 138px; right: -12px; opacity: .4; }
  .visual-hero h1 { font-size: 24px; }
  .visual-hero p { font-size: 13px; line-height: 1.55; }
  .dataset-overview { grid-template-columns: 1fr; gap: 16px; padding: 18px 16px; margin-bottom: 22px; }
  .dataset-copy h2 { font-size: 19px; }
  .dataset-stats { grid-column: auto; grid-row: auto; }
  .dataset-stats div { padding: 3px 9px; }
  .dataset-stats div:first-child { border-left: 0; }
  .dataset-stats strong { font-size: 22px; }
  .dataset-overview > .button { width: 100%; min-height: 48px; }
  .mobile-action-band { display: grid; gap: 8px; margin: -2px 0 20px; }
  .mobile-action-band a { min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
  .mobile-action-band a svg { color: var(--brand); }
  .mobile-action-band strong, .mobile-action-band small { display: block; }
  .mobile-action-band small { margin-top: 3px; color: var(--muted); }
  .workflow-strip { grid-template-columns: 1fr 1fr; }
  .candidate-metrics { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
  .candidate-metrics .metric { flex: 0 0 118px; min-height: 84px; padding: 12px; }
  .candidate-metrics .metric strong { margin: 8px 0 0; font-size: 24px; }
  .candidate-filter { grid-template-columns: 1fr; }
  .mobile-record-picker { display: grid; gap: 8px; margin-bottom: 14px; padding: 14px; border: 1px solid #51492d; border-radius: 7px; background: #1c201a; }
  .mobile-record-picker small { color: var(--muted); line-height: 1.5; }
  .mobile-record-picker select { min-height: 48px; }
  .candidate-list-panel { display: none; }
  .candidate-shell { display: block; }
  .verification-panel { padding: 17px 15px; }
  .verify-title h2 { font-size: 21px; }
  .source-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .source-actions .button { min-height: 48px; padding: 0 10px; }
  .source-actions .primary:first-child { grid-column: 1 / -1; }
  .verification-actions { grid-template-columns: 1fr 1fr; position: sticky; bottom: 72px; z-index: 8; padding: 10px; margin: 18px -10px -10px; background: rgba(8, 17, 29, .96); border: 1px solid var(--line); border-radius: 7px; }
  .verification-actions button, .danger-button { min-height: 50px; padding: 7px 8px; font-size: 13px; }
  .verify-title { display: grid; }
  .customer-desktop-table { display: none; }
  .customer-mobile-list { display: grid; gap: 8px; }
  .customer-mobile-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) 20px; align-items: center; gap: 10px; min-height: 82px; padding: 13px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
  .customer-mobile-copy { min-width: 0; }
  .customer-mobile-copy strong, .customer-mobile-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .customer-mobile-copy small { margin-top: 5px; color: var(--muted); font-size: 12px; }
  .pagination { grid-template-columns: 1fr 1fr; }
  .pagination strong { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .pagination a { grid-row: 2; min-height: 48px; }
  .customer-focus { gap: 12px; }
  .focus-main { padding: 17px 15px; }
  .contact-button { min-height: 58px; }
  .won-focus .post-sale-form { border: 1px solid var(--line); border-radius: 7px; }
  .won-lower { display: grid; }
  .won-customer-list { display: none; }
  .outcome-grid { grid-template-columns: 1fr 1fr; }
  .post-sale-history > div { grid-template-columns: 1fr; gap: 5px; }
  .mobile-quick-followup { position: fixed; z-index: 29; left: 10px; right: 10px; bottom: 72px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 9px; background: rgba(8, 17, 29, .97); border: 1px solid #675932; border-radius: 7px; box-shadow: 0 -10px 30px rgba(0,0,0,.28); }
  .mobile-quick-copy { display: none; }
  .mobile-quick-followup button { min-height: 50px; padding: 7px 4px; display: grid; justify-items: center; gap: 4px; font-size: 12px; }
  .followup-details { border: 1px solid var(--line); border-radius: 7px; background: var(--surface); overflow: hidden; }
  .followup-details > summary { display: flex; min-height: 50px; align-items: center; justify-content: center; color: #d8c28f; cursor: pointer; font-weight: 700; }
  .followup-details[open] > summary { border-bottom: 1px solid var(--line); }
  .followup-form { border: 0; border-radius: 0; }
  input, select, textarea, .button, button { min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  .brand-intro { display: none !important; }
  .brand-intro-complete .login-shell { animation: none; }
}

/* Sales playbook: a bilingual dispatch sheet for one dealer conversation. */
.playbook-page-head { align-items: center; }
.playbook-page-head h1 { max-width: 860px; }
.conversation-runway { position: relative; display: grid; grid-template-columns: repeat(8, minmax(92px, 1fr)); gap: 1px; margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
.conversation-runway a { position: relative; min-height: 88px; padding: 13px 10px 12px 43px; background: #0f1b29; display: grid; align-content: center; gap: 2px; }
.conversation-runway a::after { content: ""; position: absolute; left: 24px; top: 43px; bottom: -45px; width: 1px; background: #41536a; }
.conversation-runway a:last-child::after { display: none; }
.conversation-runway a:hover { background: #17263a; }
.conversation-runway a.active { background: #2b2a1c; box-shadow: inset 0 3px 0 var(--brand); }
.conversation-runway a > span { position: absolute; left: 13px; top: 29px; width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid #52657b; border-radius: 50%; color: var(--muted); font: 700 11px/1 "Segoe UI", Arial, sans-serif; background: #0b1623; }
.conversation-runway a.active > span { border-color: var(--brand); color: #f4dda4; background: #3a321d; }
.conversation-runway strong { font-size: 14px; }
.conversation-runway small { color: var(--muted); font-size: 11px; }
.playbook-filter { display: grid; grid-template-columns: minmax(240px, 1.6fr) minmax(200px, 1.2fr) minmax(180px, 1fr) 130px 130px; gap: 11px; padding: 15px; }
.playbook-filter label { min-width: 0; }
.playbook-shell { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); gap: 18px; align-items: start; }
.playbook-context { position: sticky; top: 18px; min-width: 0; }
.context-ticket { border-top: 3px solid var(--brand); }
.context-ticket-title { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 12px; align-items: start; padding: 12px 0 17px; border-bottom: 1px solid var(--line); }
.context-ticket-title h2 { margin: 8px 0 3px; font-size: 21px; overflow-wrap: anywhere; }
.context-ticket-title p { margin: 0; color: var(--muted); font-family: "Segoe UI", Arial, sans-serif; overflow-wrap: anywhere; }
.context-ticket-title > svg { width: 30px; height: 30px; color: var(--brand); }
.context-ticket dl { margin: 16px 0; display: grid; gap: 1px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--line); }
.context-ticket dl div { display: grid; grid-template-columns: 88px 1fr; gap: 10px; padding: 10px 11px; background: #142235; }
.context-ticket dt { color: var(--muted); font-size: 12px; }
.context-ticket dd { margin: 0; text-align: right; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.persona-brief h2 { margin: 8px 0 15px; }
.persona-brief p { margin: 9px 0 0; color: #c8d4df; line-height: 1.65; }
.persona-brief p strong { display: block; margin-bottom: 2px; color: var(--brand); font-size: 12px; }
.context-editor { padding: 0; overflow: hidden; }
.context-editor > summary { min-height: 68px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.context-editor > summary::-webkit-details-marker { display: none; }
.context-editor > summary span { display: flex; align-items: center; gap: 9px; font-weight: 800; }
.context-editor > summary span svg { color: var(--brand); }
.context-editor > summary small { color: var(--muted); text-align: right; }
.context-editor[open] > summary { border-bottom: 1px solid var(--line); background: #17263a; }
.context-editor form { padding: 16px; display: grid; gap: 13px; }
.playbook-launch { border-color: #786737; background: #29291b; }
.playbook-launch svg { color: var(--brand); }
.playbook-results { min-width: 0; }
.results-head { min-height: 58px; display: flex; justify-content: space-between; align-items: start; gap: 16px; margin: 0 1px 12px; }
.results-head h2 { margin: 5px 0 0; font-size: 23px; }
.results-head > span { color: var(--muted); font-size: 13px; }
.script-ticket { position: relative; margin-bottom: 15px; overflow: hidden; border: 1px solid var(--line); border-left: 3px solid #536981; border-radius: var(--radius); background: var(--surface); }
.script-ticket.featured { border-color: #625633; border-left-color: var(--brand); box-shadow: 0 14px 30px rgba(0,0,0,.16); }
.script-ticket > header { min-height: 78px; padding: 17px 19px; display: flex; justify-content: space-between; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); background: #101c2a; }
.script-ticket > header > div { display: flex; align-items: center; gap: 13px; min-width: 0; }
.script-ticket h3 { margin: 0 0 5px; font-size: 18px; }
.script-ticket header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.script-order { flex: 0 0 auto; color: var(--brand); font: 700 12px/1 "Segoe UI", Arial, sans-serif; letter-spacing: .08em; }
.recommended-badge { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #756334; border-radius: 4px; background: #302b1b; color: #f1d38d; font-size: 11px; font-weight: 800; }
.customer-signal { margin: 17px 19px 0; padding: 13px 15px; display: grid; gap: 4px; border-left: 3px solid var(--blue); background: #13263b; }
.customer-signal span { color: var(--blue); font-size: 11px; font-weight: 800; }
.customer-signal strong { color: #e5f0fb; font: 600 15px/1.55 "Segoe UI", Arial, sans-serif; }
.customer-signal small { color: var(--muted); }
.russian-copy-block { padding: 20px 19px 18px; }
.russian-copy-block > span { color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.script-ru { margin: 10px 0 17px; color: #f4f7fa; font: 500 17px/1.78 "Segoe UI", Arial, sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; }
.script-copy { min-width: 190px; }
.script-copy.is-copied { background: var(--green); color: #071b15; }
.translation-check { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0d1927; }
.translation-check summary { min-height: 48px; padding: 0 19px; display: flex; align-items: center; cursor: pointer; color: #cbd6df; font-weight: 700; }
.translation-check p { margin: 0; padding: 0 19px 17px; color: #b7c5d2; line-height: 1.7; }
.script-rails { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: var(--line); }
.script-rails > div { min-width: 0; padding: 15px; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; background: #142235; color: #c9d4de; font-size: 12px; line-height: 1.6; }
.script-rails svg { width: 17px; height: 17px; color: var(--brand); }
.script-rails small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 10px; font-weight: 800; }
.script-rails .risk { background: #2d241d; color: #efd4b3; }
.script-rails .risk svg { color: #e9a968; }
.playbook-guardrail { display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding: 15px 17px; border: 1px solid #456556; border-radius: var(--radius); background: #142c27; color: #c6e5d7; }
.playbook-guardrail svg { color: var(--green); }
.playbook-guardrail p { margin: 0; line-height: 1.6; }
.playbook-guardrail strong { display: block; color: var(--green); }
.sales-profile-form { max-width: 980px; padding-bottom: 94px; }
.profile-section { padding: 23px; }
.profile-section-title { display: flex; align-items: start; gap: 13px; margin-bottom: 19px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.profile-section-title > span { color: var(--brand); font: 800 12px/1 "Segoe UI", Arial, sans-serif; letter-spacing: .08em; }
.profile-section-title h2 { margin: -3px 0 4px; }
.profile-section-title p { margin: 0; color: var(--muted); }
.profile-section > label { margin-top: 14px; }
.risk-section { border-left: 3px solid #c47f55; }
.profile-save { position: fixed; z-index: 24; right: 38px; bottom: 22px; min-width: 260px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid #f1d38d; outline-offset: 2px; }

@media (max-width: 1180px) {
  .conversation-runway { grid-template-columns: repeat(4, 1fr); }
  .playbook-filter { grid-template-columns: 1.4fr 1.2fr 1fr; }
  .playbook-shell { grid-template-columns: 300px minmax(0, 1fr); }
  .script-rails { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .playbook-page-head .button { width: 100%; }
  .conversation-runway { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .conversation-runway a { flex: 0 0 112px; min-height: 78px; padding-left: 39px; scroll-snap-align: start; }
  .conversation-runway a > span { left: 11px; top: 26px; }
  .conversation-runway a::after { display: none; }
  .playbook-filter { grid-template-columns: 1fr 1fr; gap: 9px; padding: 12px; }
  .playbook-filter label:first-child, .playbook-filter label:nth-child(2) { grid-column: 1 / -1; }
  .playbook-filter label { font-size: 11px; }
  .playbook-shell { display: flex; flex-direction: column; }
  .playbook-results { order: 1; }
  .playbook-context { order: 2; position: static; margin-top: 16px; }
  .context-ticket, .persona-brief { margin-bottom: 11px; }
  .context-editor { margin-bottom: 15px; }
  .results-head { min-height: auto; margin-top: 19px; }
  .script-ticket > header { padding: 14px; align-items: start; }
  .script-ticket h3 { font-size: 16px; }
  .customer-signal { margin: 13px 13px 0; }
  .russian-copy-block { padding: 17px 14px 15px; }
  .script-ru { font-size: 16px; line-height: 1.72; }
  .script-copy { position: sticky; bottom: 138px; z-index: 5; width: 100%; min-height: 50px; }
  .translation-check summary, .translation-check p { padding-left: 14px; padding-right: 14px; }
  .script-rails > div { padding: 13px; }
  .profile-section { padding: 18px 15px; }
  .profile-save { left: 10px; right: 10px; bottom: 76px; width: auto; min-width: 0; min-height: 52px; }
}

/* Approved brand entry: a moving environment with a stationary vehicle mark. */
.login-main {
  display: block;
  min-height: 100dvh;
  padding: 0;
  overflow: hidden;
}
.login-main > .flash {
  position: fixed;
  z-index: 120;
  top: 86px;
  left: 50%;
  width: min(560px, calc(100% - 32px));
  margin: 0;
  transform: translateX(-50%);
}
.entry-experience {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  background: #05090e;
}
.entry-motion,
.entry-shade {
  position: absolute;
  inset: 0;
}
.entry-motion {
  z-index: -3;
  overflow: hidden;
}
.entry-motion video {
  width: 100%;
  height: 130%;
  object-fit: cover;
  object-position: top center;
  transform: translateY(-8%);
  filter: grayscale(.76) saturate(.42) contrast(1.22) brightness(.46);
  animation: entry-background-drift 12s ease-in-out infinite alternate;
}
.entry-shade {
  z-index: -2;
  background: rgba(3, 7, 11, .52);
  box-shadow: inset 0 160px 150px rgba(3, 7, 11, .38), inset 0 -210px 180px rgba(3, 7, 11, .78);
}
.entry-nav {
  position: relative;
  z-index: 6;
  display: flex;
  width: min(980px, calc(100% - 48px));
  min-height: 62px;
  margin: 18px auto 0;
  padding: 9px 12px 9px 18px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(226, 196, 129, .22);
  border-radius: 8px;
  background: rgba(8, 13, 20, .72);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 46px rgba(0, 0, 0, .24);
}
.entry-brand strong,
.entry-brand span,
.entry-auth-brand strong,
.entry-auth-brand span {
  display: block;
}
.entry-brand strong,
.entry-auth-brand strong {
  color: #f6f8fa;
  font-size: 15px;
}
.entry-brand span,
.entry-auth-brand span {
  margin-top: 3px;
  color: #e2c481;
  font-size: 9px;
}
.entry-nav nav {
  display: flex;
  gap: 30px;
  color: rgba(238, 244, 248, .72);
  font-size: 13px;
  font-weight: 700;
}
.entry-replay,
.entry-back {
  display: grid;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 6px;
  background: rgba(6, 10, 15, .68);
  color: #eef4f8;
}
.entry-replay:hover,
.entry-back:hover {
  border-color: #e2c481;
  color: #f4dfaa;
}
.entry-choice {
  position: absolute;
  z-index: 4;
  top: 48%;
  left: 50%;
  width: min(980px, calc(100% - 72px));
  text-align: center;
  transform: translate(-50%, -50%);
  animation: entry-copy-in .75s ease both;
}
.entry-kicker {
  margin: 0;
  color: #e2c481;
  font-size: 13px;
  font-weight: 800;
}
.entry-choice h1 {
  max-width: 920px;
  margin: 22px auto 20px;
  color: #fff;
  font-size: clamp(50px, 5.1vw, 78px);
  line-height: 1.12;
  text-shadow: 0 14px 50px rgba(0, 0, 0, .5);
}
.entry-summary {
  max-width: 690px;
  margin: 0 auto;
  color: rgba(238, 244, 248, .82);
  font-size: 16px;
  line-height: 1.8;
}
.entry-actions {
  display: flex;
  margin-top: 34px;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.entry-primary,
.entry-secondary {
  display: inline-flex;
  min-height: 48px;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 800;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.entry-primary {
  border: 1px solid #e2c481;
  background: #e2c481;
  color: #17130c;
}
.entry-primary:hover {
  background: #f4dfaa;
  transform: translateY(-2px);
}
.entry-secondary {
  border: 1px solid rgba(244, 223, 170, .5);
  background: rgba(7, 12, 18, .68);
  color: #f4dfaa;
  backdrop-filter: blur(14px);
}
.entry-secondary:hover {
  border-color: #f4dfaa;
  background: rgba(15, 23, 32, .9);
  transform: translateY(-2px);
}
.entry-emblem {
  position: absolute;
  z-index: 2;
  right: 5vw;
  bottom: 2vh;
  width: min(34vw, 510px);
  height: auto;
  clip-path: inset(0 0 5% 0);
  opacity: .78;
  mix-blend-mode: screen;
  filter: saturate(.68) brightness(.9) contrast(1.14);
  pointer-events: none;
}
.entry-process {
  position: absolute;
  z-index: 4;
  left: max(36px, calc((100vw - 1440px) / 2));
  bottom: 38px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(238, 244, 248, .72);
  font-size: 12px;
}
.entry-process svg {
  width: 13px;
  color: #e2c481;
}
.entry-auth[hidden],
.entry-choice[hidden] {
  display: none !important;
}
.entry-auth {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  display: flex;
  width: min(470px, 38vw);
  min-width: 410px;
  min-height: 100dvh;
  padding: 42px clamp(34px, 4vw, 62px);
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(226, 196, 129, .22);
  background: #0b1119;
  box-shadow: -50px 0 100px rgba(2, 5, 8, .52);
  animation: entry-auth-in .48s cubic-bezier(.16, 1, .3, 1) both;
}
.entry-auth .entry-back {
  position: absolute;
  top: 30px;
  right: 30px;
}
.entry-auth-brand {
  margin-bottom: 62px;
}
.entry-auth-copy p {
  margin: 0 0 12px;
  color: #e2c481;
  font-size: 14px;
  font-weight: 800;
}
.entry-auth-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.35;
}
.entry-form {
  display: grid;
  gap: 17px;
  margin-top: 38px;
}
.entry-form label span {
  display: block;
  margin-bottom: 7px;
  color: #92a0ae;
  font-size: 13px;
}
.entry-form input {
  height: 48px;
  border-color: rgba(255, 255, 255, .12);
  background: #111a25;
}
.entry-submit {
  width: 100%;
  margin-top: 8px;
}
.entry-role-note {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-left: 2px solid #e2c481;
  background: #121b25;
  color: #f4dfaa;
  font-size: 12px;
  line-height: 1.65;
}
.entry-security-note {
  display: flex;
  margin: 20px 0 0;
  align-items: flex-start;
  gap: 8px;
  color: #7e8d9b;
  font-size: 11px;
  line-height: 1.6;
}
.entry-security-note svg {
  width: 16px;
  color: #74b6a4;
}
.entry-experience.is-auth .entry-emblem {
  right: 42vw;
  bottom: 5vh;
  width: min(46vw, 650px);
  opacity: .55;
  transition: right .5s ease, width .5s ease, opacity .5s ease;
}
.entry-experience.is-auth .entry-process {
  opacity: .35;
}
@keyframes entry-background-drift {
  0% { transform: translate3d(0, -8%, 0) scale(1.01); }
  100% { transform: translate3d(0, -15%, 0) scale(1.06); }
}
@keyframes entry-copy-in {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 20px)); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}
@keyframes entry-auth-in {
  from { opacity: 0; transform: translateX(34px); }
  to { opacity: 1; transform: translateX(0); }
}
@media (max-width: 760px) {
  .entry-experience {
    min-height: 100svh;
    min-height: 100dvh;
  }
  .entry-nav {
    width: calc(100% - 28px);
    min-height: 56px;
    margin-top: 10px;
    padding: 7px 8px 7px 14px;
    border-color: rgba(226, 196, 129, .28);
    background: rgba(6, 11, 17, .8);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .2);
  }
  .entry-brand strong { font-size: 17px; }
  .entry-brand span {
    margin-top: 2px;
    font-size: 8px;
  }
  .entry-nav nav { display: none; }
  .entry-replay {
    width: 38px;
    height: 38px;
    min-height: 38px;
  }
  .entry-motion video {
    height: 112%;
    object-position: 56% center;
    transform: translateY(-4%);
    filter: grayscale(.7) saturate(.5) contrast(1.2) brightness(.5);
    animation: entry-background-drift-mobile 12s ease-in-out infinite alternate;
  }
  .entry-shade {
    background:
      linear-gradient(180deg, rgba(3, 7, 11, .68) 0%, rgba(3, 7, 11, .28) 25%, rgba(3, 7, 11, .48) 58%, rgba(3, 7, 11, .92) 100%);
    box-shadow: inset 0 100px 100px rgba(3, 7, 11, .28);
  }
  .entry-choice {
    top: 42%;
    left: 50%;
    width: calc(100% - 36px);
    text-align: center;
    transform: translate(-50%, -50%);
  }
  .entry-kicker {
    font-size: 12px;
  }
  .entry-choice h1 {
    max-width: 390px;
    margin: 12px auto 0;
    font-size: clamp(34px, 10.2vw, 43px);
    line-height: 1.12;
  }
  .entry-summary {
    max-width: 460px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.7;
  }
  .entry-actions {
    display: grid;
    width: min(100%, 390px);
    margin: 24px auto 0;
    align-items: stretch;
    justify-content: stretch;
    gap: 12px;
  }
  .entry-primary,
  .entry-secondary {
    width: 100%;
    min-height: 54px;
    border-radius: 8px;
    font-size: 16px;
  }
  .entry-emblem {
    right: -2vw;
    bottom: calc(10px + env(safe-area-inset-bottom));
    width: min(58vw, 260px);
    clip-path: none;
    opacity: .52;
    filter: saturate(.62) brightness(.86) contrast(1.16);
  }
  .entry-process { display: none; }
  .entry-auth {
    position: absolute;
    inset: 0;
    width: 100%;
    min-width: 0;
    padding: 80px 24px 32px;
    justify-content: flex-end;
    border-left: 0;
    background: rgba(7, 12, 18, .9);
    backdrop-filter: blur(12px);
  }
  .entry-auth .entry-back {
    top: 20px;
    right: 20px;
  }
  .entry-auth-brand {
    position: absolute;
    top: 24px;
    left: 24px;
    margin: 0;
  }
  .entry-auth-copy h2 { font-size: 30px; }
  .entry-form { margin-top: 26px; }
  .entry-experience.is-auth .entry-emblem {
    right: -6vw;
    bottom: 1vh;
    width: 72vw;
    opacity: .12;
  }
}
@media (max-width: 420px) {
  .entry-auth-copy h2 { font-size: 28px; }
  .entry-auth-brand { max-width: 220px; }
}
@media (max-width: 760px) and (max-height: 700px) {
  .entry-choice {
    top: 43%;
  }
  .entry-choice h1 {
    font-size: 32px;
  }
  .entry-actions {
    margin-top: 17px;
    gap: 9px;
  }
  .entry-primary,
  .entry-secondary {
    min-height: 49px;
  }
  .entry-emblem {
    width: 48vw;
    opacity: .4;
  }
}
@keyframes entry-background-drift-mobile {
  0% { transform: translate3d(0, -4%, 0) scale(1.01); }
  100% { transform: translate3d(0, -8%, 0) scale(1.045); }
}
@media (prefers-reduced-motion: reduce) {
  .entry-motion video { animation: none; transform: translateY(-8%); }
  .entry-choice,
  .entry-auth { animation: none; }
}
.password-shell {
  width: min(920px, calc(100% - 32px));
  min-height: calc(100vh - 80px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
  align-items: center;
  gap: 48px;
}

.password-copy h1 {
  margin: 10px 0 16px;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1.05;
}

.password-copy p {
  max-width: 580px;
  color: var(--muted);
  line-height: 1.8;
}

.password-form {
  display: grid;
  gap: 18px;
}

.password-reset summary {
  cursor: pointer;
  color: var(--brand);
  white-space: nowrap;
}

.password-reset form {
  min-width: 220px;
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

@media (max-width: 760px) {
  .password-shell {
    min-height: auto;
    padding: 28px 0 110px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
  }

  .password-copy h1 {
    font-size: 36px;
  }
}
