/* Hallmark · existing Umka design · hierarchy and interaction updates */

:root{
 --bg:#fff;--surface:#fff;--soft:#f5f7f9;--ink:#16293d;--text:#33465b;--muted:#5f6e80;--faint:#59697b;--line:#dfe5ec;--rule:#c9d3de;--field:#b9c5d3;
 --accent:#1f58bf;--accent-soft:#eaf1fc;--on-accent:#fff;--cta:#c8391d;--cta-hover:#b02f15;--on-cta:#fff;
 --ok:#24784a;--ok-soft:#e8f4ec;--warn:#8f5200;--warn-soft:#fdf3e4;
 --head:Montserrat,"Arial",sans-serif;--body:Roboto,"Segoe UI",Arial,sans-serif;--ease:cubic-bezier(0.23,1,0.32,1);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121821;--surface:#161e29;--soft:#1a2330;--ink:#eef2f6;--text:#c9d2dc;--muted:#97a4b3;--faint:#a3b0c0;--line:#27323f;--rule:#344252;--field:#465566;--accent:#8cb2ff;--accent-soft:#1c2a42;--on-accent:#0d1520;--cta:#bc3c23;--cta-hover:#b02f15;--on-cta:#fff;--ok:#6cc28f;--ok-soft:#16281e;--warn:#e7ad52;--warn-soft:#2c2312;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#121821;--surface:#161e29;--soft:#1a2330;--ink:#eef2f6;--text:#c9d2dc;--muted:#97a4b3;--faint:#a3b0c0;--line:#27323f;--rule:#344252;--field:#465566;--accent:#8cb2ff;--accent-soft:#1c2a42;--on-accent:#0d1520;--cta:#bc3c23;--cta-hover:#b02f15;--on-cta:#fff;--ok:#6cc28f;--ok-soft:#16281e;--warn:#e7ad52;--warn-soft:#2c2312;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
html.locked,html.locked body{overflow:hidden}
h1,h2,h3,h4,h5,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}
h1,h2,h3,h4,h5{font-family:var(--head);font-weight:600;color:var(--ink);text-wrap:balance}
a{color:var(--accent)}
.num,table{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.link,.inl{font-family:var(--body);font-weight:500;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-align:left}
.link{font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;font:500 16px var(--body);text-decoration:none;white-space:nowrap;transition:background-color 150ms ease,transform 160ms var(--ease)}
.btn:active{transform:scale(0.98)}
.btn.cta{background:var(--cta);color:var(--on-cta)}
.btn.blue{background:var(--accent);color:var(--on-accent)}
.btn.line,.btn.soft{color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule);background:var(--surface)}
@media (hover:hover) and (pointer:fine){.btn.cta:hover{background:var(--cta-hover)}.btn.line:hover,.btn.soft:hover{background:var(--soft)}.c.add:hover{background:var(--accent-soft)}.rec:hover{background:var(--soft)}.nm:hover,.ed:hover{color:var(--accent)}}
.top{border-bottom:1px solid var(--line)}
.top-in{max-width:1240px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 12px/1.25 var(--body);color:var(--muted)}
.brand img{height:38px;width:auto}
.phone{margin-left:auto;text-align:right;font:500 16px var(--body);color:var(--ink);-webkit-user-select:text;user-select:text}
.phone small{display:block;font:400 12px var(--body);color:var(--muted)}
.page{max-width:1240px;margin:0 auto;padding:40px 24px 96px;display:grid;grid-template-columns:320px minmax(0,1fr);gap:56px;align-items:start}
.rail{position:sticky;top:24px;display:grid}
.rail h1{font:600 22px/1.2 var(--head);letter-spacing:-.01em}
.rail .lead{color:var(--muted);font-size:15px;margin-top:6px}
.demo{border-left:3px solid var(--accent);padding:2px 0 2px 12px;font-size:14px;color:var(--muted);display:grid;gap:4px}
.demo b{font-weight:500;color:var(--ink)}
.fl{display:grid;gap:8px}
.fl>label,.lbl{font:500 14px var(--body);color:var(--ink)}
.field{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--field)}
.field:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}
.field input{flex:1;min-width:0;border:0;background:none;font:17px var(--body);color:var(--ink);outline:none;font-variant-numeric:tabular-nums}
.field .hint{font-size:14px;color:var(--muted);white-space:nowrap}
.recs>summary{list-style:none;display:flex;align-items:center;gap:8px;font:500 14px var(--body);color:var(--muted);cursor:pointer;padding:4px 0 6px}
.recs>summary::-webkit-details-marker{display:none}
.recs>summary span{font-weight:400}
.recs>summary::after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);transform:rotate(45deg);transition:transform 180ms var(--ease)}
.recs[open]>summary::after{transform:rotate(-135deg)}
#records{border-top:1px solid var(--line);max-height:340px;overflow:auto;overscroll-behavior:contain}
.rec{width:100%;display:grid;grid-template-columns:70px minmax(0,1fr) 12px;gap:10px;align-items:center;text-align:left;padding:9px 4px;border-bottom:1px solid var(--line)}
.rec-date{font-size:14px;color:var(--muted)}
.rec-main b{display:block;font:500 15px/1.3 var(--body);color:var(--ink)}
.rec-main small{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.rec-edit{color:var(--faint);font-size:18px}
.added{display:flex;align-items:flex-start;gap:10px;border-left:3px solid var(--ok);padding:4px 0 4px 12px;font-size:14px;color:var(--text)}
.added b{display:block;font-weight:500;color:var(--ink)}
.added small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.added .link{margin-left:auto;font-size:14px;white-space:nowrap;padding:2px 0}
.ok-mark{flex:none;color:var(--ok);font-weight:500}
.rec-empty{padding:12px 4px;font-size:14px;color:var(--muted)}
.extras{display:grid;border-top:1px solid var(--line)}
.extras details{border-bottom:1px solid var(--line)}
.extras summary{list-style:none;display:flex;align-items:center;gap:8px;padding:13px 0;font:500 15px var(--body);color:var(--ink);cursor:pointer}
.extras summary::-webkit-details-marker{display:none}
.extras summary span{font-weight:400;font-size:14px;color:var(--muted)}
.extras summary::after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);transform:rotate(45deg);transition:transform 180ms var(--ease)}
.extras details[open] summary::after{transform:rotate(-135deg)}
.extras .body{padding:0 0 14px;display:grid;gap:8px;font-size:15px}
.chk{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;cursor:pointer}
.chk input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--accent)}
.chips{display:grid;gap:6px}
.chip{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}
.chip input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.inf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.rail-foot{font-size:13px;color:var(--muted);display:grid;gap:2px}
.author{position:relative;display:grid;grid-template-columns:40px 1fr;grid-template-areas:"ph id" "acts acts" "card card" "legal legal";column-gap:12px;row-gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.author-ph{grid-area:ph;width:40px;height:40px;border-radius:50%;object-fit:cover;align-self:center}
.author-id{grid-area:id;align-self:center;min-width:0}
.author-id b{display:block;font:500 15px/1.25 var(--body);color:var(--ink)}
.author-id small{display:block;font-size:13px;line-height:1.35;color:var(--muted)}
.author-acts{grid-area:acts;display:flex;align-items:center;justify-content:space-between;gap:12px}
.author-more{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:6px 0;font:500 14px var(--body);color:var(--accent);text-align:left}
.author-more i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms var(--ease)}
.author.open .author-more i{transform:translateY(1px) rotate(225deg)}
.author-more .m{display:none}
.author-pill{position:relative;z-index:1;flex:none;font:500 14px var(--body);color:var(--accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.author-card{grid-area:card;display:none;gap:8px;font-size:14px;line-height:1.55;color:var(--text)}
.author.open .author-card{display:grid}
.author-card ul{display:grid;gap:4px;padding-left:18px;list-style:disc}
.author-card .ig{font-size:14px;color:var(--muted)}
.author .legal{grid-area:legal}
.why-h{display:none;font:600 15px/1.3 var(--head);color:var(--ink)}
.legal{font-size:12px;color:var(--muted);line-height:1.45}
@media (max-width:700px){
 .author{grid-template-columns:32px 1fr auto;grid-template-areas:"ph id acts" "card card card" "legal legal legal";row-gap:0;column-gap:10px;padding:10px 0}
 .author-ph{width:32px;height:32px}
 .author-id b{font-size:14px}
 .author-id small{display:none}
 .author-acts{display:contents}
 .author-more{grid-area:id;align-self:end;padding:0;font-size:13px;margin-top:20px}
 .author-more::after{content:"";position:absolute;inset:0}
 .author-more .m{display:inline;color:var(--muted)}.author-more .d{display:none}
 .author-id{align-self:start;padding-top:1px}
 .author-pill{grid-area:acts;align-self:center}
 .author .legal{display:none}
 .why-h{display:block}
 .author.open .author-card{padding:12px 0 2px}
 .author.open .legal{display:block;padding:8px 0 2px}
}
@media (pointer:coarse){
 .chk,.chip{padding:8px 0}
 .recs>summary{min-height:44px;padding:0}
 .nohist{min-height:44px;padding:0}
 .author-pill{display:inline-flex;align-items:center;min-height:40px}
 #undo{min-height:40px;padding:0 4px}
 .author-card .ig{display:inline-flex;align-items:center;min-height:40px}
 .inl,.nm,.ed{min-height:32px}
}
@media (pointer:coarse) and (min-width:701px){.author-more{min-height:40px}}
.rn{display:inline-block;min-width:1.4em;font-weight:500}
.rail[data-step="1"] label[for="birth"] .rn,.rail[data-step="2"] .lbl .rn{color:var(--accent)}
.rail[data-step="1"] .field:has(#birth){box-shadow:inset 0 0 0 2px var(--accent)}
.empty{display:grid}
.empty h2{line-height:1.2}
.steps{display:grid;margin-top:8px;border-top:1px solid var(--line)}
.st-i{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.st-n{flex:none;width:24px;font:500 16px var(--body);color:var(--faint)}
.st-i b{display:block;font:500 16px var(--body);color:var(--muted)}
.st-i p{font-size:15px;margin-top:2px}
.st-i.cur .st-n{color:var(--accent)}.st-i.cur b{color:var(--ink)}.st-i.cur p{color:var(--text)}
.st-i.done .st-n{color:var(--ok)}.st-i.done b{color:var(--ink)}
.nohist{justify-self:start;font-size:15px;padding:4px 0}
.st-acts{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:8px}
.err{border-left:3px solid var(--warn);padding:4px 0 4px 14px;color:var(--warn);font-weight:500;max-width:62ch}
.plan{display:grid;gap:0;min-width:0}
#plan-body{display:grid;gap:0}
.plan-head{display:grid;gap:6px}
.plan-head h2{font-size:32px;line-height:1.15;letter-spacing:-.01em}
.plan-head p{color:var(--muted);max-width:66ch}
.scheme-note{font-size:14px;border-left:3px solid var(--line);padding-left:12px;margin-top:4px}
.advice{margin-top:36px;display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:24px;padding:28px 0 32px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);scroll-margin-top:16px}
.adv-ph{grid-row:1/3;width:72px;height:72px;border-radius:50%;object-fit:cover}
.adv-id{align-self:center}
.advice h2{font-size:24px;line-height:1.2}
.sig{font-size:15px;color:var(--muted);margin-top:4px}
.advice>:not(.adv-ph):not(.adv-id){grid-column:2}
.adv-say{margin-top:20px;max-width:62ch}
.adv-list{margin-top:20px;max-width:760px}
.adv-list h3{font:500 15px var(--body);color:var(--muted);padding-bottom:6px}
.adv-extra{margin-top:22px}
.adv-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,16em);gap:16px;padding:10px 0;border-top:1px solid var(--line)}
.adv-list li b{font-weight:500;color:var(--ink)}
.adv-extra li b{font-weight:400}
.adv-list li span{color:var(--muted)}
.adv-list em{display:block;font-style:normal;font-size:14px;color:var(--muted)}
.adv-note{margin-top:16px;font-size:15px;color:var(--muted)}
.adv-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.save{margin-top:16px;display:grid;gap:10px;font-size:15px;color:var(--muted);padding-left:14px;border-left:3px solid var(--line)}
.save-row{display:flex;flex-wrap:wrap;gap:8px}.save .btn{min-height:42px;padding:0 16px;font-size:15px}
.advice .legal{margin-top:16px}
.share-box{display:grid;gap:8px;margin-top:16px}
.share-box textarea{width:100%;min-height:120px;border-radius:6px;border:1px solid var(--field);background:var(--bg);color:var(--text);font:15px var(--body);padding:10px}
.cert{scroll-margin-top:16px}
.cert-h{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.cert-h h3{font-size:24px;line-height:1.2}
.cert-lead{color:var(--muted);margin-top:6px;max-width:66ch}
.tabs{display:flex;gap:20px;margin-top:18px;border-bottom:1px solid var(--rule)}
.tabs button{padding:8px 0;margin-bottom:-1px;font:500 15px var(--body);color:var(--muted);border-bottom:2px solid transparent}
.tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.sheetwrap{overflow-x:auto}
.ledger{width:100%;border-collapse:collapse}
.ledger thead th{font:400 13px var(--body);color:var(--muted);text-align:left;padding:14px 12px 8px 0;border-bottom:1px solid var(--rule)}
.ledger td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.ledger td.d{white-space:nowrap;color:var(--ink);width:7.5em}
.ledger td.a{white-space:nowrap;color:var(--muted);width:8em}
.ledger td.f{color:var(--ink)}
.ledger td.v{color:var(--muted);width:24%}
.ledger .m{width:6.5em;text-align:right;padding-right:0}
.ledger td small{display:block;font-size:14px;color:var(--muted)}
.ledger td small.note{color:var(--text);margin-top:4px}
.ledger tr.cont td.d,.ledger tr.cont td.a{color:transparent}
.ledger tr.future td.f{color:var(--text)}
.ledger tr.sep th{text-align:left;padding:28px 0 8px;font:600 17px var(--head);color:var(--ink);border-bottom:1px solid var(--rule)}
.ledger tr.sep th span{font:400 15px var(--body);color:var(--muted);margin-left:10px}
.ledger tr.empty td,.ledger tr.now td.f{color:var(--muted)}
.ledger tr.plain td{padding:12px 0}.ledger tr.plain b{font-weight:500;color:var(--ink)}
.ledger tr.det td{padding:4px 0 14px;font-size:15px;color:var(--text);border-bottom:1px solid var(--line)}
.ledger tr.det p{max-width:68ch}.ledger tr.det p+p{margin-top:6px}
.ok{color:var(--ok);font-weight:500;white-space:nowrap}
.blank{display:inline-block;width:6.5em;height:1.1em;border-bottom:1px dashed var(--rule)}
.nm,.ed{text-align:left;color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:4px}
.nm[aria-expanded="true"]{text-decoration-color:currentColor}
.cmp{margin-top:8px}
.cmp>summary{cursor:pointer;font:500 15px var(--body);color:var(--accent);list-style:none}
.cmp>summary::-webkit-details-marker{display:none}
.cmp>summary::after{content:" ›"}
.gridbox{min-width:0}
.grid-legend{flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted)}
.grid-legend span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:12px;height:12px;border-radius:2px}
.lg.done{background:var(--ok-soft);box-shadow:inset 0 0 0 1px var(--ok)}
.lg.now{box-shadow:inset 0 0 0 2px var(--accent)}
.lg.next{box-shadow:inset 0 0 0 1px var(--field)}
.lg.add{border:1px dashed var(--accent)}
.g-row{border-top:1px solid var(--line);display:grid}
.g-name{align-items:center;gap:8px;flex-wrap:wrap;text-align:left;font:500 15px/1.3 var(--body);color:var(--ink);min-width:0}
.g-name span:first-child{flex-basis:100%}
.st{font-size:13px;font-weight:400}
.st.now,.st.next{color:var(--accent)}.st.ok{color:var(--ok)}.st.mute{color:var(--faint)}
.chev{width:7px;height:7px;border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);transform:rotate(-45deg);margin-left:2px;transition:transform 180ms var(--ease)}
.g-row.open .chev{transform:rotate(45deg)}
.g-cells{display:flex;flex-wrap:wrap}
.c{width:auto;min-width:88px;max-width:150px;min-height:46px;border-radius:4px;padding:5px 8px;text-align:left;line-height:1.2;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px var(--line)}
.c small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c.done{background:var(--ok-soft);box-shadow:none}
.c.now{box-shadow:inset 0 0 0 2px var(--accent)}
.c.next b{color:var(--ink)}
.c.add{align-items:center;box-shadow:none}
button.c{transition:transform 160ms var(--ease)}button.c:active{transform:scale(0.96)}
.g-detail{grid-column:1/-1;border-left:3px solid var(--line);padding:4px 0 4px 14px;display:grid;gap:12px;font-size:15px}
.d-when{font-size:13px;color:var(--muted)}
.d-note{font-size:14px;color:var(--warn);margin-top:4px}
.cdc,.cdc-chip{font:400 13px var(--body);font-style:normal;color:var(--muted)}
.cdc-chip.on{color:var(--ok)}
.c.cdc{position:relative}.c.cdc::after{content:"Умка";position:absolute;top:-7px;right:-4px;font:500 10px var(--body);color:var(--ok);background:var(--bg);padding:0 3px}
.sw{display:none}
.scheme-comparison{margin-top:8px;font-size:14px}
.scheme-comparison p{margin:0 0 8px}
.comparison-difference{color:var(--muted)}
.comparison-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:8px 0}
.scheme-option{border-top:1px solid var(--line)}
.scheme-option>summary{padding:10px 0;font:500 14px var(--body);color:var(--accent);display:flex;flex-wrap:wrap;gap:6px;align-items:center;cursor:pointer;list-style:none}
.scheme-option>summary span{font-size:13px;color:var(--muted);margin-left:auto}
.scheme-option-content{padding:0 0 8px}
.umka-choice{font-size:13px;color:var(--ok)}
.comparison-example{border-left:3px solid var(--warn);padding-left:10px}
.comparison-background>summary{font-size:13px;color:var(--accent);cursor:pointer}
.comparison-note,.comparison-sources{color:var(--muted);font-size:13px}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:20;align-items:center;gap:12px;background:var(--surface);color:var(--ink);border-top:1px solid var(--rule);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transition:transform 240ms var(--ease),opacity 200ms ease}
.bar b{display:block;font:500 15px var(--body)}
.bar small{display:block;font-size:13px;line-height:1.3;color:var(--muted)}
#bar-go{min-width:0}
.bar .btn{margin-left:auto;min-height:44px;padding:0 16px;font-size:15px}
body.ticket-visible .bar{transform:translateY(110%);opacity:0;pointer-events:none}
.sheet{position:fixed;inset:0;z-index:30;background:color-mix(in srgb,#0b1420 45%,transparent);display:grid;place-items:center;padding:16px;overscroll-behavior:contain}
.sheet-panel{width:min(560px,100%);max-height:min(720px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);border-radius:8px;box-shadow:0 24px 60px #0b142055;overflow:hidden}
.sheet-grip{display:none}
.sheet-top{display:flex;align-items:center;gap:12px;padding:18px 20px 8px}
.sheet-top h2{font-size:19px}
.sheet-top button{margin-left:auto;width:36px;height:36px;border-radius:6px;font-size:22px;color:var(--muted)}
#s-form{display:flex;flex-direction:column;gap:12px;padding:8px 20px 20px;min-height:0;flex:1}
#s-list{flex:1;min-height:120px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#s-list li[data-i]{padding:9px 8px;cursor:pointer;display:grid;gap:1px;border-bottom:1px solid var(--line)}
#s-list li b{font:500 15px var(--body);color:var(--ink)}
#s-list li span{font-size:13px;color:var(--muted)}
#s-list li.active,#s-list li[aria-selected="true"]{background:var(--accent-soft)}
#s-list .grp{font-size:13px;color:var(--muted);padding:12px 8px 4px;position:sticky;top:0;background:var(--surface)}
#s-list .empty{padding:12px 8px;font-size:14px;color:var(--muted)}
.s-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#s-covers{font-size:14px;color:var(--ok);min-height:1em}
#s-error{font-size:14px;color:var(--cta);min-height:1em}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #s-error{color:#ff8a70}}:root[data-theme="dark"] #s-error{color:#ff8a70}
.s-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.s-acts .del{margin-left:auto;font:500 15px var(--body);color:var(--cta)}
@media (hover:hover) and (pointer:fine){#s-list li[data-i]:hover{background:var(--soft)}}

.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);opacity:0;pointer-events:none;padding:10px 16px;font-size:15px;z-index:40;transition:opacity 200ms var(--ease),transform 240ms var(--ease);max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:1000px){.page{grid-template-columns:1fr;gap:40px}.rail{position:static;max-width:560px}}
@media (max-width:700px){
 body{font-size:16px}
 .top-in{padding:0 16px;height:56px}.brand img{height:30px}.brand{font-size:11px}.phone{font-size:15px}.phone small{font-size:11px}
 .page{padding:20px 16px 110px;gap:32px}
 .plan-head h2{font-size:26px}
 .advice{grid-template-columns:48px minmax(0,1fr);column-gap:14px;margin-top:28px;padding:22px 0 26px}
 .adv-ph{width:48px;height:48px;grid-row:auto}.advice h2{font-size:20px}
 .advice>:not(.adv-ph):not(.adv-id){grid-column:1/-1}
 .adv-list li{grid-template-columns:1fr;gap:2px}
 .adv-acts .btn{flex:1 1 100%}
 .cert{margin-top:40px}.cert-h h3{font-size:20px}
 .ledger,.ledger tbody,.ledger tr,.ledger td,.ledger th{display:block}
 .ledger thead{display:none}
 .ledger tr.row{display:grid;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
 .ledger tr.row td{border:0;padding:0;width:auto}
 .ledger tr.row td.d{grid-row:1;font-weight:500}
 .ledger tr.row td.f{grid-column:1/-1;grid-row:2;margin-top:2px}
 .ledger tr.row td.v{grid-column:1/-1;grid-row:3;font-size:15px}
 .ledger tr.row td.m{grid-row:1;text-align:right}
 .ledger tr.cont{padding-top:4px}.ledger tr.cont td.d{display:none}.ledger tr.cont td.m{grid-row:2}
 .ledger tr.now td.d{display:none}.ledger tr.now td.f{grid-row:1}
 .ledger .blank,.ledger td.m:empty{display:none}
 .ledger tr.sep th{padding:24px 0 6px}
 .ledger tr.sep th span{display:block;margin:2px 0 0}
 .ledger tr.det td{padding:0 0 12px}
 .ledger tr.plain td,.ledger tr.empty td{padding:12px 0}
 .g-name{padding:4px 0}.g-name span:first-child{flex-basis:auto;margin-right:auto}
 .c{min-width:80px;max-width:132px}.c.add{min-width:46px}
 .bar{display:flex}
 .inf-grid{grid-template-columns:1fr}
 .sheet-panel{width:100%}
 .sheet-grip{height:20px;touch-action:none;cursor:grab;position:relative}
 .sheet-grip+.sheet-top{padding-top:2px}
 .sheet-grip::after{content:"";position:absolute;left:50%;top:8px;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--field)}
 .sheet-top{touch-action:none}
 .s-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.btn:active,button.c:active{transform:none}.bar{transition:opacity 200ms ease}body.ticket-visible .bar{transform:none}.toast{transition:opacity 200ms ease;transform:translate(-50%,0)}.extras summary::after,.recs>summary::after,.chev,.author-more i{transition:none}}
.rail-h2{display:none}.to-plan{display:none;width:100%}
.rn{color:var(--muted)}
.empty h2{font-size:22px}
.save h4{font:500 14px var(--body);color:var(--ink)}
.toast{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule),0 8px 24px #0b14201f;border-radius:4px}
.adv-list li b em{display:block;font-style:normal;font-weight:400;font-size:14px;color:var(--muted)}
.bar{display:flex}
.bar-in{display:contents}
@media (min-width:701px){.bar{left:auto;right:24px;bottom:24px;width:auto;max-width:520px;border:1px solid var(--rule);border-radius:6px;box-shadow:0 8px 24px #0b14201f;padding:10px 10px 10px 16px}}
.c,.c.done,.c.next,.c.now{background:none;box-shadow:none;min-width:auto;max-width:none;min-height:0;padding:2px 14px 2px 0;border-radius:0}
.c b{font:400 15px var(--body);color:var(--muted)}
.c small{font-size:13px}
.c.done b{color:var(--ok)}.c.done b::before{content:"✓ "}
.c.now b{font-weight:500}
.c.add{width:auto;min-width:0;border:0;font:500 15px var(--body);color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.c.add::after{content:"внести"}.c.add{font-size:0}.c.add::after{font-size:15px}
.st.now{color:var(--ink)}.st.next{color:var(--muted)}.st.warn{color:var(--muted)}
@media (pointer:coarse){.nm,.ed,.tabs button,.inl{min-height:44px;display:inline-flex;align-items:center}.author-more{min-height:40px}}
@media (max-width:700px){
 body.ready .to-plan{display:flex}
 .empty .steps{display:none}
 .ledger tr.row{grid-template-columns:auto minmax(0,1fr) auto}
 .ledger tr.row td.d{grid-column:1}
 .ledger tr.row td.a{display:block;grid-column:2;grid-row:1;color:var(--muted);padding-left:10px}
 .ledger tr.row td.m{grid-column:3}
 .ledger tr.row td.f,.ledger tr.row td.v{grid-column:1/3}
 .ledger tr.cont td.a{display:none}.ledger tr.cont td.f{grid-column:1/3}
 .ledger tr.now td.a{display:none}
 .ledger .blank{display:inline-block;width:2.5em}
 .ledger td.m:empty{display:none}
 .save .btn{flex:1 1 100%}
 .bar{left:0;right:0;bottom:0}
 .toast{left:16px;right:16px;max-width:none;transform:translateY(16px)}.toast.on{transform:none}
}
body.ready .rail .author{display:none}
.rh{display:grid;gap:6px}
.rh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;color:var(--muted)}
.rh-meta b{font-weight:500;color:var(--ink)}
.rh-meta .inl{font-size:15px}
.seg{margin-left:auto;display:inline-flex;gap:2px;padding:3px;box-shadow:inset 0 0 0 1px var(--rule)}
.seg button{font:500 14px var(--body);color:var(--muted);transition:background-color 150ms ease,color 150ms ease}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.rh h2{font-size:34px;line-height:1.15;letter-spacing:-.015em;margin-top:8px}
.rh-sub{font-size:17px;color:var(--text)}
.rh-note{font-size:14px;color:var(--muted);max-width:62ch;margin-top:2px}
.vt{margin-top:0}
.route{padding-top:10px}
.rt{--dw:92px;--ax:18px;position:relative;display:grid}
.rt::before{content:"";position:absolute;left:calc(var(--dw) + 24px + 8.5px);top:30px;bottom:34px;width:1px;background:var(--rule)}
.st,.ml{display:grid;grid-template-columns:var(--dw) var(--ax) minmax(0,1fr);column-gap:24px}
.st{padding:18px 0}
.st-d{text-align:right;padding-top:2px}
.st-d b{display:block;font:600 15px/1.3 var(--head);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.st-d small{display:block;font-size:13px;line-height:1.35;color:var(--muted);margin-top:2px}
.st-x{position:relative;z-index:1;justify-self:center;width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--faint)}
.st.done .st-x{width:18px;height:18px;margin-top:3px;background:var(--ok);box-shadow:0 0 0 4px var(--bg)}
.st.done .st-x::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid var(--bg);border-width:0 1.75px 1.75px 0;transform:rotate(45deg)}
.st.done.none .st-x{background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--faint),0 0 0 4px var(--bg)}.st.done.none .st-x::after{display:none}
.st.now .st-x{width:13px;height:13px;margin-top:6px;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft),0 0 0 9px var(--bg)}
.st.next .st-x{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 4px var(--bg)}
.st.more .st-x{visibility:hidden}
.st-b{min-width:0}
.st h3{font:600 18px/1.3 var(--head);color:var(--ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.st h3 span{font:400 15px var(--body);color:var(--muted)}
.st-p{font-size:15px;color:var(--muted);margin-top:2px}
.st.done h3{font-size:16px}
.st.now{padding:20px 0 34px;border-bottom:1px solid var(--line);margin-bottom:6px}
.st.now .st-d b{color:var(--accent)}
.st.next .st-d b{color:var(--accent)}
.doc{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;margin:0 0 16px}
.doc img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.doc blockquote{margin:0;font-size:16px;line-height:1.55;color:var(--text);max-width:62ch}
.doc figcaption{font-size:13.5px;color:var(--muted);margin-top:4px}
.rt-list{display:grid}
.rt-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:24px;padding:10px 0;border-top:1px solid var(--line)}
.rt-list>li:first-child{border-top:0}
.rt-nm{font:500 16px/1.4 var(--body);color:var(--ink);text-align:left}
.rt-v{font-size:15px;color:var(--muted);text-align:right}
.rt-m{grid-column:1;font-size:13.5px;color:var(--muted);margin-top:1px;white-space:nowrap}
.rt-det{grid-column:1/-1;display:grid;gap:6px;max-width:64ch;padding:8px 0 2px;font-size:14.5px;color:var(--text)}
.rt-note{color:var(--muted)}
.st:not(.now):not(.next) .rt-list>li{border:0;padding:3px 0}
.st:not(.now):not(.next) .rt-nm{font-weight:400;font-size:15.5px;color:var(--text)}
.st:not(.now):not(.next) .rt-v{font-size:14.5px}
.st.next h3{margin-bottom:6px}
.rt-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.st .save{margin-top:16px}
.ml{padding:16px 0 0}
.ml span{text-align:right;font:600 13px var(--head);color:var(--faint);white-space:nowrap}
.rt-hist{display:grid;margin-top:10px}
.rt-hist li{display:grid;grid-template-columns:96px minmax(0,auto) 1fr;gap:4px 14px;padding:6px 0;font-size:14.5px;border-top:1px solid var(--line)}
.rt-hist time{color:var(--muted);font-variant-numeric:tabular-nums}
.rt-hist span{color:var(--ink);font-weight:500}
.rt-hist small{color:var(--muted);font-size:13.5px}
.rt-extra,.route>.legal{margin-left:calc(92px + 18px + 48px)}
.rt-extra{display:grid;margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.rt-extra>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:24px;padding:6px 0;font-size:15px}
.rt-extra b{font-weight:500;color:var(--ink)}
.rt-extra span{color:var(--muted)}
.route>.legal{margin-top:28px;max-width:60ch}
@media (max-width:700px){
 .rh h2{font-size:27px}
 .rh-sub{font-size:16px}
 .seg{margin-left:0}
 .rt{--dw:0px}
 .rt::before{left:8.5px;top:26px}
 .st,.ml{grid-template-columns:18px minmax(0,1fr);column-gap:16px}
 .st-d{grid-column:2;grid-row:1;text-align:left;display:flex;align-items:baseline;gap:8px;padding:0}
 .st-d small{margin:0}
 .st-x{grid-column:1;grid-row:1;margin-top:5px}
 .st.now .st-x{margin-top:4px}
 .st-b{grid-column:2}
 .st.done .st-d:empty,.st.more .st-d{display:none}
 .st.done .st-d{display:none}
 .ml span{grid-column:2;text-align:left}
 .rt-list>li{grid-template-columns:1fr}
 .rt-v{text-align:left;font-size:14.5px}
 .rt-list>li{display:block}
 .rt-nm{display:block}
 .rt-v,.rt-m{display:inline;font-size:14px;color:var(--muted);white-space:normal}
 .rt-m::before{content:", "}
 .rt-v:empty+.rt-m::before{content:none}
 .rt-acts .btn{flex:1 1 100%}
 .rt-extra,.route>.legal{margin-left:34px}
 .rt-extra>li{grid-template-columns:1fr}
 .rt-hist li{grid-template-columns:86px 1fr}.rt-hist small{grid-column:2}
}

.rt-g{font:500 14px var(--body);color:var(--muted);margin:18px 0 4px;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.rt-g:first-of-type{margin-top:4px}
.rt-g span{font-weight:400;color:var(--faint)}
.rt-g+.rt-list{border-top:1px solid var(--rule)}
.rt-recs p{font-size:15.5px;color:var(--text);padding-top:8px;border-top:1px solid var(--rule)}
.rt-tg{margin-top:6px;font-size:14px}
.rt-t{font-weight:500;color:var(--ink)}
.st.more .inl{font-size:15px}
.ml{align-items:center}
.ml i{display:block}
.ml hr{border:0;border-top:1px dashed var(--line);margin:0}
.st.aux{padding:10px 0}
.st.aux .st-x{visibility:hidden}
.st.aux .st-d b{font:500 13.5px/1.4 var(--body);color:var(--muted);padding-top:3px}
.st.aux .rt-list>li{border:0;padding:3px 0}
.st.aux .rt-nm,.st.aux .rt-t{font-weight:400;font-size:15.5px;color:var(--text)}
.st:not(.now):not(.next):not(.aux) .rt-list>li{grid-template-columns:auto minmax(0,1fr) auto}
.st:not(.now):not(.next):not(.aux) .rt-m{grid-column:2;grid-row:1;margin:0}
.st:not(.now):not(.next):not(.aux) .rt-v{grid-column:3;grid-row:1}
.st:not(.now):not(.next):not(.aux) .rt-det{grid-row:2}
.st.aux .rt-list>li{grid-template-columns:auto minmax(0,1fr) auto}.st.aux .rt-m{grid-column:2;grid-row:1;margin:0}.st.aux .rt-v{grid-column:3;grid-row:1}.st.aux .rt-det{grid-row:2}
.vt{overflow-x:auto;scrollbar-width:none}.vt button{white-space:nowrap}
@media (max-width:700px){
 .rh-meta{font-size:14px}
 .doc{grid-template-columns:32px minmax(0,1fr);gap:12px}.doc img{width:32px;height:32px}.doc blockquote{font-size:15px}
 .st:not(.now):not(.next):not(.aux) .rt-list>li,.st.aux .rt-list>li{display:block;padding:4px 0}
 .st:not(.now):not(.next):not(.aux) .rt-nm,.st.aux .rt-nm,.st.aux .rt-t{display:block}
 .st:not(.now):not(.next):not(.aux) .rt-v,.st.aux .rt-v,.st:not(.now):not(.next):not(.aux) .rt-m,.st.aux .rt-m{display:inline;font-size:14px;color:var(--muted);white-space:normal}
 .st:not(.now):not(.next):not(.aux) .rt-m::before,.st.aux .rt-m::before{content:", "}
 .st.aux .st-d b{padding:0}
 .ml hr{display:none}
}
:root{--hero:#eef4fd;--hero-line:#d9e5f7;--tile:#f3f6fa}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hero:#17233a;--hero-line:#253552;--tile:#1c2533}}
:root[data-theme="dark"]{--hero:#17233a;--hero-line:#253552;--tile:#1c2533}
.rh{padding-bottom:18px}
.hero{background:var(--hero);border-radius:20px;padding:28px 32px 30px;display:grid}
.hero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hero-num{display:flex;gap:18px}
.hero-num>b{font:700 88px/0.9 var(--head);color:var(--accent);letter-spacing:-.04em;font-variant-numeric:lining-nums}
.hero-num p{font:600 24px/1.2 var(--head);color:var(--ink)}
.hero-lead{display:block;max-width:17ch}

.hero-split{display:block;font:400 15px/1.4 var(--body);color:var(--muted);margin-top:6px;max-width:none}
.hero-split b{font-weight:500;color:var(--ink)}
.hero-next{display:flex;align-items:center;gap:12px}
.hero-next p{font-size:15px;color:var(--text);line-height:1.35}
.hero-next p span{display:block;font-size:13px;color:var(--muted)}
.tile{display:inline-grid;place-items:center;align-content:center;width:56px;height:60px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hero-line);flex:none}
.tile b{font:700 22px/1 var(--head);color:var(--ink)}
.tile small{font:500 12px/1.2 var(--body);color:var(--muted);margin-top:4px;white-space:nowrap}
.tile.acc{background:var(--accent)}.tile.acc b,.tile.acc small{color:var(--on-accent)}
.sheet-in .rt-g{font:500 13.5px var(--body);color:var(--muted)}
.sheet-in .rt-g+.rt-list{border-top:0}
.rt-recs{font-size:15.5px;color:var(--text);padding:8px 0 10px}
.hero .doc{grid-template-columns:56px minmax(0,1fr);gap:16px;margin:0;align-items:start}
.hero .doc img{width:56px;height:56px}
.hero .doc blockquote{font-size:16px;color:var(--ink)}
.hero-acts{display:flex;flex-wrap:wrap;gap:12px}
.hero-acts .btn.line{background:transparent;box-shadow:inset 0 0 0 1px var(--hero-line)}
.hero .save{margin:0}
.hero.calm .hero-num>b{color:var(--ok)}
.stages{margin-top:40px}
.stg-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap}
.stg-h h3,.nexts h3{font:600 20px/1.25 var(--head)}
.stg-h p{font-size:14px;color:var(--muted)}
.k{display:inline-block;width:8px;height:14px;border-radius:3px;margin-left:10px}
.k:first-child{margin-left:0}
.k.done,.ticks i.done{background:var(--ok)}
.k.now,.ticks i.now{background:var(--accent)}
.k.next,.ticks i.next{box-shadow:inset 0 0 0 1.5px var(--field)}
.stg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stg li{display:grid;gap:10px;padding:14px 14px 12px;border-radius:14px;background:var(--tile)}
.stg li.cur{background:var(--hero);box-shadow:inset 0 0 0 1.5px var(--accent)}
.ticks{display:flex;flex-wrap:wrap;gap:4px;min-height:18px}
.ticks i{width:8px;height:18px;border-radius:3px}
.ticks em{font-style:normal;color:var(--faint);font-size:14px}
.stg li>span{font:500 14px var(--body);color:var(--muted)}
.nexts{margin-top:40px}
.nx-list{display:grid;margin-top:8px}
.nx{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:16px 0;border-top:1px solid var(--line)}
.nx:first-child{border-top:0}
.nx-when{font-size:14px;color:var(--muted);margin-bottom:4px}
.nx .rt-list>li{border:0;padding:3px 0;grid-template-columns:auto minmax(0,1fr) auto}
.nx .rt-nm{font-weight:500;font-size:16px}
.nx .rt-m{grid-column:2;grid-row:1;margin:0 0 0 2px;white-space:normal}
.nx .rt-v{grid-column:3;grid-row:1;font-size:14.5px}
.nx .rt-det{grid-row:2}
.nx-sep{font:600 15px var(--head);color:var(--ink);padding:22px 0 4px}
.more-btn{margin-top:8px;font:500 15.5px var(--body);color:var(--accent)}
.aux{display:grid;gap:6px;margin-top:20px;font-size:15px;color:var(--muted)}
.aux b{font-weight:500;color:var(--ink)}
.route>.legal{margin:28px 0 0;font-size:12.5px;color:var(--faint)}
.route .st-x{display:none}
@media (max-width:700px){
 .hero{gap:18px}
 .hero-num>b{font-size:72px}
 .hero-num p{font-size:20px}
 .hero-next{width:100%;padding-top:14px;border-top:1px solid var(--hero-line)}
 .sheet-in{padding:2px 16px 6px}
 .hero .doc{grid-template-columns:44px minmax(0,1fr)}.hero .doc img{width:44px;height:44px}.hero .doc blockquote{font-size:15px}
 .hero-acts .btn{flex:1 1 100%}
 .nx{grid-template-columns:48px minmax(0,1fr);gap:14px}
 .nx .tile{height:52px}
 .nx .rt-list>li{display:block}
}
.hero{gap:20px}
.hero-num{align-items:flex-start}
.hero-num>b{margin-top:-4px}
.hero-split+.hero-split{margin-top:2px;color:var(--text)}
.sheet-in{background:none;border-radius:0;padding:0;border-top:1px solid var(--hero-line)}
.sheet-in .rt-list>li{border-top-color:var(--hero-line);padding:12px 0}
.sheet-in .rt-g{margin:18px 0 0;padding-bottom:6px;border-bottom:1px solid var(--hero-line)}
.sheet-in .rt-g:first-child{margin-top:14px}
.stg{gap:0;margin-top:16px;border-top:1px solid var(--line)}
.stg li,.stg li.cur{background:none;box-shadow:none;border-radius:0}
.stg li{grid-template-rows:minmax(18px,1fr) auto;align-content:start;min-width:0;padding:14px 16px 0 0}
.ticks{align-self:start;min-width:0}.ticks i{flex:none}
.stg li+li{padding-left:16px;border-left:1px solid var(--line)}
.stg li.cur>span{color:var(--accent);font-weight:500}
.stg li.cur>span::after{content:" – сейчас";font-weight:400;color:var(--muted)}
.stg-h p b{font-weight:500}
.c-done{color:var(--ok)}.c-now{color:var(--accent)}
.nx .tile{background:none;box-shadow:none;width:auto;height:auto;place-items:start;align-content:start}
.nx .tile b{font-size:26px}
.nx .tile.acc{background:none}.nx .tile.acc b{color:var(--accent)}.nx .tile.acc small{color:var(--accent)}
.more-btn{width:auto;min-height:0;padding:14px 0 0;background:none;border-radius:0;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media (max-width:700px){
 .stg{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stg li:nth-child(3){border-left:0;padding-left:0}
 .stg li:nth-child(n+3){border-top:1px solid var(--line);margin-top:14px}
 .nx .tile{width:48px}
}
.btn{border-radius:10px}
.field{border-radius:10px}
.seg{border-radius:10px}.seg button{border-radius:7px}
.rail .btn.blue{background:var(--accent-soft);color:var(--accent)}
.rail{gap:24px}
.rail .rec{border-radius:8px}
.cert-h h3{font:600 20px/1.25 var(--head)}
.cert .gridbox{margin-top:4px}
.rt-nm{padding-bottom:1px}
@media (hover:hover){.rt-nm:hover{color:var(--accent);background-image:linear-gradient(var(--accent),var(--accent))}}
@media (max-width:700px){
 .hero{margin:0;border-radius:18px;padding:22px 18px 24px}
}
.grid-legend{display:block;padding:10px 0 6px}
.grid-legend b{font-weight:500}
.g-row{grid-template-columns:220px minmax(0,1fr);padding:14px 0;gap:6px 24px;align-items:baseline}
.g-name{display:block;padding:0}
.g-name>span:first-child{display:block;font:500 15.5px/1.35 var(--body);color:var(--ink)}
.g-name .st{display:inline;padding:0;font-size:13.5px;line-height:1.4}
.g-name .st.now{color:var(--accent)}
.g-name .chev{display:inline-block;vertical-align:2px;margin-left:8px}
.g-name .cdc-chip{margin-left:8px;font-size:13px;color:var(--muted)}
.g-cells{gap:6px 0}
.c b{font-size:15px}
.c.now b{color:var(--accent)}
.rt-nm{background:none;padding:0;justify-self:start;text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:5px}
@media (hover:hover){.rt-nm:hover{background:none;text-decoration-color:var(--accent)}}
@media (max-width:700px){.g-row{grid-template-columns:1fr;gap:4px}}
.full{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.full-h b{font:600 18px var(--head);color:var(--ink)}
.full-h span{margin-left:10px;font-size:14.5px;color:var(--muted)}
.full-sw{display:flex;flex-wrap:wrap;gap:8px}
.full-sw button{min-height:40px;padding:0 16px;border-radius:10px;font:500 15px var(--body);color:var(--accent);box-shadow:inset 0 0 0 1px var(--rule)}
.full-sw button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);box-shadow:none}
.full-sw .full-x{color:var(--muted);box-shadow:none;padding:0 6px;text-decoration:underline;text-underline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cert{margin-top:8px}
.cert-h{justify-content:flex-end}
.route>.legal{order:9}
.route{display:flex;flex-direction:column}
@media (max-width:700px){.full-sw{width:100%}.full-sw button:not(.full-x){flex:1 1 auto}}
.plan-legal{margin-top:32px;font-size:12.5px;color:var(--faint);max-width:60ch}
.full-list{margin-top:12px}
@media (max-width:700px){.nx .rt-m{margin:0}}
.empty{max-width:none;padding-top:0;gap:0}
.es{background:var(--hero);border-radius:20px;padding:30px 32px 32px;display:grid;gap:16px}
.es-doc{display:flex;align-items:center;gap:14px;margin:0}
.es-doc img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.es-doc figcaption{font-size:13.5px;color:var(--muted);line-height:1.4}
.es-doc b{display:block;font:500 15.5px var(--body);color:var(--ink)}
.es h2{font:600 30px/1.18 var(--head);letter-spacing:-.01em;max-width:28ch;margin-top:4px}
.es-lead{font-size:16.5px;color:var(--text);max-width:58ch}
.es-lead .inl{font-size:16px}
.es-why{display:grid;gap:8px;font-size:15px;color:var(--text);max-width:62ch}
.es-why ul{display:grid;gap:4px;padding-left:18px;list-style:disc}
.es-why .ig{font-size:14px;color:var(--muted)}
.es-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px;border-top:1px solid var(--hero-line)}
.es-steps li{display:grid;align-content:start;gap:4px;padding:16px 18px 0 0}
.es-steps li+li{padding-left:18px;border-left:1px solid var(--hero-line)}
.es-n{font:700 32px/1 var(--head);color:var(--faint);margin-bottom:6px}
.es-steps b{font:500 15.5px/1.35 var(--body);color:var(--muted)}
.es-steps p{font-size:14px;color:var(--muted)}
.es-steps li.cur .es-n{color:var(--accent)}.es-steps li.cur b{color:var(--ink)}.es-steps li.cur p{color:var(--text)}
.es-steps li.done .es-n{color:var(--ok)}.es-steps li.done b{color:var(--ink)}
.es-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:10px}
.es-acts .btn.line{background:transparent;box-shadow:inset 0 0 0 1px var(--hero-line)}
.es-acts .inl{font-size:15px}
.es-foot{margin-top:18px;font-size:14px;color:var(--muted);max-width:70ch}
body:not(.ready) .rail .author{display:none}
@media (max-width:700px){
 body:not(.ready) .rail .author{display:grid}
 .es{padding:22px 18px 24px;border-radius:18px}
 .es-doc{display:none}
 .es h2{font-size:23px}
 .es-lead{font-size:15.5px}
 .es-steps{grid-template-columns:1fr}
 .es-steps li,.es-steps li+li{padding:12px 0;border-left:0;border-bottom:1px solid var(--hero-line);grid-template-columns:40px 1fr;column-gap:8px}
 .es-steps .es-n{grid-row:1/3;font-size:26px}
 .es-acts .btn{flex:1 1 100%}
 .empty .es-steps{display:grid}
}
.visit-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px}
.visit-pick>span{font:500 14px var(--body);color:var(--ink);margin-right:6px}
.visit-pick button,.vp-date{position:relative;min-height:36px;padding:0 14px;border-radius:10px;font:500 14px var(--body);color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--hero-line);display:inline-flex;align-items:center}
.visit-pick button[aria-pressed="true"],.vp-date.on{background:var(--accent);color:var(--on-accent);box-shadow:none}
.vp-input{min-height:36px;padding:0 10px;border:0;border-radius:10px;font:500 14px var(--body);color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--field);font-variant-numeric:tabular-nums}
.vp-input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}
.vp-input.is-selected{background:var(--accent);color:var(--on-accent);-webkit-text-fill-color:var(--on-accent);box-shadow:none}
.vp-input.is-selected::-webkit-datetime-edit{color:var(--on-accent)}
.vp-input.is-selected:focus{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none}
.full,.nexts,#plan-continuation,#views{overflow-anchor:none}
.hero-after{font-size:13.5px;color:var(--muted);max-width:70ch;margin-top:-6px}
.mv-note{font-size:14px;color:var(--muted);margin-top:4px}
.mv-note b{color:var(--ink)}
.nx.mv .tile b::before{content:"≈";font-weight:600;margin-right:2px;color:var(--muted)}
.restore{display:grid;gap:10px}
.restore>.inl{justify-self:start;font-size:14.5px}
.restore-box{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--hero)}
.restore-box p{font-size:14px;color:var(--text)}
.restore-box .btn{min-height:42px;font-size:15px}
.restore-box textarea{width:100%;border:0;border-radius:10px;padding:10px 12px;font:14px var(--body);color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--field);resize:vertical}
.restore-err{color:var(--cta)!important}
.restore-err:empty{display:none}
.vp-row{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:700px){.visit-pick{display:grid;gap:8px}.vp-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:2px 18px}.vp-row::-webkit-scrollbar{display:none}.visit-pick>span{font-size:14px}.visit-pick button,.vp-date{flex:none;min-height:36px;padding:0 12px;font-size:14px}}

