.assistant-page { padding-bottom: 90px; }
.assistant-hero { padding-block: 75px 48px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.assistant-hero h1 { max-width: 920px; }
.assistant-hero > div:first-child > p:last-child { max-width: 760px; font-size: 18px; }
.offline { padding: 10px 14px; display: flex; align-items: center; gap: 9px; background: var(--white); border: 1px solid var(--line); color: var(--slate); font-size: 13px; font-weight: 700; white-space: nowrap; }
.offline span { width: 9px; height: 9px; border-radius: 50%; background: #648a6c; }
.assistant-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 28px; align-items: start; }
.chat, .summary, .appointment, .success { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.chat { min-height: 690px; display: flex; flex-direction: column; }
.summary { position: sticky; top: 112px; }
.panel-head { padding: 26px 28px 21px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.panel-head h2, .appointment h2, .success h2 { margin: 0; font-size: clamp(27px,3vw,42px); }
.link-btn { padding: 0; border: 0; background: none; color: var(--slate); font-weight: 700; }
.progress { height: 4px; background: var(--soft); }.progress div { width: 0; height: 100%; background: var(--accent); transition: .25s; }
.messages { min-height: 390px; max-height: 500px; padding: 28px; overflow: auto; }
.message { max-width: 82%; margin-bottom: 15px; padding: 14px 16px; border: 1px solid var(--line); }.message p{margin:0}.message.assistant{background:var(--soft)}.message.user{margin-left:auto;background:var(--ink);border-color:var(--ink);color:var(--bg)}
.answer-zone { margin-top: auto; padding: 23px 28px 28px; border-top: 1px solid var(--line); background: rgba(245,243,238,.65); }
.option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.option,.multi{min-height:48px;padding:11px 14px;background:var(--white);border:1px solid var(--line);text-align:left;font-weight:600}.option:hover,.multi:hover,.multi.selected{border-color:var(--accent);color:var(--accent);background:rgba(184,111,82,.08)}
.multi-actions{margin-top:15px;text-align:right}.form{display:grid;grid-template-columns:1fr auto;gap:11px}.form.textarea{grid-template-columns:1fr}.form input,.form textarea{width:100%;padding:14px;border:1px solid var(--line);outline:0}.form textarea{min-height:110px;resize:vertical}.form input:focus,.form textarea:focus{border-color:var(--accent)}
.submit{padding:12px 18px;border:1px solid transparent;background:var(--ink);color:var(--bg);font-weight:700}.submit:hover{background:var(--accent)}
#status{height:max-content;padding:7px 10px;background:var(--soft);color:var(--slate);font-size:11px;font-weight:800;text-transform:uppercase}.summary-content{min-height:390px;padding:25px 28px}.summary-list{margin:0;display:grid;gap:15px}.summary-item{padding-bottom:13px;border-bottom:1px solid var(--line)}.summary-item dt{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.summary-item dd{margin:3px 0 0;font-size:14px;font-weight:600}.summary-actions{padding:0 28px 22px;display:flex;gap:9px}.privacy{margin:0;padding:18px 28px;background:var(--soft);border-top:1px solid var(--line);color:var(--slate);font-size:12px}
.appointment,.success{margin-top:30px;padding:36px}.muted{color:var(--slate)}.slots{margin-top:26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.slot{padding:17px;background:var(--bg);border:1px solid var(--line);text-align:left}.slot strong,.slot span{display:block}.slot span{color:var(--slate);font-size:13px}.slot:hover,.slot.selected{background:var(--ink);color:var(--bg)}.slot:hover span,.slot.selected span{color:var(--soft)}.slot-confirmation{margin-top:25px;padding:22px;background:var(--soft);border-left:4px solid var(--accent)}.success{text-align:center}.success>p:not(.eyebrow){max-width:750px;margin:16px auto 24px;color:var(--slate)}
@media(max-width:980px){.assistant-layout{grid-template-columns:1fr}.summary{position:static}.slots{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.assistant-hero{align-items:flex-start;flex-direction:column}.option-grid,.form,.slots{grid-template-columns:1fr}.message{max-width:92%}.appointment,.success{padding:25px 21px}}
