.google-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:#222;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;box-shadow:0 2px 8px rgba(66,133,244,.08);cursor:pointer;transition:background .2s,box-shadow .2s}.google-btn:hover{background:#f1f3f4;box-shadow:0 4px 16px rgba(66,133,244,.12)}.google-icon{width:24px;height:24px;margin-left:.5rem}.join-tamayno-box{margin:1.5rem 0 1rem;text-align:center}.join-title{display:block;font-size:1.1rem;font-weight:700;color:#2563eb;margin-bottom:.5rem}.auth-page{min-height:100vh;min-height:calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));background:#f8fafc;display:flex;align-items:flex-start;justify-content:center;padding:calc(1rem + env(safe-area-inset-top, 0px)) 1rem calc(5rem + env(safe-area-inset-bottom, 0px));overflow-y:auto;-webkit-overflow-scrolling:touch}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-container{width:100%;max-width:500px}.auth-card{background:#fff;border-radius:1.5rem;padding:3rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);border:1px solid rgba(229,231,235,.8)}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:2rem;font-weight:800;color:#1f2937;margin-bottom:.5rem;background:#0057ff;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{color:#6b7280;font-size:1rem}.demo-buttons{margin-bottom:2rem;padding:1.5rem;background:#f8fafc;border-radius:1rem;border:1px solid #e2e8f0}.demo-title{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem;text-align:center}.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.demo-btn{padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.demo-btn.customer{background:#dbeafe;color:#1e40af}.demo-btn.customer:hover{background:#bfdbfe;transform:translateY(-1px)}.demo-btn.provider{background:#e6f4ec;color:#065f46}.demo-btn.provider:hover{background:#a7f3d0;transform:translateY(-1px)}.demo-btn.admin{background:#fef3c7;color:#92400e}.demo-btn.admin:hover{background:#fde68a;transform:translateY(-1px)}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.error-message,.success-message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:.75rem;font-size:.875rem;font-weight:500}.error-message{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.success-message{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#374151;font-size:.875rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:#9ca3af;z-index:1}.form-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;transition:all .3s ease;background:#fff}.form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-input.verification-code{font-size:1.5rem;letter-spacing:.5rem;text-align:center;padding:1rem}.form-select{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.form-select:focus{outline:none;border-color:#2563eb}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;transition:color .3s ease}.password-toggle:hover{color:#6b7280}.form-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-wrapper input[type=checkbox]{width:1rem;height:1rem;accent-color:#2563eb}.checkbox-text{font-size:.875rem;color:#374151}.terms-link{color:#2563eb;text-decoration:none;font-weight:600}.terms-link:hover{text-decoration:underline}.forgot-link{color:#2563eb;text-decoration:none;font-size:.875rem;font-weight:500;background:none;border:none;cursor:pointer}.forgot-link:hover{text-decoration:underline}.forgot-link:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.auth-btn{background:#0057ff;color:#fff;padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px rgba(37,99,235,.3)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-btn.loading{position:relative}.auth-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.auth-footer p{color:#6b7280;font-size:.875rem}.auth-link{color:#2563eb;text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f9fafb;color:#6b7280;font-size:1.25rem;font-weight:600}@media (max-width:768px){.auth-card{padding:2rem;margin:1rem}.auth-title{font-size:1.75rem}.form-row{grid-template-columns:1fr}.form-options{flex-direction:column;align-items:flex-start}.demo-grid{grid-template-columns:1fr}}@media (max-width:480px){.auth-page{padding:1rem .5rem}.auth-card{padding:1.5rem}.auth-title{font-size:1.5rem}.form-input{padding:.875rem .875rem .875rem 2.5rem}.input-icon{left:.75rem}.password-toggle{right:.75rem}.demo-buttons{padding:1rem}}.form-hint{font-size:.875rem;color:#6b7280;margin-top:.25rem;margin-bottom:1rem;line-height:1.4}