.form-group{flex-direction:column;margin-bottom:var(--spacing-lg)}.form-group,.form-label{display:flex;gap:var(--spacing-sm)}.form-label{font-size:var(--text-base);font-weight:600;color:var(--color-gray-700);align-items:center;margin-bottom:var(--spacing-xs)}.form-label.required:after{content:"*";color:var(--color-red);font-weight:700}.form-input,.form-select,.form-textarea{padding:var(--spacing-md) var(--spacing-base);background:rgba(255,255,255,.9);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-gray-700);transition:var(--transition-slow);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(59,130,246,.1);background:var(--color-white)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-gray-400);font-style:italic}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400);font-style:italic}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer}.form-input.is-valid{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-input.is-invalid{border-color:var(--color-red);box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-feedback{font-size:var(--text-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-feedback.valid-feedback{color:var(--color-primary)}.form-feedback.invalid-feedback{color:var(--color-red)}.form-checkbox{width:20px;height:20px;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);cursor:pointer;position:relative;flex-shrink:0;margin-top:2px;transition:var(--transition-slow);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-checkbox:checked{background:var(--gradient-primary);border-color:var(--color-primary)}.form-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-white);font-weight:700;font-size:12px}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-base)}.checkbox-item,.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-md)}.checkbox-label{cursor:pointer;line-height:1.5;flex:1;font-size:var(--text-sm);color:var(--color-gray-700)}.form-radio{width:20px;height:20px;border:2px solid var(--color-gray-300);border-radius:50%;background:var(--color-white);cursor:pointer;position:relative;flex-shrink:0;margin-top:2px;transition:var(--transition-slow);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-radio:checked{background:var(--gradient-primary);border-color:var(--color-primary)}.form-radio:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:var(--color-white);border-radius:50%;transform:translate(-50%,-50%)}.form-radio:focus{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-base)}.radio-item{display:flex;align-items:center;gap:var(--spacing-md)}.radio-label{cursor:pointer;line-height:1.5;flex:1;font-size:var(--text-sm);color:var(--color-gray-700)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-base);padding-top:var(--spacing-xl);border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-xl)}.form-grid{display:grid;gap:var(--spacing-lg)}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:var(--breakpoint-tablet )){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:var(--spacing-md)}.form-actions button{width:100%}}@media (max-width:var(--breakpoint-mobile )){.form-input,.form-select,.form-textarea{font-size:var(--text-base);padding:var(--spacing-lg) var(--spacing-base)}.form-checkbox,.form-radio{width:24px;height:24px}.form-checkbox:checked:after,.form-radio:checked:after{font-size:14px}.form-radio:checked:after{width:10px;height:10px}}.form-loading{position:relative;pointer-events:none}.form-loading:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;z-index:1}.form-disabled{opacity:.6;pointer-events:none}.form-inline{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.form-inline .form-group{margin-bottom:0;flex:1;min-width:200px}@media (max-width:var(--breakpoint-tablet )){.form-inline{flex-direction:column;align-items:stretch}.form-inline .form-group{min-width:auto}}.form-help{font-size:var(--text-sm);color:var(--color-gray-500);margin-top:var(--spacing-xs);line-height:1.4}.form-error{color:var(--color-red)}.form-error,.form-success{font-size:var(--text-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-success{color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-section,.google-login-container{display:flex;align-items:center;gap:var(--spacing-sm)}.google-login-container{flex-direction:column}.google-login-container .error{color:var(--color-red-dark);font-size:var(--text-sm);text-align:center}.user-profile{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);border-radius:var(--radius-xl);background-color:var(--color-gray-100)}.user-profile.loading{padding:var(--spacing-sm);font-size:var(--text-sm);color:var(--color-gray-500)}.user-profile.error{padding:var(--spacing-sm);background-color:#fee2e2;border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start}.user-profile.error p{color:var(--color-red-dark);margin:0 0 var(--spacing-sm) 0;font-size:var(--text-sm)}.user-profile.error button{background-color:var(--color-red-dark);color:var(--color-white);border:0;padding:var(--spacing-sm) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm)}.user-details{display:flex;flex-direction:column}.user-name{font-size:var(--text-sm);font-weight:600;color:var(--color-gray-800)}.user-email{font-size:var(--text-xs);color:var(--color-gray-500)}.logout-button{background-color:var(--color-red-dark);color:var(--color-white);border:0;padding:var(--spacing-sm) var(--spacing-sm);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--text-sm);transition:var(--transition-base)}.logout-button:hover{background-color:var(--color-red-darker)}@media only screen and (max-width:var(--breakpoint-desktop )){.user-profile{padding:var(--spacing-xs) var(--spacing-sm)}.user-info,.user-profile{gap:var(--spacing-xs)}.user-email,.user-name{font-size:var(--text-xs);line-height:1.2}.logout-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.user-profile .user-avatar{width:32px!important;height:32px!important}.auth-section{gap:var(--spacing-xs)}}