/* The application shares the site's type, ink, surface geometry and metric tokens. */
body.application-open{overflow:hidden;}
.application-dialog{position:fixed;inset:0;width:min(var(--application-width),calc(100% - 2 * var(--application-gutter)));max-width:none;max-height:none;padding:0;margin:auto;color:var(--ink);overflow:hidden;}
.application-dialog::backdrop{background:var(--scrim);}
.application-scroll{max-height:calc(100dvh - 2 * var(--application-gutter));overflow-y:auto;overscroll-behavior:contain;padding:var(--application-padding);}
.application-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--application-gap);margin-bottom:var(--application-heading-gap);}
.application-heading h2{margin:0;font:var(--w-title) var(--fs-application)/var(--lh-hero) var(--font-title);letter-spacing:var(--ls-tight);outline:none;}
.application-availability{display:grid;gap:var(--application-label-gap);margin-bottom:var(--application-heading-gap);}
.application-availability[hidden],.application-availability [hidden]{display:none;}
.application-close{flex-shrink:0;width:var(--application-control-height);height:var(--application-control-height);padding:0;font:400 var(--fs-application)/1 var(--font-title);color:var(--ink);cursor:pointer;}
.application-close:hover{background:var(--surface-hover);}
#applicationForm{display:grid;gap:var(--application-gap);}
.application-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--application-gap);}
.application-field{display:flex;flex-direction:column;gap:var(--application-label-gap);min-width:0;font:400 var(--fs-12)/var(--lh-tight) var(--font-mono);color:var(--text-soft);}
.application-field input:not([type=checkbox]),.application-field select,.application-field textarea{width:100%;min-width:0;min-height:var(--application-control-height);padding:var(--application-control-padding);font:400 var(--fs-14)/var(--lh-tight) var(--font-mono);color:var(--ink);}
.application-field input::placeholder,.application-field textarea::placeholder{color:var(--text-muted);}
.application-field select,.application-field textarea{display:block;border:0;background:transparent;}
.application-field textarea{resize:vertical;}
.application-city{display:block;width:100%;}
.application-city input{margin:0;}
.application-city .menu{font-size:var(--fs-13);}
.application-textarea:focus-within::after,.application-select:focus-within::after{background-image:var(--surface-focus),var(--surface-edge);}
.application-textarea textarea:focus-visible,.application-select select:focus-visible{outline:none;}
.application-check{display:flex;align-items:flex-start;gap:var(--application-label-gap);margin-top:var(--application-label-gap);font:400 var(--fs-12)/var(--lh-copy) var(--font-mono);cursor:pointer;}
.application-check input{width:var(--application-checkbox-size);height:var(--application-checkbox-size);accent-color:var(--ink);margin:0;flex-shrink:0;}
.application-terms{margin:0;}
.application-terms a{color:inherit;text-underline-offset:var(--application-link-offset);}
.application-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--application-gap);width:100%;min-height:var(--application-submit-height);padding:var(--application-control-padding);background:var(--ink);color:var(--on-ink);font:400 var(--fs-14)/var(--lh-tight) var(--font-mono);letter-spacing:var(--ls-button);cursor:pointer;}
.application-submit:hover{background:var(--grey-700);}
.application-submit:disabled{opacity:var(--application-disabled-opacity);cursor:not-allowed;}
#applicationForm[aria-busy=true] .application-submit:disabled{cursor:wait;}
.application-submit:focus-visible::after{background-image:var(--surface-focus);filter:invert(1);}
.application-error,.application-note{margin:0;font:400 var(--fs-12)/var(--lh-copy) var(--font-mono);color:var(--text-soft);}
.application-error{color:var(--ink);}
.application-retry{justify-self:start;background:transparent;border:0;padding:0;font:400 var(--fs-12)/var(--lh-copy) var(--font-mono);color:var(--ink);text-decoration:underline;cursor:pointer;}
.application-dialog [hidden]{display:none;}
/* A city-first application occupies the existing responsive panel. Its parent
   scrolls, so the city menu can use that panel's full available height. */
.application-in-panel{max-height:none;overflow:visible;padding:0 0 var(--legal-bar-h);}
.application-in-panel .application-row{grid-template-columns:minmax(0,1fr);}
.application-progress p{font:400 var(--fs-14)/var(--lh-copy) var(--font-mono);color:var(--text-soft);margin:0;}
.application-progress a{color:var(--ink);}
.account-page{max-width:var(--application-width);}
.account-form{display:grid;gap:var(--application-gap);margin-bottom:var(--application-gap);}
.account-page .application-submit{text-decoration:none;}
#intake .application-heading h2{font-size:var(--fs-application);margin:0;}
#intake .application-in-panel .surface:focus-within{box-shadow:none;}
#intake .application-in-panel .surface:focus-visible{outline:none;}
#intake .application-in-panel h2:focus-visible{outline:none;}
@media(max-width:600px){
 .application-row{grid-template-columns:minmax(0,1fr);}
}
