/* Business Formation (App\Businesses\WorkKind::FORMATION): its form's own questions
   (marketing/tools/business-formation-form, a question at a time), its page's sections (marketing/tools/business-formation),
   and a checklist (works/kinds/business_formation, with works/partials/formation-setup), printed too.
   Loaded after app.css and works.css, whose tokens it uses. Its tone is sage. */

.bf,.bf-fields,.bf-compare,.bf-wizard{--bf-tone:#56762B;--bf-tone-soft:#E8EED9}

/* The form's questions */
.bf-fields{display:grid;gap:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.bf-choice{margin:0;padding:0;border:0;min-width:0}
.bf-choice legend{margin:0 0 8px;padding:0;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.02em}
.bf-chips{display:flex;flex-wrap:wrap;gap:8px}
.prompt .bf-chip{position:relative;display:inline-flex;color:var(--ink);font-size:15px;font-weight:500;letter-spacing:0;cursor:pointer}
.bf-chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.bf-chip span{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);transition:border-color .15s ease,background-color .15s ease}
.bf-chip:hover span{border-color:#CFC7B8}
.bf-chip input:checked+span{border-color:var(--bf-tone);background:var(--bf-tone-soft);color:var(--bf-tone);font-weight:600}
.bf-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.bf-more{margin:8px 0 0;color:var(--subtle);font-size:13px}
.prompt .bf-state-choice{display:flex;flex-direction:column;gap:8px;max-width:360px;letter-spacing:0}
.bf-choice-label{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.02em}
.bf-state-choice select{padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:400 16px/1.4 var(--body)}
.bf-state-choice select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.bf-state-choice .bf-more{margin:0;font-weight:400}
/* The form, a question at a time (marketing/tools/business-formation-form) */
.bf-wizard{gap:16px}
.bf-wizard-steps{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0 0 12px;list-style:none;border-bottom:1px solid var(--line-soft);color:var(--subtle);font-size:13px;font-weight:600}
.bf-wizard-steps[hidden]{display:none}
.bf-wizard-steps li{display:inline-flex;align-items:center;gap:7px}
.bf-wizard-steps li[hidden]{display:none}
.bf-wizard-steps li span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1px solid var(--line);font-size:12px}
.bf-wizard-steps li.is-current{color:var(--ink)}
.bf-wizard-steps li.is-current span{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.bf-wizard-steps li.is-done{color:var(--bf-tone)}
.bf-wizard-steps li.is-done span{background:var(--bf-tone-soft);border-color:var(--bf-tone);color:var(--bf-tone)}
.bf-q{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:0;min-width:0}
.bf-q[hidden]{display:none}
.bf-q>legend{float:left;width:100%;margin:0 0 12px;padding:0}
.prompt .bf-q-title{color:var(--ink);font:500 clamp(20px,2.4vw,24px)/1.25 var(--display);letter-spacing:-.01em}
.bf-q-more{display:flex;flex-direction:column;gap:8px;clear:both}
.bf-q-more[hidden]{display:none}
.bf-q-more input{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:400 17px/1.4 var(--body)}
.bf-q-more input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.bf-name-ideas{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}
.bf-q .bf-paths,.bf-q .bf-chips{clear:both}
.bf-wizard-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto}
.bf-wizard-nav [hidden]{display:none}
.bf-named{margin:0;padding:10px 14px;border:1px solid #CFE0D2;border-radius:12px;background:var(--ok-soft);color:var(--ok);font-size:14.5px;font-weight:600}

/* The Business Name Checkup (marketing/tools/business-name-checkup): the same card, with its answer below */
.nc-box{gap:16px}
.nc-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}
.nc-row .bf-state-choice{flex:1 1 240px}
.nc-row .bf-choice legend{margin-bottom:8px}
.nc-next{margin-top:12px}
.nc-soon{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}

/* Who files it: two cards (the setup's card style, below) */
.bf-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prompt .bf-path{color:var(--ink);letter-spacing:0;text-transform:none;font-weight:400}
.bf-path b{font-size:16px;font-weight:650}
.bf-path .bf-path-note{color:var(--bf-tone);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.bf-path.is-soon{cursor:default}
.bf-path.is-soon .bf-structure-body{background:var(--surface);border-style:dashed}
.bf-path.is-soon b,.bf-path.is-soon .bf-structure-body>span{color:var(--subtle)}
.bf-path.is-soon .bf-path-note{color:var(--subtle)}
.bf-choice[hidden],.bf-more[hidden]{display:none}
/* The checklist: the steps after registration, until then only named; who files it; the agreement's template */
.bf-steps-later .bf-step.is-later{padding-top:10px;padding-bottom:10px}
.bf-steps-later .bf-step.is-later h3{margin:0;color:var(--muted);font-size:16px;font-weight:600}
.bf-steps-later .bf-mark{background:var(--surface);color:var(--subtle)}
.bf-switch{margin-top:12px}
.bf-registered{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.bf-agreement{margin:10px 0 0;color:var(--muted);font-size:14.5px}
.bf-agreement p{margin:0 0 8px}
.bf-agreement-links{display:flex;flex-wrap:wrap;gap:8px}
.bf-agreement-links small{margin-left:4px;color:var(--ok);font-weight:600}
@media (max-width:640px){.bf-paths{grid-template-columns:1fr}}

/* The page: the ways to set a business up, and the states */
.bf-compare{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.bf-compare li{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.bf-compare h3{margin:0;font:500 19px/1.25 var(--display)}
.bf-compare p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.bf-compare .bf-compare-note{font-size:14px}
.bf-compare-note b{display:block;color:var(--bf-tone);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.bf-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 28px;margin:0;padding:0;list-style:none}
.bf-states li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line-soft)}
.bf-states b{font-size:15px;font-weight:600}
.bf-states span{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:1000px){.bf-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bf-compare,.bf-states{grid-template-columns:1fr}}

/* The checklist */
.bf{display:grid;gap:22px}
.bf-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}
.bf-summary{margin:0;font:500 20px/1.3 var(--display)}
.bf-progress{display:flex;align-items:center;gap:12px;margin-top:10px;color:var(--muted);font-size:14px;font-weight:600}
.bf-bar{display:block;width:180px;height:8px;overflow:hidden;border-radius:99px;background:var(--chip)}
.bf-bar i{display:block;height:100%;border-radius:inherit;background:var(--bf-tone)}
.bf-checked{margin:-10px 0 0;padding:10px 14px;border-radius:12px;background:var(--warn-soft);color:var(--warn-ink);font-size:14px;line-height:1.45}
.bf-section{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:20px}
.bf-section>h2,.bf-already h2,.bf-registered h2{margin:0;font:500 22px/1.25 var(--display)}
.bf-section-text{margin:6px 0 18px;color:var(--muted)}

.bf-steps{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none}
.bf-step{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line-soft);scroll-margin-top:90px}
.bf-step:first-child{border-top:0;padding-top:4px}
.bf-mark{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--chip);color:var(--muted);font-size:14px;font-weight:700}
.bf-step.is-done .bf-mark{background:var(--ok-soft);color:var(--ok)}
.bf-step-body{min-width:0;flex:1}
.bf-where{display:inline-block;margin:0 0 6px;padding:2px 9px;border-radius:999px;background:var(--chip);color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.bf-where.is-state{background:var(--bf-tone-soft);color:var(--bf-tone)}
.bf-where.is-irs{background:#E0EAF5;color:#2F5D8A}
.bf-where.is-local{background:#FBEBD0;color:#94600F}
.bf-step h3{margin:0;font-size:17px;font-weight:650;line-height:1.35}
.bf-step.is-done h3{color:var(--muted)}
.bf-step-body>p:not(.bf-where){margin:6px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.bf-step-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px}
.bf-step-foot form{display:flex;align-items:center;gap:10px;margin-left:auto}
.bf-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-hover);font-size:14.5px;font-weight:600;text-decoration:none}
.bf-link:hover{text-decoration:underline}
.bf-done{color:var(--ok);font-size:14px;font-weight:700}
.bf-undo{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}

/* The first step's name check (works/partials/formation-name-check) */
.bf-namecheck{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:14px;background:var(--paper)}
.bf-namecheck-signin{margin:0;color:var(--muted);font-size:14.5px}
.bf-namecheck-signin a{font-weight:600}
.bf-namecheck-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:650}
.bf-namecheck-row{display:flex;gap:8px}
.bf-namecheck-row input{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:400 16px/1.4 var(--body)}
.bf-namecheck-row input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.bf-namecheck-form .error{margin:6px 0 0}
.bf-namecheck-cost{margin:6px 0 0;color:var(--muted);font-size:13px}
.bf-namecheck-cost a{color:var(--ink);font-weight:600}
.bf-namecheck-result{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}
.bf-namecheck-result.is-free{border-color:#CFE0D2;background:var(--ok-soft)}
.bf-namecheck-result.is-not{border-color:#EFD3C4;background:var(--accent-soft)}
.bf-namecheck-result p{margin:0}
.bf-namecheck-answer{font-weight:650}
.bf-namecheck-result.is-free .bf-namecheck-answer{color:var(--ok)}
.bf-namecheck-problem{margin-top:6px !important;color:var(--muted);font-size:14px}
.bf-namecheck-alts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.bf-namecheck-alts span{width:100%;color:var(--muted);font-size:13.5px;font-weight:600}
.bf-namecheck-alts button{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:500 14px/1.3 var(--body);cursor:pointer}
.bf-namecheck-alts button:hover:not(:disabled){border-color:var(--bf-tone);color:var(--bf-tone)}
.bf-namecheck-alts button:disabled{cursor:default;opacity:.7}
.bf-namecheck-alts small{width:100%;color:var(--subtle);font-size:12.5px}
.bf-namecheck-note{margin-top:8px !important;color:var(--subtle);font-size:12.5px}
@media (max-width:480px){.bf-namecheck-row{flex-direction:column}.bf-namecheck-row .btn{align-self:flex-start}}
.bf-all-done{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:var(--ok-soft);color:var(--ok);font-weight:600}

/* "PressUp files it for you": the offer and the filing's status in the filing step */
.bf-filing-offer,.bf-filing{display:grid;gap:8px;margin-top:12px;padding:14px;border-radius:14px}
.bf-filing-offer{border:1px dashed var(--bf-tone);background:var(--bf-tone-soft)}
.bf-filing-offer p,.bf-filing p{margin:0}
.bf-filing-offer .btn{justify-self:start}
.bf-filing-offer-title,.bf-filing-status{font-weight:650;color:var(--ink)}
.bf-filing{border:1px solid var(--line);background:var(--paper)}
.bf-filing.is-completed{border-color:#CFE0D2;background:var(--ok-soft)}
.bf-filing.is-completed .bf-filing-status{color:var(--ok)}
.bf-filing.is-failed,.bf-filing.is-canceled,.bf-filing.is-needs_info{border-color:#EFD3C4;background:var(--accent-soft)}
.bf-filing-docs-title{margin-top:4px !important;font-size:14px;font-weight:650}
.bf-filing-docs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.bf-filing-docs a{display:inline-block;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.bf-filing-docs a:hover{border-color:var(--bf-tone);color:var(--bf-tone)}
.bf-renewal,.bf-agent{display:grid;gap:8px;margin-top:6px;padding-top:12px;border-top:1px solid #CFE0D2}
.bf-agent address{font-style:normal;color:var(--muted)}
.bf-agent-mail{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.bf-agent-mail li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.bf-agent-mail small{color:var(--subtle);font-size:13px}
.bf-agent-mail .is-legal a{border-color:#EFD3C4;background:var(--accent-soft)}
.bf-renewal form{margin:0}
.bf-renewal .btn{justify-self:start}
.bf-renewal.is-off p:not(.bf-filing-docs-title),.bf-renewal.is-ended p:not(.bf-filing-docs-title){color:var(--muted)}
.bf-filing-notice{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--ok-soft);color:var(--ok);font-weight:600}

/* The filing form (works/formation-filing) */
.bf-filing-page{max-width:820px}
.bf-filing-page h1{margin:8px 0 12px;font:400 clamp(30px,4vw,44px)/1.1 var(--display);letter-spacing:-.02em}
.bf-filing-page .lede{margin:0 0 24px;color:var(--muted);font-size:18px}
.bf-filing-problems{margin:0 0 20px;padding:14px 16px;border:1px solid #EFD3C4;border-radius:14px;background:var(--accent-soft)}
.bf-filing-problems p{margin:0;font-weight:650}
.bf-filing-problems ul{margin:8px 0 0;padding-left:20px}
.bf-filing-form .bf-section>h2{margin-bottom:10px}
.bf-agent-kinds{margin:0 0 14px}
.bf-agent-kinds .bf-chip{position:relative;display:inline-flex;cursor:pointer}
.bf-agent-who{margin-bottom:4px}
.bf-agent-who>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.bf-agent-who>div[hidden]{display:none}
.bf-agent-address{margin:12px 0 8px;font-size:14.5px;font-weight:650}
.bf-agent-own{margin:0;padding:0;border:0;min-width:0}
.bf-agent-pressup{margin-top:12px}
.bf-costs{width:100%;border-collapse:collapse;font-size:15.5px}
.bf-costs th{padding:8px 0;text-align:left;font-weight:500;color:var(--muted)}
.bf-costs td{padding:8px 0;text-align:right;font-variant-numeric:tabular-nums}
.bf-costs .bf-costs-renewal th,.bf-costs .bf-costs-renewal td{padding-top:4px;color:var(--muted);font-size:14.5px}
.bf-costs tr+tr th,.bf-costs tr+tr td{border-top:1px solid var(--line-soft)}
.bf-costs-total th,.bf-costs-total td{color:var(--ink);font-weight:700}
.bf-agree{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:15px;line-height:1.5;cursor:pointer}
.bf-agree input{margin-top:4px;accent-color:var(--bf-tone)}
.bf-not-advice{margin:10px 0 0;color:var(--subtle);font-size:13.5px}
.bf-filing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px}
.bf-filing-actions a{color:var(--muted);font-size:15px}
@media (max-width:700px){.bf-agent-who>div{grid-template-columns:1fr}}
.bf-ein-toggle{margin:0 0 6px;font-weight:600}
.bf-ein-fields{margin:14px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--line-soft);min-width:0}
.bf-ein-fields[hidden]{display:none}
.bf-ein-sub{margin:0 0 6px;font-size:16px;font-weight:650}
.bf-ein-fields .bf-details+.bf-ein-sub{margin-top:22px}
.bf-ein-fields [data-ein-couple] .bf-chips{margin-top:4px}
.bf-ein-fields [data-ein-classification]{margin-top:10px}
.bf-ein-fields [hidden]{display:none}
.bf-ein-status{margin:10px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.bf-ein-status p{margin:0}
.bf-ein-status p+p{margin-top:6px}
.bf-ein-number{font-weight:700;font-variant-numeric:tabular-nums}

.bf-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.bf-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.bf-field.is-wide{grid-column:1/-1}
.bf-field-name{font-size:14.5px;font-weight:650}
.bf-field small{color:var(--subtle);font-size:13px}
.bf-field input,.bf-field textarea,.bf-field select,.bf-state select{width:100%;margin-top:2px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:400 16px/1.4 var(--body)}
.bf-field textarea{resize:vertical}
.bf-field :is(input,textarea,select):focus,.bf-state select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.bf-details-foot{display:flex;align-items:center;gap:12px;grid-column:1/-1}
.bf-saved{color:var(--ok);font-size:14px;font-weight:600}

.bf-setup{display:grid;gap:14px}
.bf-state{display:flex;flex-direction:column;gap:6px;max-width:320px;font-size:14.5px;font-weight:650}
.bf-structures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bf-structure{position:relative;display:flex;cursor:pointer}
.bf-structure input{position:absolute;top:18px;left:16px;margin:0;accent-color:var(--bf-tone)}
.bf-structure-body{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px 16px 16px 42px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:border-color .15s ease,background-color .15s ease}
.bf-structure:hover .bf-structure-body{border-color:#CFC7B8}
.bf-structure input:checked+.bf-structure-body{border-color:var(--bf-tone);background:var(--bf-tone-soft)}
.bf-structure input:focus-visible+.bf-structure-body{outline:2px solid var(--accent);outline-offset:2px}
.bf-structure b{font-size:16px}
.bf-structure-body>span{color:var(--muted);font-size:14.5px;line-height:1.5}
.bf-structure small{color:var(--muted);font-size:13.5px;line-height:1.45}
.bf-structure em{color:var(--ink);font-style:normal;font-weight:650}
.bf-setup>.btn{justify-self:start}
.bf-change{padding:0}
.bf-change summary{padding:18px 22px;font-weight:650;cursor:pointer}
.bf-change[open] summary{border-bottom:1px solid var(--line-soft)}
.bf-change .bf-setup{padding:18px 22px 22px}

.bf-already,.bf-registered{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:20px 22px;border:1px dashed var(--line);border-radius:20px}
.bf-already h2{font-size:19px}
.bf-already p,.bf-registered p{margin:4px 0 0;color:var(--muted)}
.bf-registered{border-style:solid;border-color:#CFE0D2;background:var(--ok-soft)}
.bf-registered form{flex-basis:100%}
@media (max-width:700px){
  .bf-details,.bf-structures{grid-template-columns:1fr}
  .bf-section{padding:18px}
  .bf-step-foot form{margin-left:0}
}

/* Printed (or saved as a PDF): the checklist and details, without buttons */
@media print{
  html,body{background:#fff !important}
  body:has(.work-page .bf)>:not(.work-page){display:none !important}
  .work-page{padding:0 !important}
  .work-layout{display:block}
  .work-aside,.work-keep,.work-kept,.bf-print,.bf-namecheck-form,.bf-namecheck-alts,.bf-step-foot form,.bf-details-foot,.bf-change,.bf-already,.bf-registered form{display:none !important}
  .bf-section{padding:0;border:0}
  .bf-step{break-inside:avoid}
  .bf-link svg{display:none}
  .bf-link::after{content:" " attr(href);color:var(--muted);font-weight:400;word-break:break-all}
}
/* A state's own questions on the filing form (works/partials/formation-state-question). */
.bf-agree.is-wide{grid-column:1/-1;margin-top:0}
.bf-question-text{display:block;margin-top:2px;color:var(--subtle);font-size:13px}
.bf-people{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
.bf-people>legend{padding:0;margin-bottom:4px}
.bf-people>small{display:block;color:var(--subtle);font-size:13px}
.bf-people>.bf-section-text{margin:4px 0 12px}
.bf-person{padding:14px 16px;border:1px solid var(--line-soft);border-radius:14px;background:var(--paper)}
.bf-person+.bf-person{margin-top:10px}
.bf-person-title{margin:0 0 10px;font-weight:650;font-size:14.5px}
.bf-person-title small{margin-left:4px;color:var(--subtle);font-weight:400}
.bf-person-same{margin-top:12px}
.bf-person [data-person-address]{margin-top:12px}
@media (max-width:640px){.bf-person{padding:12px}}
.bf-person[hidden]{display:none}
.bf-person-add{margin-top:10px}
