/* OIB V61 — portal klienta jako spójna aplikacja */

/* Logowanie: miękki wybór zamiast czarnego paska */
#portalContent .portal-auth-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:0 30px!important;
  padding:6px!important;
  border:1px solid #e1e4e7!important;
  border-radius:16px!important;
  background:#f3f5f7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
#portalContent .portal-auth-tabs button{
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  padding:9px 15px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#515a66!important;
  text-align:left!important;
  letter-spacing:0!important;
  text-transform:none!important;
  box-shadow:none!important;
}
#portalContent .portal-auth-tabs button span{font-size:14px!important;font-weight:900!important;line-height:1.15!important;}
#portalContent .portal-auth-tabs button small{font-size:10px!important;font-weight:700!important;color:#8a929c!important;line-height:1.2!important;}
#portalContent .portal-auth-tabs button.active{
  background:#98172b!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(152,23,43,.20)!important;
}
#portalContent .portal-auth-tabs button.active small{color:rgba(255,255,255,.76)!important;}
#portalContent .portal-auth-tabs button:focus-visible{outline:3px solid rgba(152,23,43,.16)!important;outline-offset:2px!important;}

/* Aplikacja po zalogowaniu */
body.portal-authenticated #portalSite .portal-shell{
  padding:24px 18px 44px!important;
  background:linear-gradient(180deg,#f7f5f5 0%,#f5f7f9 42%,#eef1f4 100%)!important;
}
body.portal-authenticated #portalSite .container{width:min(100%,1180px)!important;max-width:1180px!important;}
body.portal-authenticated #portalContent{max-width:none!important;margin-top:14px!important;}
#portalContent .portal-app-v61{display:grid!important;gap:14px!important;}
#portalContent .portal-app-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px 28px!important;
  align-items:start!important;
  padding:26px 28px!important;
  border:1px solid #dfe3e7!important;
  border-top:5px solid #98172b!important;
  border-radius:20px!important;
  background:linear-gradient(128deg,#fff 0%,#fff 68%,#fff2f4 100%)!important;
  box-shadow:0 16px 44px rgba(20,24,30,.07)!important;
}
#portalContent .portal-app-heading h1{margin:3px 0 7px!important;font-size:clamp(30px,3.4vw,46px)!important;line-height:1!important;letter-spacing:-.05em!important;color:#17191d!important;}
#portalContent .portal-app-heading>p:last-of-type{max-width:700px!important;margin:0!important;color:#68717d!important;line-height:1.55!important;}
#portalContent .portal-app-identity{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 14px!important;margin-top:15px!important;color:#69727e!important;font-size:12px!important;}
#portalContent .portal-app-actions{display:flex!important;gap:8px!important;align-items:center!important;}
#portalContent .portal-app-actions .button,#portalContent .portal-app-actions .text-button{min-height:43px!important;padding:0 15px!important;border-radius:10px!important;font-weight:850!important;white-space:nowrap!important;}
#portalContent .portal-app-actions .button{background:#17191d!important;color:#fff!important;}
#portalContent .portal-app-actions .text-button{border:1px solid #dce0e4!important;background:#fff!important;color:#30363d!important;text-decoration:none!important;}
#portalContent .portal-app-header>.portal-change-panel{grid-column:1/-1!important;}

#portalContent .portal-app-nav{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  padding:8px!important;
  border:1px solid #dfe3e7!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(20,24,30,.055)!important;
}
#portalContent .portal-app-nav button{
  min-width:0!important;
  min-height:70px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#404852!important;
  text-align:left!important;
}
#portalContent .portal-app-nav button:hover{background:#f7f8f9!important;}
#portalContent .portal-app-nav button.active{background:#fff1f3!important;border-color:#eccbd1!important;color:#861526!important;box-shadow:0 7px 18px rgba(152,23,43,.07)!important;}
#portalContent .portal-app-nav-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#f0f2f4!important;color:#68717d!important;font-size:10px!important;font-weight:950!important;}
#portalContent .portal-app-nav button.active .portal-app-nav-icon{background:#98172b!important;color:#fff!important;}
#portalContent .portal-app-nav button>span:last-child{min-width:0!important;}
#portalContent .portal-app-nav strong,#portalContent .portal-app-nav small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#portalContent .portal-app-nav strong{font-size:14px!important;line-height:1.25!important;}
#portalContent .portal-app-nav small{margin-top:3px!important;color:#8a929c!important;font-size:10px!important;}

#portalContent .portal-app-body{display:grid!important;grid-template-columns:minmax(0,1fr) 290px!important;gap:14px!important;align-items:start!important;}
#portalContent .portal-app-main{min-width:0!important;}
#portalContent .portal-app-panel{
  min-height:430px!important;
  overflow:hidden!important;
  border:1px solid #dfe3e7!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(20,24,30,.06)!important;
}
#portalContent .portal-app-panel[hidden]{display:none!important;}
#portalContent .portal-app-panel-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  padding:24px 26px 20px!important;
  border-bottom:1px solid #eceef0!important;
  background:linear-gradient(180deg,#fff 0%,#fbfbfc 100%)!important;
}
#portalContent .portal-app-panel-head h2{margin:2px 0 5px!important;font-size:29px!important;line-height:1!important;letter-spacing:-.045em!important;}
#portalContent .portal-app-panel-head>div>p:last-child{margin:0!important;color:#77808b!important;font-size:13px!important;}
#portalContent .portal-panel-count{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;flex:0 0 44px!important;border-radius:13px!important;background:#98172b!important;color:#fff!important;font-size:16px!important;font-weight:950!important;}
#portalContent .portal-cases-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;}
#portalContent .portal-app-subpanel{min-width:0!important;padding:22px 24px!important;border-right:1px solid #eceef0!important;}
#portalContent .portal-app-subpanel:nth-child(2){border-right:0!important;}
#portalContent .portal-app-subpanel-wide{grid-column:1/-1!important;border-top:1px solid #eceef0!important;border-right:0!important;}
#portalContent .portal-app-subhead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:12px!important;}
#portalContent .portal-app-subhead h3{margin:0!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:#646d78!important;}
#portalContent .portal-app-subhead span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f0f2f4;color:#626b76;font-size:10px;font-weight:900;}
#portalContent .portal-app-list-wrap{padding:22px 24px 26px!important;}

