.assistant-page { padding: 150px 0 80px; background: var(--light); min-height: 100vh; }
.assistant-page-heading { max-width: 740px; margin-bottom: 36px; }
.assistant-page-heading h1 { font-family: var(--font-heading); font-size: clamp(2.2rem,4vw,3.8rem); line-height: 1.1; margin: 14px 0; letter-spacing: -.04em; }
.assistant-page-heading p { color: #596273; line-height: 1.8; }
.assistant-kicker { display: inline-block; color: #947332; font-size: .72rem; letter-spacing: .18em; font-weight: 700; }
.assistant-layout { display:grid; grid-template-columns: minmax(0,1fr) 310px; gap:24px; align-items:start; }
.assistant-card { border:1px solid #e2e3e5; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 20px 65px rgba(15,23,42,.07); }
.assistant-top { display:flex; align-items:center; gap:14px; padding:22px 28px; background:#101724; color:#fff; }
.assistant-avatar { display:grid; place-items:center; width:44px; height:44px; border:1px solid #bda166; border-radius:14px; color:#d4af37; font-family:var(--font-heading); font-weight:700; flex-shrink:0; }
.assistant-top strong { display:block; font-size:.95rem; }
.assistant-top small { display:block; color:#bfc6d0; font-size:.75rem; margin-top:3px; }
.assistant-restart { margin-left:auto; color:#e8d7b4; background:transparent; border:0; padding:10px; cursor:pointer; }
.assistant-progress { height:3px; background:#e8e8e8; }
.assistant-progress-fill { height:100%; background:var(--gold); transition:width .2s; }
.assistant-body { padding:28px; }
.assistant-log { max-height:310px; overflow:auto; padding-right:8px; display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.assistant-bubble { padding:14px 18px; border-radius:16px 16px 16px 4px; background:#f2f3f5; color:#202a38; max-width:90%; line-height:1.65; font-size:.94rem; overflow-wrap:anywhere; }
.assistant-bubble.user { align-self:flex-end; border-radius:16px 16px 4px 16px; background:#101724; color:#f3e5c5; }
.assistant-bubble.hint { background:none; color:#697384; padding:0 6px; font-size:.83rem; }
.assistant-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:20px; }
.assistant-choice { text-align:left; padding:17px; border-radius:12px; border:1px solid #dce0e5; background:#fff; color:#17202e; cursor:pointer; transition:border-color .15s,background .15s; }
.assistant-choice span { display:block; font-weight:600; }
.assistant-choice small { display:block; color:#647083; font-size:.77rem; margin-top:5px; }
.assistant-choice:hover, .assistant-choice.selected { border-color:#bda166; background:#faf6eb; }
.assistant-choice.selected { box-shadow:inset 0 0 0 1px #bda166; }
.assistant-input { margin-bottom:18px; max-width:100%; }
.assistant-back { border:0; background:transparent; color:#596273; padding:12px 15px; text-decoration:underline; cursor:pointer; }
.assistant-status { margin-top:16px; color:#8f412a; line-height:1.7; overflow-wrap:anywhere; }
.assistant-side { background:#101724; color:#fff; padding:28px; border-radius:22px; position:sticky; top:115px; }
.assistant-side h2 { font-family:var(--font-heading); font-size:1.3rem; margin:12px 0 20px; }
.assistant-side .assistant-kicker { color:#dbc18d; }
.assistant-summary-row { border-bottom:1px solid #ffffff16; padding:12px 0; }
.assistant-summary dt { font-size:.72rem; color:#aab3c1; margin-bottom:4px; }
.assistant-summary dd { margin:0; color:#eee4d0; font-size:.85rem; overflow-wrap:anywhere; }
.assistant-muted { color:#687385; font-size:.82rem; line-height:1.7; }
.assistant-side .assistant-muted { color:#aab3c1; }
.assistant-step-label { color:#bba36e; font-size:.75rem; margin-top:22px; }
.assistant-result { background:#faf6eb; padding:24px; border:1px solid #e8d7b4; border-radius:16px; margin:22px 0; }
.assistant-result-title { font-family:var(--font-heading); font-size:1.7rem; line-height:1.3; margin:10px 0; }
.assistant-price-line { display:block; margin:6px 0; font-size:.85rem; }
.assistant-send .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.assistant-send input, .assistant-send textarea { width:100%; }
.assistant-send .checkbox-label { display:flex; align-items:flex-start; gap:10px; font-size:.83rem; color:#596273; margin:18px 0; }
.assistant-send input[type=checkbox] { width:auto; margin-top:5px; }
.assistant-send input[type=file] { font-size:.8rem; }
.assistant-bottom-link { display:inline-block; color:#947332; margin-top:24px; text-decoration:underline; }
.assistant-cta { margin:20px 0; }
.assistant-card [hidden] { display:none !important; }
@media(max-width:850px){ .assistant-layout{grid-template-columns:1fr;} .assistant-side{position:static;order:2;} .assistant-page{padding-top:125px;} }
@media(max-width:480px){ .assistant-body{padding:20px;} .assistant-top{padding:18px;} .assistant-choice-grid,.assistant-send .form-grid{grid-template-columns:1fr;} .assistant-bubble{max-width:100%;} .assistant-log{max-height:240px;} }
@media(prefers-reduced-motion:reduce){.assistant-progress-fill,.assistant-choice{transition:none;}}

.assistant-view #header { background: #101724 !important; box-shadow: 0 8px 24px rgba(15,23,42,.16); }
.assistant-view #header .nav-link, .assistant-view #header .brand-name, .assistant-view #header .brand-tagline { color: #fff !important; -webkit-text-fill-color: #fff; text-shadow: none !important; }
.assistant-view #header .nav-toggle span { background: #fff !important; }
.assistant-view #header .nav-link.active { color: #e1c479 !important; -webkit-text-fill-color: #e1c479; }
