.form{gap:var(--space-24);max-width:var(--measure-prose);display:grid}.form-grid{gap:var(--space-20) var(--space-24);grid-template-columns:repeat(auto-fit, minmax(min(var(--grid-min-card), 100%), 1fr));display:grid}.form-grid>.field--full,.form-grid>.span-full{grid-column:1/-1}.form-actions{--link-align:auto;gap:var(--space-12);flex-wrap:wrap;display:flex}.field{gap:var(--space-8);flex-direction:column;min-width:0;display:flex}.label{font-size:var(--text-small);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text)}.label .optional,.legend .optional{font-weight:var(--weight-regular);color:var(--color-text-muted)}.required{margin-left:var(--space-2);color:var(--color-danger-text);font-weight:var(--weight-bold)}.help{font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-text-muted)}.error-text{align-items:flex-start;gap:var(--space-8);font-size:var(--text-small);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-danger-text);display:flex}.error-text svg{width:var(--icon-sm);height:var(--icon-sm);flex:none;margin-top:1px}.input,.select,.textarea,.form :where(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=color],[type=hidden],[type=submit],[type=button],[type=reset],[type=image]),select,textarea){width:100%;min-height:var(--control-md);padding:0 var(--space-16);border:var(--border-width) solid var(--color-border-field);border-radius:var(--radius-control);background-color:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-body);line-height:var(--leading-body);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);display:block}.textarea,.form :where(textarea){min-height:132px;padding:var(--space-12) var(--space-16);resize:vertical}.input::placeholder,.textarea::placeholder,.form :where(input,textarea)::placeholder{color:var(--color-text-muted);opacity:1}@media (hover:hover){.input:hover,.select:hover,.textarea:hover,.form :where(input,select,textarea):hover{border-color:var(--color-border-field-hover)}}.input:focus-visible,.select:focus-visible,.textarea:focus-visible,.form :where(input,select,textarea):focus-visible{border-color:var(--color-accent);outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.select,.form :where(select){appearance:none;padding-right:var(--space-48);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2313245D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-16) center;background-size:var(--icon-md)}.select[multiple],.form :where(select[multiple]){padding:var(--space-8) var(--space-16);background-image:none}.input[type=number]{appearance:textfield}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true],.field--error :where(.input,.select,.textarea),.form :where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger-border)}.input:disabled,.select:disabled,.textarea:disabled,.form :where(input,select,textarea):disabled{border-color:var(--color-border);background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.input[readonly],.textarea[readonly]{background-color:var(--color-surface-wash)}.input-group{align-items:stretch;min-width:0;display:flex}.input-group__addon{padding:0 var(--space-14);border:var(--border-width) solid var(--color-border-field);border-radius:var(--radius-control) 0 0 var(--radius-control);background:var(--color-surface-wash);color:var(--color-text-muted);font-size:var(--text-ui);font-weight:var(--weight-semibold);border-right:0;flex:none;align-items:center;display:inline-flex}.input-group>.input{border-radius:0 var(--radius-control) var(--radius-control) 0;flex:auto;min-width:0}.choice-group{gap:var(--space-4);flex-direction:column;display:flex}.choice-group--inline{column-gap:var(--space-24);flex-flow:wrap}.choice{align-items:flex-start;gap:var(--space-12);min-height:var(--control-sm);padding-block:var(--space-10);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);cursor:pointer;display:flex}.choice__text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.choice__hint{font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-text-muted)}.choice input,.radio-card input,input.checkbox,input.radio{border:var(--border-width) solid var(--color-border-field);background-color:var(--color-surface);appearance:none;cursor:pointer;width:22px;height:22px;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);background-position:50%;background-repeat:no-repeat;flex:none;margin:2px 0 0}.choice input[type=checkbox],input.checkbox{border-radius:var(--radius-check)}.choice input[type=radio],.radio-card input,input.radio{border-radius:var(--radius-round)}@media (hover:hover){.choice input:hover,.radio-card input:hover,input.checkbox:hover,input.radio:hover{border-color:var(--color-accent)}}.choice input[type=checkbox]:checked,input.checkbox:checked{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");background-size:16px}.choice input[type=checkbox]:indeterminate,input.checkbox:indeterminate{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");background-size:16px}.choice input[type=radio]:checked,.radio-card input:checked,input.radio:checked{border-color:var(--color-accent);background-color:var(--color-surface);box-shadow:inset 0 0 0 6px var(--color-accent)}.choice input:focus-visible,.radio-card input:focus-visible,input.checkbox:focus-visible,input.radio:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.choice input[aria-invalid=true],.choice--error input{border-color:var(--color-danger-border)}.choice input:disabled,.radio-card input:disabled{border-color:var(--color-border);background-color:var(--color-disabled-bg);box-shadow:none;cursor:not-allowed}.choice:has(input:disabled){color:var(--color-disabled-text);cursor:not-allowed}.radio-card{align-items:flex-start;gap:var(--space-14);padding:var(--space-16) var(--space-20);border:var(--hairline);border-radius:var(--radius-row);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);display:flex}@media (hover:hover){.radio-card:hover{border-color:var(--color-border-field)}}.radio-card:has(input:checked){border-color:var(--color-accent);background:var(--color-surface-wash)}.radio-card__title{font-weight:var(--weight-semibold);display:block}.radio-card__text{margin-top:var(--space-4);font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-text-muted);display:block}.switch{justify-content:space-between;align-items:center;gap:var(--space-16);cursor:pointer;min-height:56px;display:flex}.switch__text{gap:var(--space-4);flex-direction:column;display:flex}.switch__title{font-weight:var(--weight-semibold)}.switch__hint{font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-text-muted)}.switch input{border:var(--border-width) solid var(--color-border-field);border-radius:var(--radius-pill);background-color:var(--color-surface);appearance:none;cursor:pointer;width:48px;height:28px;transition:background-color var(--duration-base) var(--ease-standard), background-position var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%237D87A6'/%3E%3C/svg%3E");background-position:3px;background-repeat:no-repeat;background-size:20px 20px;flex:none;margin:0}.switch input:checked{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23FFFFFF'/%3E%3C/svg%3E");background-position:calc(100% - 3px)}.switch input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.switch input:disabled{opacity:.5;cursor:not-allowed}.file{width:100%;max-width:100%;padding:var(--space-6);border:var(--border-width) dashed var(--color-border-field);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-small);cursor:pointer;display:block}.file::file-selector-button{min-height:var(--control-sm);margin-right:var(--space-12);padding:0 var(--space-18);border:var(--border-width) solid var(--color-border-accent);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-ui);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}@media (hover:hover){.file:hover{border-color:var(--color-accent)}.file:hover::file-selector-button{background:var(--color-hover-tint)}}.file:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.file:disabled{background:var(--color-disabled-bg);cursor:not-allowed}.dropzone{align-items:center;gap:var(--space-8);padding:var(--space-28) var(--space-20);border:var(--border-width) dashed var(--color-border-field);border-radius:var(--radius-row);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-ui);text-align:center;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);flex-direction:column;display:flex}.dropzone strong{color:var(--color-accent);font-weight:var(--weight-semibold)}.dropzone__button{color:var(--color-accent);font:inherit;font-weight:var(--weight-semibold);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.dropzone svg{width:24px;height:24px;color:var(--color-accent)}.dropzone.is-dragging{border-color:var(--color-accent);background:var(--color-surface-wash)}@media (hover:hover){.dropzone:hover{border-color:var(--color-accent);background:var(--color-surface-wash)}}.dropzone:focus-within{outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.dropzone .dropzone__button:focus-visible{outline:none}.dropzone.is-invalid,.dropzone.is-invalid:hover{border-color:var(--color-danger-border)}.dropzone.is-disabled,.dropzone.is-disabled:hover{border-color:var(--color-border);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.dropzone.is-disabled svg,.dropzone.is-disabled .dropzone__button{color:var(--color-disabled-text);cursor:not-allowed}.fieldset,.form fieldset{border:0;min-width:0;margin:0;padding:0}.legend,.form legend{margin-bottom:var(--space-8);font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--color-text);padding:0}.form-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.error-summary{align-items:flex-start;gap:var(--space-12);padding:var(--space-16) var(--space-20);border:var(--border-width) solid var(--color-danger-border);border-radius:var(--radius-row);background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--text-ui);line-height:var(--leading-body);display:flex}.error-summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset-control)}.error-summary svg{flex:none;width:20px;height:20px;margin-top:2px}.error-summary__title{font-weight:var(--weight-bold)}.error-summary ul{margin:var(--space-4) 0 0;padding-left:var(--space-20)}.error-summary a{color:inherit;font-weight:var(--weight-semibold);text-underline-offset:3px;text-decoration:underline}
