/* A focused workspace around the existing local plan. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.focused-plan label.btn:focus-within{outline:2px solid var(--pine);outline-offset:3px}
.focused-plan{padding-bottom:12rem;--ink-faint:#626b62}
.focused-plan .wrap{max-width:78rem;padding:0 clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:14rem minmax(0,1fr);column-gap:clamp(2.5rem,6vw,6rem)}
.focused-plan .wrap>nav{grid-column:1/-1;padding:1.6rem 0;border-bottom:1px solid var(--rule);margin-bottom:3rem}
.focused-plan #plan-main{min-width:0;max-width:48rem}
.focused-plan #minibar{display:none}
.plan-rail{align-self:start;position:sticky;top:2rem}
.rail-title{color:var(--ink-soft);font-size:.85rem;margin:0 0 1rem .7rem}
.step-nav{display:flex;align-items:stretch;flex-direction:column;gap:.2rem;padding:0}
.step-nav button,.start-choices button,.rail-toggle{font:inherit;text-align:left;border:0;background:none;color:var(--ink-soft);cursor:pointer;transition:background .18s,color .18s,transform .12s}
.step-nav button{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;padding:.7rem .8rem;border-radius:99px;font-size:.91rem;line-height:1.25}
.step-nav button:hover{background:var(--pine-wash);color:var(--pine-deep)}
.step-nav button[aria-current]{background:var(--pine);color:var(--paper);font-weight:600}
.step-nav button[data-view=details]{margin-top:1.1rem}
.rail-status{font-size:.7rem;font-variant-numeric:tabular-nums}
.rail-foot{margin:1.8rem .8rem 0;padding-top:1.3rem;border-top:1px solid var(--rule);font-size:.78rem;color:var(--ink-soft)}
.rail-foot #action-count{font-weight:600;color:var(--pine-deep);margin-bottom:.3rem}
.rail-foot button{margin-top:.8rem}
.rail-toggle{display:none}
.start-heading{padding:.7rem 0 1rem}
.quiet-label{font-size:.86rem;color:var(--pine);font-weight:500;margin-bottom:1rem}
.start-heading h1,.panel-heading h1,#pause-panel h1{font-size:clamp(2.8rem,5.5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;max-width:11ch;text-wrap:balance}
.start-intro,.panel-heading>p:not(.quiet-label){font-size:1.1rem;color:var(--ink-soft);max-width:39ch;margin-top:1.2rem;line-height:1.55}
.focused-plan #next-up.show{display:block;animation:none;margin:1.5rem 0 0;padding:1.8rem 2rem;background:var(--pine-wash);border:0;border-radius:.7rem}
.focused-plan #next-up .cap{text-transform:none;letter-spacing:0;font-size:.83rem;font-weight:500;margin-bottom:1rem}
.focused-plan #next-up .nu-name{font-size:1.65rem;letter-spacing:-.02em;line-height:1.15}
.focused-plan #next-up .nu-detail{font-size:.98rem;max-width:56ch;margin:.7rem 0 1.2rem}
.focused-plan #next-up .actions{gap:.6rem}
.focused-plan .btn{min-height:2.75rem;padding:.55rem 1rem;letter-spacing:0}
.focused-plan #nu-go{border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.other-starts{padding-top:2.2rem}
.other-starts h2{font-size:1.13rem;font-weight:600;letter-spacing:-.01em}
.other-starts>p{font-size:.9rem;color:var(--ink-soft);margin-top:.25rem}
.start-choices{margin-top:1rem}
.start-choices button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:3.4rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-weight:500;color:var(--pine-deep)}
.start-choices button svg{flex:none;margin-left:1rem}
.start-choices button:hover{padding-left:.6rem;background:var(--pine-wash)}
.plan-explanation{margin:2rem 0;color:var(--ink-soft);font-size:.85rem}
.plan-explanation summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.5rem 0}
.plan-explanation .preface{font-size:.92rem;text-align:left;max-width:none;margin:.7rem 0}
.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 2.4rem;font-size:.8rem;color:var(--ink-soft)}
.focused-plan section{margin:0;animation:none;scroll-margin-top:2rem}
.focused-plan section .sect-head{align-items:start;cursor:default;gap:.8rem}
.focused-plan .sect-title h2{font-size:clamp(1.9rem,3.5vw,2.7rem);line-height:1.12;letter-spacing:-.035em;max-width:22ch}
.focused-plan .sect-title .meta{letter-spacing:0;text-transform:none;font-size:.86rem;color:var(--ink-soft);margin-top:.7rem}
.focused-plan .roman{display:none}
.focused-plan .sect-chip{font-size:.72rem;white-space:nowrap}
.focused-plan:not([data-plan-view=all]) .sect-chip{display:none}
.focused-plan .sect-note{margin:1.4rem 0 1.5rem;max-width:59ch}
.focused-plan .sect-actions{margin-left:0!important}
.focused-plan .item{padding:1.4rem 0;gap:1rem}
.focused-plan .item .name{font-size:1.13rem;line-height:1.35}
.focused-plan .item .tick{width:1.8rem;height:1.8rem}
.focused-plan .item.closed .name{text-decoration:none;color:var(--pine-deep)}
.focused-plan .item.closed .btn{opacity:1}
.focused-plan .item.closed .detail{color:var(--ink-soft)}
.focused-plan .bigcall{border:0;padding:1.5rem;background:var(--pine-wash)}
.focused-plan .requirements{margin-top:1rem}
.focused-plan .requirements summary{min-height:2.75rem;align-content:center}
.focused-plan .milestone{display:none}
.step-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
.focused-plan #plan-main>header{text-align:left;margin-bottom:2rem}
.focused-plan #plan-main>header h1{font-size:2.4rem}
.focused-plan #plan-main>header .eyebrow{display:none}
.focused-plan #plan-main>section:not([hidden])~section:not([hidden]){margin-top:3rem}
.focused-plan .id-card{margin-top:2rem}
.focused-plan .id-card .field label{font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.focused-plan .id-card .field input{min-height:3.1rem;font-size:1rem}
.focused-plan .id-card .head{padding-top:1.3rem}
.panel-heading .linkish{margin-top:1rem}
.identity-navigation{grid-column:1/-1;margin:.6rem 0}
.identity-navigation>p{font-size:.82rem;color:var(--ink-soft);margin-bottom:.8rem}
.identity-navigation>div{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
.focused-plan #save-notice{margin-bottom:1.5rem}
.focused-plan footer{grid-column:2;max-width:78rem;text-align:left;margin:4rem auto 0;padding:1.5rem clamp(1.25rem,4vw,3rem) 0;border-top:1px solid var(--rule)}
.focused-plan footer .close-line{margin:0;max-width:40rem;font-size:.96rem}
.focused-plan footer .close-line+.close-line{margin-top:1rem}
.focused-plan footer .links{justify-content:flex-start}
#pause-panel{padding-top:1rem}
.pause-symbol{display:flex;gap:7px;margin-bottom:1.6rem;height:24px;color:var(--pine)}
.pause-symbol span{width:5px;background:currentColor;border-radius:3px}
#pause-message{font-size:1.12rem;line-height:1.6;max-width:39ch;color:var(--ink-soft);margin:1.7rem 0}
.resume-note{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1.5rem 0;margin-bottom:1.8rem}
.resume-note span{display:block;font-size:.8rem;color:var(--ink-soft);margin-bottom:.3rem}
.resume-note b{font-size:1.25rem;font-weight:600}
#pause-handoff{display:block;margin-top:1.5rem}
.privacy-hint{font-size:.8rem;color:var(--ink-soft);max-width:42ch;margin-top:.5rem}
#action-receipt{position:fixed;z-index:22;bottom:1.2rem;left:50%;transform:translateX(-50%);width:min(56rem,calc(100% - 2rem));background:var(--paper);border:1px solid var(--pine);border-radius:.7rem;padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 36px rgba(18,64,47,.14)}
.receipt-check{flex:none;background:var(--pine);color:var(--paper);border-radius:50%;width:2.5rem;height:2.5rem;display:grid;place-items:center;animation:receipt-in .3s ease-out}
#receipt-title{font-size:1.1rem;color:var(--pine-deep)}
#receipt-detail{font-size:.85rem;color:var(--ink-soft);line-height:1.4;margin-top:.15rem}
.receipt-actions{display:flex;align-items:center;gap:1rem;flex:none;margin-left:auto}
@keyframes receipt-in{from{transform:scale(.6)}to{transform:scale(1)}}
.focused-plan button:active{transform:translateY(1px) scale(.98)}
.focused-plan summary:focus-visible,.focused-plan select:focus-visible{outline:2px solid var(--pine);outline-offset:3px}
@media(max-width:800px){
  .focused-plan .wrap{display:block;padding:0 1.25rem;max-width:42rem}
  .focused-plan .wrap>nav{margin-bottom:0;padding:1.2rem 0}
  .plan-rail{position:relative;top:auto;margin:0 0 1.5rem;border-bottom:1px solid var(--rule)}
  .rail-toggle{display:flex;justify-content:space-between;align-items:center;min-height:3.3rem;width:100%;font-size:.9rem;font-weight:500;color:var(--pine-deep)}
  #plan-navigation{display:none;padding-bottom:1.3rem}
  .plan-rail.expanded #plan-navigation{display:block}
  .rail-title{display:none}
  .step-nav{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
  .step-nav button{min-height:2.9rem;font-size:.85rem}
  .step-nav button[data-view=details]{margin-top:0}
  .rail-foot{margin-top:1rem}
  .start-heading{padding:.4rem 0}
  .start-heading h1{font-size:3.5rem;max-width:10ch}
  .quiet-label{font-size:.8rem;margin-bottom:.8rem}
  .start-intro{font-size:1.03rem;margin-top:1rem}
  .focused-plan #next-up.show{padding:1.4rem;margin-top:1.5rem}
  .focused-plan #next-up .nu-name{font-size:1.45rem}
  .focused-plan #next-up .nu-detail{font-size:.95rem}
  .workspace-heading{margin:.7rem 0 1.8rem}
  .workspace-heading>span{display:none}
  .focused-plan .id-card form{grid-template-columns:1fr;padding:1.1rem}
  .focused-plan .id-card .actions{flex-wrap:wrap}
  .focused-plan .id-card .field[style]{grid-template-columns:1fr!important}
  .focused-plan .id-summary{gap:1rem;flex-wrap:wrap}
  .focused-plan .sect-title h2{font-size:2rem}
  .focused-plan .sect-chip{display:none}
  .focused-plan .sect-note{font-size:.95rem}
  #action-receipt{flex-wrap:wrap;gap:.7rem;padding:1rem;bottom:max(.7rem,env(safe-area-inset-bottom))}
  #action-receipt>div:nth-child(2){flex:1}
  .receipt-actions{width:100%;margin:0;padding-left:3.2rem}
  .focused-plan footer{margin-top:2.5rem}
}
@media(prefers-reduced-motion:reduce){.focused-plan *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep setup and batch review comfortable on small screens. */
.focused-plan .batch-review{margin:1.5rem 0;border-top:1px solid var(--rule);padding-top:1rem}
.focused-plan .batch-review>summary{cursor:pointer;font-weight:600;padding:.8rem 0;min-height:44px}
.reminder-options{display:grid;gap:.65rem;margin:1rem 0;max-width:25rem}
.reminder-options input[type=date],.reminder-options input[type=time],#other-states{font:inherit;padding:.7rem;border:1px solid var(--rule);border-radius:.4rem;background:var(--paper);color:var(--ink)}
#other-states{display:block;width:100%;margin-top:.6rem}
@media(max-width:639px){.focused-plan #id-form>.field{grid-column:1/-1}.focused-plan #id-form>.field[style]{grid-template-columns:1fr!important}.focused-plan .form-grid{grid-template-columns:1fr}}

.journey-list{list-style:none;padding:0}.journey-list>li{padding:1rem 0;border-bottom:1px solid var(--rule)}.journey-list p{font-size:.9rem;margin:.5rem 0}

.item.alternative-covered .body:after{content:"Alternative — you have already completed another option";display:block;font-size:.8rem;color:var(--pine);margin-top:.6rem}

.follow-up-helper{list-style:none;padding:1rem 0;border-bottom:1px solid var(--rule)}

.focused-plan #plan-details .panel-heading h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.08}.focused-plan #plan-details .panel-heading{margin-bottom:1.25rem}.focused-plan #plan-details .panel-heading p{margin-bottom:.75rem}

.setup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1rem}
.focused-plan .step-nav button:disabled{opacity:.45;cursor:not-allowed;transform:none;background:transparent;color:var(--ink)}
@media(max-width:639px){.setup-actions{align-items:flex-start;gap:1rem}.setup-actions>button{max-width:100%}}
