/* OIB V54 — portal klienta: czysty, kompaktowy i niezależny od formularzowego stylu */
body.mode-portal{
  background:#f4f5f7!important;
  color:#15171a!important;
}
body.mode-portal .mobile-contact{
  display:none!important;
}
body.mode-portal{
  padding-bottom:0!important;
}
#portalSite .portal-shell{
  min-height:100vh!important;
  padding:32px 18px 64px!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(152,23,43,.075),transparent 28%),
    linear-gradient(180deg,#f7f8fa 0%,#f3f4f6 100%)!important;
}
#portalSite .container{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
}
#portalSite .admin-header.portal-entry-header{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:24px 28px!important;
  background:#fff!important;
  border:1px solid #e2e5e9!important;
  border-top:0!important;
  border-radius:20px!important;
  box-shadow:0 18px 50px rgba(18,22,28,.07)!important;
  overflow:hidden!important;
}
#portalSite .admin-header.portal-entry-header:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:5px!important;
  background:#98172b!important;
}
#portalSite .admin-header.portal-entry-header:after{
  content:""!important;
  right:-70px!important;
  top:-100px!important;
  width:230px!important;
  height:230px!important;
  background:rgba(152,23,43,.035)!important;
}
#portalSite .portal-entry-brand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  position:relative!important;
  z-index:2!important;
}
#portalSite .portal-entry-brand .logo{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-right:28px!important;
  border-right:1px solid #e4e6ea!important;
}
#portalSite .portal-entry-brand .logo-mark{
  font-size:34px!important;
  line-height:1!important;
}
#portalSite .portal-entry-brand .logo-copy{
  display:block!important;
  max-width:150px!important;
  font-size:10px!important;
  line-height:1.25!important;
  letter-spacing:.10em!important;
}
#portalSite .portal-entry-copy{
  min-width:0!important;
}
#portalSite .portal-entry-copy .eyebrow{
  margin:0 0 5px!important;
  color:#98172b!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
#portalSite .portal-entry-copy h1{
  margin:0 0 7px!important;
  font-size:40px!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
#portalSite .portal-entry-copy p{
  margin:0!important;
  max-width:560px!important;
  color:#65707e!important;
  font-size:14px!important;
  line-height:1.5!important;
}
#portalSite .portal-back-link{
  flex:0 0 auto!important;
  min-height:44px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f6f7f8!important;
  border:1px solid #dfe3e7!important;
  border-radius:12px!important;
  color:#202329!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:2!important;
}
#portalContent{
  width:100%!important;
  max-width:none!important;
  margin:18px 0 0!important;
}
#portalContent .portal-auth-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  align-items:stretch!important;
  gap:18px!important;
}
#portalContent .portal-auth-card{
  order:1!important;
  height:auto!important;
  min-height:0!important;
  border:1px solid #e1e4e8!important;
  border-top:0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 18px 54px rgba(18,22,28,.075)!important;
  overflow:hidden!important;
}
#portalContent .portal-auth-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  margin:0!important;
  padding:8px!important;
  background:#f3f4f6!important;
  border:0!important;
  border-bottom:1px solid #e3e5e8!important;
}
#portalContent .portal-auth-tabs button{
  min-height:48px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#626b77!important;
  box-shadow:none!important;
  font-size:12px!important;
  letter-spacing:.07em!important;
  font-weight:900!important;
}
#portalContent .portal-auth-tabs button.active{
  background:#fff!important;
  color:#98172b!important;
  box-shadow:0 5px 18px rgba(18,22,28,.09),inset 0 0 0 1px #e1e3e6!important;
}
#portalContent .portal-auth-card form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
  padding:28px!important;
  background:#fff!important;
}
#portalContent .portal-auth-card form[hidden]{
  display:none!important;
}
#portalContent .portal-auth-card .field{
  min-width:0!important;
}
#portalContent .portal-auth-card .field.full{
  grid-column:1/-1!important;
}
#portalContent .portal-auth-card .field label{
  display:block!important;
  margin:0 0 7px!important;
  color:#24282e!important;
  font-size:13px!important;
  font-weight:850!important;
  letter-spacing:0!important;
}
#portalContent .portal-auth-card input,
#portalContent .portal-auth-card select,
#portalContent .portal-auth-card textarea{
  width:100%!important;
  min-height:52px!important;
  padding:12px 14px!important;
  background:#fafbfc!important;
  border:1px solid #cfd5db!important;
  border-radius:12px!important;
  color:#15171a!important;
  font-size:16px!important;
  box-shadow:inset 0 1px 1px rgba(15,18,22,.02)!important;
}
#portalContent .portal-auth-card input:focus,
#portalContent .portal-auth-card select:focus,
#portalContent .portal-auth-card textarea:focus{
  outline:0!important;
  background:#fff!important;
  border-color:#98172b!important;
  box-shadow:0 0 0 4px rgba(152,23,43,.10)!important;
}
#portalContent .portal-auth-card .portal-inline-actions{
  display:grid!important;
  grid-template-columns:minmax(170px,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:2px!important;
}
#portalContent .portal-auth-card .portal-inline-actions .button,
#portalContent .portal-auth-card form>.field.full>.button{
  width:100%!important;
  min-height:54px!important;
  padding:0 20px!important;
  border-radius:12px!important;
  background:#98172b!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(152,23,43,.20)!important;
}
#portalContent .portal-auth-card .portal-inline-actions p{
  margin:0!important;
}
#portalContent .portal-auth-card .portal-inline-actions .text-button{
  min-height:44px!important;
  padding:0 12px!important;
  border:0!important;
  background:transparent!important;
  color:#596270!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
