/* IT-BALON.CZ PODPORA v541 – společná stabilizace jádra, mobilu a tooltipů */

/* Balíčkové ikonky nesmí nikdy krátce vyrůst přes stránku. */
.itb-package-badge,
.itb-package-badge svg,
.itb-package-badge img,
[class*="package-badge"] svg,
[class*="package-badge"] img{
  max-width:22px!important;
  max-height:22px!important;
}
.itb-package-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  overflow:hidden!important;
  contain:layout paint size!important;
  vertical-align:middle!important;
}
.itb-package-badge svg,.itb-package-badge img{
  display:block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  object-fit:contain!important;
}

/* Tooltip balíčku – společný vzhled pro přehled i detail ticketu. */
.itb-package-tip-trigger-v536,
.itb-client-package-chip-v529{
  isolation:isolate;
}
.itb-client-package-tooltip-v529{
  box-sizing:border-box!important;
  max-width:min(370px,calc(100vw - 24px))!important;
  overflow:visible!important;
}
.itb-client-package-tooltip-v529.is-open{
  display:grid!important;
  gap:10px!important;
  position:fixed!important;
  z-index:2147483000!important;
}

/* Přehled ticketů – přepínač aktivní / hotové / vše se na menších šířkách nerozbije. */
.itb-ticket-archive-tabs-v537{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.itb-ticket-archive-tabs-v537 a{flex:0 0 auto!important;}

/* Široké tabulky zůstanou uvnitř obsahu a neodtlačí celou stránku. */
.itb-table-wrap-v338,
.itb-v555-table-wrap,
.itb-v525-table-wrap,
.invoice-table-wrap,
.table-responsive,
.client-card:has(> table),
.itb-v555-card:has(> table),
.itb-hard-card:has(> table){
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
}

/* Admin identita – jednotné chování při přechodu desktop/tablet/mobil. */
.itb-admin-identity-v533,
.itb-v555-hero-card.is-admin{
  box-sizing:border-box!important;
}

/* Ticket flow – bezpečný horizontální režim místo rozhození karet. */
.ticket-flow{
  max-width:100%!important;
}
@media (max-width:1180px){
  .ticket-flow{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 2px 10px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .ticket-flow .ticket-step{
    flex:0 0 min(300px,78vw)!important;
    min-width:min(300px,78vw)!important;
    scroll-snap-align:start!important;
  }
  .ticket-flow .ticket-step::before,
  .ticket-flow .ticket-step::after{
    display:none!important;
  }
}

/* Formuláře a dvoj/sloupcové layouty se na tabletu skládají bez přetékání. */
@media (max-width:1100px){
  .itb-v555-grid,
  .service-grid,
  .ticket-detail-grid,
  .ticket-main-grid,
  .invoice-detail-grid,
  .admin-two-column,
  .client-two-column{
    grid-template-columns:1fr!important;
  }
}

/* Kompletní mobilní shell – menu jako drawer, obsah přes celou šířku. */
@media (max-width:900px){
  body.unified-support-layout,
  body.itb-admin-mode{
    overflow-x:hidden!important;
  }
  body.unified-support-layout .client-portal-sidebar,
  body.unified-support-layout .itb-hard-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    width:min(88vw,340px)!important;
    max-width:min(88vw,340px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    z-index:1000000!important;
  }
  body.unified-support-layout .client-portal-main,
  body.unified-support-layout .itb-v555-main,
  body.unified-support-layout .itb-hard-main,
  body.unified-support-layout .admin-app-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .itb-hard-hero,
  .itb-v555-hero,
  .itb-dash-hero-v338,
  .ticket-hero{
    border-radius:0!important;
  }
  .itb-admin-identity-v533,
  .itb-v555-hero-card.is-admin{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-top:16px!important;
  }
  .itb-ticket-head-v537{
    align-items:stretch!important;
  }
  .itb-ticket-archive-tabs-v537{
    display:flex!important;
    width:100%!important;
  }
  .itb-ticket-archive-tabs-v537 a{
    justify-content:center!important;
    min-width:122px!important;
  }
  input,select,textarea,button{
    max-width:100%;
  }
}

@media (max-width:560px){
  .itb-v555-kpis,
  .itb-v555-kpis.four,
  .itb-v555-kpis.six,
  .itb-kpis-admin-v342{
    grid-template-columns:1fr!important;
  }
  .itb-v555-kpi,
  .itb-kpi-v338{
    min-height:88px!important;
  }
  .itb-client-package-tooltip-v529.is-open{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:12px!important;
    width:auto!important;
    max-height:min(70vh,520px)!important;
    overflow-y:auto!important;
  }
  .itb-client-package-tooltip-v529>span{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
}
