/* TheaCRM v2.8.469 – Desktop app shell
   Cíl: na desktopu držet ovládací prvky na stabilním místě a měnit/scrollovat jen středový obsah.
   Mobil zůstává záměrně beze změny – řeší se samostatnou větví. */

@media (min-width: 992px) {
  html,
  body.thea-app-shell {
    height: 100%;
    min-height: 100%;
    overflow: hidden;
  }

  body.thea-app-shell {
    background: #f6f8f7;
  }

  /* Stacionární horní lišta – zůstává přesně v horní hraně viewportu. */
  body.thea-app-shell .header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: var(--navbar-height, 60px) !important;
    z-index: 1100;
  }

  /* Stacionární desktopové menu. Na desktopu už nezačíná na 0 s paddingem,
     ale přímo pod horní lištou. Tím se chová jako pevný boční panel aplikace. */
  body.thea-app-shell .sidebar {
    position: fixed !important;
    top: var(--navbar-height, 60px) !important;
    left: 0 !important;
    bottom: 0 !important;
    width: var(--sidebar-w, 250px);
    height: auto !important;
    padding-top: 0 !important;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar {
    width: var(--sidebar-w-collapsed, 64px);
  }

  /* Prostředek aplikace: jediná hlavní scrollovací oblast na desktopu.
     Navigace/formuláře/routy se mohou dál načítat klasicky přes Flask/Jinja,
     ale vizuálně zůstane rám aplikace stabilní. */
  body.thea-app-shell .content,
  body.thea-app-shell main.content {
    position: fixed !important;
    top: var(--navbar-height, 60px) !important;
    left: var(--sidebar-w, 250px) !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 1rem !important;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
  }

  html.sidebar-collapsed body.thea-app-shell .content,
  html.sidebar-collapsed body.thea-app-shell main.content {
    left: var(--sidebar-w-collapsed, 64px) !important;
  }

  /* Spodní mobilní navigace se na desktopu nemá účastnit layoutu ani výpočtů. */
  body.thea-app-shell .thea-mobile-bottom-nav,
  body.thea-app-shell .thea-mobile-quick-add-backdrop {
    display: none !important;
  }

  /* Overlay sidebaru je desktopově nepotřebný; necháme ho jen pro mobilní offcanvas. */
  body.thea-app-shell .sidebar-overlay {
    display: none !important;
  }

  /* Vnitřní kontejnery nesmí znovu rozšiřovat prostřední plochu přes viewport. */
  body.thea-app-shell .content > .container,
  body.thea-app-shell .content > .container-fluid,
  body.thea-app-shell .content > .responsive-container,
  body.thea-app-shell .content > .thea-page,
  body.thea-app-shell main.content > .container,
  body.thea-app-shell main.content > .container-fluid,
  body.thea-app-shell main.content > .responsive-container,
  body.thea-app-shell main.content > .thea-page {
    max-width: 100% !important;
  }
}

/* =========================================================
   TheaCRM v2.8.475 – desktop collapsed sidebar hardening
   Cíl: v kolapsovaném desktopovém menu zobrazovat opravdu jen ikonky.
   Důvod: některé položky menu nebo starší/addon šablony mohou mít text mimo .nav-label,
   takže původní schování .nav-label nestačí a text leze z úzké lišty do obsahu.
   ========================================================= */
@media (min-width: 992px) {
  html.sidebar-collapsed body.thea-app-shell .sidebar {
    width: var(--sidebar-w-collapsed, 64px) !important;
    min-width: var(--sidebar-w-collapsed, 64px) !important;
    max-width: var(--sidebar-w-collapsed, 64px) !important;
    overflow-x: hidden !important;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar a,
  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-link,
  html.sidebar-collapsed body.thea-app-shell .sidebar button {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: 0 !important; /* schová i přímé textové nody mimo .nav-label */
    line-height: 1 !important;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar a > i,
  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-link > i,
  html.sidebar-collapsed body.thea-app-shell .sidebar button > i,
  html.sidebar-collapsed body.thea-app-shell .sidebar a > svg,
  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-link > svg,
  html.sidebar-collapsed body.thea-app-shell .sidebar button > svg {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    width: 1.35rem !important;
    min-width: 1.35rem !important;
    height: 1.35rem !important;
    font-size: 1.22rem !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-label,
  html.sidebar-collapsed body.thea-app-shell .sidebar .menu-label,
  html.sidebar-collapsed body.thea-app-shell .sidebar .sidebar-label,
  html.sidebar-collapsed body.thea-app-shell .sidebar .item-label,
  html.sidebar-collapsed body.thea-app-shell .sidebar .label,
  html.sidebar-collapsed body.thea-app-shell .sidebar a > span:not(.badge),
  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-link > span:not(.badge),
  html.sidebar-collapsed body.thea-app-shell .sidebar small,
  html.sidebar-collapsed body.thea-app-shell .sidebar .text-uppercase,
  html.sidebar-collapsed body.thea-app-shell .sidebar .text-muted,
  html.sidebar-collapsed body.thea-app-shell .sidebar .collapse-icon,
  html.sidebar-collapsed body.thea-app-shell .sidebar #emailCollapse,
  html.sidebar-collapsed body.thea-app-shell .sidebar hr {
    display: none !important;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar .badge,
  html.sidebar-collapsed body.thea-app-shell .sidebar a > .badge,
  html.sidebar-collapsed body.thea-app-shell .sidebar .nav-link > .badge {
    display: inline-flex !important;
    position: absolute !important;
    top: 5px !important;
    right: 7px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }

  html.sidebar-collapsed body.thea-app-shell .sidebar .dropdown-menu,
  html.sidebar-collapsed body.thea-app-shell .sidebar .collapse.show {
    display: none !important;
  }
}