#portalContent .portal-auth-card .consent{
  min-height:0!important;
  padding:13px!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:start!important;
  background:#f7f8f9!important;
  border:1px solid #e0e3e6!important;
  border-radius:12px!important;
  font-size:13px!important;
  line-height:1.45!important;
}
#portalContent .portal-auth-card .consent input{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
#portalContent .portal-auth-card .form-privacy-note{
  margin:8px 0 0!important;
  color:#77808b!important;
  font-size:12px!important;
  line-height:1.45!important;
}
#portalStatus:not(:empty){
  margin:0 28px 26px!important;
  padding:13px 15px!important;
  min-height:0!important;
  border:1px solid #edd8dc!important;
  border-left:4px solid #98172b!important;
  border-radius:12px!important;
  background:#fff6f7!important;
  color:#7e1726!important;
  box-shadow:none!important;
}
#portalContent .portal-auth-side{
  order:2!important;
  height:auto!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#portalContent .portal-auth-info{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:28px!important;
  background:#17191d!important;
  color:#fff!important;
  border:1px solid #17191d!important;
  border-radius:20px!important;
  box-shadow:0 18px 54px rgba(18,22,28,.10)!important;
}
#portalContent .portal-auth-info .tag{
  align-self:flex-start!important;
  margin:0 0 20px!important;
  padding:7px 10px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#fff!important;
  border-radius:999px!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#portalContent .portal-auth-info h2{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}
#portalContent .portal-auth-info>p{
  margin:0 0 22px!important;
  color:#b9c0c9!important;
  font-size:14px!important;
  line-height:1.55!important;
}
#portalContent .portal-auth-points{
  display:grid!important;
  gap:8px!important;
}
#portalContent .portal-auth-points div{
  position:relative!important;
  min-height:0!important;
  padding:14px 14px 14px 44px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px!important;
}
#portalContent .portal-auth-points div:before{
  content:"✓"!important;
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#98172b!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
}
#portalContent .portal-auth-points strong{
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
}
#portalContent .portal-auth-points span{
  display:block!important;
  margin-top:3px!important;
  color:#aeb6c0!important;
  font-size:12px!important;
  line-height:1.4!important;
}
#portalContent .portal-auth-note{
  margin-top:auto!important;
  padding:18px 0 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;
}
#portalContent .portal-auth-note strong{
  color:#fff!important;
  font-size:14px!important;
}
#portalContent .portal-auth-note p{
  color:#aeb6c0!important;
  font-size:12px!important;
  line-height:1.45!important;
}
#portalContent .portal-auth-note .button.secondary{
  min-height:42px!important;
  padding:0 14px!important;
  background:#fff!important;
  color:#17191d!important;
  border:0!important;
  border-radius:11px!important;
  box-shadow:none!important;
}

@media(max-width:820px){
  #portalSite .portal-shell{
    padding:12px 10px 34px!important;
  }
  #portalSite .admin-header.portal-entry-header{
    display:block!important;
    padding:20px!important;
    border-radius:16px!important;
  }
  #portalSite .portal-entry-brand{
    display:block!important;
  }
  #portalSite .portal-entry-brand .logo{
    display:inline-flex!important;
    padding:0!important;
    border:0!important;
  }
  #portalSite .portal-entry-brand .logo-mark{
    font-size:30px!important;
  }
  #portalSite .portal-entry-copy{
    margin-top:20px!important;
  }
  #portalSite .portal-entry-copy h1{
    font-size:42px!important;
  }
  #portalSite .portal-entry-copy p{
    max-width:100%!important;
    font-size:14px!important;
  }
  #portalSite .portal-back-link{
    width:auto!important;
    margin-top:16px!important;
  }
  #portalContent{
    margin-top:12px!important;
  }
  #portalContent .portal-auth-layout{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #portalContent .portal-auth-card{
    order:1!important;
    border-radius:16px!important;
  }
  #portalContent .portal-auth-side{
    order:2!important;
  }
  #portalContent .portal-auth-card form{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:20px!important;
  }
  #portalContent .portal-auth-card .field.full{
    grid-column:auto!important;
  }
  #portalContent .portal-auth-card .portal-inline-actions{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  #portalContent .portal-auth-card .portal-inline-actions .text-button{
    width:100%!important;
    justify-content:center!important;
    text-decoration:none!important;
    background:#f4f5f6!important;
    border:1px solid #e0e3e6!important;
    border-radius:11px!important;
  }
  #portalStatus:not(:empty){
    margin:0 20px 20px!important;
  }
  #portalContent .portal-auth-info{
    padding:22px!important;
    border-radius:16px!important;
  }
  #portalContent .portal-auth-info h2{
    font-size:25px!important;
  }
  #portalContent .portal-auth-info>p{
    margin-bottom:16px!important;
  }
  #portalContent .portal-auth-points{
    gap:7px!important;
  }
  #portalContent .portal-auth-points div{
    padding:12px 12px 12px 42px!important;
  }
  #portalContent .portal-auth-note{
    margin-top:18px!important;
  }
}

@media(max-width:420px){
  #portalSite .portal-shell{padding-left:8px!important;padding-right:8px!important;}
  #portalSite .admin-header.portal-entry-header{padding:18px!important;}
  #portalSite .portal-entry-copy h1{font-size:38px!important;}
  #portalContent .portal-auth-tabs{padding:6px!important;}
  #portalContent .portal-auth-tabs button{min-height:46px!important;font-size:11px!important;}
  #portalContent .portal-auth-card form{padding:18px!important;}
  #portalContent .portal-auth-info{padding:20px!important;}
}