.keep{display:grid;grid-template-columns:minmax(0,1fr)}
.keep-t b{display:block;font:600 16px/1.35 var(--head);color:var(--ink)}
.keep-t p{font-size:14.5px;color:var(--text);margin-top:4px;max-width:70ch}
.keep-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.keep-acts .inl{font-size:14.5px}
.vp-note{flex-basis:100%;font-size:13px;color:var(--muted);margin-top:2px}
.restore{margin-top:-6px}
.restore-cta{display:grid;gap:10px;padding:14px 16px;border-radius:14px;background:var(--hero)}
.restore-cta p{font-size:14px;color:var(--text);line-height:1.45}
.restore-cta b{font-weight:500;color:var(--ink)}
.restore-btns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.restore-btns .btn{min-height:40px;font-size:15px;background:var(--surface)}
.restore-btns .inl{font-size:14px}
.es-restore{padding-top:18px;flex-wrap:wrap;align-items:center;gap:8px 12px}
.es-restore b{font-weight:500;color:var(--ink)}
.es-restore .btn{min-height:40px;font-size:15px;background:var(--surface)}
@media (max-width:700px){.keep{padding:16px}}
.keep{background:none;padding:16px 0 0;border-top:1px solid var(--hero-line);border-radius:0;gap:12px;margin-top:4px}
.keep-t{font-size:14.5px;color:var(--text);max-width:70ch}
.keep-acts .btn{min-height:40px;font-size:15px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hero-line)}
.restore{margin:0}
.restore-cta,body:not(.ready) .restore-cta{display:block;padding:0;background:none;border-radius:0;font-size:14px;color:var(--muted)}
.restore-cta .inl{font-size:14px}
.es-restore{display:block;padding:14px 0 0;margin-top:2px;border-top:1px solid var(--hero-line);font-size:14.5px;color:var(--muted)}
.es-restore .inl{font-size:14.5px}
@media (min-width:701px){body:not(.ready) .restore-cta{display:none}}
@media (max-width:700px){.es-restore{display:none}.keep{padding-top:14px}.keep-acts .btn{flex:1 1 auto}}
body.ready .restore{display:grid}
body.ready .restore-cta{display:block}

