/* eSystemOSP / panelOSP — stabilny wygląd pól logowania + Pokaż/Ukryj w polu. */

/* Stare mechanizmy hasła są wyłączone — zostaje tylko przycisk w polu. */
.panelosp-password-toggle,
.panelosp-password-toggle-input,
.password-toggle,
.show-password,
[data-legacy-password-toggle]{
  display:none!important;
  visibility:hidden!important;
}

/* Login/reset zawsze w ciemnym standardzie panelu — także po autouzupełnianiu Firefox/Chrome. */
.login-body,
.login-card{
  color-scheme:dark;
}
.login-card input,
.login-card select,
.login-card textarea,
.login-card .panelosp-password-wrap input{
  width:100%!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
  border:1px solid #475569!important;
  background:#0f172a!important;
  color:#e5e7eb!important;
  -webkit-text-fill-color:#e5e7eb!important;
  caret-color:#f2c94c!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
  outline:none!important;
}
.login-card input::placeholder{
  color:#94a3b8!important;
  -webkit-text-fill-color:#94a3b8!important;
}
.login-card input:focus,
.login-card .panelosp-password-wrap input:focus{
  border-color:#f2c94c!important;
  background:#0b1220!important;
  box-shadow:0 0 0 3px rgba(242,201,76,.18), inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
.login-card input:-webkit-autofill,
.login-card input:-webkit-autofill:hover,
.login-card input:-webkit-autofill:focus,
.login-card input:-webkit-autofill:active{
  -webkit-text-fill-color:#e5e7eb!important;
  caret-color:#f2c94c!important;
  transition:background-color 999999s ease-in-out 0s!important;
  box-shadow:0 0 0 1000px #0f172a inset, 0 0 0 1px rgba(242,201,76,.20) inset!important;
  border:1px solid #475569!important;
}
.login-card input:-moz-autofill,
.login-card input:-moz-autofill-preview{
  background-color:#0f172a!important;
  color:#e5e7eb!important;
  box-shadow:0 0 0 1000px #0f172a inset, 0 0 0 1px rgba(242,201,76,.20) inset!important;
  filter:none!important;
}

/* Wyłącz natywne ikonki ujawniania hasła, gdzie przeglądarka je dodaje. */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear,
input[type="text"]::-ms-reveal,
input[type="text"]::-ms-clear{
  display:none!important;
  width:0!important;
  height:0!important;
}
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button,
input[type="text"]::-webkit-credentials-auto-fill-button,
input[type="text"]::-webkit-contacts-auto-fill-button{
  visibility:hidden!important;
  display:none!important;
  pointer-events:none!important;
}

.panelosp-password-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
}
.panelosp-password-wrap input[type="password"],
.panelosp-password-wrap input[type="text"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-right:92px!important;
}

button.panelosp-password-button,
.panelosp-password-button{
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:20!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:62px!important;
  max-width:82px!important;
  min-height:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0 9px!important;
  border-radius:9px!important;
  border:1px solid rgba(242,201,76,.58)!important;
  background:linear-gradient(180deg,#2a3448,#151d2d)!important;
  color:#fde68a!important;
  -webkit-text-fill-color:#fde68a!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:0 4px 9px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10)!important;
  cursor:pointer!important;
  user-select:none!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
button.panelosp-password-button:hover,
.panelosp-password-button:hover{
  background:linear-gradient(180deg,#344158,#1a2436)!important;
  filter:none!important;
  transform:translateY(-50%)!important;
}
button.panelosp-password-button:active,
.panelosp-password-button:active{
  transform:translateY(-50%) scale(.97)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.28), inset 0 2px 4px rgba(0,0,0,.20)!important;
}
button.panelosp-password-button:focus-visible,
.panelosp-password-button:focus-visible{
  outline:3px solid rgba(242,201,76,.30)!important;
  outline-offset:2px!important;
}

.panelosp-password-meter{
  display:grid;
  gap:6px;
  margin:8px 0 12px;
  font-size:12px;
  line-height:1.35;
  max-width:100%;
}
.panelosp-password-meter-bar{
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.panelosp-password-meter-fill{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);
  transition:width .18s ease;
}
.panelosp-password-meter-text{
  opacity:.92;
  overflow-wrap:anywhere;
}
.panelosp-password-meter.is-empty .panelosp-password-meter-fill{width:0%}
.panelosp-password-meter.is-weak .panelosp-password-meter-fill{width:25%;filter:saturate(.9)}
.panelosp-password-meter.is-medium .panelosp-password-meter-fill{width:55%}
.panelosp-password-meter.is-good .panelosp-password-meter-fill{width:78%}
.panelosp-password-meter.is-strong .panelosp-password-meter-fill{width:100%}
.panelosp-password-meter.is-weak .panelosp-password-meter-text{color:#fecaca}
.panelosp-password-meter.is-medium .panelosp-password-meter-text{color:#fde68a}
.panelosp-password-meter.is-good .panelosp-password-meter-text,
.panelosp-password-meter.is-strong .panelosp-password-meter-text{color:#bbf7d0}
.panelosp-password-match{
  margin:-3px 0 12px;
  font-size:12px;
  line-height:1.35;
  opacity:.9;
}
.panelosp-password-match.is-error{color:#fecaca}
.panelosp-password-match.is-ok{color:#bbf7d0}
.panelosp-password-help{display:none}

@media(max-width:560px){
  .panelosp-password-wrap input[type="password"],
  .panelosp-password-wrap input[type="text"]{
    padding-right:84px!important;
  }
  button.panelosp-password-button,
  .panelosp-password-button{
    right:7px!important;
    min-width:56px!important;
    max-width:74px!important;
    min-height:27px!important;
    height:27px!important;
    padding:0 7px!important;
    font-size:10.5px!important;
    border-radius:8px!important;
  }
}

@media(max-width:420px){
  .login-card p > button[type="submit"],
  .login-card form > p button[type="submit"]{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
  }
}
