[hidden] { display: none !important; }
body { min-height: 0; }
main { overflow-wrap: anywhere; }
.grid > *, .field, label { min-width: 0; }
.field { display: grid; gap: 5px; align-content: start; }
.field > label { font-weight: 700; }
.optional { color: var(--muted); font-size: 12px; font-weight: 400; }
input, select, textarea, button, .button { min-height: 44px; }
input, select, textarea { font-size: 16px; background-color: var(--surface); }
[aria-invalid="true"] { border-color: var(--error); background-color: #fffafa; }
.validation-summary a { color: var(--error); text-underline-offset: 3px; }
.validation-summary ul { margin: 0; padding-left: 20px; }
.validation-summary li + li { margin-top: 5px; }
.validation-summary:focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.form-guide { font-size: 13px; }
.search-select { position: relative; display: grid; gap: 5px; min-width: 0; }
.search-select input { padding-right: 28px; }
.search-options {
    position: absolute; top: 46px; left: 0; right: 0; z-index: 20;
    max-height: 240px; overflow-y: auto; overscroll-behavior: contain;
    border: 1px solid var(--line-strong); border-radius: 5px;
    background: var(--surface); box-shadow: 0 6px 18px #10182824;
    font-size: 14px; font-weight: 400;
}
.search-options [role="option"] { min-height: 44px; padding: 10px 12px; cursor: pointer; white-space: normal; }
.search-options [role="option"] + [role="option"] { border-top: 1px solid var(--line); }
.search-options [role="option"]:hover, .search-options .active { background: var(--soft-red); color: var(--text); outline: 2px solid var(--brand); outline-offset: -2px; }
.search-options [aria-selected="true"] { font-weight: 700; }
.error:empty, [role="status"]:empty { display: none; }
.field-counter { color: var(--muted); font-size: 12px; font-weight: 400; text-align: right; }
@media (max-width: 420px) {
    main { padding: 8px; }
    section, .embed-header, .actions { padding: 12px; }
    h1 { font-size: 23px; }
}
