.form{gap:var(--space-lg);flex-direction:column;width:100%;display:flex}.form-section{gap:var(--space-md);flex-direction:column;display:flex}.form-section-title{font-size:var(--text-h5);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.form-field{gap:var(--space-xs);flex-direction:column;display:flex;position:relative}.form-label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--color-text-primary);align-items:center;gap:var(--space-xs);display:flex}.form-label-required{color:var(--color-error);font-weight:var(--weight-semibold)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-md);font-family:var(--font-primary);font-size:var(--text-body);color:var(--color-text-primary);background-color:var(--color-bg-white);border:2px solid var(--color-border-muted);border-radius:var(--radius-sm);transition:all var(--transition-base);outline:none}.form-input::-moz-placeholder{color:var(--color-text-subtle)}.form-textarea::-moz-placeholder{color:var(--color-text-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-subtle)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-black);outline:none}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-bg-primary);border-color:var(--color-border-subtle);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-error);background-color:#ef44440d}.form-input.error:focus,.form-textarea.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #ef444426}.form-input.success,.form-textarea.success,.form-select.success{border-color:var(--color-success);background-color:#10b9810d}.form-input.success:focus,.form-textarea.success:focus,.form-select.success:focus{box-shadow:0 0 0 3px #10b98126}.form-textarea{resize:vertical;min-height:120px;line-height:var(--line-height-normal)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md)center;padding-right:var(--space-4xl);background-size:20px}.form-field-with-icon{position:relative}.form-input-icon{left:var(--space-md);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-field-with-icon .form-input{padding-left:var(--space-4xl)}.form-helper-text{font-size:var(--text-sm);color:var(--color-text-muted);align-items:start;gap:var(--space-xs);display:flex}.form-error-text{font-size:var(--text-sm);color:var(--color-error);font-weight:var(--weight-medium);align-items:start;gap:var(--space-xs);animation:slideDown var(--transition-base);display:flex}.form-success-text{font-size:var(--text-sm);color:var(--color-success);font-weight:var(--weight-medium);align-items:center;gap:var(--space-xs);animation:slideDown var(--transition-base);display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-error-icon,.form-success-icon{flex-shrink:0;margin-top:2px}.form-checkbox,.form-radio{align-items:start;gap:var(--space-sm);cursor:pointer;user-select:none;display:flex}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:2px}.form-checkbox-label,.form-radio-label{font-size:var(--text-body);color:var(--color-text-primary);cursor:pointer;line-height:var(--line-height-normal)}.form-checkbox input[type=checkbox]:disabled+.form-checkbox-label,.form-radio input[type=radio]:disabled+.form-radio-label{color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.form-button-group{gap:var(--space-md);margin-top:var(--space-lg);display:flex}.form-button-group.align-right{justify-content:flex-end}.form-button-group.align-center{justify-content:center}.form-button-group.stack-mobile{flex-direction:row}@media (width<=810px){.form-button-group.stack-mobile{flex-direction:column}.form-button-group.stack-mobile>*{width:100%}}.form-password-field{position:relative}.form-password-toggle{right:var(--space-md);color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-base);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.form-password-toggle:hover{color:var(--color-primary);background-color:var(--color-primary-light)}.form-password-toggle:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.form-loading{opacity:.6;pointer-events:none}.form-loading .form-input,.form-loading .form-textarea,.form-loading .form-select,.form-loading button{cursor:wait}.form-inline{align-items:center;gap:var(--space-md);flex-direction:row}.form-inline .form-field{flex:1;margin-bottom:0}@media (width<=810px){.form-inline{flex-direction:column;align-items:stretch}.form-input,.form-textarea,.form-select{font-size:16px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-trap{position:relative}@media (prefers-reduced-motion:reduce){.form-input,.form-textarea,.form-select,.form-error-text,.form-success-text,.form-password-toggle{transition:none;animation:none}}
