@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('assets/manrope-latin.woff2') format('woff2')}
:root{
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --brand-blue:#1015c9;--brand-yellow:#ffbf19;--brand-navy:#111a43;
  --surface:#fff;--text:#172044;--muted:#5c6681;--line:#dfe3ef;
  --accent:var(--brand-blue);--soft:#f0f1ff;--canvas:#f5f6fb;--subtle:#f7f8fc;
  --shadow:0 18px 48px rgb(0 0 0 / 6%);--radius:12px;
  background:var(--canvas);color:var(--text);font-optical-sizing:auto;
}
body{border-top:5px solid var(--brand-yellow);padding-bottom:140px}
::selection{background:var(--brand-yellow);color:var(--brand-navy)}
input{caret-color:var(--accent)}
*{scrollbar-color:#a5aed6 transparent;scrollbar-width:thin}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.topbar{max-width:none;background:#fff;padding:19px max(36px,calc((100vw - 1200px)/2));min-height:126px;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;gap:26px;flex:none}
.brand-logo{width:162px;height:auto;display:block}
.brand-caption{border-left:1px solid #dfe3ef;padding:8px 0 8px 25px;color:#5c6681;font-size:13px;line-height:1.65;letter-spacing:0}
.brand-caption strong{font-weight:700;color:var(--brand-navy)}
.top-right{gap:25px}.preview-label{font-size:12px;color:#5c6681}
.help{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid #dfe3ef;border-radius:9px;color:var(--brand-blue);font-weight:700;font-size:12px;background:#fff}
.help svg{width:19px;height:19px}.help:hover{background:#f0f1ff;border-color:#b6b8ec}
.layout{max-width:1272px;grid-template-columns:.92fr 1.08fr;gap:40px;padding:0 36px;margin-top:42px}
.introduction{background:var(--brand-blue);color:#fff;border-radius:16px;padding:38px 36px 30px;min-width:0}
h1{font-size:clamp(30px,2.8vw,39px);font-weight:800;line-height:1.19;letter-spacing:-.035em;margin:0 0 23px;text-wrap:balance}
h1 span{color:var(--brand-yellow)}
.intro-copy{color:#e0e4ff;font-size:14px;line-height:1.8;max-width:35ch;font-weight:500}
.journey{margin-top:28px}.journey li{font-size:13px;min-height:45px;color:#e0e4ff;gap:14px}
.step-dot{width:27px;height:27px;border-color:#7377e2;background:var(--brand-blue);color:#fff;font-weight:600;font-size:11px}
.journey li:not(:last-child):after{left:13px;top:34px;height:21px;background:#6a70e0}
.journey .current{color:#fff;font-weight:800}
.journey .current .step-dot{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--brand-navy);box-shadow:none}
.journey .complete .step-dot{background:#fff;border-color:#fff;color:var(--brand-blue)}
.summary{border-color:#676ddd;margin-top:24px;max-width:none;padding-top:16px;font-size:12px}
.summary span{color:#e0e4ff}.summary strong{color:#fff;font-weight:650;overflow-wrap:anywhere}
.safety-note{color:#e0e4ff;font-size:12px;line-height:1.75;margin-top:24px;max-width:37ch}
.safety-icon{width:21px;height:21px;flex:none;color:var(--brand-yellow);margin-top:2px}
.booking-panel{border:0;border-radius:16px;box-shadow:var(--shadow);min-height:515px}
.panel-heading{background:var(--surface);padding:23px 30px;font-size:12px;color:var(--muted);font-weight:600}
#step-caption{color:var(--text);font-weight:750}#step-number{font-variant-numeric:tabular-nums}
#screen{padding:32px 30px}.screen-title{font-size:27px;line-height:1.25;font-weight:800;letter-spacing:-.035em;text-wrap:balance}
.screen-description{font-size:14px;line-height:1.75;margin-bottom:26px;max-width:48ch}
.option{padding:22px 20px;border-radius:12px;gap:16px}
.option:hover{border-color:#999dde;background:var(--soft)}
.option.selected{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}
.option-icon{background:var(--soft);color:var(--accent);width:46px;height:46px;border-radius:10px;font-weight:800}
.selected .option-icon{background:var(--brand-yellow);color:var(--brand-navy)}
.option-copy strong{font-size:16px;font-weight:750;letter-spacing:-.015em}.option-copy small{font-size:12px;line-height:1.65}
.radio{border-color:#929ab5}.selected .radio{border-color:var(--accent)}
.soft-note{font-size:12px;line-height:1.75;border-radius:10px;padding:15px 17px}
.catalog-list .option-copy strong,.agenda-list .option-copy strong{font-size:14px;font-weight:700}
.catalog-list .option-copy small,.agenda-list .option-copy small{font-size:12px}
.catalog-list{max-height:355px}.period{font-size:12px;line-height:1.65;flex-wrap:wrap}
.date-block{color:var(--accent)}.date-block b{font-weight:800;font-variant-numeric:tabular-nums}.date-block span{font-weight:700;font-size:10px}
.search{font-size:14px;min-height:48px;background:var(--surface)}.search::placeholder,.field input::placeholder{color:var(--muted);opacity:1}
.field{font-size:13px}.field input,.patient-form .field input{font-size:16px;letter-spacing:0;background:var(--surface);min-height:50px}
.more{font-size:13px;font-weight:750;min-height:46px}.more:hover{border-color:var(--accent);background:var(--soft)}
.demo-note{font-size:13px;line-height:1.75;background:var(--soft)}
.review{font-size:13px;line-height:1.6;gap:16px}.review strong{font-weight:750;font-variant-numeric:tabular-nums}
.consent{font-size:13px;line-height:1.75}.consent input{width:18px;height:18px}
.text-action{font-size:13px;text-underline-offset:4px}
.bottom-bar{padding:22px 36px 25px;border-top-color:var(--line);background:var(--surface)}
.bottom-inner{max-width:1200px;gap:32px}.bottom-progress{width:380px}.progress-label{font-size:12px;font-weight:600}.progress-track{height:5px;background:var(--line)}
#progress-fill{background:var(--accent)}
.primary,.back{font-size:14px;min-height:49px;font-weight:750;border-radius:10px;padding:14px 23px}
.primary{background:var(--brand-blue);color:#fff;gap:25px}.primary:hover:not(:disabled){background:#090e9b}.primary:disabled{background:#e2e5f1;color:#5c6681}
.success-mark{color:var(--brand-blue);background:var(--brand-yellow);width:58px;height:58px}
.loading-label{font-size:13px}.empty{font-size:14px}.error{font-size:14px}
dialog{border:0;border-radius:16px}dialog h2{letter-spacing:-.03em;font-weight:800}
@media(min-width:1500px){.layout{margin-top:56px;gap:52px}.introduction{padding:43px 40px 34px}}
@media(max-width:1050px){.layout{gap:26px;padding:0 28px}.introduction{padding:31px 27px}.topbar{padding-inline:32px}.brand-caption{display:none}.top-right{gap:14px}h1{font-size:32px}}
@media(max-width:700px){
 body{padding-bottom:153px;border-top-width:4px}.topbar{min-height:99px;padding:13px 21px;gap:12px}.brand-logo{width:124px}.brand{gap:0}.brand-caption{display:none}
 .top-right{gap:0}.help{padding:10px;font-size:12px;gap:6px}.help svg{width:17px;height:17px}
 .layout{display:block;margin-top:20px;padding:0 18px;max-width:570px}.introduction{padding:26px 26px 27px;border-radius:14px;margin-bottom:22px}
 h1{font-size:29px;line-height:1.2;margin:0 0 13px;letter-spacing:-.035em}h1 br{display:block}.intro-copy{font-size:13px;line-height:1.75;max-width:42ch}
 .summary{font-size:12px;padding-top:13px;margin-top:16px}.summary strong{max-width:65%}
 .booking-panel{min-height:405px;border-radius:14px}.panel-heading{padding:18px 23px;font-size:12px}#screen{padding:25px 22px}.screen-title{font-size:24px}.screen-description{font-size:13px;line-height:1.7}
 .option{padding:19px 16px;gap:13px}.option-copy strong{font-size:15px}.option-copy small{font-size:12px}.option-icon{width:40px;height:40px}.soft-note{font-size:12px;padding:13px 15px}
 .bottom-bar{padding:15px 18px calc(16px + env(safe-area-inset-bottom))}.bottom-progress{width:100%;margin-bottom:13px}.progress-label{font-size:12px;margin-bottom:7px}
 .primary,.back,.actions .primary,.actions .back{font-size:12px;min-height:46px}.primary{gap:14px}.review{font-size:12px}.consent{font-size:12px}
 .field input,.patient-form .field input{font-size:16px}.demo-note{font-size:12px}
}
@media(prefers-color-scheme:dark){
 :root{--surface:#19213d;--text:#f1f3ff;--muted:#b9c3e0;--line:#3b4567;--accent:#b7bbff;--soft:#292f59;--canvas:#10162d;--subtle:#202a48;--shadow:0 18px 48px #0003}
 .introduction{background:#1015a9}.topbar{border-bottom-color:#dfe3ef}.option.selected{border-color:var(--accent)}.selected .radio{background:var(--surface)}
 .primary:disabled{background:#3b4567;color:#c4cbe2}.search,.field input{background:var(--surface)}.success-mark{color:var(--brand-navy)}
 #progress-fill{background:var(--brand-yellow)}.date-block{color:var(--accent)}
}
