.form-group{position:relative;margin-bottom:1.5rem}.form-input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;outline:none;letter-spacing:.02em;line-height:1.5;color:#374151;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-2px)}.form-input:hover:not(:focus){transform:translateY(-1px);border-color:#d1d5db;box-shadow:0 6px 12px -2px #00000014,0 4px 6px -1px #0000000d}.form-input.error{border-color:#ef4444;background-color:#fee2e24d;box-shadow:0 0 0 3px #ef44441a}.form-select{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;outline:none;letter-spacing:.02em;line-height:1.5;color:#374151;appearance:none;cursor:pointer;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1rem}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-2px)}.form-select:hover:not(:focus){transform:translateY(-1px);border-color:#d1d5db;box-shadow:0 6px 12px -2px #00000014,0 4px 6px -1px #0000000d}.form-select.error{border-color:#ef4444;background-color:#fee2e24d;box-shadow:0 0 0 3px #ef44441a}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#4a5568;font-size:.9rem;letter-spacing:.02em}.form-label .required{color:#ef4444;margin-left:.25rem}.form-error{margin-top:.5rem;font-size:.875rem;color:#ef4444;display:flex;align-items:center}.form-error svg{width:1rem;height:1rem;margin-right:.25rem;flex-shrink:0}.form-button{padding:1rem 2rem;border:2px solid transparent;border-radius:12px;font-size:1rem;font-weight:600;transition:all .3s ease;cursor:pointer;outline:none;letter-spacing:.02em;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;min-height:48px}.form-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.form-button.primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.form-button.primary:focus{box-shadow:0 0 0 3px #667eea4d,0 8px 25px -5px #0000001a}.form-button.secondary{background:#fff;color:#374151;border-color:#e2e8f0;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.form-button.secondary:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 6px 12px -2px #00000014,0 4px 6px -1px #0000000d}.form-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;outline:none;letter-spacing:.02em;line-height:1.5;color:#374151;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;resize:vertical;min-height:120px}.form-textarea::placeholder{color:#9ca3af}.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-2px)}.form-textarea:hover:not(:focus){transform:translateY(-1px);border-color:#d1d5db;box-shadow:0 6px 12px -2px #00000014,0 4px 6px -1px #0000000d}.form-section-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.form-grid{display:grid;gap:1.5rem}.form-grid.cols-1,.form-grid.cols-2{grid-template-columns:1fr}@media (min-width: 640px){.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.form-input,.form-select,.form-textarea{font-size:16px}}@tailwind base;@tailwind components;@tailwind utilities;