#portalContent .portal-app-aside{display:grid!important;gap:12px!important;}
#portalContent .portal-aside-card{padding:20px!important;border:1px solid #dfe3e7!important;border-radius:17px!important;background:#fff!important;box-shadow:0 14px 36px rgba(20,24,30,.05)!important;}
#portalContent .portal-aside-card h3{margin:2px 0 8px!important;font-size:21px!important;letter-spacing:-.03em!important;}
#portalContent .portal-aside-card>p:last-of-type{margin:0!important;color:#707985!important;font-size:13px!important;line-height:1.55!important;}
#portalContent .portal-aside-card>a{display:block!important;margin-top:8px!important;color:#98172b!important;font-weight:850!important;text-decoration:none!important;overflow-wrap:anywhere!important;}
#portalContent .portal-next-card{background:linear-gradient(145deg,#98172b 0%,#b3233a 100%)!important;border-color:#98172b!important;color:#fff!important;}
#portalContent .portal-next-card .eyebrow,#portalContent .portal-next-card h3,#portalContent .portal-next-card p{color:#fff!important;}
#portalContent .portal-security-card{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important;align-items:start!important;}
#portalContent .portal-security-card>span{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e8f5ec!important;color:#287544!important;font-weight:950!important;}
#portalContent .portal-security-card strong{font-size:13px!important;}
#portalContent .portal-security-card p{margin:4px 0 0!important;color:#747d88!important;font-size:11px!important;line-height:1.45!important;}

/* Lepsze listy wewnątrz aplikacji */
#portalContent .portal-app-v61 .portal-item-list{display:grid!important;gap:9px!important;}
#portalContent .portal-app-v61 .portal-list-item{background:#fafbfc!important;border-color:#e3e6e9!important;}
#portalContent .portal-app-v61 .portal-empty-state{margin:0!important;background:#fafbfc!important;}
#portalContent .portal-app-v61 .portal-message-contact{margin:14px 0 0!important;}

@media(max-width:930px){
  #portalContent .portal-app-body{grid-template-columns:1fr!important;}
  #portalContent .portal-app-aside{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media(max-width:700px){
  body:not(.portal-authenticated) #portalContent .portal-auth-tabs{margin:0 16px!important;padding:5px!important;border-radius:14px!important;}
  body:not(.portal-authenticated) #portalContent .portal-auth-tabs button{min-height:52px!important;padding:8px 11px!important;border-radius:10px!important;}
  body:not(.portal-authenticated) #portalContent .portal-auth-tabs button span{font-size:13px!important;}
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;}
  body:not(.portal-authenticated) #portalSite .portal-v57-highlights div{height:100%!important;min-height:78px!important;justify-content:flex-start!important;}

  body.portal-authenticated #portalSite .portal-shell{padding:10px 8px 82px!important;}
  body.portal-authenticated #portalSite .portal-v57-topbar{margin-bottom:8px!important;}
  #portalContent .portal-app-v61{gap:9px!important;}
  #portalContent .portal-app-header{grid-template-columns:1fr!important;gap:14px!important;padding:20px 18px!important;border-radius:16px!important;}
  #portalContent .portal-app-heading h1{font-size:31px!important;}
  #portalContent .portal-app-heading>p:last-of-type{font-size:13px!important;}
  #portalContent .portal-app-identity{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin-top:12px!important;}
  #portalContent .portal-app-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
  #portalContent .portal-app-actions .button,#portalContent .portal-app-actions .text-button{width:100%!important;justify-content:center!important;}
  #portalContent .portal-app-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:6px!important;border-radius:15px!important;}
  #portalContent .portal-app-nav button{min-height:62px!important;grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important;padding:8px!important;border-radius:11px!important;}
  #portalContent .portal-app-nav-icon{width:32px!important;height:32px!important;border-radius:9px!important;}
  #portalContent .portal-app-nav strong{font-size:13px!important;}
  #portalContent .portal-app-nav small{font-size:9px!important;}
  #portalContent .portal-app-panel{min-height:0!important;border-radius:16px!important;}
  #portalContent .portal-app-panel-head{padding:19px 17px 16px!important;}
  #portalContent .portal-app-panel-head h2{font-size:25px!important;}
  #portalContent .portal-panel-count{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:11px!important;font-size:14px!important;}
  #portalContent .portal-cases-grid{grid-template-columns:1fr!important;}
  #portalContent .portal-app-subpanel{padding:17px!important;border-right:0!important;border-bottom:1px solid #eceef0!important;}
  #portalContent .portal-app-subpanel-wide{grid-column:auto!important;border-top:0!important;border-bottom:0!important;}
  #portalContent .portal-app-list-wrap{padding:17px!important;}
  #portalContent .portal-app-aside{grid-template-columns:1fr!important;gap:9px!important;}
  #portalContent .portal-aside-card{padding:17px!important;border-radius:15px!important;}
}

@media(max-width:390px){
  #portalContent .portal-app-nav button{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
  #portalContent .portal-app-nav button>span:last-child{width:100%!important;}
}
