/* OIB V59 — dopracowany portal klienta */

/* Proporcje: lewy panel 38%, logowanie 62% */
#portalSite .portal-v57-frame{
  grid-template-columns:minmax(320px,.62fr) minmax(500px,1fr)!important;
  align-items:start!important;
}
#portalSite .portal-v57-intro{
  min-height:560px!important;
  padding:36px!important;
}
#portalSite .portal-v57-intro h1{
  font-size:clamp(42px,4.3vw,62px)!important;
}
#portalSite .portal-v57-highlights{
  margin-top:30px!important;
}

/* Karta logowania kończy się zaraz pod formularzem i kontaktem */
#portalContent .portal-auth-layout{
  height:auto!important;
}
#portalContent .portal-auth-card{
  height:auto!important;
  min-height:0!important;
}
#portalContent .portal-auth-heading{
  padding-bottom:14px!important;
}
#portalContent .portal-auth-heading h2{
  margin-bottom:0!important;
}
#portalContent .portal-auth-heading>p:not(.eyebrow){
  display:none!important;
}
#portalContent .portal-auth-footer{
  margin-top:0!important;
}

/* Nie pamiętam hasła pod polem, po prawej */
#portalContent .portal-forgot-row{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:7px!important;
}
#portalContent .portal-forgot-row .text-button{
  min-height:auto!important;
  padding:3px 0!important;
  border:0!important;
  background:transparent!important;
  color:#5d6570!important;
  box-shadow:none!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  font-size:12px!important;
  font-weight:800!important;
}
#portalContent .portal-login-actions{
  grid-column:1/-1!important;
}
#portalContent .portal-login-actions .button{
  width:100%!important;
  min-height:54px!important;
  border-radius:12px!important;
  background:#98172b!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 12px 26px rgba(152,23,43,.20)!important;
}

/* Pulpit po zalogowaniu */
body.portal-authenticated #portalSite .portal-v57-frame{
  display:block!important;
}
body.portal-authenticated #portalContent{
  width:100%!important;
}
#portalContent .portal-dashboard-v59{
  display:grid!important;
  gap:16px!important;
}
#portalContent .portal-dashboard-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:22px!important;
  padding:24px 26px!important;
  background:linear-gradient(135deg,#fff 0%,#fff 72%,#fff4f6 100%)!important;
  border:1px solid #e1e4e7!important;
  border-top:5px solid #98172b!important;
  border-radius:18px!important;
  box-shadow:0 16px 44px rgba(18,22,28,.07)!important;
}
#portalContent .portal-dashboard-welcome h1{
  margin:4px 0 8px!important;
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
#portalContent .portal-dashboard-welcome>p:last-child{
  max-width:680px!important;
  margin:0!important;
  color:#68717d!important;
}
#portalContent .portal-dashboard-meta{
  display:grid!important;
  justify-items:end!important;
  gap:5px!important;
  min-width:220px!important;
}
#portalContent .portal-dashboard-meta small{
  color:#6c7581!important;
  overflow-wrap:anywhere!important;
  text-align:right!important;
}
#portalContent .portal-dashboard-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
}
#portalContent .portal-dashboard-actions .button,
#portalContent .portal-dashboard-actions .text-button{
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#portalContent .portal-dashboard-actions .text-button{
  border:1px solid #dfe2e6!important;
  background:#fff!important;
  color:#30363d!important;
  text-decoration:none!important;
}
#portalContent .portal-dashboard-summary>.portal-change-panel{
  grid-column:1/-1!important;
}
#portalContent .portal-dashboard-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
#portalContent .portal-main-card{
  min-width:0!important;
  padding:22px!important;
  background:#fff!important;
  border:1px solid #e1e4e7!important;
  border-radius:16px!important;
  box-shadow:0 14px 38px rgba(18,22,28,.06)!important;
}
#portalContent .portal-main-card-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #eceef0!important;
}
#portalContent .portal-main-card-head>span{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  border-radius:10px!important;
  background:#98172b!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
}
#portalContent .portal-main-card-head .eyebrow{
  margin:0 0 3px!important;
}
#portalContent .portal-main-card-head h2{
  margin:0!important;
  font-size:25px!important;
  letter-spacing:-.035em!important;
}
#portalContent .portal-subsection{
  padding:13px 0!important;
  border-top:1px solid #eceef0!important;
}
#portalContent .portal-subsection:first-of-type{
  border-top:0!important;
  padding-top:0!important;
}
#portalContent .portal-subsection h3{
  margin:0 0 8px!important;
  color:#69727e!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
#portalContent .portal-main-card .dashboard-row{
  padding:12px 0!important;
}
#portalContent .portal-message-contact{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px 14px!important;
  margin-top:15px!important;
  padding-top:15px!important;
  border-top:1px solid #eceef0!important;
}
#portalContent .portal-message-contact a{
  color:#98172b!important;
  font-weight:800!important;
  text-decoration:none!important;
}

@media(max-width:900px){
  #portalSite .portal-v57-frame{
    grid-template-columns:1fr!important;
  }
  #portalContent .portal-dashboard-summary{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  #portalContent .portal-dashboard-meta{
    justify-items:start!important;
    min-width:0!important;
  }
  #portalContent .portal-dashboard-meta small{
    text-align:left!important;
  }
  #portalContent .portal-dashboard-grid{
    grid-template-columns:1fr!important;
  }
}

/* Telefon: najpierw formularz, później trzy małe kafelki */
@media(max-width:700px){
  body:not(.portal-authenticated) #portalSite .portal-v57-intro{
    display:block!important;
    order:2!important;
    min-height:0!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-intro:before,
  body:not(.portal-authenticated) #portalSite .portal-v57-intro-copy,
  body:not(.portal-authenticated) #portalSite .portal-v57-trust{
    display:none!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights div{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    padding:12px 9px!important;
    background:#fff!important;
    border:1px solid #e1e4e7!important;
    border-top:3px solid #98172b!important;
    border-radius:12px!important;
    box-shadow:0 10px 28px rgba(18,22,28,.05)!important;
    color:#17191d!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights span{
    width:26px!important;
    height:26px!important;
    flex:0 0 26px!important;
    background:#fff1f3!important;
    color:#98172b!important;
    border-radius:8px!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights strong{
    color:#17191d!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights small{
    display:none!important;
  }
  #portalContent .portal-auth-heading{
    padding:20px 18px 12px!important;
  }
  #portalContent .portal-auth-heading h2{
    font-size:28px!important;
  }
  #portalContent .portal-auth-tabs{
    margin:0 18px!important;
  }
  #portalContent .portal-auth-card form{
    padding:18px!important;
  }
  #portalContent .portal-forgot-row{
    margin-top:5px!important;
  }
  #portalContent .portal-auth-footer{
    padding:13px 18px!important;
  }
  #portalContent .portal-dashboard-summary,
  #portalContent .portal-main-card{
    padding:18px!important;
    border-radius:14px!important;
  }
  #portalContent .portal-dashboard-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  #portalContent .portal-dashboard-actions .button,
  #portalContent .portal-dashboard-actions .text-button{
    width:100%!important;
    justify-content:center!important;
  }
  #portalContent .portal-main-card-head h2{
    font-size:22px!important;
  }
}
