/* IT-BALON.CZ support – v627 mobile UX polish */
:root{
  --itb-m627-topbar:68px;
  --itb-m627-gap:10px;
  --itb-m627-radius:17px;
  --itb-m627-blue:#0969ff;
  --itb-m627-navy:#071c3d;
  --itb-m627-bg:#eef5fc;
  --itb-m627-line:#d7e5f6;
  --itb-m627-muted:#607697;
  --itb-m627-shadow:0 12px 28px rgba(15,45,85,.075);
}

@media(max-width:900px){
  html{scroll-padding-top:calc(var(--itb-m627-topbar) + 10px)!important}
  body.unified-support-layout{
    padding-top:calc(var(--itb-m627-topbar) + env(safe-area-inset-top,0px))!important;
    padding-bottom:env(safe-area-inset-bottom,0px)!important;
    background:var(--itb-m627-bg)!important;
  }

  /* Refined mobile header */
  body.unified-support-layout .itb-mobile-topbar-v562{
    height:calc(var(--itb-m627-topbar) + env(safe-area-inset-top,0px))!important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 11px 8px!important;
    gap:9px!important;
    border-bottom:1px solid rgba(183,205,232,.9)!important;
    box-shadow:0 8px 22px rgba(15,45,85,.085)!important;
  }
  body.unified-support-layout .itb-mobile-sidebar-open-v542,
  body.unified-support-layout .itb-mobile-topbar-new-v562{
    flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;
    border-radius:15px!important;
  }
  body.unified-support-layout .itb-mobile-sidebar-open-v542 span{font-size:0!important}
  body.unified-support-layout .itb-mobile-sidebar-open-v542 span::before{
    content:'☰';font-size:21px!important;line-height:1!important;color:#075edc!important;font-weight:900!important;
  }
  body.unified-support-layout .itb-mobile-topbar-logo-v562{
    flex:1 1 auto!important;min-width:0!important;height:50px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:1px!important;text-decoration:none!important;
  }
  body.unified-support-layout .itb-mobile-topbar-logo-v562 img{height:25px!important;max-width:145px!important}
  body.unified-support-layout .itb-mobile-page-title-v627{
    display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
    color:#365270!important;font-size:9px!important;line-height:1.1!important;font-weight:850!important;letter-spacing:.045em!important;text-transform:uppercase!important;
  }
  body.unified-support-layout .itb-mobile-topbar-new-v562 span{font-size:0!important}
  body.unified-support-layout .itb-mobile-topbar-new-v562 span::before{content:'＋';font-size:24px!important;line-height:1!important}

  /* Drawer polish */
  body.unified-support-layout .client-portal-sidebar{
    width:min(344px,92vw)!important;max-width:min(344px,92vw)!important;
    padding:14px max(13px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(13px,env(safe-area-inset-left,0px))!important;
    box-shadow:18px 0 55px rgba(6,30,67,.20)!important;
  }
  body.unified-support-layout .client-sidebar-sitebrand{min-height:64px!important;margin-right:48px!important}
  body.unified-support-layout .client-sidebar-dates{gap:7px!important;margin:6px 0 10px!important}
  body.unified-support-layout .client-sidebar-dates>*{padding:8px 9px!important}
  body.unified-support-layout .client-side-nav{gap:5px!important}
  body.unified-support-layout .client-side-nav>a,
  body.unified-support-layout .client-side-nav details>summary,
  body.unified-support-layout .client-side-nav details a{
    min-height:45px!important;padding:7px 9px!important;font-size:13px!important;font-weight:650!important;
  }
  body.unified-support-layout .client-side-nav>a.active,
  body.unified-support-layout .client-side-nav details>summary.active{
    background:linear-gradient(135deg,#e9f3ff,#dcecff)!important;
    box-shadow:inset 3px 0 0 var(--itb-m627-blue)!important;
  }
  body.unified-support-layout .client-logout-link{position:sticky!important;bottom:0!important;background:#fff7f7!important;z-index:2!important}

  /* Universal rhythm */
  body.unified-support-layout .client-portal-main,
  body.unified-support-layout .itb-v555-main,
  body.unified-support-layout .admin-app-main{padding-bottom:28px!important}
  body.unified-support-layout :is(.client-card,.itb-card-v338,.itb-v555-card,.itb-hard-card,.invoice791-card,.panel,.svc618-calendar-card,.svc618-side){
    box-shadow:var(--itb-m627-shadow)!important;border-color:var(--itb-m627-line)!important;
  }
  body.unified-support-layout :is(.client-card-head,.itb-v555-card-head,.invoice791-card-head){gap:8px!important}
  body.unified-support-layout :is(h1,h2,h3){overflow-wrap:anywhere!important}
  body.unified-support-layout label{font-weight:760!important}
  body.unified-support-layout input,body.unified-support-layout select,body.unified-support-layout textarea{width:100%!important}

  /* Generic collapsible filters */
  body.unified-support-layout .itb-mobile-filter-toggle-v627{
    display:flex!important;width:100%!important;min-height:46px!important;align-items:center!important;justify-content:space-between!important;
    gap:10px!important;margin:0 0 8px!important;padding:0 13px!important;border:1px solid #cfe0f4!important;border-radius:15px!important;
    background:#fff!important;color:#0b315f!important;font-size:13px!important;font-weight:850!important;box-shadow:0 7px 18px rgba(15,45,85,.05)!important;
  }
  body.unified-support-layout .itb-mobile-filter-toggle-v627 span:last-child{font-size:18px!important;transition:transform .2s ease!important}
  body.unified-support-layout .itb-mobile-filter-toggle-v627[aria-expanded="true"] span:last-child{transform:rotate(180deg)!important}
  body.unified-support-layout .itb-mobile-filter-panel-v627{transition:opacity .18s ease,transform .18s ease!important;transform-origin:top!important}
  body.unified-support-layout .itb-mobile-filter-panel-v627.is-collapsed-v627{display:none!important}

  /* Dashboard refinement */
  body.unified-support-layout .itb-index-v338 .itb-kpi-v338{flex-basis:min(72vw,235px)!important;min-height:88px!important}
  body.unified-support-layout .itb-index-v338 .itb-ticket-tabs-v537{position:sticky!important;top:calc(var(--itb-m627-topbar) + 6px)!important;z-index:30!important;background:#fff!important;border-radius:14px!important;padding:4px!important;box-shadow:0 8px 20px rgba(15,45,85,.08)!important}
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407{border:1px solid var(--itb-m627-line)!important}
  body.unified-support-layout .itb-index-v338 .itb-ticket-card-v407 :is(.meta,.sub,.small){font-size:11px!important;line-height:1.42!important}
  body.unified-support-layout .itb-index-v338 .itb-side-v338>*{margin:0!important}

  /* New ticket: app-like form */
  body.unified-support-layout .itb-new-ticket-main-v567{padding-bottom:18px!important}
  body.unified-support-layout .form-panel{padding:14px!important}
  body.unified-support-layout .form-head{padding-bottom:11px!important;margin-bottom:13px!important}
  body.unified-support-layout .form-head h1{font-size:24px!important;line-height:1.08!important}
  body.unified-support-layout .itb-ticket-type-grid-v525{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.unified-support-layout .itb-ticket-type-card-v525{min-height:104px!important;padding:11px!important;align-items:flex-start!important}
  body.unified-support-layout .itb-ticket-type-card-v525 .ico{width:36px!important;height:36px!important;min-width:36px!important}
  body.unified-support-layout .itb-priority-row-v525{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}
  body.unified-support-layout .admin-ticket-owner-grid-v521{grid-template-columns:1fr!important}
  body.unified-support-layout .itb-attachments-field-v652{padding:12px!important;border-radius:15px!important}
  body.unified-support-layout.itb-new-ticket-v600 .actions{
    position:sticky!important;bottom:calc(7px + env(safe-area-inset-bottom,0px))!important;z-index:35!important;
    display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:8px!important;
    margin:14px -5px -5px!important;padding:8px!important;border:1px solid #d7e5f6!important;border-radius:16px!important;
    background:rgba(255,255,255,.96)!important;box-shadow:0 12px 30px rgba(15,45,85,.14)!important;backdrop-filter:blur(12px)!important;
  }
  body.unified-support-layout.itb-new-ticket-v600 .actions>*{width:100%!important;margin:0!important}
  body.unified-support-layout .itb-mobile-help-toggle-v627{
    display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;min-height:48px!important;
    margin:0!important;padding:0 14px!important;border:1px solid #cfe0f4!important;border-radius:16px!important;background:#fff!important;color:#071c3d!important;font-weight:900!important;
  }
  body.unified-support-layout .help-panel.itb-mobile-collapsed-v627{display:none!important}
  body.unified-support-layout .help-panel{padding:14px!important}
  body.unified-support-layout .help-panel h2{font-size:22px!important}

  /* Service days – denser but readable */
  body.unified-support-layout .svc618-toolbar{padding:14px!important}
  body.unified-support-layout .svc618-toolbar h2{font-size:24px!important}
  body.unified-support-layout .svc618-kpis{gap:7px!important}
  body.unified-support-layout .svc618-kpis article{min-height:88px!important;padding:11px!important}
  body.unified-support-layout .svc618-card-head{padding:13px!important}
  body.unified-support-layout .svc618-calendar-scroll{padding:8px!important}
  body.unified-support-layout .svc618-calendar{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  body.unified-support-layout .svc618-day{min-height:91px!important;padding:8px!important}
  body.unified-support-layout .svc618-event{padding:7px!important;font-size:10px!important}
  body.unified-support-layout .svc618-side{margin-top:2px!important}

  /* Forms mobile master/detail */
  body.unified-support-layout .itb-forms-filter-v547{border-radius:17px!important}
  body.unified-support-layout .itb-forms-list-v520{scroll-margin-top:calc(var(--itb-m627-topbar) + 12px)!important}
  body.unified-support-layout .itb-forms-list-head-v547{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important}
  body.unified-support-layout .itb-form-row-shell-v590{gap:6px!important}
  body.unified-support-layout .itb-form-row-v520{padding:11px!important;border-radius:15px!important}
  body.unified-support-layout .itb-form-detail-head-v520{display:grid!important;gap:9px!important}
  body.unified-support-layout .itb-form-contact-actions-v547{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.unified-support-layout .itb-mobile-back-list-v627{
    display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;margin:0 0 9px!important;
    border:1px solid #cfe0f4!important;border-radius:14px!important;background:#eef6ff!important;color:#075edc!important;text-decoration:none!important;font-weight:850!important;
  }
  body.unified-support-layout .itb-form-meta-v520{gap:8px!important}

  /* Activity / client messages */
  body.unified-support-layout .activity-log-item{padding:12px!important;border-radius:15px!important}
  body.unified-support-layout .activity-line-head{display:grid!important;gap:4px!important}
  body.unified-support-layout .activity-meta-row{display:flex!important;flex-wrap:wrap!important;gap:5px 8px!important}
  body.unified-support-layout .contact-ticket-item-v610{padding:12px!important;border-radius:15px!important}
  body.unified-support-layout .contact-message-link{padding:11px!important;border-radius:14px!important}

  /* Invoice / hours card tables */
  body.itb-admin-page-invoice_dashboard .invoice791-chart-card{scroll-snap-type:x proximity!important}
  body.itb-admin-page-invoice_dashboard .invoice791-chart{scroll-snap-align:start!important}
  body.unified-support-layout table.itb-mobile-stack-table-v626 tr{border-radius:17px!important;box-shadow:var(--itb-m627-shadow)!important}
  body.unified-support-layout table.itb-mobile-stack-table-v626 td{font-size:12px!important;line-height:1.4!important}
  body.unified-support-layout table.itb-mobile-stack-table-v626 td::before{font-weight:800!important}

  /* No accidental clipping */
  body.unified-support-layout :is(.itb-forms-grid-v520,.contact-admin-grid,.svc618-layout,.invoice791-overview,.invoice791-mainrow,.itb-v555-grid){min-width:0!important}
  body.unified-support-layout :is(.itb-form-detail-v520,.contact-admin-detail,.svc618-side,.invoice791-card,.itb-v555-card){overflow:hidden!important}
}

@media(max-width:620px){
  body.unified-support-layout .itb-ticket-type-grid-v525,
  body.unified-support-layout .itb-priority-row-v525{grid-template-columns:1fr!important}
  body.unified-support-layout .svc618-calendar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.unified-support-layout .itb-form-contact-actions-v547{grid-template-columns:1fr!important}
  body.unified-support-layout.itb-new-ticket-v600 .actions{grid-template-columns:1fr!important}
}

@media(max-width:420px){
  :root{--itb-m627-topbar:64px}
  body.unified-support-layout .itb-mobile-topbar-v562{padding-left:8px!important;padding-right:8px!important}
  body.unified-support-layout .itb-mobile-sidebar-open-v542,
  body.unified-support-layout .itb-mobile-topbar-new-v562{width:41px!important;height:41px!important;min-width:41px!important}
  body.unified-support-layout .itb-mobile-topbar-logo-v562 img{height:23px!important;max-width:120px!important}
  body.unified-support-layout .itb-mobile-page-title-v627{font-size:8px!important;max-width:150px!important}
  body.unified-support-layout .client-portal-sidebar{width:94vw!important;max-width:94vw!important}
  body.unified-support-layout .svc618-kpis{grid-template-columns:1fr 1fr!important}
  body.unified-support-layout .svc618-kpis article{min-height:82px!important}
  body.unified-support-layout .svc618-calendar{grid-template-columns:1fr 1fr!important}
  body.unified-support-layout .svc618-day{min-height:84px!important}
  body.unified-support-layout .itb-index-v338 .itb-kpi-v338,
  body.itb-admin-page-invoice_dashboard .invoice791-kpi{flex-basis:82vw!important}
}