.hero-heading{font:600 28px/1.25 var(--head);color:var(--ink);max-width:30ch;margin:0}
.hero-count{font:400 15px/1.5 var(--body);color:var(--muted);margin:0}
@media(max-width:700px){.hero-heading{font-size:23px}}
.hero.hero-visit{padding:0;gap:0;overflow:hidden;background:var(--surface);border-radius:20px;margin:0}
.hero-visit .visit-intro{padding:30px 32px;background:var(--hero)}
.hero-visit .hero-heading{font:700 32px/1.15 var(--head);letter-spacing:-.5px;max-width:25ch;margin:0 0 28px}
.hero-visit .visit-pick{display:grid;gap:10px}
.hero-visit .visit-pick>label{font:500 15px/1.4 var(--body);color:var(--text)}
.hero-visit .vp-row{gap:10px;flex-wrap:wrap;overflow:visible;margin:0;padding:0}
.hero-visit .vp-row button,.hero-visit .vp-input{min-height:44px;font-size:16px;border-radius:10px}
.hero-visit .vp-input{width:176px;max-width:100%;padding:9px 12px}
.hero-visit .visit-content{padding:28px 32px 26px;display:grid}
.hero-visit .sheet-in{padding:0;border:0}
.visit-section-title,.visit-recommended h3{font:600 20px/1.3 var(--head);margin:0 0 8px;color:var(--ink)}
.visit-count{font:400 14px/1.5 var(--body);color:var(--muted);margin:0 0 8px}
.hero-visit .rt-list .rt-n{font-size:17px}
.visit-recommended p{font:400 16px/1.55 var(--body);color:var(--text);margin:0}
.hero-visit .doc{margin:0}
.hero-visit .hero-acts{margin:0}
.hero-visit .keep{margin:0;padding-top:16px}
.visit-wait{margin:18px 0 0;font-size:15px;color:var(--text)}
.visit-followup{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;padding:24px 32px;border-bottom:1px solid var(--line)}
.visit-followup span{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.visit-followup b{font:600 22px/1.25 var(--head);color:var(--ink)}
.visit-followup p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:700px){.hero-visit .hero-heading{letter-spacing:-.3px}.hero-visit .vp-row{width:100%}.visit-followup{padding:22px}.hero-visit .hero-acts .btn{flex:1 1 100%}}
.plan-explanation{margin-top:8px;font-size:13px;line-height:1.5;color:var(--muted)}
@media (max-width:700px){
 .sheet{inset:auto 0 auto;top:var(--picker-top,0px);height:var(--picker-height,100dvh);padding:0;place-items:stretch}
 .sheet-panel{height:100%;max-height:100%;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .sheet-grip{display:none}
 .sheet-grip+.sheet-top{padding:10px 16px 4px;flex-shrink:0}
 .sheet-top h2{font-size:17px;line-height:1.25}
 #sheet-x{min-width:44px;height:44px}
 #s-form{padding:8px 16px 12px;gap:8px;overflow:auto}
 #s-form input{font-size:16px}
 #s-list{min-height:64px;flex:1 1 0;-webkit-overflow-scrolling:touch}
 #s-list li[data-i]{min-height:52px;padding:10px 8px}
 #s-covers:empty,#s-error:empty{display:none}
 .sheet.searching .s-row{grid-template-columns:1fr}
 .sheet.searching .s-row>.fl:last-child,.sheet.searching #s-covers,.sheet.searching .s-acts,.sheet.searching #s-error{display:none}
 .sheet.searching #s-list{min-height:0}
 .s-acts{flex-shrink:0}
}
:root{--overlay:color-mix(in srgb,var(--ink) 45%,transparent);--error:#b02f15}
html,body{overflow-x:clip}
body{margin:0}
button:disabled{opacity:.55;cursor:not-allowed;background:var(--soft);color:var(--muted)}
input:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}
button:not(:disabled):active{filter:brightness(.94)}
.field:has([aria-invalid="true"]){box-shadow:inset 0 0 0 2px var(--error)}
.history-finish{display:grid;gap:10px;margin-top:8px}
.history-finish p{font-size:14px;color:var(--muted)}
.rail .history-finish .btn.blue{background:var(--accent);color:var(--on-accent)}
.history-finish .btn{width:100%;padding-inline:12px}
.seg{flex-wrap:wrap;max-width:100%}
.seg button{min-height:44px;padding:8px 12px}
.scheme-help{font-size:14px;color:var(--text);max-width:66ch}
.scheme-help summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--accent);list-style:none}
.scheme-help summary::-webkit-details-marker{display:none}
.scheme-help summary::after{content:'+';flex:none;font-size:20px}
.scheme-help[open] summary::after{content:'−'}
.scheme-help-body{padding:4px 0 16px;display:grid;gap:14px}
.scheme-help dl{margin:0;display:grid;gap:12px}
.scheme-help dt{font-weight:500;color:var(--ink)}
.scheme-help dd{margin:3px 0 0}
.scheme-help a{text-underline-offset:3px}
.hero-visit .visit-content{gap:20px}
.hero-visit .visit-section-title,.visit-recommended h3{font:500 15px/1.4 var(--body);color:var(--muted);margin:0 0 4px}
.hero-visit .rt-list>li{display:block;padding:0;border-top:1px solid var(--line)}
.hero-visit .rt-list>li:first-child{border-top:0}
.rt-nm.rt-compact{display:flex;width:100%;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:10px 0;text-decoration:none;font:500 16px/1.4 var(--body);color:var(--ink)}
.rt-compact>span:first-child{min-width:0;overflow-wrap:anywhere}
.detail-mark{color:var(--accent);font-size:20px;font-weight:400;flex:none}
.hero-visit .rt-det{padding:0 0 14px}
.vaccine-product{font-weight:500;color:var(--ink)}
.visit-recommended{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.visit-recommended .recommendation-note{font:400 14px/1.5 var(--body);color:var(--muted);margin:8px 0 0}
.visit-count{font-size:14px}
.visit-choice-note{font-size:15px;line-height:1.5;color:var(--text);margin:0}
.visit-choice-note .visit-count{display:block;font-size:16px;font-weight:500;color:var(--ink);margin:0 0 5px}
.visit-choice-note>span{display:block}
.visit-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.visit-author img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.visit-author>div{min-width:0}.visit-author b{display:block;font-size:16px;font-weight:500;color:var(--ink)}
.visit-author a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-underline-offset:4px}.visit-author small{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.calm-note{font-size:16px;color:var(--text)}
.delete-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--rule);border-radius:16px;padding:24px;background:var(--surface);color:var(--text)}
.delete-dialog::backdrop{background:var(--overlay)}
.delete-dialog h2{font-size:22px;line-height:1.25;margin-bottom:14px}
.delete-dialog p{font-size:15px;margin-top:10px}
#delete-record{font-weight:500;color:var(--ink)}
.delete-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.delete-actions .btn{flex:1 1 auto;padding-inline:14px}
#sheet-title:focus,#plan:focus{outline:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--error:#ff8a70}}
:root[data-theme="dark"]{--error:#ff8a70}
@media(hover:hover) and (pointer:fine){
 button:not(:disabled):hover{cursor:pointer}
 .seg button:not([aria-pressed="true"]):hover{background:var(--soft);color:var(--ink)}
 .rt-nm.rt-compact:hover{color:var(--accent);background:none}
 .field:hover{background:var(--soft)}
}
@media(pointer:coarse){
 .c,.c.done,.c.now,.c.next,.c.add,.rt-nm,.more-btn,.full-sw button,.author-pill,.author-more,.s-acts .del,.scheme-option>summary,.comparison-background>summary{min-height:44px}
 button.c{min-width:44px}
 .c.add{display:inline-flex;align-items:center}
 .g-name{min-height:44px}
 .rt-nm{display:flex;align-items:center}
 .sheet-top button{width:44px;height:44px}
}
@media(max-width:700px){
 .btn{max-width:100%}
 .es-acts .btn{padding-inline:12px}
 .hero-visit .visit-intro,.hero-visit .visit-content{padding:22px 18px}
 .hero-visit .hero-heading{font-size:25px}
 .seg button{font-size:14px;padding-inline:10px}
 .full-sw button{white-space:normal}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}
}

