:root{--ink:#18333a;--muted:#667a81;--green:#2fa879;--green-soft:#e7f6ee;--blue:#e8f4fc;--pink:#fdeaf3;--yellow:#fff8cc;--line:#dce9e5;--bg:#eef7f3}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif}body{overflow-x:hidden}button,input,select,textarea{font:inherit}.app{width:min(100%,430px);min-height:100dvh;margin:0 auto;background:#fff;padding:18px 16px calc(92px + env(safe-area-inset-bottom));box-shadow:0 0 0 1px rgba(20,60,70,.03)}h1{font-size:25px;line-height:1.12;margin:10px 0 18px;letter-spacing:-.02em}h2{font-size:18px;line-height:1.2;margin:3px 0 9px}h3{font-size:16px}.muted{color:var(--muted);font-size:13px}.center{text-align:center}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:138px;border-radius:20px;overflow:hidden;background:linear-gradient(105deg,#effbf7,#f7fcfa);border:1px solid #e5f2ed;margin:0 0 12px}.hero-copy{padding:20px 4px 16px 18px;z-index:2}.hero h1{font-size:21px;margin:0 0 9px}.hero p{font-size:13px;line-height:1.35;margin:0}.hero-img{height:138px;display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden}.hero-img img{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}
.login-visual{text-align:center}.login-img{width:190px;height:190px;margin:8px auto 4px;border-radius:24px;overflow:hidden;background:#eff9f4}.login-img img{width:100%;height:100%;object-fit:contain;object-position:center}.login-visual h1{margin:9px 0 5px}.login-visual p{margin:0 0 15px;color:#527064;font-size:13px}.simple-hero{padding:18px;border-radius:20px;background:var(--green-soft);margin-bottom:12px}.simple-hero h1{font-size:21px;margin:0 0 7px}.simple-hero p{font-size:13px;margin:0}
.card{border:1px solid var(--line);border-radius:17px;padding:15px;margin:10px 0;background:#fff}.blue{background:var(--blue)}.green{background:var(--green-soft)}.pink{background:var(--pink)}.yellow{background:var(--yellow)}.big{font-size:17px;font-weight:800;margin-top:3px}.status-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.status-row .card{margin:0;padding:13px}.status-row small{font-size:11px}.status-row .big{font-size:16px}.stage-card{width:100%;text-align:left;cursor:pointer;color:var(--ink);font:inherit}.stage-card span{display:block;margin-top:6px;color:#2371ae;font-weight:700;font-size:12px}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.tile{min-height:58px;border:0;border-radius:14px;padding:12px 13px;text-align:left;font-size:13px;font-weight:750;color:var(--ink);cursor:pointer;text-decoration:none;display:flex;align-items:center}.tile.full{width:100%;margin:8px 0}.btn{width:100%;min-height:48px;border:0;border-radius:12px;padding:13px 16px;background:var(--green);color:#fff;font-size:15px;font-weight:800;margin:11px 0;cursor:pointer}.access-btn{margin-top:18px}.text-btn{display:block;margin:10px auto;border:0;background:none;color:#2371ae;font-weight:700}.input,select,.textarea{width:100%;min-height:46px;border:1px solid #dce5e8;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);margin:5px 0 12px}.textarea{min-height:120px;resize:vertical}.label{display:block;font-weight:750;font-size:13px;margin-top:12px}.back{border:0;background:none;color:var(--ink);font-size:14px;font-weight:750;padding:3px 0;margin:2px 0 12px}.date-grid{display:grid;grid-template-columns:.72fr 1.2fr .9fr;gap:6px}.date-grid select{padding-left:8px;padding-right:4px}.gender{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:7px 0 15px}.gender-btn{padding:12px;border:1.5px solid transparent;border-radius:12px;background:#f1f6f7;font-size:13px;font-weight:750}.gender-btn.selected{background:#e7f4ff;border-color:#64aee0;color:#14669c}.error{color:#c84763;font-weight:700;font-size:13px;margin:6px 0}
.stage-list,.list{display:flex;flex-direction:column;gap:7px}.stage{width:100%;border:0;border-radius:12px;padding:13px;text-align:left;font-size:13px;font-weight:800}.s0{background:#e9faf3}.s1{background:#eaf5ff}.s2{background:#fff0fa}.s3{background:#ffeef6}.s4{background:#fff0f1}.s5{background:#fff6dd}.stage.disabled{background:#eef2f3;color:#89949a}.next-card{width:100%;border:0;border-radius:16px;padding:15px;text-align:left;background:#eaf8f1;margin:10px 0}.next-card small{display:block;color:#6a7972;font-size:10px;margin-bottom:5px}.next-card b{font-size:15px}.art-wait-card,.week-card{width:100%;border:0;border-radius:16px;padding:15px;margin:10px 0;text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--ink)}.art-wait-card{background:#f7eafa}.art-wait-card small,.week-card small{font-size:10px;color:#6d7781}.art-wait-card b,.week-card b{font-size:16px}.art-wait-card span,.week-card span{font-size:12px;font-weight:700;color:#356797}.stage-focus{border-radius:17px;padding:16px;margin:10px 0;background:#f2fbf7}.stage-focus h2{font-size:19px;margin:4px 0 10px}.early-next{margin-top:12px;border-radius:12px;background:#fff;padding:12px;display:flex;justify-content:space-between}.early-next b{font-size:16px}.preg-week{display:flex;justify-content:space-between;background:#fff;border-radius:12px;padding:12px;margin:10px 0}.preg-week b{font-size:16px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f2f5f5;padding:4px;border-radius:12px}.tabs button{border:0;padding:10px;border-radius:9px;background:transparent}.tabs .on{background:var(--green);color:#fff}.progress{height:8px;background:#e8efed;border-radius:20px;overflow:hidden}.progress span{display:block;width:35%;height:100%;background:#6bcdb0}.check{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.check input{width:20px;height:20px}.thanks textarea{width:100%;min-height:85px;border:1px solid #dce5e8;border-radius:11px;padding:11px}.service{margin-top:28px;border-top:1px solid var(--line);padding-top:13px}.service summary{text-align:center;color:#68756f}.service>div{background:#f7faf8;border-radius:15px;padding:13px;margin-top:10px}
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,430px);display:flex;justify-content:space-around;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:9px 5px calc(9px + env(safe-area-inset-bottom));z-index:20;backdrop-filter:blur(12px)}.nav button{border:0;background:none;color:#344b59;font-size:16px;min-width:62px}.nav span{display:block;font-size:10px;margin-top:2px}.right{float:right}.done{padding-top:55px}.feet{font-size:56px}.icon-big{font-size:32px}
.page-head{margin:5px 0 14px}.page-head small{font-size:10px;font-weight:800;letter-spacing:.08em;color:#70817a}.page-head h1{margin:5px 0}.page-head p{font-size:13px;margin:0;color:#64736d}.clinic-summary{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.clinic-summary h2{font-size:16px;margin:2px 0}.clinic-summary small{font-size:11px;color:#64736d}.clinic-mark{width:38px;height:38px;border-radius:11px;background:#eaf8f2;display:grid;place-items:center;color:#208b69}.clinic-call{grid-column:1/-1;display:flex;justify-content:center;gap:8px;align-items:center;text-decoration:none;color:#12684f;background:#e9f8f1;border-radius:12px;padding:10px}.clinic-call small,.clinic-call b{display:block}.clinic-call small{font-size:10px}.clinic-call b{font-size:14px}.visit-note{margin:9px 0 12px;padding:13px;background:var(--pink);border-radius:14px;border:1px solid var(--line);font-size:13px}.visit-note p{margin:5px 0;line-height:1.4}.visit-note .important{color:#9a5060;font-weight:750}.booking-card{border:1px solid var(--line);border-radius:17px;padding:14px;margin-top:11px}.booking-card h2{font-size:16px}.booking-types{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 12px}.booking-type{border:1px solid #dfe8e5;background:#f8fbfa;border-radius:12px;padding:10px 7px;min-height:72px;display:flex;flex-direction:column;gap:5px;text-align:left;color:var(--ink)}.booking-type span{font-size:17px}.booking-type b{font-size:11px}.booking-type.selected{background:#eaf6ff;border-color:#8cc5ee}.form-two{display:grid;grid-template-columns:1fr;gap:0}.records-link{width:100%;display:flex;justify-content:space-between;border:0;background:#eef8f4;border-radius:13px;padding:13px;font-size:13px;font-weight:800;color:var(--ink);margin-top:10px}.records-list{display:flex;flex-direction:column;gap:8px}.record-card{display:grid;grid-template-columns:36px 1fr;border:1px solid var(--line);border-radius:15px;padding:12px;gap:10px}.record-icon{width:36px;height:36px;border-radius:10px;background:#edf7ff;display:grid;place-items:center}.record-main small{font-size:10px;color:#687770;font-weight:750}.record-main h3{margin:3px 0 5px;font-size:14px}.record-main p{font-size:12px;margin:3px 0}.record-delete{grid-column:2;border:0;background:none;color:#a65a68;text-align:left;padding:0}.empty-records{text-align:center;background:#f8fbfa;border:1px solid var(--line);border-radius:17px;padding:25px 15px}.address-card small{color:#70817a}.clinic-address{font-weight:700;line-height:1.4;margin-bottom:0}.route-actions .tile{justify-content:center;text-align:center}
@media(max-width:360px){.app{padding-left:12px;padding-right:12px}.hero h1{font-size:19px}.hero{grid-template-columns:1.08fr .92fr}.status-row{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr 1fr}.date-grid{grid-template-columns:.68fr 1.22fr .92fr}.booking-types{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:700px){body{padding:22px 0}.app{border-radius:28px;min-height:calc(100dvh - 44px);box-shadow:0 18px 60px rgba(24,67,58,.10)}.nav{bottom:22px;border-radius:0 0 28px 28px}}
/* v1.9 — closer to approved mobile storyboard */
.app{padding:12px 10px calc(84px + env(safe-area-inset-bottom));}
.hero{min-height:122px;border-radius:18px;margin-bottom:9px;grid-template-columns:1.15fr .85fr}.hero-copy{padding:17px 2px 12px 14px}.hero h1{font-size:19px}.hero p{font-size:12px}.hero-img{height:122px}.status-row{gap:6px}.status-row .card{padding:11px;border-radius:15px}.status-row .big{font-size:14px}.status-row small{font-size:9px}.stage-card span{font-size:11px}.card{border-radius:15px;padding:12px;margin:8px 0}.stage-focus{padding:13px;border-radius:15px;margin:8px 0}.stage-focus h2{font-size:18px}.menu-grid{gap:6px;margin:8px 0}.tile{min-height:52px;border-radius:12px;padding:10px 11px;font-size:12px}.btn{min-height:44px;margin:8px 0;border-radius:11px}.btn.compact{min-height:40px}.nav{width:min(100%,430px);padding:7px 4px calc(7px + env(safe-area-inset-bottom))}.nav button{font-size:15px}.nav span{font-size:9px}
.hcg-now{width:100%;border:0;border-radius:14px;padding:13px 14px;margin:8px 0;background:#fff0f7;color:var(--ink);text-align:left}.hcg-now span{display:block;font-size:10px;color:#7b6c75;margin-bottom:4px}.hcg-now b{font-size:14px;color:#d53f94}.care-access{margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.care-head small,.care-head b,.care-head span{display:block}.care-head small{font-size:9px;letter-spacing:.06em;color:#70817a}.care-head b{font-size:14px;margin:3px 0}.care-head span{font-size:11px;color:#687770}.care-actions{display:grid;grid-template-columns:1.35fr .65fr;gap:6px;margin-top:9px}.care-actions button{border:0;border-radius:11px;padding:10px;background:#eaf8f1;color:var(--ink);font-weight:800;text-align:left;font-size:12px}.care-actions button+button{background:#eaf6ff}.care-actions small{font-size:9px;font-weight:600;color:#65766f}.term-row{display:flex;justify-content:space-between;align-items:end;margin:12px 0 7px}.term-row b{font-size:15px}.term-row span{font-size:10px;color:#6e7c87}.term-progress{height:8px;background:#e7efed;border-radius:99px;overflow:hidden}.term-progress i{display:block;height:100%;background:#69cbb0;border-radius:99px}.transfer-mini{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:11px;padding:10px 11px;margin:10px 0}.transfer-mini small,.transfer-mini b{display:block}.transfer-mini small{font-size:9px;color:#718078}.transfer-mini b{font-size:12px;margin-top:2px}.transfer-mini button{border:0;background:none;color:#2371ae;font-weight:800;font-size:11px}.approved-stage{background:#f1faf6}
.screening-prompt{border:1px solid #d5e9ed;border-radius:16px;padding:15px;margin:10px 0;background:linear-gradient(130deg,#eaf5f8,#f3fbf8)}.screening-prompt small{font-size:10px;letter-spacing:.08em;font-weight:800;color:#377c8e}.screening-prompt h3{font-size:16px;margin:7px 0}.screening-prompt p{font-size:12px;line-height:1.45;color:#526970;margin:0 0 10px}.screening-prompt button{width:100%;border:0;border-radius:11px;background:#d3eaee;color:#175c71;padding:11px;text-align:left;font-weight:800;font-size:13px}
@media(max-width:360px){.app{padding-left:9px;padding-right:9px}.hero{grid-template-columns:1.12fr .88fr}.status-row{grid-template-columns:1fr 1fr}}
.clinic-change{border:0;background:none;padding:5px 0 0;color:#2371ae;font-weight:800;font-size:11px;text-align:left}.saved-btn{background:#e8f7f0!important;color:#197457!important;border:1px solid #9dd8c2!important}.save-confirm{margin-top:8px;padding:9px 10px;border-radius:10px;background:#fff;color:#53645e;font-size:11px}.saved-note{display:inline-block!important;margin-top:3px;color:#278363!important;font-size:9px!important;font-weight:800}.manual-term{border:0;background:none;color:#2371ae;font-weight:800;font-size:11px;padding:8px 0 0;text-align:left}.term-summary{background:#fff;border-radius:12px;padding:12px;margin-top:10px}.term-summary small,.term-summary b,.term-summary span{display:block}.term-summary small{font-size:9px;color:#718078}.term-summary b{font-size:18px;margin:3px 0}.term-summary span{font-size:10px;color:#687770}.selected-clinic{margin:12px 0;padding:13px;border-radius:14px;background:#f1faf6}.selected-clinic small,.selected-clinic b,.selected-clinic span{display:block}.selected-clinic small{font-size:9px;color:#718078}.selected-clinic b{font-size:14px;margin:4px 0}.selected-clinic span{font-size:11px;color:#687770}
/* v1.11 mobile safeguards */
.app,.app *{max-width:100%}button,a,summary{touch-action:manipulation}button{min-height:44px}.hero-img img{object-fit:contain;object-position:right center}.hero-copy{position:relative;z-index:1}.date-grid select{min-width:0}.care-head span,.selected-clinic span{overflow-wrap:anywhere}.nav button{min-height:44px}.route-actions:empty{display:none}
/* Questions, psychological support, and birth preparation use existing cards and palette. */
.question-list{display:grid;gap:10px}.question-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start}.question-row b{display:grid;place-items:center;min-height:32px;border-radius:9px;background:var(--green-soft);color:#23735d}.question-row textarea{width:100%;min-height:76px;border:1px solid #dce5e8;border-radius:11px;padding:11px;resize:vertical;color:var(--ink);background:#fff}.external-link{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}.check+.check{margin-top:8px}
.stage.s6{background:#fff6dd}
/* Feedback appears at the end of each informational section. */
.helpful-block{margin:24px 0 12px;padding:16px;border:1px solid #e4eeec;border-radius:16px;background:#fff;color:#18313b}
.helpful-block>b{display:block;font-size:16px;margin-bottom:12px}
.helpful-block>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.helpful-block button{border:0;border-radius:10px;min-height:44px;font:inherit;font-weight:700;color:#168768;background:#e4f5ed}
.helpful-block button+button{color:#267abc;background:#ebf5fe}
.helpful-block p{margin:0;color:#25866b}
.lab-hours{margin:18px 0}
.lab-hours details{padding:12px 0;border-bottom:1px solid #dce8ed}
.lab-hours summary{cursor:pointer;font-weight:700}
.lab-hours p{line-height:1.5}
.helpful-block .reason-buttons{display:flex;flex-wrap:wrap;gap:8px}
.helpful-block .reason-buttons button{flex:1 1 135px;padding:8px;font-size:13px;background:#ebf5fe;color:#267abc}
.helpful-block .helpful-skip{background:transparent;color:#527283;font-size:13px;margin-top:8px;padding:4px 8px;min-height:32px}
.app{padding-bottom:calc(130px + env(safe-area-inset-bottom))}

/* First visit and lab hours, continuing the approved mint and blue palette. */
.first-visit-hero{display:flex;gap:14px;align-items:center;padding:17px;border:1px solid #d9ebe5;background:linear-gradient(130deg,#e6f6ee,#f5fbf8 64%,#e7f3fb);border-radius:18px;margin:12px 0}.first-visit-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#c9edda;color:#167657;font-size:23px}.first-visit-hero small{color:#477d69;font-size:10px;font-weight:800;letter-spacing:.09em}.first-visit-hero h2{margin:4px 0;font-size:17px}.first-visit-hero p{margin:0;color:#5e736c;font-size:12px}.first-visit-steps{border:1px solid #e1eae6;border-radius:18px;padding:2px 16px;margin:12px 0}.first-visit-steps>div{display:flex;gap:13px;align-items:flex-start;padding:15px 0}.first-visit-steps>div+div{border-top:1px solid #e5eeeb}.first-visit-steps span{color:#158366;font-size:14px;font-weight:850}.first-visit-steps p{margin:0}.first-visit-steps b,.first-visit-steps small{display:block}.first-visit-steps b{font-size:14px}.first-visit-steps small{font-size:12px;line-height:1.45;color:#61726c;margin-top:3px}.first-visit-call{display:flex;justify-content:space-between;gap:8px;padding:13px 14px;border-radius:12px;background:#ecf8f2;color:#145f48;text-decoration:none;font-size:13px;font-weight:750}.first-visit-call b{white-space:nowrap}
.lab-hours{margin:14px 0;padding:0;background:#fff;border:1px solid #d8e8e9;border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(39,101,98,.06)}.lab-head{display:flex;gap:11px;padding:17px 15px;background:linear-gradient(125deg,#e3f6ef,#e7f3ff)}.lab-symbol{flex:0 0 36px;height:36px;border-radius:11px;background:#fff;color:#16896b;display:grid;place-items:center;font-size:22px}.lab-head small{font-size:9px;letter-spacing:.08em;font-weight:850;color:#477b73}.lab-head h2{font-size:18px;margin:4px 0 6px}.lab-head p{font-size:12px;color:#546e68;line-height:1.4;margin:0}.lab-test{padding:16px 15px 12px}.lab-test h3{margin:0 0 12px;font-size:16px}.lab-test h3 span,.lab-hours summary span{display:block;color:#54756e;font-size:11px;font-weight:650;margin-top:3px}.hours-grid{display:grid;gap:6px}.hours-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f1faf6;border-radius:10px;padding:9px 12px;font-size:13px}.hours-row span{font-weight:750;color:#426458}.hours-row strong{color:#125f48;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.hours-row.closed{background:#f6f7f7}.hours-row.closed strong{color:#8a6871}.lab-hours details{margin:0 15px;padding:0;border-top:1px solid #e3edeb;border-bottom:0}.lab-hours summary{list-style:none;padding:14px 0;font-size:13px;cursor:pointer;position:relative;padding-right:22px}.lab-hours summary::-webkit-details-marker{display:none}.lab-hours summary:after{content:'⌄';position:absolute;right:2px;top:17px;color:#1b8264}.lab-hours details[open] summary:after{transform:rotate(180deg)}.lab-hours details .hours-grid{padding:0 0 13px}.lab-break{background:var(--yellow);border-radius:9px;padding:9px;font-size:12px;color:var(--ink);margin:0 0 12px}.lab-caution{margin:0;padding:13px 15px;background:#f8faf9;color:#657672;font-size:11px;line-height:1.45}.booking-card{margin-top:14px}.booking-type.selected{border-color:#42a88a;background:#e9f7f0;box-shadow:inset 0 0 0 1px #42a88a}.booking-type.selected span{color:#168166}.booking-card .btn{margin-top:14px}

.clinic-switch{width:100%;border:0;background:#eff8f4;color:#176f56;text-align:left;font-weight:800;border-radius:11px;padding:11px 14px;margin:0 0 8px}

/* v1.17.1 consolidated — only approved additions */
.readonly-field{width:100%;min-height:46px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;color:var(--ink);margin:5px 0 12px}
.first-visit-head{display:grid;grid-template-columns:1fr 145px;align-items:end;min-height:104px;overflow:hidden}
.first-visit-head h1{align-self:center;margin:0}
.first-visit-head img{width:145px;height:104px;object-fit:contain;object-position:right bottom}
.kulakov-note{background:var(--yellow)}
.other-clinic-note,.appointment-note{background:var(--pink)}
.kulakov-map{margin:10px 0 12px;border:1px solid var(--line);border-radius:14px;padding:8px;background:#fff;overflow:hidden}
.kulakov-map img{display:block;width:100%;height:auto;border-radius:9px}
.kulakov-map figcaption{padding:9px 5px 2px;color:#c84763;font-size:12px;line-height:1.4}
.pink-link{background:var(--pink)}

/* v1.18 review — 02.10.2026 approved flow updates */
.login-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 16px}.login-role-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;font-weight:800;color:var(--ink)}.login-role-tabs button.selected{background:var(--green);border-color:#cfe9dc;color:#176f56}.info-tile{display:flex;align-items:center;line-height:1.4;cursor:default}.section-title{font-size:18px;margin:18px 0 10px}.transition-box{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--green)}.transition-box p{margin:0 0 12px;line-height:1.45}.vrt-current{margin:14px 0}
.material-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.material-check-card{border-radius:18px;padding:0;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.material-check-card .tile{width:100%;border-radius:0;margin:0}.material-confirm{display:flex;gap:9px;align-items:center;padding:12px 14px;font-weight:700;background:rgba(255,255,255,.7)}.material-confirm input{width:20px;height:20px}.first-material-progress .term-row{margin-top:14px}.ready-primary{font-weight:800;margin:12px 0 0}.stage.selected{outline:3px solid rgba(40,120,90,.28)}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.material-check-grid{grid-template-columns:1fr}}
/* v1.23.2 — restore approved clinic/city block on stage screens */
.clinic-home-panel{padding:16px;margin:12px 0}.clinic-home-panel h2{font-size:20px;margin:0 0 14px}.clinic-home-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clinic-home-panel label span{display:block;font-size:13px;margin-bottom:5px}.clinic-home-control{width:100%;min-height:46px;border:1px solid #d7e1df;border-radius:9px;background:#fff;padding:8px 10px;color:var(--ink);font:inherit}.clinic-home-clinic{display:block;margin-top:12px}.primary-visit-next{width:100%;border:0;text-align:left;cursor:pointer}.primary-visit-next span{display:block;margin-top:6px;font-size:11px;font-weight:650}.primary-locked{opacity:.72}@media(max-width:360px){.clinic-home-two{grid-template-columns:1fr}}

/* v1.23.4 — compact VRT preparation mobile UX */
.vrt-toolbar{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.vrt-toolbar::-webkit-scrollbar{display:none}.vrt-filter{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:13px}.vrt-filter.active{font-weight:700;background:#eef6ef;border-color:#b9d8c0}.prep-item.compact{padding:11px 12px;margin:7px 0}.prep-item.compact h3{font-size:15px;line-height:1.25;margin:0 0 5px}.prep-item.compact .prep-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.prep-item.compact .prep-meta{font-size:12px;line-height:1.25;color:#5d6870;flex:1}.prep-item.compact .prep-action{border:0;background:#eef4f7;border-radius:10px;padding:7px 9px;font:inherit;font-size:12px;font-weight:700;white-space:nowrap}.prep-item.compact .prep-date{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}.vrt-extra-summary{padding:12px;margin:8px 0}.vrt-extra-summary button{width:100%;text-align:left;border:0;background:none;padding:0;font:inherit}.vrt-extra-summary b{display:block;font-size:16px}.vrt-extra-summary small{display:block;margin-top:4px;color:#66727a}.vrt-extra-screen .checkline{display:flex;gap:9px;padding:10px 2px;border-bottom:1px solid var(--line);align-items:flex-start}.vrt-extra-screen .checkline:last-child{border-bottom:0}.vrt-extra-screen .checkline small{display:block;color:#66727a;margin-top:3px;line-height:1.25}.vrt-extra-actions{position:sticky;bottom:68px;background:rgba(255,255,255,.96);padding:10px 0}.vrt-empty{font-size:13px;color:#66727a;padding:10px 2px}

/* v1.23.7 — clinic-dependent participant tips */
.tips-tabs{display:grid;gap:10px;margin:12px 0}.tip-card{border:1px solid var(--line);border-radius:16px;overflow:hidden}.tip-card summary{cursor:pointer;list-style:none;padding:15px 16px;font-weight:800}.tip-card summary::-webkit-details-marker{display:none}.tip-card summary:after{content:'›';float:right}.tip-card[open] summary:after{transform:rotate(90deg)}.tip-card>div{padding:0 16px 16px}.tip-card h2{font-size:17px;margin:5px 0 8px}.tip-card p{line-height:1.5;margin:0}.tip-card.green{background:var(--green)}.tip-card.blue{background:var(--blue)}

/* v1.23.8 — semantic continuation after secondary screens */
.return-home-next{display:block;width:calc(100% - 24px);margin:18px 12px 10px;padding:15px 18px;border:0;border-radius:16px;background:#e5f4e8;color:#173a2b;font:inherit;font-weight:700;text-align:left;cursor:pointer}

/* Family Health — Healthy Sleep */
.health-topic-card,.health-section-card{width:100%;border:1px solid var(--line);text-align:left;color:var(--ink);cursor:pointer}
.health-topic-card div,.health-section-card div{width:100%}
.health-topic-card small{font-size:10px;letter-spacing:.08em;color:#56766b;font-weight:800}
.health-topic-card h2,.health-section-card h2{margin:5px 0 6px}
.health-topic-card p,.health-section-card p{margin:0 0 9px;font-size:12px;line-height:1.4;color:#60736b}
.health-topic-card b,.health-section-card b{font-size:12px;color:#2371ae}
.sleep-topic-link{align-items:center;text-align:left}
.sleep-topic-link>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.sleep-topic-link b{font-size:13px}
.sleep-topic-link small{font-size:11px;color:var(--muted);font-weight:500;line-height:1.3}
.sleep-copy p{font-size:14px;line-height:1.55;margin:0}
.text-link{display:inline-block;color:#2371ae;font-size:13px;font-weight:800;text-decoration:none;margin-top:2px}

/* Visible date editor works without a programmatic native picker on iPhone. */
.prep-item.compact .prep-row{flex-wrap:wrap}.prep-date-editor{flex-basis:100%;min-width:0}.prep-date-editor[hidden]{display:none}.prep-item.compact .prep-date-editor .prep-date{position:static;opacity:1;pointer-events:auto;width:100%;height:auto;box-sizing:border-box;min-width:0}.save-status{margin:10px 0 0;color:#276a50;font-size:14px}.save-status:empty{display:none}.vrt-current .btn:active,.prep-action:active,.prep-date-editor .btn:active{filter:brightness(.88);transform:translateY(1px)}

.clinic-call-note{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;margin:6px 0 0;line-height:1.5;text-align:left}.clinic-call{min-width:0;flex-wrap:wrap;text-align:center}.clinic-call b{overflow-wrap:anywhere}

/* Participant onboarding v1 */
.onboarding{min-height:calc(100dvh - 42px);display:flex;flex-direction:column;box-sizing:border-box;padding:16px 12px 22px;text-align:center;background:linear-gradient(155deg,#fff 25%,#f2faf8 65%,#fff5f9);border-radius:26px}
.onboarding-top,.onboarding-bottom{display:flex;justify-content:space-between;align-items:center;color:#73898a;font-size:12px;letter-spacing:.06em}
.onboarding h1{font-size:clamp(26px,7vw,34px);line-height:1.16;margin:10px 0 12px;color:#16323b}
.onboarding h2{font-size:clamp(17px,4.7vw,22px);line-height:1.35;margin:0 0 14px;color:#203940}
.onboarding p{font-size:15px;line-height:1.55;color:#64787e;margin:0 auto 18px;max-width:34ch}
.onboarding-art{position:relative;height:clamp(160px,27dvh,250px);margin:14px auto 8px;width:min(100%,340px);overflow:hidden}
.onboarding-art i{position:absolute;display:block;inset:14% 24%;border-radius:50%;border:20px solid rgba(127,205,191,.30);transform:rotate(-35deg) scaleX(1.3)}
.onboarding-art i:nth-child(2){border-color:rgba(150,204,240,.3);transform:rotate(25deg) scaleX(1.2)}
.onboarding-art i:nth-child(3){border-color:rgba(238,166,203,.3);transform:rotate(70deg) scaleX(1.2)}
.onboarding-art i:nth-child(4){border-color:rgba(242,209,112,.22);transform:rotate(110deg) scaleX(1.25)}
.onboarding-art.flower i{inset:12% 34% 26% 34%;border:0;background:linear-gradient(140deg,#b5e7d6aa,#f5bbd4aa);border-radius:85% 5% 85% 5%;transform-origin:50% 95%;transform:rotate(-65deg)}
.onboarding-art.flower i:nth-child(2){transform:rotate(-20deg);background:linear-gradient(#c3dafa,#f8d5b8)}
.onboarding-art.flower i:nth-child(3){transform:rotate(25deg);background:linear-gradient(#f6c0d5,#e6f0b8)}
.onboarding-art.flower i:nth-child(4){transform:rotate(70deg);background:linear-gradient(#a6e1d5,#d6d7f6)}
.onboarding-art.road i{inset:auto;left:-15%;bottom:-75%;width:130%;height:140%;border:26px solid rgba(127,205,191,.34);border-radius:50%;transform:rotate(-24deg)}
.onboarding-art.road i:nth-child(2){left:0;bottom:-60%;border-color:rgba(158,213,241,.3)}
.onboarding-art.road i:nth-child(3){left:15%;bottom:-45%;border-color:rgba(244,180,208,.3)}
.onboarding-art.road i:nth-child(4){left:30%;bottom:-30%;border-color:rgba(246,217,132,.28)}
.onboarding-features{text-align:left;display:grid;gap:8px;margin:0 0 18px}
.onboarding-features>div{border:1px solid #e7efec;background:#ffffffbd;border-radius:16px;padding:11px 14px;color:#388b80}
.onboarding-features b{color:#203940;font-size:14px;margin-left:8px}
.onboarding-features small{display:block;color:#687d82;font-size:12px;margin:3px 0 0 25px}
.onboarding-steps>div{padding:14px}
.onboarding-steps b{margin:0}
.onboarding-dots{display:flex;justify-content:center;gap:7px;margin:auto 0 17px}
.onboarding-dots span{width:8px;height:8px;border-radius:9px;background:#d3dedc}
.onboarding-dots span.active{width:22px;background:#489e90}
.onboarding-action{width:100%;border-radius:999px;background:#318d7d}
.onboarding-bottom{margin-top:14px;letter-spacing:0}
.onboarding-bottom button{border:0;background:transparent;color:#71848a;padding:9px;font-size:13px}
@media(max-height:690px){.onboarding-art{height:125px;margin:8px auto}.onboarding{padding-top:10px}.onboarding p{margin-bottom:10px}.onboarding-features>div{padding:7px 11px}}

.onboarding-ring-svg{width:100%;height:100%;display:block}.onboarding-art.ring{overflow:visible}.onboarding-art.ring i{display:none}

/* Approved artwork: no CSS approximation or shape overlay */
.onboarding-art{overflow:hidden}
.onboarding-art .onboarding-approved-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.onboarding-art:has(.onboarding-approved-art) i,.onboarding-art:has(.onboarding-approved-art) svg{display:none}


/* App guide: distinct onboarding replay card */
.appguide-intro{padding:20px;border:1px solid #dbece5;border-radius:22px;background:linear-gradient(135deg,#edf8f2,#f4f9ff 75%,#fff5fa);text-align:left}
.appguide-intro-head{display:flex;align-items:flex-start;gap:14px}
.appguide-intro-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:#fff;color:#398b80;font-size:25px;box-shadow:0 2px 10px #245d4d12}
.appguide-intro h2{font-size:19px;line-height:1.25;margin:2px 0 7px;color:#203940}
.appguide-intro p{font-size:14px;line-height:1.45;margin:0;color:#62777d}
.appguide-intro-action{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:18px;padding:13px 18px;border:0;border-radius:999px;background:#318d7d;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.appguide-intro-action:focus-visible{outline:3px solid #163d70;outline-offset:3px}

/* Canonical-screen guided tour; only overlays existing DOM elements */
.guide-layer{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:none}
.guide-shade{position:absolute;inset:0;background:rgba(16,35,39,.58);pointer-events:auto}
.guide-dialog,.guide-tooltip{position:relative;z-index:2;background:#fff;border-radius:22px;padding:22px;width:min(100%,390px);box-shadow:0 10px 36px #152e3040;pointer-events:auto;color:var(--ink)}
.guide-dialog h2{margin:0 0 12px;font-size:22px}.guide-dialog p,.guide-tooltip p{margin:0 0 18px;line-height:1.5;font-size:16px}
.guide-primary{width:100%;background:#318d7d;border-radius:999px}.guide-secondary{display:block;margin:14px auto 0;background:none;border:0;color:var(--muted);padding:8px}
.guide-target{position:relative!important;z-index:2001!important;outline:3px solid #318d7d;outline-offset:3px;box-shadow:0 0 0 6px #ffffffcc!important;pointer-events:none!important}
.guide-tour{align-items:flex-end;padding:0 12px max(20px,env(safe-area-inset-bottom))}
.guide-tooltip{width:min(100%,430px);margin-bottom:0}
.guide-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.guide-controls button:not(.btn){background:none;border:0;color:#397f77;padding:9px}.guide-controls .btn{background:#318d7d;border-radius:999px;padding:11px 16px}.guide-controls span{font-size:12px;color:var(--muted);white-space:nowrap}
.guide-controls button:disabled{opacity:.35}

/* One consistent frame for the three approved onboarding illustrations. */
.onboarding .onboarding-art,
.onboarding .onboarding-art.flower,
.onboarding .onboarding-art.ring,
.onboarding .onboarding-art.road{
 box-sizing:border-box;width:min(100%,340px);height:clamp(180px,27dvh,250px);
 margin:14px auto 8px;overflow:hidden;border-radius:22px;
}
.onboarding .onboarding-art .onboarding-approved-art{
 display:block;width:100%;height:100%;object-fit:contain;object-position:center;
}
@media(max-height:740px){.onboarding .onboarding-art{height:clamp(160px,24dvh,210px)}}

/* Canonical onboarding. Single active rule set: do not crop illustrations. */
.onboarding{box-sizing:border-box;position:relative;display:flex;flex-direction:column;min-height:100svh;padding:18px 16px max(14px,env(safe-area-inset-bottom));background:linear-gradient(#fffefd,#fff);text-align:center;overflow:hidden;border-radius:28px}
.onboarding-top{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-size:11px;letter-spacing:.08em;color:#75888a}
.onboarding .onboarding-art{box-sizing:border-box;position:relative;flex-shrink:0;width:calc(100% + 32px);max-width:none;margin:12px -16px 8px;overflow:hidden;border-radius:0}
.onboarding .onboarding-art.ring{height:clamp(220px,35svh,355px)}
.onboarding .onboarding-art.flower{height:clamp(195px,27svh,285px)}
.onboarding .onboarding-art.road{height:clamp(180px,27svh,280px)}
.onboarding .onboarding-art .onboarding-approved-art{position:relative;display:block;width:100%;height:100%;max-width:none;transform:none;clip-path:none;object-fit:contain;object-position:center}
/* Flower asset includes baked-in text beneath its illustration. Only the flower region is displayed. */
.onboarding .onboarding-art.flower .onboarding-approved-art{position:absolute;top:0;left:0;width:100%;height:auto;object-fit:unset}
.onboarding h1{font-size:clamp(24px,6vw,30px);line-height:1.13;margin:6px 0 9px;color:#112c39;font-weight:700}
.onboarding h2{font-size:clamp(15px,3.8vw,17px);line-height:1.3;margin:0 0 13px;color:#18313b}
.onboarding p{font-size:clamp(12px,3.35vw,14px);line-height:1.42;color:#708087;margin:0 auto 12px;max-width:37ch}
.onboarding-features{display:grid;gap:6px;margin:0 0 8px;text-align:left}
.onboarding-features>div{display:flex;align-items:center;gap:10px;min-height:52px;padding:7px 9px;border:1px solid #edf0ef;border-radius:17px;background:#ffffffdc}
.onboarding-features>div>span:last-child{flex:1;min-width:0}
.onboarding-features b{display:block;color:#18313b;font-size:13px;line-height:1.25}
.onboarding-features small{display:block;color:#718188;font-size:11.5px;line-height:1.3;margin-top:3px}
.onboarding-features .feature-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:50%}
.onboarding-features .feature-icon svg{width:29px;height:29px}
.feature-icon.mint{background:#e6f7f1;color:#419e8b}.feature-icon.pink{background:#fff0f5;color:#cf79ad}.feature-icon.gold{background:#fff7e8;color:#caa04f}.feature-icon.blue{background:#eaf7fc;color:#55afd4}
.onboarding .onboarding-footnote{font-size:11.5px;line-height:1.3;margin:7px auto 10px}
.onboarding-steps>div{border:0;background:transparent;box-shadow:none;min-height:48px;padding:5px 0;align-items:flex-start}
.onboarding-steps .step-number{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;background:#91d4ae;color:#24755b;font-size:16px;font-weight:700}
.onboarding-steps>div:nth-child(2) .step-number{background:#f9dce7;color:#b95082}.onboarding-steps>div:nth-child(3) .step-number{background:#ffebac;color:#aa8225}.onboarding-steps>div:nth-child(4) .step-number{background:#b8e8f9;color:#297da5}
.onboarding-return-note{padding:9px 11px;border-radius:16px;background:#f6f8f6;color:#74858a;font-size:11px;line-height:1.35;text-align:left;margin:5px 0 9px}
.onboarding-dots{display:flex;justify-content:center;gap:7px;margin:auto 0 11px}.onboarding-dots span{width:8px;height:8px;border-radius:9px;background:#d3dedc}.onboarding-dots span.active{width:21px;background:#489e90}
.onboarding-action{width:100%;min-height:48px;padding:9px 12px;border-radius:999px;background:#378d7c;font-size:14px;line-height:1.3}
.onboarding-bottom{display:flex;justify-content:center;margin-top:8px}.onboarding-bottom button{border:0;background:transparent;color:#71848a;padding:7px;font-size:12px}
.onboarding:has(.onboarding-art.ring)::before{content:"";position:absolute;pointer-events:none;left:0;right:0;bottom:130px;height:175px;background:radial-gradient(ellipse at 0 100%,#c4f1e8 0%,transparent 70%),radial-gradient(ellipse at 100% 100%,#f8cbdc 0%,transparent 65%);opacity:.58}
.onboarding:has(.onboarding-art.ring)>*{position:relative}
@media(max-height:800px){.onboarding{padding-top:12px;padding-bottom:10px}.onboarding .onboarding-art.ring{height:clamp(185px,29svh,245px)}.onboarding .onboarding-art.flower{height:clamp(150px,22svh,205px)}.onboarding .onboarding-art.road{height:clamp(150px,23svh,215px)}.onboarding h1{font-size:24px;margin:4px 0 7px}.onboarding p{font-size:12px;margin-bottom:9px}.onboarding-features{gap:4px}.onboarding-features>div{padding:5px 8px;min-height:45px}.onboarding-features .feature-icon{flex-basis:36px;height:36px}.onboarding-features small{font-size:10.5px}.onboarding-steps>div{min-height:42px;padding:4px 0}.onboarding-return-note{padding:7px 9px}.onboarding-dots{margin:auto 0 7px}.onboarding-action{min-height:43px}}

/* Approved-art intrinsic proportions: 321x374, 326x302, 319x301. Never fit artwork into arbitrary viewport-height boxes. */
.onboarding .onboarding-art.ring,.onboarding .onboarding-art.road,.onboarding .onboarding-art.flower{height:auto!important;max-height:none!important;min-height:0!important;flex:0 0 auto!important;margin:12px -16px 8px!important;border-radius:0!important}
.onboarding .onboarding-art.ring{aspect-ratio:321/374!important;overflow:visible!important}
.onboarding .onboarding-art.road{aspect-ratio:319/301!important;overflow:visible!important}
.onboarding .onboarding-art.flower{aspect-ratio:326/290!important;overflow:hidden!important}
.onboarding .onboarding-art.ring .onboarding-approved-art,.onboarding .onboarding-art.road .onboarding-approved-art{display:block!important;position:relative!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:unset!important;transform:none!important}
.onboarding .onboarding-art.flower .onboarding-approved-art{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:unset!important;transform:none!important}
/* Content can scroll on shorter screens rather than cutting the artwork or actions. */
.onboarding{height:auto!important;overflow:visible!important}
@media(max-height:800px){.onboarding .onboarding-art.ring,.onboarding .onboarding-art.flower,.onboarding .onboarding-art.road{height:auto!important;max-height:none!important}}
