.auth-page{min-height:100vh;color:#fff;isolation:isolate;background:#0b1220;flex-direction:column;min-height:100dvh;margin:0;font-family:Segoe UI,system-ui,sans-serif;display:flex;position:relative}.auth-page__background{z-index:-1;filter:brightness(.88);background-color:#0b1220;background-image:url(/assets/img/amsterdam-night.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.auth-topbar{padding:12px max(24px, env(safe-area-inset-right,0px)) 12px max(24px, env(safe-area-inset-left,0px));padding-top:max(12px, env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;justify-content:space-between;align-items:center;gap:16px;display:flex;box-shadow:0 0 10px #0009}.auth-topbar__back{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:4px;min-height:44px;padding:8px 14px 8px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.auth-topbar__back:hover{color:#fff;background:#ffffff24;border-color:#ffffff3d}.auth-topbar__back:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.auth-topbar__back svg{opacity:.9;flex-shrink:0}.auth-main{padding:30px max(20px, env(safe-area-inset-right,0px)) max(30px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));flex:1;justify-content:center;align-items:center;display:flex}.auth-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border-radius:16px;width:min(100%,440px);padding:32px 28px;animation:.6s ease-out authFadeInUp;box-shadow:0 0 30px #0009}.auth-card__title{margin:0 0 8px;font-size:26px}.auth-card__subtitle{color:#cbd5e1;margin:0 0 20px;font-size:14px}.auth-card__hint{color:#94a3b8;margin:0 0 20px;font-size:13px;line-height:1.5}.auth-field{margin-bottom:16px}.auth-field__label{color:#e2e8f0;margin-bottom:4px;font-size:14px;display:block}.auth-field__hint{color:#94a3b8;margin:6px 0 0;font-size:12px;line-height:1.45}.auth-input{color:#fff;background:#ffffff1a;border:none;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px;font-size:16px;transition:background .2s}.auth-input:focus{background:#fff3}.auth-input::placeholder{color:#ffffff73}.auth-field__input-wrap{position:relative}.auth-input--password{padding-right:44px}.auth-field__toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-field__toggle:hover{color:#e2e8f0;background:#ffffff1a}.auth-field__toggle:focus-visible{outline-offset:1px;outline:2px solid #93c5fd}.auth-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:8px;padding:10px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.auth-btn:hover:not(:disabled){background:#1e40af}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-btn--google{background:#ffffff1f;border:1px solid #fff3}.auth-btn--google:hover:not(:disabled){background:#ffffff2e}.auth-btn--ghost{background:0 0;border:1px solid #ffffff40}.auth-btn--ghost:hover:not(:disabled){background:#ffffff14}.auth-footer{color:#cbd5e1;text-align:center;margin-top:20px;font-size:14px}.auth-footer p{margin:0 0 8px}.auth-footer a{color:#93c5fd;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-footer__row{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:12px;display:flex}.auth-alert{border-radius:8px;margin:0 0 14px;padding:12px;font-size:14px;animation:.35s ease-in authFadeIn}.auth-alert--error{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.auth-alert--success{color:#15803d;background:#dcfce7;border:1px solid #86efac}@keyframes authFadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-card--center{text-align:center}.auth-card__email{color:#93c5fd;word-break:break-all;font-weight:700}.auth-terms{color:#e2e8f0;text-align:left;align-items:flex-start;gap:12px;margin:4px 0 16px;font-size:14px;display:flex}.auth-terms__switch{cursor:pointer;flex-shrink:0;align-items:center;min-height:44px;padding:10px 8px 10px 0;display:inline-flex}.auth-terms__text{flex:1;margin:0;line-height:1.45}.auth-terms__hint{color:#94a3b8;margin-top:6px;font-size:12px;line-height:1.45;display:block}.auth-terms a{color:#93c5fd;text-decoration:none}.auth-terms a:hover{text-decoration:underline}.auth-switch{flex-shrink:0;width:46px;height:24px;display:inline-block;position:relative}.auth-switch input{opacity:0;width:0;height:0}.auth-switch__slider{cursor:pointer;background:#94a3b8;border-radius:24px;transition:background .2s;position:absolute;inset:0}.auth-switch__slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.auth-switch input:checked+.auth-switch__slider{background:#2563eb}.auth-switch input:checked+.auth-switch__slider:before{transform:translate(22px)}.auth-btn--secondary{background:#475569}.auth-btn--secondary:hover:not(:disabled){background:#334155}.auth-alert--info{color:#1e3a8a;background:#bfdbfe;border:1px solid #93c5fd}@media (max-width:480px){.auth-card{padding:24px 18px}.auth-card__title{font-size:22px}.auth-input{font-size:16px}}@media (max-width:359px){.auth-topbar{gap:8px}.auth-brand{font-size:17px}.auth-topbar__back{padding:8px 10px 8px 8px;font-size:13px}}@media (hover:none){.auth-topbar__back:hover{transform:none}}.auth-page__footer{padding:16px max(20px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));text-align:center}.auth-page__footer p{color:#e2e8f0d1;letter-spacing:.01em;margin:0;font-size:12px}body.auth-route{color:#fff;background:#0b1220!important}