/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
.plan-title{display:grid;gap:10px;margin-bottom:18px}.plan-title h2{margin:0}.plan-title .edit-input{justify-self:start;font-size:14px}.full-toggle{width:100%;min-height:48px}.full-sw{margin-top:12px}.restore>summary{min-height:44px;cursor:pointer;color:var(--muted);font-size:14px;display:list-item}.restore:not([open])>*:not(summary){display:none}.rail .restore .restore-cta{display:block;margin-top:10px}.restore-box{margin-top:10px}#plan-continuation .stages{margin:24px 0}.empty .es{gap:12px}.empty .es h2{font-size:28px}.empty .es .inl{justify-self:start;margin-top:10px}
@media(max-width:700px){
 .rail{max-width:none;display:flex;flex-direction:column;gap:24px}.rail>.input-intro{order:0}.rail>.demo{order:1}.rail>.birth-input{order:2}.rail>.history-input{order:3}.rail>.extras{order:4}.rail>.restore{order:5}.rail>.author{order:6}.rail>.rail-foot{order:7}.rail>.rail-h2{display:none}.rail .author,body.ready .rail .author{display:grid}.rail .history-input{display:flex;flex-direction:column;gap:12px}.history-input>.lbl{order:0}.history-input>.recs{order:1}.history-input>#add{order:2}.history-input>#no-history-rail{order:3}.history-input>#added{order:4}.history-input>.history-finish{order:5}.history-input>.to-plan{order:6}.history-input .recs:not(:has(.rec)){display:none}#plan-empty{display:none}.page{gap:24px}.plan-title h2{font-size:27px}.plan-title .rh-sub{font-size:15px}.rail .restore{display:block}.input-intro .lead{font-size:15px}.full-sw{flex-wrap:wrap}.full-sw button{min-height:44px}
}

