:root{font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#f8faf9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8faf9,#e8edfc);padding:2rem}.auth-card{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 8px 32px #00000014;width:100%;max-width:400px}.auth-card-wide{max-width:480px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:80px;height:80px;background:linear-gradient(135deg,#b8c5f2,#a8b8e8);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 8px 24px #b8c5f266}.logo-icon{font-size:2.5rem}.auth-header h1{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.auth-badge{display:inline-block;background:#e8edfc;color:#5c6bc0;padding:.375rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600}.auth-card h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;text-align:center;margin:0 0 .5rem}.auth-subtitle{color:#6b7280;text-align:center;margin:0 0 1.5rem}.auth-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.auth-error:before{content:"⚠️"}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-section{margin-bottom:1rem}.form-section h3{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group input,.form-group select{padding:.875rem 1rem;border:none;border-radius:14px;background:#e8edfc80;font-size:1rem;color:#1a1a1a;transition:all .2s}.form-group input::placeholder{color:#9ca3af}.form-group input:focus,.form-group select:focus{outline:none;box-shadow:0 0 0 2px #b8c5f2}.form-row{display:flex;gap:.75rem}.form-group-flex{flex:1}.form-group-small{width:100px}.auth-button{background:#1f2937;color:#fff;border:none;padding:1rem;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){background:#374151;transform:translateY(-1px)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;color:#6b7280;font-size:.875rem}.auth-footer a{color:#b8c5f2;font-weight:600;text-decoration:none}.auth-footer a:hover{color:#9ca8e0}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.text-button{background:none;border:none;color:#6366f1;font-size:.8rem;font-weight:600;cursor:pointer;padding:0}.text-button:hover{color:#4f46e5}.address-autocomplete-input{width:100%;padding:.875rem 1rem;border:none;border-radius:14px;background:#e8edfc80;font-size:1rem;color:#1a1a1a;transition:all .2s;box-sizing:border-box}.address-autocomplete-input::placeholder{color:#9ca3af}.address-autocomplete-input:focus{outline:none;box-shadow:0 0 0 2px #b8c5f2}.address-preview{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#6366f114;border-radius:12px;margin-top:.5rem;font-size:.875rem;color:#374151}.address-check{color:#6366f1;font-weight:600}#root{width:100%;margin:0;padding:0}
