.form-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.field label{display:block;font-weight:var(--weight-medium);margin-block-end:var(--space-2)}.field__hint{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-block-end:var(--space-2)}.field__control{position:relative}.field__control:has(input[dir=ltr]){direction:ltr}.field input:not([type=checkbox]){inline-size:100%;min-block-size:44px;padding:var(--space-3);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-hover),box-shadow var(--duration-fast) var(--ease-hover)}.field input:not([type=checkbox]):hover{border-color:var(--color-border-strong)}.field input:not([type=checkbox]):focus-visible{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-focus) 20%,transparent)}.field input:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.field__check{position:absolute;inset-inline-end:var(--space-3);inset-block-start:50%;transform:translateY(-50%);color:var(--color-text);display:none;pointer-events:none}.field[data-state=valid] .field__check{display:block}.field[data-state=valid] input:not([type=checkbox]){padding-inline-end:var(--space-10)}.field[data-state=error] input:not([type=checkbox]){border-color:var(--color-danger)}.field__error{display:flex;align-items:flex-start;gap:var(--space-2);margin-block-start:var(--space-2);color:var(--color-danger);font-size:var(--text-sm)}.field__error svg{flex:0 0 auto;margin-block-start:2px}.field__error[hidden]{display:none}.field--checkbox .field__checkbox-row{display:flex;align-items:flex-start;gap:var(--space-3)}.field--checkbox input[type=checkbox]{inline-size:var(--space-6);block-size:var(--space-6);margin-block-start:0;accent-color:var(--color-accent);flex:0 0 auto}.field--checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field--checkbox label{margin-block-end:0;font-weight:var(--weight-regular)}.field--checkbox[data-state=error] .field__checkbox-row{padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-sm)}.form-summary{display:flex;align-items:flex-start;gap:var(--space-4);background-color:var(--color-danger-tint);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-4)}.form-summary[hidden]{display:none}.form-summary__heading{font-weight:var(--weight-semibold);color:var(--color-danger)}.form-summary__list{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.form-summary__list:empty{display:none}.form-summary__list a{color:var(--color-text)}.form-submit[data-loading=true]{pointer-events:none;opacity:.75}.form-submit .spinner{display:none;inline-size:var(--space-4);block-size:var(--space-4);border:2px solid var(--color-text-on-gold);border-block-start-color:transparent;border-radius:var(--radius-full);animation:form-spin .8s linear infinite}.form-submit[data-loading=true] .spinner{display:inline-block}@keyframes form-spin{to{transform:rotate(360deg)}}.field__reveal{position:absolute;inset-inline-end:var(--space-2);inset-block-start:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-hover)}.field__reveal:hover{background-color:var(--color-surface-sunken)}.field__reveal:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field__reveal-off,.field__reveal[aria-pressed=true] .field__reveal-on{display:none}.field__reveal[aria-pressed=true] .field__reveal-off{display:block}.field:has(.field__reveal) input:not([type=checkbox]){padding-inline-end:var(--space-12)}.field[data-state=valid]:has(.field__reveal) input:not([type=checkbox]){padding-inline-end:calc(var(--space-12) + var(--space-6))}.field:has(.field__reveal) .field__check{inset-inline-end:var(--space-12)}
