/* Logowanie do panelu klienta (.fp-login): baza z fp-calc (sekcja, kolumna z tekstem, tokeny),
   oprawa formularza logowania, rejestracji, resetu hasła i ustawiania nowego hasła. */

/* pomoc przy logowaniu (lewa kolumna) */
.fp-login .fl-help{display:grid;gap:8px;padding-top:18px;border-top:2px solid var(--ink);max-width:44ch}
.fp-login .fl-help-label{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
.fp-login .fl-help p{font-size:16px;line-height:1.5;color:var(--ink)}
.fp-login .fl-help-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:6px}
.fp-login a.fl-link{color:var(--ink)}
.fp-login a.fl-link:hover{color:var(--accent-text)}

/* karta jak formularz kalkulatora */
.fp-login .fc-tool{max-width:620px;width:100%;justify-self:start}
.fp-login .fl-card{display:grid;gap:26px;padding:clamp(22px,3vw,40px);background:var(--white);border-top:2px solid var(--ink);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 30px 60px -30px rgba(11,47,54,.22)}
@media (prefers-reduced-motion:no-preference){.fp-login .fl-card{animation:fcFade .7s cubic-bezier(.2,.8,.2,1) both .2s}}

/* reset oprawy modułu: kontener i karta modułu stają się przezroczyste, nagłówek modułu zastępuje H1 strony */
.fp-login .fitpoprawny_panel_container{max-width:none;margin:0;padding:0}
.fp-login .fitpoprawny_panel_card{padding:0;border:0;border-radius:0;background:none;box-shadow:none;transition:none}
.fp-login .fitpoprawny_panel_card:hover{box-shadow:none}
.fp-login .fitpoprawny_panel_header{display:none}
.fp-login .fitpoprawny_panel_redirect{max-width:none;margin:0;padding:0;background:none;text-align:left;font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--muted)}

/* pola */
.fp-login .fitpoprawny_login_form{display:grid;gap:20px;margin:0}
.fp-login .fitpoprawny_form_group{display:grid;gap:8px;margin:0}
.fp-login .fitpoprawny_form_label{margin:0;font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.fp-login .fitpoprawny_form_input{width:100%;height:52px;margin:0;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:none;font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fp-login .fitpoprawny_form_input::placeholder{color:rgba(85,107,110,.5);font-weight:500;opacity:1}
.fp-login .fitpoprawny_form_input:focus{border-color:var(--ink);background:var(--paper);box-shadow:0 0 0 3px rgba(11,47,54,.08);outline:0}
.fp-login .fitpoprawny_password_wrapper{position:relative;display:flex;align-items:center}
.fp-login .fitpoprawny_password_wrapper .fitpoprawny_form_input{padding-right:52px}
.fp-login .fitpoprawny_password_toggle{position:absolute;right:6px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius);background:none;color:var(--muted);cursor:pointer}
.fp-login .fitpoprawny_password_toggle:hover{color:var(--ink);background:rgba(11,47,54,.05)}
.fp-login .fitpoprawny_form_error{min-height:0;margin:0;font-size:13.5px;line-height:1.4;color:var(--accent-text)}
.fp-login .fitpoprawny_form_error:empty{display:none}

/* opisy pomocnicze w widokach */
.fp-login .fl-desc{margin:0 0 4px;font-size:15px;line-height:1.55;color:var(--muted)}

/* zapamiętaj mnie */
.fp-login .fitpoprawny_form_checkbox{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0}
.fp-login .fitpoprawny_form_checkbox_input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}
.fp-login .fitpoprawny_form_checkbox_label{margin:0;font-size:15px;color:var(--ink);cursor:pointer}

/* komunikaty po wysłaniu */
.fp-login .fitpoprawny_form_message{margin:0;padding:12px 14px;border:0;border-left:3px solid var(--accent);border-radius:0;font-size:15px;line-height:1.45}
.fp-login .fitpoprawny_form_message.error{background:rgba(209,107,70,.08);color:var(--accent-text)}
.fp-login .fitpoprawny_form_message.success{background:rgba(11,47,54,.06);border-left-color:var(--ink);color:var(--ink)}

/* przycisk */
.fp-login .fitpoprawny_panel_btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin:4px 0 0;padding:14px 24px;border:0;border-radius:var(--radius);background:var(--cta);color:#fff;font-family:var(--f-display);font-weight:700;font-size:16px;line-height:1;box-shadow:none;transform:none;transition:background .2s}
.fp-login .fitpoprawny_panel_btn:hover{background:var(--cta-hover);transform:none;box-shadow:none}
.fp-login .fitpoprawny_panel_btn:disabled{background:var(--cta);opacity:.6;cursor:not-allowed}
.fp-login .fitpoprawny_panel_btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.fp-login .fitpoprawny_panel_btn.loading{position:relative;color:transparent!important}
.fp-login .fitpoprawny_panel_btn.loading::after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:fcSpin .7s linear infinite}
@keyframes fcSpin{to{transform:rotate(360deg)}}

/* stopka karty: rejestracja, zapomniane hasło i powroty */
.fp-login .fitpoprawny_panel_footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:left}
.fp-login .fitpoprawny_panel_footer_text{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.fp-login .fitpoprawny_panel_link{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px;cursor:pointer}
.fp-login .fitpoprawny_panel_link::after{content:none}
.fp-login .fitpoprawny_panel_link:hover{color:var(--accent-text)}

/* tablet i telefon: nagłówek → formularz → pomoc */
@media (max-width:960px){
  .fp-login .fc-wrap{gap:18px}
  .fp-login .fc-copy{display:contents}
  .fp-login .fc-label{order:1}
  .fp-login .fc-title{order:2;font-size:clamp(34px,10vw,56px)}
  .fp-login .fc-lead{order:3}
  .fp-login .fc-tool{order:4;justify-self:stretch;max-width:none;margin-top:14px}
  .fp-login .fl-help{order:5;margin-top:22px;max-width:none}
}
@media (max-width:560px){
  .fp-login .fl-card{padding:20px 16px 22px;gap:20px}
  .fp-login .fitpoprawny_form_input{font-size:16px}
  .fp-login .fitpoprawny_panel_footer{flex-direction:column}
}

/* widoki przełączane w jednej karcie */
.fp-login .fl-view{display:grid;gap:0}
.fp-login .fl-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.fp-login .fl-consent{align-items:flex-start}
.fp-login .fl-consent .fitpoprawny_form_checkbox_input{margin-top:3px}
.fp-login .fl-consent a{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.fp-login .fl-consent a:hover{color:var(--accent-text)}
.fp-login .fl-consent-error{margin-top:-12px}
.fp-login .fitpoprawny_form_input[aria-invalid="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(209,107,70,.12)}
@media (prefers-reduced-motion:no-preference){.fp-login .fl-view.is-shown{animation:fcFade .45s cubic-bezier(.2,.8,.2,1) both}}
