.auth-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:1rem}.auth-container .auth-card{background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:100%;max-width:400px}.auth-container .auth-card .auth-header{text-align:center;margin-bottom:2rem}.auth-container .auth-card .auth-header .logo{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;justify-items:center}.auth-container .auth-card .auth-header .subtitle{color:#6b7280;font-size:.875rem}.auth-container .auth-card .auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-container .auth-card .auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-container .auth-card .auth-form .form-group label{font-weight:500;color:#374151;font-size:.875rem}.auth-container .auth-card .auth-form .form-group input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:all .2s}.auth-container .auth-card .auth-form .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.auth-container .auth-card .auth-form .form-group .error-message{color:#ef4444;font-size:.875rem}.auth-container .auth-card .auth-form .submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s}.auth-container .auth-card .auth-form .submit-button:hover{transform:translateY(-1px)}.auth-container .auth-card .auth-form .submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-container .auth-card .auth-form .auth-link{text-align:center;font-size:.875rem;color:#6b7280}.auth-container .auth-card .auth-form .auth-link a{color:#667eea;text-decoration:none;font-weight:500}.auth-container .auth-card .auth-form .auth-link a:hover{text-decoration:underline}.auth-container .auth-card .auth-form .consent-link{text-align:center;font-size:.575rem;color:#6b7280}.auth-container .auth-card .auth-form .consent-link a{color:#667eea;text-decoration:none;font-weight:500}.auth-container .auth-card .auth-form .consent-link a:hover{text-decoration:underline}@media(max-width:640px){.auth-container{padding:1rem .5rem;align-items:flex-start}.auth-container .auth-card{padding:2rem}}.address-suggestions{margin-top:.25rem;padding:.5rem 0;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:.875rem;color:#374151;list-style:none;max-height:160px;overflow-y:auto;z-index:10;position:relative}.address-suggestions li{padding:.5rem 1rem;cursor:pointer;transition:background .2s}.address-suggestions li:hover{background:#f3f4f6}.loader-default{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loader-default .loader-container,.loader-default .loader-ring{position:relative;display:flex;align-items:center;justify-content:center}.loader-default .loader-ring .ring-segment{position:absolute;border-radius:50%;border:3px solid transparent;animation:rotate 2s linear infinite}.loader-default .loader-ring .ring-segment:first-child{width:60px;height:60px;border-top:3px solid #667eea;animation-delay:0s}.loader-default .loader-ring .ring-segment:nth-child(2){width:50px;height:50px;border-right:3px solid #764ba2;animation-delay:-.5s;animation-direction:reverse}.loader-default .loader-ring .ring-segment:nth-child(3){width:40px;height:40px;border-bottom:3px solid #fbbf24;animation-delay:-1s}.loader-default .loader-ring .ring-segment:nth-child(4){width:30px;height:30px;border-left:3px solid #10b981;animation-delay:-1.5s;animation-direction:reverse}.loader-default .loader-logo{position:absolute;z-index:10}.loader-default .loader-logo .logo-letter{width:20px;height:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;animation:pulse 2s ease-in-out infinite}.loader-default .loader-text{font-size:.875rem;color:#6b7280;font-weight:500;animation:fadeInOut 2s ease-in-out infinite}.loader-default.loader-sm .loader-ring .ring-segment:first-child{width:40px;height:40px;border-width:2px}.loader-default.loader-sm .loader-ring .ring-segment:nth-child(2){width:32px;height:32px;border-width:2px}.loader-default.loader-sm .loader-ring .ring-segment:nth-child(3){width:24px;height:24px;border-width:2px}.loader-default.loader-sm .loader-ring .ring-segment:nth-child(4){width:16px;height:16px;border-width:2px}.loader-default.loader-sm .loader-logo .logo-letter{width:14px;height:14px;font-size:8px}.loader-default.loader-sm .loader-text{font-size:.75rem}.loader-default.loader-lg .loader-ring .ring-segment:first-child{width:80px;height:80px;border-width:4px}.loader-default.loader-lg .loader-ring .ring-segment:nth-child(2){width:68px;height:68px;border-width:4px}.loader-default.loader-lg .loader-ring .ring-segment:nth-child(3){width:56px;height:56px;border-width:4px}.loader-default.loader-lg .loader-ring .ring-segment:nth-child(4){width:44px;height:44px;border-width:4px}.loader-default.loader-lg .loader-logo .logo-letter{width:28px;height:28px;font-size:16px}.loader-default.loader-lg .loader-text{font-size:1rem}.loader-minimal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loader-minimal .spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loader-minimal .loader-text{font-size:.875rem;color:#6b7280;font-weight:500}.loader-minimal.loader-sm .spinner{width:24px;height:24px;border-width:2px}.loader-minimal.loader-sm .loader-text{font-size:.75rem}.loader-minimal.loader-lg .spinner{width:48px;height:48px;border-width:4px}.loader-minimal.loader-lg .loader-text{font-size:1rem}.loader-dots{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loader-dots .dots-container{display:flex;gap:.5rem;align-items:center}.loader-dots .dots-container .dot{width:8px;height:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loader-dots .dots-container .dot:first-child{animation-delay:-.32s}.loader-dots .dots-container .dot:nth-child(2){animation-delay:-.16s}.loader-dots .dots-container .dot:nth-child(3){animation-delay:0s}.loader-dots .loader-text{font-size:.875rem;color:#6b7280;font-weight:500}.loader-dots.loader-sm .dots-container .dot{width:6px;height:6px}.loader-dots.loader-sm .loader-text{font-size:.75rem}.loader-dots.loader-lg .dots-container{gap:.75rem}.loader-dots.loader-lg .dots-container .dot{width:12px;height:12px}.loader-dots.loader-lg .loader-text{font-size:1rem}.loader-fullpage{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:9999}.loader-fullpage .loader-content{text-align:center;color:#fff}.loader-fullpage .loader-content .brand-logo{font-size:2rem;font-weight:800;margin-bottom:2rem;animation:fadeInUp .8s ease-out}.loader-fullpage .loader-content .loader-default .loader-ring .ring-segment{border-color:transparent}.loader-fullpage .loader-content .loader-default .loader-ring .ring-segment:first-child{border-top-color:hsla(0,0%,100%,.8)}.loader-fullpage .loader-content .loader-default .loader-ring .ring-segment:nth-child(2){border-right-color:hsla(0,0%,100%,.6)}.loader-fullpage .loader-content .loader-default .loader-ring .ring-segment:nth-child(3){border-bottom-color:hsla(0,0%,100%,.4)}.loader-fullpage .loader-content .loader-default .loader-ring .ring-segment:nth-child(4){border-left-color:hsla(0,0%,100%,.2)}.loader-fullpage .loader-content .loader-default .loader-logo .logo-letter{background:#fff;color:#667eea}.loader-fullpage .loader-content .loader-default .loader-text{color:hsla(0,0%,100%,.9)}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes fadeInOut{0%,to{opacity:.7}50%{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.loader-fullpage .loader-content .brand-logo{font-size:1.5rem}.loader-default.loader-md .loader-ring .ring-segment:first-child{width:50px;height:50px}.loader-default.loader-md .loader-ring .ring-segment:nth-child(2){width:42px;height:42px}.loader-default.loader-md .loader-ring .ring-segment:nth-child(3){width:34px;height:34px}.loader-default.loader-md .loader-ring .ring-segment:nth-child(4){width:26px;height:26px}.loader-default.loader-md .loader-logo .logo-letter{width:18px;height:18px;font-size:10px}}