/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
.empty .welcome{gap:14px}.empty .welcome h2{font-size:29px;max-width:24ch}.welcome-steps{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--hero-line)}.welcome-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--hero-line)}.welcome-steps li>span{font:600 20px/1.4 var(--head);color:var(--accent)}.welcome-steps b{font-weight:500;color:var(--ink)}.welcome-steps p{font-size:14px;color:var(--muted);margin-top:2px}.welcome-demo{justify-self:start;margin-top:8px}.welcome-author{display:flex;gap:14px;align-items:center;margin-top:10px;padding-top:20px;border-top:1px solid var(--hero-line)}.welcome-author img{width:56px;height:56px;object-fit:cover;border-radius:50%;flex:none}.welcome-author b{display:block;font-weight:500;color:var(--ink)}.welcome-author small{display:block;font-size:13px;color:var(--muted)}.welcome-author-text{font-size:14px;color:var(--text)}.welcome-why{font-size:14px;border-bottom:1px solid var(--hero-line)}.welcome-why summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--accent)}.welcome-why summary::after{content:'+';margin-left:auto}.welcome-why[open] summary::after{content:'−'}.welcome-why>div{display:grid;gap:8px;padding-bottom:14px;color:var(--text)}.welcome-why ul{padding-left:18px;list-style:disc}.welcome-why .ig{color:var(--accent)}.mobile-demo{display:none}
@media(min-width:701px){body.ready .rail .author{display:grid}}
@media(max-width:700px){.rail-foot .mobile-demo{display:inline-flex;align-items:center;min-height:44px;justify-self:start}}

