.form{width:100%}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2)}.form-label-required::after{content:' *';color:var(--color-error)}.form-help{display:block;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-2)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-medium);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:all var(--transition-base);appearance:none;min-height:44px}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary);opacity:.7}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:rgba(255,255,255,.2)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1);background:var(--color-bg-dark)}.form-textarea{min-height:120px;resize:vertical}.form-select{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%2394a3b8" d="M6 9L1 4h10z"/></svg>');background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:12px;padding-right:var(--space-10);cursor:pointer}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-light)}.form-input:read-only,.form-textarea:read-only{background:var(--color-bg-light);cursor:default}.form-input.is-valid,.form-select.is-valid,.form-textarea.is-valid{border-color:var(--color-success)}.form-input.is-valid:focus,.form-select.is-valid:focus,.form-textarea.is-valid:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{border-color:var(--color-error)}.form-input.is-invalid:focus,.form-select.is-invalid:focus,.form-textarea.is-invalid:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-feedback{display:block;font-size:var(--text-sm);margin-top:var(--space-2)}.form-feedback-valid{color:var(--color-success)}.form-feedback-invalid{color:var(--color-error)}.form-feedback::before{content:'';display:inline-block;width:16px;height:16px;margin-right:var(--space-2);vertical-align:middle}.form-feedback-valid::before{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2310b981" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>')}.form-feedback-invalid::before{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23ef4444" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>')}.form-check{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.form-check-input{flex-shrink:0;width:20px;height:20px;margin-top:.125rem;appearance:none;background:var(--color-bg-medium);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:hover{border-color:var(--color-primary-light)}.form-check-input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="white" d="M10.3 2.3L4.5 8.1 1.7 5.3l.8-.8 2 2 5-5z"/></svg>');background-repeat:no-repeat;background-position:center}.form-check-input[type=radio]:checked{background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8"><circle cx="4" cy="4" r="4" fill="white"/></svg>')}.form-check-label{font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;user-select:none}.form-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none}.form-switch-input{position:relative;width:48px;height:24px;appearance:none;background:var(--color-bg-light);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base)}.form-switch-input::before{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform var(--transition-base)}.form-switch-input:hover{border-color:var(--color-primary-light)}.form-switch-input:focus{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-switch-input:checked{background:var(--color-primary);border-color:var(--color-primary)}.form-switch-input:checked::before{transform:translateX(24px)}.input-group{display:flex;align-items:stretch;width:100%}.input-group .form-input{flex:1;border-radius:0}.input-group .form-input:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.input-group .form-input:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.input-group-append,.input-group-prepend{display:flex;align-items:center;padding:0 var(--space-4);background:var(--color-bg-light);border:2px solid rgba(255,255,255,.1);color:var(--color-text-tertiary);font-size:var(--text-sm);white-space:nowrap}.input-group-prepend{border-right:none;border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.input-group-append{border-left:none;border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.input-group-prepend+.form-input{border-top-left-radius:0;border-bottom-left-radius:0}.form-input+.input-group-append{border-top-right-radius:0;border-bottom-right-radius:0}.form-search{position:relative}.form-search .form-input{padding-left:var(--space-10)}.form-search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-tertiary);pointer-events:none}.form-file{position:relative}.form-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.form-file-label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--color-bg-medium);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-base);min-height:44px}.form-file-label:hover{border-color:var(--color-primary);color:var(--color-primary-light)}.form-file-input:focus+.form-file-label{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-inline{display:flex;flex-direction:column;gap:var(--space-4)}.form-horizontal .form-group{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width:768px){.form-inline{flex-direction:row;align-items:flex-end}.form-inline .form-group{margin-bottom:0;flex:1}.form-horizontal .form-group{flex-direction:row;align-items:center}.form-horizontal .form-label{width:200px;margin-bottom:0;flex-shrink:0}}@media (min-width:1024px){.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.form-grid .form-group-full{grid-column:1/-1}}