@layer pages {
body.form-page[data-intake-route] .field label:not(.choice),body.form-page[data-intake-route] label.field__label{display:block;padding-right:0}
body.form-page[data-intake-route] .field label:not(.choice)>:is(input,select,textarea){display:block;width:100%;margin-top:6px}
body.form-page[data-intake-route] .req{display:inline;position:static;margin:0 0 0 4px;vertical-align:baseline;align-self:auto;justify-self:auto}
body.form-page[data-intake-route] fieldset.field>legend{display:block;padding-right:0}
body.form-page[data-intake-route] legend .req{position:static;margin:0 0 0 4px}
body.form-page[data-intake-route] label:has(>input[required],>select[required],>textarea[required]):not(:has(>.req))::after{content:none}
body.form-page[data-intake-route] label.choice:has(input[required])::after{content:none}
body.form-page[data-intake-route] label.choice:has(input[type="checkbox"][required]) .choice__copy strong::after{content:'*';color:var(--af-red);font-size:17px;font-weight:700;margin-left:4px}
body.form-page[data-intake-route] .req[hidden]{display:none}
}

/* SPEC-1017 s8: ONE draft status line. Neutral marks, one vocabulary: outline = fresh / not started, ink-filled = saved or restored (words say which). */
@layer pages {
.draft-line{align-items:flex-start;line-height:1.4;white-space:nowrap}
.draft-line::before{flex:none;box-sizing:border-box;margin-top:5px}
.draft-line[data-draft-state="fresh"]::before{background:transparent;border:1.5px solid var(--af-muted)}
.draft-line[data-draft-state="restored"]::before,.draft-line[data-draft-state="saved"]::before{background:var(--af-ink)}
.draft-line[data-draft-state="unsaved"]{color:var(--af-critical);white-space:normal}
.draft-line[data-draft-state="unsaved"]::before{background:var(--af-critical)}
@media(max-width:360px){.draft-line{font-size:11px}.draft-line::before{margin-top:4px}}
}

/* Draft restore: confirmation boxes are never saved, so say so in readable ink text. */
@layer pages {
.attest-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 18px;padding:12px 14px;border:2px solid var(--af-ink);color:var(--af-ink);background:#fff}
.attest-notice[hidden]{display:none}
.attest-notice p{margin:0;flex:1 1 240px;font-size:16px;line-height:1.45;font-weight:600;color:var(--af-ink)}
.attest-notice button{min-height:44px;min-width:44px;padding:0 16px;font:inherit;font-size:16px;font-weight:700;color:var(--af-ink);background:transparent;border:2px solid var(--af-ink);cursor:pointer}
}
