/* Scoped application UI; authentication fields and validation remain unchanged. */
[data-application-account][hidden],[data-application-chooser][hidden],[data-application-complete][hidden],.application-selection[hidden] { display:none!important; }
.contract-start-hero { min-height:0!important; padding:36px 0!important; background:#17394b!important; }
.contract-start-hero::before,.contract-start-hero::after { content:none!important; }
.contract-start-hero .public-hero-grid { display:block; }
.contract-start-hero h1 { font-size:clamp(1.7rem,3vw,2.3rem)!important; margin:10px 0!important; }
.contract-start-hero p { font-size:.85rem!important; line-height:1.8!important; }
.contract-start-hero .public-tag { display:none; }
.application-selection,.application-login,[data-application-complete] { max-width:820px; margin:0 auto 28px; }
.application-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:20px 0; color:#17394b; }
.application-summary button,.application-text-button { border:0; padding:8px 0; background:none; color:#31587f; font:inherit; font-size:.85rem; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
/* Pricing-page cards with radio selection in place of contract links. */
.application-selection:has([data-application-chooser]:not([hidden])) { max-width:1180px; }
.application-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:16px 0 24px; }
.application-options:has(> :nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.application-options:has(> :only-child) { grid-template-columns:minmax(0,1fr); max-width:480px; }
.application-options .application-plan-card { display:flex; flex-direction:column; min-width:0; padding:0; margin:0; gap:0; overflow:hidden; border:1px solid #d0dfe7; border-radius:8px; background:#fff; color:#17394b; cursor:pointer; }
.application-options .application-plan-card:has(input:checked) { border-color:#9b7a45; box-shadow:0 0 0 2px #9b7a45; }
.application-options .application-plan-card:has(input:focus-visible) { outline:3px solid #31587f; outline-offset:4px; }
.application-plan-audience { display:block; padding:14px 10px; background:#17394b; color:#fff; text-align:center; font-size:.8rem; font-weight:700; }
.application-plan-body { display:flex; flex:1; flex-direction:column; padding:24px; }
.application-plan-title { display:block; min-height:3em; font-size:1.2rem; line-height:1.5; text-align:center; }
.application-plan-description { display:block; min-height:3.2em; margin:14px 0 20px; color:#526b80; font-size:.82rem; font-weight:400; line-height:1.6; text-align:center; }
.application-plan-price { display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; margin:0 0 16px; font-size:1rem; }
.application-plan-price strong { font-size:clamp(1.8rem,2.6vw,2.5rem); line-height:1.3; letter-spacing:-.03em; }
.application-plan-period { display:block; min-height:3.2em; text-align:center; font-size:.78rem; font-weight:400; color:#526b80; line-height:1.6; }
.application-plan-availability { display:block; text-align:center; color:#62738a; font-size:.72rem; font-weight:400; }
.application-plan-includes { display:grid; gap:12px; padding:22px 0; margin:22px 0 0; border-top:1px solid #d0dfe7; color:#435d75; font-size:.86rem; font-weight:400; line-height:1.6; }
.application-plan-includes > span { display:flex; gap:12px; }
.application-plan-includes > span::before { content:'✓'; color:#23716d; }
.application-plan-consult { display:block; margin-top:auto; padding:14px 0; font-size:.75rem; font-weight:400; color:#526b80; text-align:center; }
.application-plan-select { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 10px; border:1px solid #cad6dc; border-radius:6px; background:#f5f8fa; font-size:.86rem; font-weight:700; }
.application-plan-select input { width:18px; height:18px; margin:0; accent-color:#17394b; flex-shrink:0; }
.application-plan-card:has(input:checked) .application-plan-select { background:#17394b; color:#fff; border-color:#17394b; }
.application-selection [data-application-continue] { border-radius:6px; background:#17394b; border-color:#17394b; box-shadow:none; }
@media(max-width:950px) {
  .application-options,.application-options:has(> :nth-child(2):last-child) { grid-template-columns:minmax(0,1fr); }
  .application-plan-title,.application-plan-description,.application-plan-period { min-height:0; }
  .application-plan-title { font-size:1.25rem; }
  .application-plan-price strong { font-size:2.25rem; }
}
.application-selection fieldset { border:0; padding:0; margin:22px 0 0; }
.application-selection legend { font-weight:700; }
/* Match the grade picker on /contract/select without changing that page. */
.application-summary[hidden] { display:none; }
.application-grade-picker { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; gap:10px; margin:24px 0 26px; }
.application-grade-picker label { color:#193453; font-weight:800; }
.application-grade-picker select { width:min(100%,300px); min-width:0; padding:12px 40px 12px 16px; border:1px solid #b8c7d8; border-radius:9px; background:#f6f9fc; color:#193d6b; text-align:left; text-align-last:left; font:inherit; font-weight:700; }
.application-grade-note { margin:0; color:#62738a; font-size:.8rem; line-height:1.6; }
.application-grade-note:empty { display:none; }
@media(max-width:700px) { .application-grade-picker { gap:9px; margin-bottom:22px; } .application-grade-picker label { font-size:.84rem; } .application-grade-picker select { width:100%; } }
.application-selection [data-application-all] { margin-left:20px; }
.application-login { padding:0 0 24px; border-bottom:1px solid #dce4e8; }
.application-login h2 { font-size:1.15rem; margin-bottom:16px; }
[data-application-account] .public-auth-single { display:block; max-width:820px; margin:auto; }
[data-application-complete] .application-text-button { display:block; margin-top:16px; }
.contract-start-main [data-auth-status-box] { max-width:820px; margin:20px auto; }
.contract-main .application-change { margin:0 0 22px; }
.contract-main .plan-grid.is-focused { grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto; }
.contract-main .plan-grid .plan-card[hidden],.contract-main [data-intent-hidden] { display:none!important; }
.application-login-context { margin-bottom:18px; padding:14px; background:#eff5f6; color:#17394b; font-size:.9rem; }
@media(max-width:700px) { .application-summary { align-items:flex-start; flex-direction:column; } .application-selection [data-application-all] { display:block; margin:12px 0 0; } }
/* Contract start uses the two choices as its page headings. */
.contract-start-main .application-grade-picker h1,
.contract-start-main .application-selection legend { margin:0; padding:0; color:#142844; font-size:clamp(1.45rem,2.4vw,1.8rem); font-weight:800; line-height:1.45; letter-spacing:0; }
.contract-start-main .application-grade-picker h1 label { color:inherit; font:inherit; cursor:pointer; }
.contract-start-main .application-grade-picker { margin-top:0; }
.contract-start-main .application-selection fieldset { margin-top:30px; }
.contract-start-main .application-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px; }
.contract-start-main .application-actions [data-application-all] { margin:0; }
/* Unreleased grades can be previewed, but their plans cannot be selected. */
.contract-start-main .application-plan-card.is-unavailable { cursor:not-allowed; }
.contract-start-main .application-plan-card.is-unavailable .application-plan-select { border-color:#d4dce0; background:#e9edef; color:#65757d; }
.contract-start-main .application-plan-card.is-unavailable .application-plan-select input { accent-color:#65757d; cursor:not-allowed; }
.contract-start-main [data-application-continue]:disabled { border-color:#d4dce0; background:#e9edef; box-shadow:none; color:#65757d; cursor:not-allowed; opacity:1; }
