/* Auth pages (login/signup/password reset) — dark "lofi" redesign.
   Ported 1:1 from Dashboard lofi z praktykami/Logowanie.dc.html (wariant: podzial). */

.auth-lofi{position:relative;display:flex;flex-direction:row;min-height:100vh;background-color:#111631;background-image:none;color:#F1EDF7;font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.auth-lofi *{box-sizing:border-box;}
.auth-lofi a{text-decoration:none;}
.auth-lofi input::placeholder{color:#7E85AE;}

@keyframes authLofiSpin{to{transform:rotate(360deg)}}

/* Desktop split photo panel */
.auth-lofi__photo{position:sticky;top:0;width:50%;height:100vh;flex-shrink:0;background-color:#1A2248;background-size:cover;display:flex;flex-direction:column;justify-content:space-between;padding:36px clamp(28px,4vw,56px) 52px;}
.auth-lofi__photo-logo{display:block;align-self:flex-start;height:40px;width:auto;}
.auth-lofi__photo-copy{display:flex;flex-direction:column;gap:16px;max-width:460px;}
.auth-lofi__photo-title{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(42px,4.4vw,64px);line-height:0.98;color:#F7F4EE;text-wrap:balance;margin:0;}
.auth-lofi__photo-text{font-size:16px;line-height:1.6;color:#E5E1EF;text-wrap:pretty;margin:0;}

/* Mobile top banner (replaces split photo below 900px) */
.auth-lofi__banner{display:none;position:relative;height:210px;flex-shrink:0;background-size:cover;padding:22px clamp(20px,5vw,32px);flex-direction:column;justify-content:space-between;}
.auth-lofi__banner-logo{display:block;align-self:flex-start;height:32px;width:auto;}
.auth-lofi__banner-title{font-family:'Instrument Serif',serif;font-weight:400;font-size:34px;line-height:1;color:#F7F4EE;margin:0;}

.auth-lofi__col{position:relative;z-index:3;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:48px clamp(24px,5vw,64px);}
.auth-lofi__panel{width:100%;max-width:460px;display:flex;flex-direction:column;gap:22px;}

.auth-lofi__tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:16px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);}
.auth-lofi__tab{height:44px;border-radius:12px;border:none;cursor:pointer;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;background:transparent;color:#BCC0DC;transition:background .2s,color .2s;text-decoration:none;display:flex;align-items:center;justify-content:center;}
.auth-lofi__tab--active{background:#F1EDF7;color:#111631;}

.auth-lofi__back{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 10px;border-radius:12px;border:1px solid rgba(255,255,255,0.12);background:transparent;color:#D9D4E6;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;}
.auth-lofi__back:hover{background:rgba(255,255,255,0.05);color:#D9D4E6;}

.auth-lofi__sent-icon{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#9D92FF -40%,#6D5EF6 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.28),0 4px 0 #4636C4,0 10px 26px rgba(109,94,246,0.4);}

.auth-lofi__heading{display:flex;flex-direction:column;gap:10px;}
.auth-lofi__heading h1{margin:0;font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(36px,4vw,46px);line-height:1;color:#F7F4EE;}
.auth-lofi__heading p{margin:0;font-size:15px;line-height:1.6;color:#BCC0DC;text-wrap:pretty;}

.auth-lofi__error{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(242,155,155,0.1);border:1px solid rgba(242,155,155,0.35);}
.auth-lofi__error svg{flex-shrink:0;margin-top:1px;}
.auth-lofi__error span{font-size:14px;line-height:1.5;color:#F7DADA;}

.auth-lofi__social{display:flex;flex-direction:column;gap:18px;}
.auth-lofi__google{display:flex;align-items:center;justify-content:center;gap:12px;height:54px;border-radius:15px;border:1px solid rgba(255,255,255,0.16);background:#F7F4EE;color:#111631;font-family:'Manrope',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s;}
.auth-lofi__google:hover:not(:disabled){background:#FFFFFF;}
.auth-lofi__google:active:not(:disabled){transform:translateY(2px);}
.auth-lofi__google:disabled{opacity:.5;cursor:not-allowed;}
.auth-lofi__divider{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#7E85AE;}
.auth-lofi__divider span{flex:1;height:1px;background:rgba(255,255,255,0.1);}

.auth-lofi__form{display:flex;flex-direction:column;gap:16px;margin:0;}
.auth-lofi__field{display:flex;flex-direction:column;gap:8px;}
.auth-lofi__field-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.auth-lofi__field-top label{font-size:13px;font-weight:700;color:#D9D4E6;}
.auth-lofi__field-link{border:none;background:none;padding:0;cursor:pointer;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;color:#C9C2FF;}
.auth-lofi__field-link:hover{color:#F7F4EE;}
.auth-lofi__input-wrap{position:relative;display:flex;}
.auth-lofi__input-wrap input{width:100%;height:54px;padding:0 16px;border-radius:14px;border:1px solid rgba(255,255,255,0.14);background:#172042;color:#F7F4EE;font-family:'Manrope',sans-serif;font-size:15px;outline:none;transition:border-color .15s, box-shadow .15s;}
.auth-lofi__input-wrap input:focus{border-color:#9D92FF;box-shadow:0 0 0 4px rgba(109,94,246,0.18);}
.auth-lofi__input-wrap input.auth-lofi--has-toggle{padding-right:52px;}
.auth-lofi__input-wrap.auth-lofi--error input{border-color:rgba(242,155,155,0.7);}
.auth-lofi__toggle-pw{position:absolute;right:6px;top:6px;width:42px;height:42px;border-radius:11px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.auth-lofi__toggle-pw:hover{background:rgba(255,255,255,0.06);}
.auth-lofi__field-error{font-size:13px;line-height:1.4;color:#F29B9B;}
.auth-lofi__field-hint{font-size:13px;line-height:1.4;color:#9097BE;}

.auth-lofi__rules{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:2px;}
.auth-lofi__rule{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#9097BE;}
.auth-lofi__rule--ok{color:#A6DDBF;}
.auth-lofi__rule--bad{color:#F29B9B;}

.auth-lofi__checkbox-row{align-self:flex-start;display:flex;align-items:flex-start;gap:12px;min-height:44px;font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;color:#D9D4E6;cursor:pointer;}
.auth-lofi__checkbox-row--terms{align-items:flex-start;font-weight:500;line-height:1.5;}
.auth-lofi__checkbox{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex-shrink:0;margin:0;margin-top:1px;border-radius:7px;background:transparent;border:1.5px solid rgba(255,255,255,0.3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;}
.auth-lofi__checkbox:checked{background:#6D5EF6;border-color:#6D5EF6;}
.auth-lofi__checkbox:checked::after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #FFFFFF;border-width:0 2.6px 2.6px 0;transform:rotate(40deg);}
.auth-lofi__checkbox--error{border-color:rgba(242,155,155,0.8);}
.auth-lofi__checkbox-text{padding-top:1px;}
.auth-lofi__checkbox-text a{color:#C9C2FF;font-weight:700;}
.auth-lofi__checkbox-text a:hover{color:#F7F4EE;}
.auth-lofi__checkbox-hint{color:#9097BE;}
.auth-lofi__terms-error{font-size:13px;color:#F29B9B;padding-left:34px;margin:0;}

.auth-lofi__submit{margin-top:6px;display:flex;align-items:center;justify-content:center;gap:12px;height:58px;width:100%;border:none;border-radius:16px;background:#6D5EF6;color:#F7F4EE;font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 5px 0 #4636C4,0 14px 32px rgba(109,94,246,0.4);transition:transform .12s, box-shadow .12s;text-decoration:none;}
.auth-lofi__submit:hover{transform:translateY(-1px);box-shadow:0 6px 0 #4636C4,0 18px 38px rgba(109,94,246,0.5);color:#F7F4EE;}
.auth-lofi__submit:active{transform:translateY(4px);box-shadow:0 1px 0 #4636C4,0 6px 14px rgba(109,94,246,0.3);}
.auth-lofi__submit:disabled{opacity:.7;cursor:wait;}
.auth-lofi__spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,0.3);border-top-color:#FFFFFF;animation:authLofiSpin .8s linear infinite;}

.auth-lofi__sent-actions{display:flex;flex-direction:column;gap:14px;}
.auth-lofi__resend{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:14px;color:#9097BE;}
.auth-lofi__resend button,.auth-lofi__resend a{border:none;background:none;padding:0;cursor:pointer;font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;color:#C9C2FF;}
.auth-lofi__resend a:hover{color:#F7F4EE;}
.auth-lofi__resend button:disabled{color:#7E85AE;cursor:not-allowed;}

.auth-lofi__heading p a{color:#C9C2FF;font-weight:700;}
.auth-lofi__heading p a:hover{color:#F7F4EE;}

.auth-lofi__switch{display:flex;flex-direction:column;gap:18px;padding-top:4px;}
.auth-lofi__switch-text{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;font-size:14px;color:#BCC0DC;}
.auth-lofi__switch-text a{font-weight:700;color:#C9C2FF;}
.auth-lofi__switch-text a:hover{color:#F7F4EE;}
.auth-lofi__guest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:12px 16px;border-radius:14px;border:1px dashed rgba(255,255,255,0.14);font-size:14px;font-weight:700;color:#A6DDBF;text-align:center;}
.auth-lofi__guest:hover{border-color:rgba(166,221,191,0.45);color:#A6DDBF;background:rgba(166,221,191,0.05);}
.auth-lofi__guest span{font-size:13px;font-weight:500;color:#9097BE;}

@media (max-width: 899px){
  .auth-lofi{flex-direction:column;}
  .auth-lofi__photo{display:none;}
  .auth-lofi__banner{display:flex;}
  .auth-lofi__col{padding:8px clamp(20px,5vw,32px) 48px;}
}