/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
.men-reminder-body{min-width:0}.men-reminder-body>b{font-weight:500;color:var(--ink);font-size:16px}.men-reminder-copy{font-size:14px;line-height:1.5;color:var(--text);margin-top:4px}.men-reminder-help{font-size:14px;color:var(--muted)}.men-reminder-help summary{display:flex;align-items:center;min-height:44px;color:var(--accent);cursor:pointer;list-style:none}.men-reminder-help summary::after{content:'+';margin-left:12px}.men-reminder-help[open] summary::after{content:'−'}.men-reminder-help p{margin:0 0 8px}.men-reminder-help a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.men-reminder-current{border-bottom:1px solid var(--line);padding:18px 0}.men-reminder .tile b{font-size:19px}.men-course-note{grid-column:1/-1;font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px}

/* Compact author promotion: shown before calculation, personal booking retained in the result. */
.rail #author:not([hidden]){display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-areas:"ph id" "acts acts";gap:8px 14px;padding:18px 0;height:auto;min-height:0}
.rail #author.open:not([hidden]){grid-template-areas:"ph id" "acts acts" "card card" "legal legal"}
#author .author-ph{width:56px;height:56px;align-self:center}
#author .author-id{align-self:center;padding:0}
#author .author-id b{font:600 18px/1.3 var(--head)}
#author .author-id small{display:block;font-size:15px;line-height:1.4;margin-top:4px}
#author .author-acts{display:flex;grid-area:acts;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 14px}
#author .author-more{grid-area:auto;align-self:auto;margin:0;padding:0;min-height:44px;font-size:15px}
#author .author-more::after{content:none}
#author .author-pill{grid-area:auto;align-self:auto;display:inline-flex;align-items:center;min-height:44px;font-size:15px}
#author .author-card{font-size:16px;padding:6px 0 0}
#author:not(.open) .legal{display:none}
#author.open .legal{display:block;padding:0}
.empty .welcome-author,.empty .welcome-author-text,.empty .welcome-why{display:none}
.rail details.restore{display:block;align-self:start;height:auto;min-height:0;margin:0}
.restore>summary{font-size:15px;min-height:44px;padding:0}
.restore[open]>.restore-hint{font-size:15px;color:var(--muted);margin:8px 0 0}
.rail .restore[open]>.restore-cta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:4px 0 0;padding:0;min-height:0}
.restore-cta .inl{min-height:44px;display:inline-flex;align-items:center;font-size:15px}
.restore:not([open])>*:not(summary){display:none!important}
.restore .restore-box{margin-top:12px;padding:14px;min-height:0}

