/* IT-BALON.CZ podpora v569
   Finalni responzivni shell klienta + admina.
   - kompletni mobilni drawer
   - navrat prepinace TABULKA / BUNKY
   - citelna tabulka s vlastnim horizontalnim posunem
   - plnosirkove ticketove bunky
   - bezpecne responzivni admin tabulky a formulare
*/

body.unified-support-layout .client-side-nav > a.itb-mobile-only-nav-v569{display:none!important;}

@media (max-width:900px){
  /* Drawer musí vždy zobrazit kompletní navigaci a dovolit svislý posun. */
  body.unified-support-layout .client-portal-sidebar{
    display:flex!important;
    flex-direction:column!important;
    width:min(91vw,370px)!important;
    max-width:min(91vw,370px)!important;
    padding:16px 14px 24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable!important;
  }
  body.unified-support-layout .client-sidebar-sitebrand{flex:0 0 auto!important;}
  body.unified-support-layout .client-sidebar-dates{flex:0 0 auto!important;}
  body.unified-support-layout .itb-sidebar-primary-cta-v467{
    display:flex!important;
    flex:0 0 auto!important;
    min-height:46px!important;
    margin:0 0 9px!important;
    border-radius:14px!important;
  }
  body.unified-support-layout .client-side-nav{
    display:grid!important;
    flex:0 0 auto!important;
    width:100%!important;
    gap:7px!important;
    padding-bottom:8px!important;
  }
  body.unified-support-layout .client-side-nav > a,
  body.unified-support-layout .client-side-nav > details,
  body.unified-support-layout .client-side-nav > details > summary,
  body.unified-support-layout .client-side-nav > details > a{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.unified-support-layout .client-side-nav > a.itb-mobile-only-nav-v569{
    display:flex!important;
  }
  body.unified-support-layout .client-side-nav > a > span,
  body.unified-support-layout .client-side-nav details > summary > span,
  body.unified-support-layout .client-side-nav details > a > span{
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    background:#edf5ff!important;
    color:#0969ff!important;
  }
  body.unified-support-layout .client-side-nav > a.active > span,
  body.unified-support-layout .client-side-nav details > a.active > span{
    background:#0969ff!important;
    color:#fff!important;
  }
  body.unified-support-layout .client-logout-link{margin-top:3px!important;}
  body.unified-support-layout .client-sidebar-help{
    display:block!important;
    flex:0 0 auto!important;
    margin-top:8px!important;
  }

  /* Přepínač pohledu je na mobilu vždy viditelný. */
  body.unified-support-layout .itb-index-v338 .itb-view-toggle-v407{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
    gap:7px!important;
    margin:10px 0 12px!important;
    padding:5px!important;
    border:1px solid #d5e4f5!important;
    border-radius:15px!important;
    background:#f3f8fe!important;
    box-sizing:border-box!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-view-toggle-v407 button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:none!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid transparent!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#49647f!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-view-toggle-v407 button.is-active{
    border-color:#0969ff!important;
    background:#0969ff!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(9,105,255,.22)!important;
  }

  /* TABULKA: nesmršťovat obsah na 360 px; vlastní bezpečný posun. */
  body.unified-support-layout .itb-index-v338.view-table .itb-table-wrap-v338{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    border:1px solid #cfe0f4!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 12px 28px rgba(15,45,85,.06)!important;
  }
  body.unified-support-layout .itb-index-v338.view-table .itb-table-wrap-v338:after{
    content:'Posuňte tabulku do stran ↔'!important;
    position:sticky!important;
    left:10px!important;
    bottom:6px!important;
    display:inline-flex!important;
    margin:7px 8px!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    background:rgba(7,28,61,.86)!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:850!important;
    pointer-events:none!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656{
    display:table!important;
    width:820px!important;
    min-width:820px!important;
    max-width:none!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-id{width:70px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-title{width:250px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-action{width:155px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-status{width:140px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-updated{width:155px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 col.c-more{width:50px!important;}
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 th,
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 td{
    display:table-cell!important;
    height:auto!important;
    min-width:0!important;
    padding:12px 10px!important;
    font-size:11px!important;
    line-height:1.35!important;
    overflow:visible!important;
    white-space:normal!important;
    vertical-align:middle!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 th{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    background:#edf4fc!important;
    color:#3f5a79!important;
    font-size:9.5px!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 td:nth-child(2) strong{
    font-size:13px!important;
    line-height:1.25!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 td:nth-child(2) small{
    font-size:9px!important;
    line-height:1.35!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338.view-table table.itb-client-ticket-table-v656 .itb-status-v338{
    width:auto!important;
    min-height:28px!important;
    padding:5px 8px!important;
    font-size:9px!important;
    white-space:normal!important;
  }
  body.unified-support-layout .itb-index-v338.view-table .itb-mobile-cards-v407{display:none!important;}

  /* BUŇKY: jedna profesionální karta přes celou šířku telefonu. */
  body.unified-support-layout .itb-index-v338.view-cards .itb-table-wrap-v338{display:none!important;}
  body.unified-support-layout .itb-index-v338.view-cards .itb-mobile-cards-v407{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407{
    display:grid!important;
    justify-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    padding:14px!important;
    border-radius:17px!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0 0 7px!important;
    text-align:left!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .id{
    display:inline-flex!important;
    margin:0!important;
    font-size:13px!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 h3{
    margin:0 0 5px!important;
    font-size:17px!important;
    line-height:1.22!important;
    text-align:left!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .meta,
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .upd{
    font-size:10px!important;
    line-height:1.38!important;
    text-align:left!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .badges{
    justify-content:flex-start!important;
    gap:6px!important;
    margin:10px 0!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .itb-status-v338{
    min-height:28px!important;
    padding:5px 8px!important;
    font-size:9px!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .mobile-action{
    display:flex!important;
    justify-content:stretch!important;
    margin-top:10px!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 .mobile-action .action{
    width:100%!important;
    min-height:40px!important;
    border:0!important;
    border-radius:11px!important;
    background:#0969ff!important;
    color:#fff!important;
    font-size:11px!important;
  }

  /* Klientský dashboard – karty a obsah nesmí přetékat. */
  body:not(.itb-admin-mode) .itb-index-v338 .itb-tickets-card-v412{
    padding:12px!important;
    overflow:hidden!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338 .itb-ticket-head-v537{
    gap:10px!important;
  }
  body:not(.itb-admin-mode) .itb-index-v338 .itb-filter-accordion-v406{
    width:100%!important;
    box-sizing:border-box!important;
  }

  /* ADMIN: stejný mobilní shell, ale datové tabulky zůstávají čitelné. */
  body.itb-admin-mode .itb-index-v338 .itb-view-toggle-v407{display:grid!important;}
  body.itb-admin-mode .itb-index-v338.view-table .itb-table-wrap-v338{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:16px!important;
  }
  body.itb-admin-mode .itb-index-v338.view-table table.itb-admin-ticket-table-v656{
    display:table!important;
    width:1120px!important;
    min-width:1120px!important;
    max-width:none!important;
    table-layout:fixed!important;
  }
  body.itb-admin-mode .itb-index-v338.view-table table.itb-admin-ticket-table-v656 th,
  body.itb-admin-mode .itb-index-v338.view-table table.itb-admin-ticket-table-v656 td{
    display:table-cell!important;
    padding:11px 9px!important;
    font-size:10px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  body.itb-admin-mode .itb-index-v338.view-cards .itb-mobile-cards-v407{display:grid!important;}
  body.itb-admin-mode .itb-index-v338.view-cards .itb-table-wrap-v338{display:none!important;}

  body.itb-admin-mode .itb-kpis-admin-v342,
  body.itb-admin-mode .itb-kpis-admin-v514,
  body.itb-admin-mode .itb-kpis-admin-v566{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }
  body.itb-admin-mode .itb-kpis-admin-v342 .itb-kpi-v338{
    min-width:0!important;
    min-height:112px!important;
    padding:12px 9px!important;
  }
  body.itb-admin-mode .itb-kpis-admin-v342 .itb-kpi-v338 small{font-size:9px!important;}
  body.itb-admin-mode .itb-kpis-admin-v342 .itb-kpi-v338 strong{font-size:22px!important;}
  body.itb-admin-mode .itb-kpis-admin-v342 .itb-kpi-v338 em{font-size:8.5px!important;}

  /* Univerzální pojistka pro admin podstránky. */
  body.itb-admin-mode .client-portal-main,
  body.itb-admin-mode .admin-app-main,
  body.itb-admin-mode .itb-v555-main,
  body.itb-admin-mode .itb-hard-content{
    min-width:0!important;
    max-width:100%!important;
  }
  body.itb-admin-mode main input,
  body.itb-admin-mode main select,
  body.itb-admin-mode main textarea,
  body.itb-admin-mode main button{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.itb-admin-mode .table-wrap,
  body.itb-admin-mode .invoice791-table-wrap,
  body.itb-admin-mode .itb-v525-table-wrap,
  body.itb-admin-mode .itb-v555-table-wrap,
  body.itb-admin-mode .activity-table-wrap,
  body.itb-admin-mode .invoice-table-wrap{
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.itb-admin-mode .itb-v555-grid,
  body.itb-admin-mode .ticket-main-grid,
  body.itb-admin-mode .invoice-dashboard-grid,
  body.itb-admin-mode .admin-main-grid,
  body.itb-admin-mode .service-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media (max-width:520px){
  body.itb-admin-mode .itb-kpis-admin-v342,
  body.itb-admin-mode .itb-kpis-admin-v514,
  body.itb-admin-mode .itb-kpis-admin-v566{
    grid-template-columns:1fr!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-ticket-archive-tabs-v537 a{
    font-size:9px!important;
  }
  body.unified-support-layout .itb-index-v338 .itb-view-toggle-v407 button{
    min-height:40px!important;
  }
}
