/* BEGIN GENERATED LUDI TOKENS — deploy/sync-ui-tokens.mjs */
:root {
  --ludi-blue: #1a72b9;
  --ludi-deep: #003f93;
  --ludi-ink: #193653;
  --ludi-text: #335574;
  --ludi-muted: #567089;
  --ludi-background: #f5f8fc;
  --ludi-surface: #ffffff;
  --ludi-surface-subtle: #f8fbfe;
  --ludi-line: #dce5ee;
  --ludi-active: #eaf3fb;
  --ludi-success: #27735a;
  --ludi-danger: #b24242;
  --ludi-radius: 16px;
  --ludi-control-radius: 12px;
  --ludi-control-height: 44px;
  --ludi-focus: #1a72b9;
  --ludi-font: Manrope, Arial, sans-serif;
}
/* END GENERATED LUDI TOKENS */
@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--brand-blue:var(--ludi-blue);--brand-deep:var(--ludi-deep);--brand-cyan:#0092cc;--ink:var(--ludi-ink);--text:var(--ludi-text);--muted:var(--ludi-muted);--background:var(--ludi-background);--surface:var(--ludi-surface-subtle);--blue-soft:var(--ludi-active);--blue-tint:#cde2f5;--line:var(--ludi-line);--font:var(--ludi-font)}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid var(--brand-blue);outline-offset:5px}a{color:inherit}button{color:inherit}button svg{flex-shrink:0}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0;background:none}button:hover{transition:background .2s,color .2s,transform .2s}
.header{height:116px;display:flex;justify-content:space-between;align-items:center;max-width:1376px;padding:0 64px;margin:auto}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-decoration:none}.brand-logo{display:block;width:280px;height:auto;max-width:100%;flex-shrink:0}.brand-subtitle{font-size:11px;letter-spacing:.35px;color:var(--muted)}.header-nav{display:flex;align-items:center;gap:28px}.header-nav button{font-size:12px;color:var(--text);padding:8px 0}.header-nav button:hover{color:var(--brand-blue)}.header-nav .help-button{display:flex;gap:8px;align-items:center;border:1px solid var(--blue-tint);border-radius:30px;padding:11px 16px}.help-button .icon{width:17px;height:17px}
.main{max-width:1272px;margin:30px auto 46px;padding:0 44px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.85fr);gap:67px;align-items:center}.hero{padding-top:6px;min-width:0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.75px;display:flex;gap:9px;align-items:center;margin-bottom:24px}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--brand-blue);box-shadow:0 0 0 4px #003f930c;flex-shrink:0}h1{font-size:clamp(42px,4.65vw,64px);line-height:1.17;letter-spacing:-2.7px;font-weight:550;margin:0 0 21px}h1>span{color:var(--brand-blue)}.hero-description{font-size:14px;line-height:1.85;color:var(--text);margin:0;letter-spacing:-.1px}
.health-scene{height:350px;position:relative;max-width:552px;margin:14px -12px 0;isolation:isolate}.health-scene:before{content:'';position:absolute;inset:12px 44px 0;background:radial-gradient(ellipse,#003f9378 0%,#003f9345 38%,transparent 68%);z-index:-1}.orbit{position:absolute;border:1px solid #1a72b994;left:50%;top:49%;border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:303px;height:303px}.orbit-two{width:375px;height:375px;border-style:dashed;border-color:var(--line);opacity:.75}.orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue-tint);box-shadow:0 0 0 5px var(--background)}.dot-one{top:53px;left:213px}.dot-two{bottom:51px;right:116px;background:var(--brand-blue)}.health-ring{position:absolute;width:232px;height:232px;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-20deg);border-radius:50%;background:conic-gradient(var(--brand-deep) 0deg,var(--brand-blue) 110deg,var(--brand-cyan) 230deg,#7bc9e8 291deg,var(--blue-soft) 292deg,var(--blue-soft) 324deg,var(--brand-deep) 325deg);padding:19px;box-shadow:0 20px 35px #003f9313,inset 0 2px 3px #ffffff90;outline:7px solid #ffffff80}.health-ring:after{content:'';position:absolute;inset:7px;border-radius:50%;border:1px solid #ffffff33}.health-ring-inner{height:100%;border-radius:50%;background:linear-gradient(145deg,#ffffff,var(--blue-soft));display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(20deg);box-shadow:inset 0 2px 10px #003f930b;gap:5px}.ring-logo{margin-bottom:7px;color:var(--brand-blue)}.ring-logo .icon{width:35px;height:35px;stroke-width:1.5}.ring-label{font-size:12px;color:var(--text)}.health-ring-inner>strong{font-size:17px;letter-spacing:-.6px;font-weight:650}.ring-caption{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:5px}.ring-caption .status-dot{width:4px;height:4px;box-shadow:none}
.scene-card{position:absolute;background:#ffffffed;border:1px solid #fff;border-radius:16px;box-shadow:0 12px 35px #003f9315;backdrop-filter:blur(12px)}.results-card{left:0;top:66px;display:flex;align-items:center;gap:11px;padding:16px 18px;min-width:232px;transform:rotate(-3deg)}.scene-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--text)}.scene-icon .icon{width:21px;height:21px}.results-card>div{display:flex;flex-direction:column;gap:4px}.scene-label{font-size:9px;color:var(--muted);letter-spacing:.1px}.scene-card strong{font-size:12px;font-weight:700}.scene-subtitle{font-size:8px;color:var(--muted)}.notification-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-blue);align-self:flex-start;margin-top:2px;margin-left:8px}.visit-card{right:0;top:186px;width:219px;padding:16px 17px;transform:rotate(4deg)}.visit-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.visit-top .icon{width:14px;height:14px;color:var(--muted)}.visit-card>strong{font-size:14px;letter-spacing:-.3px;display:block;margin-bottom:13px}.visit-card>strong>span{font-size:12px;color:var(--muted);font-weight:500}.doctor{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:11px}.avatar{height:28px;width:28px;display:grid;place-items:center;background:var(--blue-soft);color:var(--muted);font-size:8px;border-radius:50%}.doctor>div{display:flex;flex-direction:column;gap:3px}.doctor>div>strong{font-size:9px;font-weight:650}.doctor>div>span{font-size:8px;color:var(--muted)}.visit-arrow{margin-left:auto}.visit-arrow .icon{width:13px;height:13px;color:var(--muted)}.checkup-card{left:22px;top:278px;padding:10px 13px;display:flex;gap:8px;align-items:center;border-radius:11px;transform:rotate(-1deg)}.checkup-card>span:not(.mini-check){font-size:9px;color:var(--text)}.mini-check{width:18px;height:18px;border-radius:50%;background:var(--blue-tint);color:var(--text);display:grid;place-items:center}.mini-check .icon{width:11px;height:11px}.checkup-card>.icon{width:15px;height:15px;color:var(--muted);margin-left:5px}.scene-disclaimer{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.3px;color:var(--muted);white-space:nowrap}
.benefits{display:flex;gap:0;border-top:1px solid var(--line);padding-top:23px;margin-top:23px}.benefits>div{display:flex;align-items:center;gap:10px;flex:1}.benefits .icon{width:23px;height:23px;color:var(--text);stroke-width:1.3}.benefits span{font-size:10px;line-height:1.7;color:var(--muted)}
.auth-area{padding-top:12px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:34px 36px 25px;box-shadow:0 16px 45px #003f9306;min-height:568px;position:relative;overflow:hidden}.card-eyebrow{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:650;letter-spacing:1.3px;color:var(--muted);margin-bottom:20px}.card-eyebrow>.icon{width:13px;height:13px;stroke-width:1.5}.auth-card h2{font-size:28px;font-weight:650;letter-spacing:-1.1px;line-height:1.35;margin:0 0 9px}.auth-description{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 26px}.esia-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:15px 10px;border:1px solid #dce4ee;border-radius:11px;background:#f9fbff;color:#33476c;font-size:12px;font-weight:550;transition:.2s}.esia-button:hover{background:#edf3ff;border-color:#c4d3e9}.esia-logo{font-size:16px;font-weight:750;letter-spacing:-.7px}.esia-blue{color:#0964ae}.esia-red{color:#ef4559}.esia-description{font-size:9px;color:var(--muted);text-align:center;margin:9px 0 0;line-height:1.6}.divider{display:flex;align-items:center;gap:14px;font-size:9px;color:var(--muted);margin:24px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--blue-soft);flex:1}.field-label{display:block;font-size:11px;font-weight:600;color:var(--text);margin-bottom:9px}.input-wrap{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;height:53px;transition:border .2s,box-shadow .2s}.input-wrap:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px #003f930c}.input-wrap>.icon{position:absolute;left:15px;width:18px;height:18px;color:var(--muted)}.input-wrap input{background:none;border:0;padding:0 14px 0 43px;outline:0;width:100%;height:100%;font-size:14px;letter-spacing:.3px;color:var(--ink)}.input-wrap input::placeholder{color:var(--muted);font-size:13px}.input-hint{font-size:9px;color:var(--muted);margin:9px 0 18px}.primary-button{background:var(--brand-blue);color:white;border-radius:10px;padding:16px 20px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;width:100%;gap:12px;min-height:51px;transition:.2s}.primary-button .icon{width:17px;height:17px}.primary-button:hover{background:var(--brand-deep);box-shadow:0 5px 16px #003f9320}.primary-button:active{transform:translateY(1px)}.consent{display:flex;gap:9px;margin:17px 0 18px;color:var(--muted);font-size:9px;line-height:1.8;align-items:flex-start}.consent input{accent-color:var(--brand-blue);height:14px;width:14px;margin:2px 0 0;flex-shrink:0}.consent button{font-size:inherit;padding:0;display:inline;text-decoration:underline;text-decoration-color:var(--brand-blue);text-underline-offset:2px;color:var(--text);line-height:inherit}.new-patient{font-size:9px;line-height:1.7;text-align:center;color:var(--muted);margin:14px 0 0}.new-patient>strong{display:block;color:var(--text);font-weight:500}.card-security{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;color:var(--muted);font-size:9px}.card-security .icon{width:13px;height:13px}.demo-invitation{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:19px;font-size:10px;color:var(--muted)}.demo-invitation button{display:flex;gap:5px;align-items:center;padding:5px;font-size:10px;font-weight:600;color:var(--muted)}.demo-invitation button:hover{color:var(--brand-blue)}.demo-invitation .icon{width:13px;height:13px}
.footer{max-width:1376px;margin:0 auto;padding:23px 64px 28px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);gap:20px}.footer-separator{margin:0 10px}.footer>div{display:flex;align-items:center;gap:22px}.footer button{padding:0;font-size:9px;color:var(--muted)}.footer button:hover{color:var(--brand-blue)}.footer-secure{display:flex;align-items:center;gap:5px;border-left:1px solid var(--blue-tint);padding-left:22px}.footer-secure .icon{width:11px;height:11px}
.back-button{display:flex;gap:3px;align-items:center;color:var(--muted);font-size:10px;padding:0;margin-bottom:21px}.back-button>.icon{width:15px;height:15px}.step-progress{display:flex;gap:7px;margin-bottom:22px}.step-progress span{height:3px;flex:1;border-radius:10px;background:var(--blue-soft)}.step-progress span.active{background:var(--brand-blue)}.step-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--blue-soft);color:var(--text);margin-bottom:20px}.step-icon .icon{width:25px;height:25px}.step-subtitle{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 24px}.step-subtitle strong{display:block;color:var(--text);font-weight:600;letter-spacing:.3px;margin-top:5px}.otp-input{width:100%;height:64px;outline:0;border:1px solid var(--line);background:var(--surface);border-radius:10px;text-align:center;font-size:26px;letter-spacing:14px;padding-left:20px;font-variant-numeric:tabular-nums;color:var(--ink)}.otp-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #003f930c}.otp-input::placeholder{color:var(--muted)}.code-form>.primary-button{margin-top:22px}.resend-area{text-align:center;margin-top:20px;color:var(--muted);font-size:10px}.resend-area button{font-size:10px;color:var(--brand-blue);padding:6px}.resend-area button:disabled{color:var(--muted);cursor:default;opacity:1}.form-error{font-size:10px;line-height:1.65;color:#bc5e53;margin:10px 0 0;min-height:0}.demo-badge{display:flex;align-items:center;gap:7px;background:#f7f2e7;border:1px solid #f1e9d5;border-radius:8px;color:#9a825b;padding:10px 12px;font-size:9px;line-height:1.6;margin-bottom:19px}.demo-badge .icon{width:14px;height:14px}.demo-code{border-radius:8px;padding:11px 12px;background:var(--blue-soft);font-size:10px;color:var(--muted);margin-bottom:15px}.demo-code strong{color:var(--text);letter-spacing:2px;margin-left:6px}.email-form>.primary-button{margin-top:22px}.success-icon{width:66px;height:66px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;color:var(--brand-blue);margin:16px 0 25px}.success-icon>.icon{width:31px;height:31px}.profile-summary{padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);margin:22px 0;display:flex;flex-direction:column;gap:14px}.profile-summary>div{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text)}.profile-summary .icon{width:16px;height:16px;color:var(--muted)}.success-note{font-size:10px;line-height:1.85;color:var(--muted);margin-bottom:25px}.text-button{font-size:10px;color:var(--muted);padding:12px 5px;display:block;margin:6px auto 0}
.info-dialog{width:480px;max-width:calc(100% - 36px);border:1px solid var(--line);border-radius:22px;padding:27px;color:var(--ink);box-shadow:0 25px 100px #003f9322}.info-dialog::backdrop{background:#003f9340;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:20px}.dialog-kicker{font-size:8px;letter-spacing:1.1px;color:var(--muted)}.icon-button{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--muted)}.icon-button .icon{width:15px;height:15px}.info-dialog h2{font-weight:650;font-size:24px;letter-spacing:-.7px;line-height:1.35;margin:0 0 16px}.info-dialog p{font-size:12px;color:var(--muted);line-height:1.85}.info-dialog .primary-button{margin-top:24px}.dialog-features{display:flex;flex-direction:column;gap:19px;margin:23px 0}.dialog-feature{display:flex;align-items:flex-start;gap:13px}.dialog-feature>.icon{color:var(--text);width:21px;height:21px;margin-top:4px}.dialog-feature strong{display:block;font-size:12px;font-weight:650;margin-bottom:5px}.dialog-feature p{font-size:11px;line-height:1.75;margin:0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:440px;padding:16px 21px;background:var(--brand-blue);color:white;border-radius:12px;box-shadow:0 10px 40px #003f9330;font-size:12px;line-height:1.8;z-index:5}.toast[hidden]{display:none}.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#ffedcd;text-align:center;color:#755423}.animate-in{animation:fade-in .28s ease both}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.welcome-layout{max-width:1040px;width:100%;margin:auto;grid-column:1/-1;padding:22px 0 45px}.welcome-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.welcome-tag{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.logout-button{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.logout-button .icon{width:15px;height:15px}.welcome-layout h1{font-size:42px;margin-bottom:13px;letter-spacing:-1.7px}.welcome-description{font-size:13px;color:var(--muted);line-height:1.8;max-width:570px}.welcome-banner{border:1px solid var(--blue-tint);background:linear-gradient(120deg,var(--blue-soft),var(--blue-soft));border-radius:21px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 34px;margin:31px 0}.welcome-banner h3{font-size:21px;letter-spacing:-.5px;font-weight:600;margin:0 0 10px}.welcome-banner p{font-size:11px;color:var(--muted);line-height:1.8;margin:0;max-width:480px}.welcome-banner>.icon{width:67px;height:67px;color:var(--muted);stroke-width:1;flex-shrink:0}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.preview-tile{background:white;border:1px solid var(--line);border-radius:16px;padding:23px 20px;text-align:left;display:flex;flex-direction:column;gap:13px}.preview-tile>.icon{color:var(--text);width:25px;height:25px;margin-bottom:7px}.preview-tile h3{font-size:13px;font-weight:650;margin:0}.preview-tile p{font-size:10px;color:var(--muted);line-height:1.85;margin:0}.preview-tile .coming{font-size:8px;color:var(--muted);margin-top:auto;padding-top:7px}.preview-tile:hover{border-color:var(--blue-tint);box-shadow:0 5px 20px #003f9310}.welcome-footnote{font-size:10px;color:var(--muted);margin-top:24px;line-height:1.8}
@media(min-width:1500px){.header{height:140px}.main{margin-top:65px;margin-bottom:76px}}
@media(max-width:1150px){.header{padding:0 40px}.main{gap:35px;padding:0 40px;grid-template-columns:minmax(0,1fr) 390px}h1{font-size:48px}.auth-card{padding:31px 28px 25px}.results-card{left:-5px;padding:13px;min-width:203px}.visit-card{right:-6px;width:194px}.checkup-card{left:0}.benefits>div{gap:6px}.benefits span{font-size:9px}.benefits .icon{width:20px;height:20px}.footer{padding:23px 40px}.footer>div{gap:15px}.footer-secure{padding-left:15px}}
@media(max-width:900px){.header{height:95px;padding:0 28px}.header-nav>button:first-child{display:none}.main{padding:0 28px;gap:24px;grid-template-columns:minmax(0,1fr) 360px;margin-top:24px}h1{font-size:40px;letter-spacing:-1.7px}.eyebrow{font-size:8px;letter-spacing:1.1px}.hero-description{font-size:11px}.health-scene{height:330px;margin-left:0;margin-right:0}.health-ring{width:197px;height:197px;padding:15px;top:47%}.orbit-one{width:250px;height:250px}.orbit-two{width:310px;height:310px}.results-card{min-width:190px;top:54px;left:-8px}.visit-card{width:186px;right:-5px;top:187px}.checkup-card{left:-5px;top:285px}.dot-one{left:85px;top:24px}.ring-label{font-size:11px}.health-ring-inner>strong{font-size:14px}.scene-disclaimer{display:none}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px;padding-top:19px}.benefits span br{display:none}.auth-card{padding:28px 25px 23px}.auth-card h2{font-size:26px}.footer{padding:20px 28px;align-items:flex-start;gap:20px}.footer>span{max-width:170px;line-height:1.9}.footer-separator{display:none}.footer>div{flex-wrap:wrap;justify-content:flex-end;gap:10px 15px}.footer-secure{display:none}.preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:730px){.header{height:90px;padding:0 22px}.header-nav .help-button{border:0;padding:8px}.help-button>span{display:none}.help-button .icon{width:21px;height:21px}.main{display:flex;flex-direction:column;padding:0 22px;margin:18px auto 33px;gap:27px;max-width:470px}.hero{padding:0;text-align:center;width:100%}.eyebrow{justify-content:center;font-size:8px;margin-bottom:16px;letter-spacing:1.3px}h1{font-size:41px;letter-spacing:-1.8px;line-height:1.16;margin-bottom:15px}.hero-description{font-size:11px;line-height:1.8}.hero-description br{display:none}.health-scene{display:none}.benefits{display:none}.auth-area{padding-top:0;width:100%}.auth-card{min-height:0;padding:28px 27px 24px;border-radius:21px;box-shadow:0 10px 35px #003f9308}.card-eyebrow{font-size:8px;margin-bottom:17px}.auth-card h2{font-size:26px}.auth-description{margin-bottom:24px;font-size:11px}.divider{margin:22px 0}.demo-invitation{margin-top:15px;font-size:9px;gap:2px}.demo-invitation button{font-size:9px}.footer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:13px 22px 25px;gap:12px;font-size:8px}.footer>span{max-width:100%;text-align:center}.footer-separator{display:inline;margin:0 7px}.footer>div{justify-content:center;gap:18px}.footer button{font-size:8px}.welcome-layout{padding-top:5px}.welcome-layout h1{font-size:32px}.welcome-top{margin-bottom:25px;gap:10px}.welcome-tag{font-size:8px;letter-spacing:1px}.welcome-description{font-size:11px}.welcome-banner{padding:22px;gap:12px}.welcome-banner h3{font-size:19px}.welcome-banner p{font-size:10px}.welcome-banner>.icon{width:40px;height:40px}.preview-grid{gap:12px}.preview-tile{padding:20px 16px;gap:9px}.preview-tile h3{font-size:12px}.preview-tile p{font-size:9px}}
[hidden]{display:none!important}
.call-destination{padding:20px 17px;background:var(--blue-soft);border:1px solid var(--line);border-radius:12px;margin:0 0 20px;text-align:center}.call-destination>span{font-size:11px;color:var(--muted)}.call-destination>a{display:block;font-size:23px;font-weight:650;letter-spacing:.3px;color:var(--brand-blue);margin:10px 0;text-decoration:none;font-variant-numeric:tabular-nums}.call-destination>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.call-pending-note{display:flex;align-items:flex-start;gap:11px;padding:15px;background:var(--blue-soft);border:1px solid var(--line);border-radius:11px;margin-bottom:22px}.call-pending-note>.icon{width:19px;height:19px;flex-shrink:0;color:var(--brand-blue);margin-top:3px}.call-pending-note p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.call-waiting{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text);margin:0 0 9px}.call-expiry{font-size:10px;color:var(--muted);margin:0 0 23px;font-variant-numeric:tabular-nums}.call-footnote{font-size:10px;color:var(--muted);line-height:1.8;text-align:center;margin:15px 0 0}#auth-content>.primary-button{margin-top:15px}
.auth-description{font-size:13px;color:var(--text)}.field-label{font-size:12px}.input-hint{font-size:10px;color:var(--muted)}.consent{font-size:10px;color:var(--muted)}.primary-button,.esia-button{font-size:13px}.esia-description{font-size:10px;color:var(--muted)}.divider{font-size:10px}.new-patient,.card-security{font-size:10px;color:var(--muted)}.demo-invitation,.demo-invitation button{font-size:11px}.hero-description{font-size:15px}.footer,.footer button{font-size:10px}.welcome-footnote{display:flex;align-items:center;gap:7px}.welcome-footnote>.icon{width:14px;height:14px}
@media(max-width:730px){.hero-description{font-size:12px}.auth-description{font-size:12px}.demo-invitation,.demo-invitation button{font-size:10px}.footer,.footer button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Original clinic identity from ludisurgery.ru. */
.header .brand{min-width:0}.header-nav .help-button{border-color:var(--line)}.status-dot,.notification-dot{background:var(--brand-cyan)}.health-scene:before{background:radial-gradient(ellipse,#b4dcf67a 0%,#e3f0fc45 38%,transparent 68%)}.health-ring-inner{background:linear-gradient(145deg,#fff,var(--blue-soft))}.primary-button{background:linear-gradient(110deg,var(--brand-blue),var(--brand-deep));box-shadow:0 5px 15px #003f9312}.primary-button:hover{background:var(--brand-deep)}.toast{background:var(--brand-deep)}
@media(max-width:900px){.header .brand-logo{width:230px}.header .brand-subtitle{font-size:10px}}
@media(max-width:730px){.header .brand-logo{width:218px}.header .brand-subtitle{font-size:9px}.header .brand{gap:7px}}

/* Keep the original symbol and wordmark; the service-specific tagline is outside this window. */
.brand-logo-window{position:relative;display:block;overflow:hidden;width:180px;aspect-ratio:266/83;flex-shrink:0}
.brand-logo-window .brand-logo{position:absolute;inset:0;width:calc(100% * 500 / 266);height:100%;max-width:none}
@media(max-width:730px){.brand-logo-window{width:150px}}

/* Separate, explicit confirmations; documents are public before sign-in. */
.legal-fields{margin:16px 0 18px}.legal-fields .consent{margin:12px 0;font-size:11px;line-height:1.65}.legal-fields .consent input{width:17px;height:17px;margin-top:2px}.legal-fields a,.legal-policy a{text-underline-offset:3px;color:var(--brand-deep)}.legal-policy{font-size:10px;line-height:1.65;color:var(--muted);margin:12px 0}.footer>div>a{font-size:10px;text-decoration:none}.footer>div>a:hover{text-decoration:underline}

/* An additional sign-in method leaves the existing phone form and ESIA option intact. */
.openid-login-option{margin:0 0 18px}.openid-login-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--blue-tint);border-radius:11px;background:var(--blue-soft);color:var(--brand-deep);font-size:13px;font-weight:650;line-height:1.5;transition:background .2s,border-color .2s}.openid-login-button:hover{background:#dcecf9;border-color:var(--brand-blue)}.openid-login-button .icon{width:18px;height:18px}.openid-login-option p{margin:8px 0 0;text-align:center;font-size:10px;line-height:1.6;color:var(--muted)}

/* Live service indicators are independent of sign-in and never imply OIDC readiness. */
.infrastructure-status{grid-column:1/-1;width:100%;min-width:0;margin-top:-16px;padding:23px 24px 17px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f4f9fe);box-shadow:0 7px 24px #003f9305;text-align:left}
.infrastructure-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.infrastructure-eyebrow{display:block;font-size:8px;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin-bottom:6px}.infrastructure-heading h2{font-size:18px;font-weight:600;letter-spacing:-.4px;margin:0;color:var(--ink)}.infrastructure-provider{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:20px;border:1px solid var(--line);background:#fff;font-size:10px;font-weight:650;color:var(--text);white-space:nowrap}.infrastructure-provider>span{width:7px;height:7px;border-radius:2px;background:var(--brand-cyan)}
.infrastructure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}.infrastructure-card{--service-color:#61758c;--service-tint:#eff3f7;min-width:0;padding:17px 17px 15px;border:1px solid var(--line);border-radius:15px;background:#fff}.infrastructure-card[data-state=online]{--service-color:#187449;--service-tint:#eaf6ee}.infrastructure-card[data-state=preparing]{--service-color:#94600b;--service-tint:#fff5de}.infrastructure-card[data-state=offline]{--service-color:#ac4441;--service-tint:#fdf0ef}.infrastructure-card-top{display:flex;align-items:center;gap:9px;margin-bottom:15px}.infrastructure-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--blue-soft);color:var(--brand-blue);flex-shrink:0}.infrastructure-icon .icon{width:17px;height:17px;stroke-width:1.6}.infrastructure-card h3{font-size:12px;font-weight:650;color:var(--ink);margin:0;overflow-wrap:anywhere}.infrastructure-state{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:var(--service-color);font-size:11px;line-height:1.5}.infrastructure-state strong{font-weight:650}.infrastructure-dot{width:7px;height:7px;border-radius:50%;background:var(--service-color);box-shadow:0 0 0 4px var(--service-tint);margin:0 3px;flex-shrink:0}.infrastructure-detail{font-size:10px;line-height:1.7;min-height:34px;margin:0;color:var(--muted);overflow-wrap:anywhere}.infrastructure-note{margin:13px 0 0;font-size:9px;line-height:1.65;color:var(--muted)}.infrastructure-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:730px){.infrastructure-status{margin-top:0;padding:19px 17px 15px;border-radius:19px}.infrastructure-heading{gap:10px;margin-bottom:14px}.infrastructure-heading h2{font-size:16px}.infrastructure-eyebrow{font-size:7px;letter-spacing:1.2px}.infrastructure-grid{grid-template-columns:1fr;gap:9px}.infrastructure-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:13px 14px}.infrastructure-card-top{margin:0;gap:9px;grid-row:1/3}.infrastructure-card h3{font-size:11px}.infrastructure-state{justify-self:end;margin:0;font-size:10px}.infrastructure-detail{grid-column:2;text-align:right;font-size:9px;line-height:1.55;min-height:0;max-width:175px}.infrastructure-note{font-size:8px;margin-top:12px}}
@media(max-width:360px){.infrastructure-card{grid-template-columns:1fr}.infrastructure-card-top{grid-row:auto;margin-bottom:5px}.infrastructure-state{justify-self:start}.infrastructure-detail{grid-column:1;text-align:left;max-width:none}}

.identity-entry{padding:18px 0 8px}.identity-entry-mark{display:inline-flex;align-items:center;gap:5px;font-size:29px;font-weight:750;color:var(--brand-blue);letter-spacing:-1.2px;margin-bottom:25px}.identity-entry-mark>span{font-size:14px;background:var(--brand-blue);color:#fff;border-radius:7px;padding:5px 7px;letter-spacing:0}.identity-entry h2{font-size:31px;margin-bottom:17px}.identity-entry .auth-description{line-height:1.9;margin-bottom:27px}.identity-entry-button{font-size:12px}.identity-entry-note{font-size:10px;line-height:1.8;text-align:center;color:var(--muted);margin:16px 0 0}.identity-entry .form-error{margin-top:14px}

.clinic-selector{position:relative;font-size:13px;max-width:260px;margin:8px 0;color:var(--text)}.clinic-selector summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--blue)}.clinic-selector nav{display:grid;gap:6px}.clinic-selector a{padding:8px 10px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.clinic-selector a[aria-current=page]{font-weight:700;background:var(--soft)}.clinic-selector p{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0}.clinic-selector[open]{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff)}
.clinic-selector-menu{position:absolute;z-index:60;right:0;top:100%;width:min(320px,calc(100vw - 44px));padding:15px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #003f931c}.clinic-selector[open]{padding:0;border:0;background:transparent}@media(max-width:730px){.header:has(#clinic-selector){height:auto;min-height:90px;flex-wrap:wrap;padding-top:14px;padding-bottom:10px}.header #clinic-selector{width:100%;display:flex;justify-content:flex-end}.clinic-selector{margin:0}}
.portal-sidebar .clinic-selector-menu{left:0;right:auto;width:260px}.portal-dialog .clinic-selector-menu{position:static;width:auto;box-shadow:none}.portal-sidebar>.clinic-selector{margin:14px 8px 0}

/* Use the same clinic symbol and wordmark in the Люди ID entry card. */
.identity-entry-mark{gap:10px;letter-spacing:0}
.identity-entry-mark>.identity-entry-logo{position:relative;display:block;overflow:hidden;width:116px;height:auto;aspect-ratio:266/83;flex:0 0 116px;padding:0;border-radius:0;background:transparent;font-size:0}
.identity-entry-logo>img{position:absolute;inset:0;width:calc(100% * 500 / 266);height:100%;max-width:none}

/* Public entry uses the same type, surfaces and controls as Люди ID. */
body:not(.portal-open) .brand-subtitle{font-size:12px;line-height:1.5}
body:not(.portal-open) .header-nav button{font-size:13px;min-height:44px}
body:not(.portal-open) .hero-description{font-size:16px;line-height:1.7}
body:not(.portal-open) .eyebrow{font-size:11px;letter-spacing:1px}
body:not(.portal-open) .auth-card{min-height:0;border-radius:var(--ludi-radius);box-shadow:0 8px 28px #19365308}
body:not(.portal-open) .identity-entry{padding:0}
body:not(.portal-open) .identity-entry h2{margin-bottom:24px}
body:not(.portal-open) .auth-description{font-size:15px;line-height:1.7}
body:not(.portal-open) .identity-entry-button{min-height:52px;font-size:14px;border-radius:var(--ludi-control-radius);background:var(--ludi-blue)}
body:not(.portal-open) .identity-entry-button:hover{background:var(--ludi-deep)}
body:not(.portal-open) .identity-entry-note{font-size:12px;line-height:1.7}
body:not(.portal-open) .card-security{font-size:12px;line-height:1.6}
body:not(.portal-open) .demo-invitation,body:not(.portal-open) .demo-invitation button{font-size:12px}
body:not(.portal-open) .demo-invitation button{min-height:44px}
body:not(.portal-open) .footer,body:not(.portal-open) .footer button{font-size:12px;line-height:1.6}
body:not(.portal-open) .footer button{min-height:44px}
body:not(.portal-open) .benefits span{font-size:12px}
.info-dialog>.dialog-top{justify-content:flex-end;margin-bottom:12px}
.info-dialog>.dialog-top>.icon-button{width:40px;height:40px;flex-shrink:0}
@media(max-width:680px){
  body:not(.portal-open) .hero h1{font-size:clamp(32px,8.5vw,42px);line-height:1.2;letter-spacing:-1.2px}
  body:not(.portal-open) .hero-description{font-size:14px}
  body:not(.portal-open) .auth-card{padding:26px 22px}
  body:not(.portal-open) .identity-entry h2{font-size:27px;line-height:1.3}
  body:not(.portal-open) .auth-description{font-size:14px}
  body:not(.portal-open) .demo-invitation{flex-wrap:wrap}
  body:not(.portal-open) .footer{align-items:flex-start;gap:12px}
  body:not(.portal-open) .footer>div{flex-wrap:wrap;gap:8px 16px}
}

/* One explicit exit action; the selected scope is confirmed in Люди ID. */
.portal-logout-form{display:grid;gap:18px}.portal-logout-description,.portal-logout-note{margin:0;line-height:1.6}.portal-logout-note{font-size:13px;color:var(--muted)}.portal-logout-options{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.portal-logout-options legend{margin-bottom:10px;font-size:13px;font-weight:700;color:var(--muted)}.portal-logout-option{display:flex;align-items:flex-start;gap:12px;min-height:68px;padding:16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:var(--surface,#fff)}.portal-logout-option:has(input:checked){border-color:var(--blue);background:var(--soft)}.portal-logout-option:focus-within{outline:2px solid var(--blue);outline-offset:3px}.portal-logout-option input{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--blue)}.portal-logout-option span{min-width:0}.portal-logout-option strong,.portal-logout-option small{display:block;overflow-wrap:anywhere}.portal-logout-option strong{font-size:15px;line-height:1.5}.portal-logout-option small{margin-top:4px;font-size:13px;line-height:1.5;color:var(--muted)}.portal-logout-actions{display:flex;gap:10px;justify-content:flex-end}.portal-logout-actions>button{min-height:46px;justify-content:center}.portal-logout-actions .portal-primary{margin:0}@media(max-width:480px){.portal-logout-actions{flex-direction:column-reverse}.portal-logout-actions>button{width:100%}.portal-logout-option{padding:13px}}

/* Text entry has one keyboard indicator. Composite fields own it on their
   rounded shell; a tap or programmatic pointer focus does not draw a ring. */
html[data-input=pointer] :is(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=color],[type=button],[type=submit],[type=reset]),textarea,select):focus{outline:none!important;box-shadow:none!important}
html[data-input=keyboard] :is(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=color],[type=button],[type=submit],[type=reset]),textarea,select):focus-visible{outline:2px solid var(--ludi-focus,var(--brand-blue))!important;outline-offset:2px!important;box-shadow:none!important}
html :is(.input-wrap,.phone-entry,.country-search,.location-search,.booking-field,.booking-picker-search,.wallet-amount-input):focus-within{outline:none;box-shadow:none}
html[data-input] :is(.input-wrap,.phone-entry,.country-search,.location-search,.booking-field,.booking-picker-search,.wallet-amount-input) :is(input,textarea,select):focus{outline:none!important;box-shadow:none!important}
html[data-input=keyboard] :is(.input-wrap,.phone-entry,.country-search,.location-search,.booking-field,.booking-picker-search,.wallet-amount-input):has(:is(input,textarea,select):focus-visible){outline:2px solid var(--ludi-focus,var(--brand-blue));outline-offset:2px;box-shadow:none}
html :is(.country-picker,.location-dialog,.booking-picker) h2[tabindex="-1"]:focus{outline:none}

/* Public legal navigation remains readable as the document set grows. */
.footer>div{flex-wrap:wrap}.footer>span{min-width:0}.footer>div>a{min-height:44px;display:inline-flex;align-items:center;font-size:12px;line-height:1.5}
@media(max-width:1024px){.footer{flex-wrap:wrap}.footer>div{justify-content:flex-start}}
