body{padding:18px;background:#f3f7fa}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.advisor-shell{max-width:1160px;margin:0 auto;border:1px solid var(--line);border-radius:23px;background:linear-gradient(135deg,#eef8f8,#f4f7fc 70%);box-shadow:0 20px 60px #0c2d5210;overflow:hidden}
.advisor-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 32px;border-bottom:1px solid #dce8ed}
.advisor-header .brand{margin:0;text-decoration:none;font-size:11px;letter-spacing:.09em}
.language-picker{display:flex;gap:2px;background:#ffffffa6;border:1px solid var(--line);border-radius:8px;padding:3px;flex-shrink:0}
.language-picker label{position:relative;cursor:pointer}
.language-picker input{position:absolute;opacity:0;width:1px;height:1px}
.language-picker span{display:block;min-height:33px;min-width:51px;padding:7px 10px;border-radius:5px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
.language-picker input:checked+span{background:var(--navy);color:#fff}
.language-picker input:focus-visible+span{outline:3px solid #5cafc9;outline-offset:3px}
.advisor-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start}
.advisor-layout>.introduction{padding:40px 31px}
.advisor-layout h1{font-size:35px;white-space:pre-line}
.advisor-layout .intro-copy{font-size:14px;line-height:1.8}
.advisor-layout .benefits{gap:22px;margin-top:31px}
.advisor-layout .benefits strong{font-size:13px}
.advisor-layout .intro-note{font-size:11px}
.advisor-card{position:relative;margin:22px 22px 22px 0;border:1px solid #dce6ed;border-radius:16px;background:white;box-shadow:0 8px 24px #0c2d5208;overflow:hidden;min-width:0}
.service-tabs{display:flex;gap:3px;padding:18px 21px 15px;border-bottom:1px solid #e7edf1}
.service-tabs button{flex:1;border:1px solid transparent;border-radius:8px;background:#f5f8fa;color:var(--muted);padding:11px 9px;min-height:44px;font-size:12px;line-height:1.5;font-weight:650}
.service-tabs button[aria-selected=true]{background:#eaf6f5;color:#086d76;border-color:#bfdddf}
.service-tabs button:focus-visible,.starter-questions button:focus-visible,.contact-alternative:focus-visible,.rating-button:focus-visible{outline:3px solid #5cafc9;outline-offset:2px}
#advisor-panel,#inquiry-panel{padding:25px 26px}
.advisor-greeting{display:flex;align-items:flex-start;gap:11px}
.advisor-avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#ecf7f6;color:var(--teal);font-size:24px}
.advisor-greeting h2{font-size:22px;line-height:1.25}
.advisor-greeting p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.75}
.starter-questions{display:grid;gap:8px;margin:22px 0}
.starter-questions button{text-align:left;background:#fff;border:1px solid #d5e3eb;color:var(--navy);border-radius:9px;padding:11px 13px;min-height:42px;font-size:12px;line-height:1.6}
.starter-questions button::after{content:'↗';float:right;margin-left:10px;color:var(--teal)}
.starter-questions button:hover{border-color:#83b5c2;background:#f7fbfc}
.conversation{display:grid;gap:18px;max-height:530px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:0 4px 0 0;scroll-margin-bottom:15px}
.conversation:empty{display:none}
.message{min-width:0}
.message-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.025em}
.message-content{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px 15px;border-radius:11px;font-size:13px;line-height:1.85;background:#f2f7fa;color:var(--ink)}
.message-user .message-content{margin-left:25px;background:#eaf5f4;color:#214e55}
.message-user .message-header{justify-content:flex-end}
.message-assistant .message-content{background:#f5f7fa}
.message-sources{margin:9px 0 0;font-size:11px;display:flex;flex-wrap:wrap;gap:6px 12px}
.message-sources a{color:#0b6f85;word-break:break-word;text-underline-offset:3px}
.message-meta{color:#697e8e;font-size:10px;margin:7px 0 0}
.rating-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.rating-label{color:var(--muted);font-size:11px;margin-right:2px}
.rating-button{border:1px solid var(--line);background:#fff;color:#496275;border-radius:7px;min-height:34px;min-width:39px;padding:6px 10px;font-size:12px}
.rating-button[aria-pressed=true]{color:#086d76;border-color:#83b5b9;background:#eaf6f5}
.rating-button:disabled{cursor:default;opacity:.7}
.feedback-status{font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.65}
.feedback-status.error{color:var(--error)}
.feedback-details{margin-top:12px;padding:14px;border:1px solid #d6e4eb;background:#fafcfd;border-radius:10px}
.feedback-details h3{margin:0;color:var(--navy);font-size:13px}
.feedback-details>p{font-size:11px;color:var(--muted);margin:7px 0 12px;line-height:1.65}
.feedback-details label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}
.feedback-details textarea{display:block;width:100%;resize:vertical;min-height:78px;padding:10px;border:1px solid #bfceda;border-radius:7px;font-size:12px;line-height:1.6;color:var(--ink);background:#fff}
.feedback-details input[type=file]{width:100%;font-size:11px;margin:3px 0 10px;color:var(--muted)}
.feedback-details .upload-label{margin-top:14px}
.feedback-details .button{min-height:40px;padding:8px;font-size:12px}
.feedback-details .detail-actions{grid-template-columns:1fr 1fr;margin-top:13px}
.feedback-image{display:block;max-width:100%;max-height:180px;border-radius:7px;border:1px solid var(--line);margin:8px 0}
.remove-image{display:inline-block;border:0;background:none;color:#9b2630;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:11px}
.chat-form{display:grid;gap:10px;margin-top:20px}
.chat-form textarea{display:block;width:100%;min-height:88px;padding:13px 14px;resize:vertical;border:1px solid #bfceda;border-radius:10px;background:white;font-size:13px;line-height:1.7;color:var(--ink)}
.chat-form textarea:focus,.feedback-details textarea:focus{outline:3px solid #80bbd344;outline-offset:1px;border-color:#3c879d}
.chat-form textarea::placeholder{color:#7b8c99}
.chat-form .button{min-height:43px;font-size:13px}
.chat-disclosure{margin:11px 0 0;color:#627888;font-size:10px;line-height:1.75}
.contact-alternative{width:100%;border:0;border-top:1px solid #e7edf1;padding:16px 0 0;margin:18px 0 0;background:none;color:var(--teal);font-size:11px;line-height:1.7;text-align:left}
.step-label>span[data-i18n]{display:inline;width:auto;height:auto;background:none;border-radius:0;font-size:10px;letter-spacing:.075em}
#inquiry-panel h2{font-size:25px}
#inquiry-panel .section-description{font-size:13px}
.complete-panel{padding:25px 0}
@media(max-width:860px){body{padding:12px}.advisor-header{padding:19px 23px}.advisor-layout{grid-template-columns:.7fr 1.3fr}.advisor-layout>.introduction{padding:32px 23px}.advisor-layout h1{font-size:29px}.advisor-card{margin:17px 17px 17px 0}#advisor-panel,#inquiry-panel{padding:23px 21px}.service-tabs{padding:17px 17px 13px}.service-tabs button{font-size:11px}}
@media(max-width:700px){body{padding:10px}.advisor-shell{max-width:580px}.advisor-header{padding:16px 19px}.advisor-header .brand{font-size:9px;letter-spacing:.06em;gap:7px}.brand-mark{width:28px;height:28px;font-size:20px}.language-picker span{font-size:10px;min-width:42px;padding:7px}.advisor-layout{grid-template-columns:1fr}.advisor-layout>.introduction{padding:23px 23px 21px}.advisor-layout h1{font-size:29px;line-height:1.23}.advisor-layout .eyebrow{font-size:10px;margin-bottom:9px}.advisor-layout .intro-copy{margin:11px 0 0;font-size:13px;line-height:1.7}.advisor-layout .benefits,.advisor-layout .intro-note{display:none}.advisor-card{margin:0 12px 12px}#advisor-panel,#inquiry-panel{padding:21px}.conversation{max-height:480px}.advisor-greeting h2{font-size:21px}.advisor-greeting p{font-size:12px}.service-tabs{padding:16px 15px 12px}.service-tabs button{padding:10px 7px}.language-picker{gap:0}}
@media(max-width:360px){body{padding:6px}.advisor-header{padding:15px}.advisor-header .brand{font-size:8px}.advisor-layout>.introduction{padding:21px 19px}.advisor-layout h1{font-size:27px}.advisor-card{margin:0 8px 8px}#advisor-panel,#inquiry-panel{padding:20px 16px}.service-tabs{padding:15px 11px 11px}.service-tabs button{font-size:10px}.feedback-details .detail-actions{grid-template-columns:1fr}.language-picker span{padding:6px;min-width:37px}}
