.application-page { max-width: 76rem; padding-block: 3rem; }
.application-page [hidden] { display: none !important; }
.application-page h1 { max-width: 20ch; }
.application-intro { max-width: 65ch; }
.application-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(16rem,1fr); gap: var(--layout-group, 2rem); margin-top: 2.5rem; align-items: start; }
.application-form, .application-checklist { min-width: 0; }
.application-form fieldset { border: 1px solid var(--authority-form-line, #b7c4bc); border-radius: var(--authority-panel-radius, 8px); padding: var(--layout-item, 1.5rem); margin: 0 0 var(--layout-item, 1.5rem); }
.application-form legend { font-weight: 700; padding: 0 calc(var(--space-xs, .5rem) / 2); font-size: 1.2rem; }
.application-form label { display: block; font-weight: 600; margin-top: var(--layout-item, 1.5rem); }
.application-form fieldset>label:first-of-type { margin-top: var(--space-xs, .5rem); }
.application-form :is(input:not([type=checkbox]),textarea) { display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin-top: var(--space-xs, .5rem); padding: var(--layout-tight, .75rem); border: 1px solid var(--authority-muted, #53605B); border-radius: var(--cluster-radius, 6px); background: var(--authority-white, #fff); color: var(--authority-ink, #242B29); font: inherit; font-size: 1rem; line-height: 1.6; }
.application-form textarea { resize: vertical; min-height: 7rem; }
.application-form input[type=file] { white-space: normal; overflow: hidden; padding: var(--space-xs, .5rem); }
.application-form input[type=file]::file-selector-button {
  font: inherit; font-weight: 600; min-block-size: 2.75rem; max-inline-size: 100%;
  box-sizing: border-box; white-space: normal; overflow-wrap: anywhere; flex-shrink: 0;
  padding: var(--space-xs, .5rem) calc(var(--space-xs, .5rem) / 2);
  margin-inline-end: var(--layout-tight, .75rem);
  border: 1px solid var(--authority-teal, #153F3B);
  border-radius: var(--cluster-radius, 6px);
  background: transparent; color: var(--authority-teal, #153F3B); cursor: pointer;
}
.application-form input[type=file]::file-selector-button:hover {
  background: var(--authority-tint, #F4F0EA); border-color: var(--authority-orange, #B9472B);
}
@media (max-width: 40rem) {
  .application-form input[type=file]::file-selector-button { inline-size: 100%; margin-inline-end: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .application-form input[type=file]::file-selector-button {
    transition: background-color var(--cluster-motion-feedback, 160ms) var(--cluster-motion-ease, cubic-bezier(.22,1,.36,1)), border-color var(--cluster-motion-feedback, 160ms) var(--cluster-motion-ease, cubic-bezier(.22,1,.36,1));
  }
}
.application-form .field-note { display: block; font-size: 1rem; line-height: 1.6; margin: var(--space-xs, .5rem) 0 0; color: var(--authority-muted, #53605B); }
.application-form .consent-label { display: flex; gap: var(--layout-tight, .75rem); align-items: flex-start; font-weight: 400; }
.application-form input[type=checkbox] { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; margin-top: .3rem; accent-color: var(--authority-teal, #153F3B); }
.application-form .application-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.application-form button { cursor: pointer; font: inherit; max-width: 100%; white-space: normal; }
.application-form button:disabled { cursor: wait; opacity: .7; }
.application-checklist { padding: var(--layout-item, 1.5rem); background: var(--authority-tint, #F4F0EA); border: 1px solid var(--authority-form-line, #b7c4bc); border-radius: var(--authority-panel-radius, 8px); }
.application-checklist h2 { font-size: 1.5rem !important; }
.application-checklist h3 { font-size: 1.15rem; margin-top: var(--layout-group, 2rem); }
.application-checklist ul, .application-receipt ul { padding-left: 1.25rem; }
.application-checklist li { margin-bottom: .85rem; }
.application-checklist li span { display: block; color: var(--authority-orange, #B9472B); font-size: .95rem; font-weight: 600; }
.application-checklist li[data-complete=true] span { color: var(--authority-teal, #153F3B); }
.application-production-checklist summary { cursor: pointer; padding-block: .75rem; font-weight: 600; }
.application-production-checklist h4 { margin: 1.5rem 0 .75rem; font-size: 1.05rem; }
.application-production-checklist ul { list-style-type: '☐ '; }
.application-file-list { padding-left: 1.25rem; overflow-wrap: anywhere; }
.application-error { color: var(--authority-orange-deep, #963A23) !important; font-weight: 600; }
.application-receipt { border: 2px solid var(--authority-teal, #153F3B); padding: var(--layout-item, 1.5rem); margin-block: var(--layout-group, 2rem); border-radius: var(--authority-panel-radius, 8px); }
.application-receipt h2 { font-size: 1.75rem !important; }
.application-reference { overflow-wrap: anywhere; }
.application-review { font-family: Manrope,system-ui,sans-serif; font-size: 18px; line-height: 1.65; background: var(--authority-ivory, #FAF7F2); color: var(--authority-ink, #242B29); margin: 0; }
.application-review main { max-width: 65rem; margin: var(--layout-group, 2rem) auto; padding: var(--layout-item, 1.5rem); }
.application-review :is(h1,h2) { line-height: 1.2; }
.application-review a { color: var(--authority-teal, #153F3B); overflow-wrap: anywhere; }
.application-review dt { font-weight: 700; margin-top: var(--layout-item, 1.5rem); }
.application-review dd { margin-left: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.application-review :is(p,li) { overflow-wrap: anywhere; }
@media(max-width: 55rem) { .application-layout { grid-template-columns: minmax(0,1fr); } }
@media(max-width: 25rem) { .application-form fieldset, .application-checklist { padding: 1rem; } }
@media print { .application-form button, .application-receipt button { display: none; } .application-layout { display: block; } }