/* The standard plan remains available; scope is explained with the result. */
.plan-scope{margin:0 0 16px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#526477}
.plan-scope p{margin:0;font:inherit}
.restore-note{font-size:14px;line-height:1.5;padding:12px 14px;background:var(--accent-soft);color:var(--ink);border-left:3px solid var(--accent);border-radius:10px}

.plan-risk-note{font-family:Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;color:#43566a;margin:16px 0}

.visit-author .btn{margin-left:auto;flex:none}
@media(max-width:700px){.visit-author{display:grid;grid-template-columns:48px 1fr;column-gap:12px;row-gap:16px}.visit-author .btn{grid-column:1/-1;margin-left:0;width:100%}}
.field-err{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--cta)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .restore-err,:root:not([data-theme="light"]) .field-err{color:#ff8a7a!important}}
:root[data-theme="dark"] .restore-err,:root[data-theme="dark"] .field-err{color:#ff8a7a!important}

#plan-error { white-space: pre-line; }

/* Optional doctor choice and session introduction. Existing CTAs are unchanged. */
.plan-review-note{font-size:14px;color:var(--muted);border-left:3px solid var(--rule);padding:8px 12px;margin-bottom:20px}
.pediatrician-choice{border-top:1px solid var(--line);padding:20px 0;margin-top:16px}
.pediatrician-choice summary{cursor:pointer;color:var(--accent);font-weight:500;min-height:44px;padding:10px 0}
.pediatrician-choice>p{color:var(--muted);font-size:14px;margin:8px 0 12px}
.pediatrician-choice li{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.pediatrician-choice img{border-radius:50%;object-fit:cover;background:var(--soft);flex-shrink:0}
.pediatrician-choice li>div{flex:1;min-width:0}.pediatrician-choice b{display:block;color:var(--ink);font-size:15px}.pediatrician-choice small{display:block;color:var(--muted)}
.pediatrician-choice .btn{flex-shrink:0;font-size:14px}
.calendar-welcome{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 80px #0003}
.calendar-welcome::backdrop{background:rgb(10 24 40 / .48)}
.calendar-welcome h2{font-size:24px;margin-bottom:16px}.calendar-welcome p{margin-bottom:18px}.calendar-welcome strong{font-weight:500;color:var(--ink)}.calendar-welcome .btn{width:100%;white-space:normal}
html.welcome-open,html.welcome-open body{overflow:hidden}
@media(max-width:480px){.calendar-welcome{padding:24px}.pediatrician-choice li{flex-wrap:wrap}.pediatrician-choice li>div{flex-basis:calc(100% - 60px)}.pediatrician-choice .btn{margin-left:60px}}
@media print{.pediatrician-choice,.calendar-welcome{display:none!important}}

.visit-author + .pediatrician-choice{border-top:0;margin:0;padding:0 0 12px}
.visit-author + .pediatrician-choice summary{text-align:right;font-size:13px;list-style:none;padding:8px 0;min-height:36px}
.visit-author + .pediatrician-choice summary::-webkit-details-marker{display:none}
.visit-author + .pediatrician-choice summary::after{content:" ▾"}
.visit-author + .pediatrician-choice[open] summary::after{content:" ▴"}

.pediatrician-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;flex-shrink:0}
