/* Společná stabilní hlavička všech administračních modulů. */
.shell{width:calc(100% - 36px)!important;max-width:1480px!important;margin:24px auto 32px!important;padding:0!important}
.top{
  display:grid!important;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  grid-template-areas:
    "title admin"
  !important;
  column-gap:24px!important;
  align-items:start!important;
  min-height:104px!important;
}
.top>div:first-child{
  grid-area:title!important;
  min-width:0!important;
  min-height:68px!important;
  padding-top:1px!important;
}
.top h1{margin:0 0 7px!important;font-size:28px!important;line-height:1.2!important;white-space:nowrap!important;color:#17243c!important}
.top p{margin:0!important;line-height:1.45!important;white-space:normal!important;color:#68758b!important;font-size:14px!important}
.admin-nav-stack{
  grid-area:admin!important;
  display:grid!important;
  grid-template-rows:20px auto!important;
  row-gap:7px!important;
  width:100%!important;
  min-width:0!important;
  align-self:start!important;
}
.admin-session-timer{
  display:block!important;
  height:20px!important;
  line-height:20px!important;
  padding:0!important;
  margin:0!important;
  text-align:right!important;
  font-size:11px!important;
  color:#68758b!important;
  white-space:nowrap!important;
}
.admin-session-timer strong{color:#405fd4!important;font-variant-numeric:tabular-nums!important}
.nav{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-content:flex-start!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:5px!important;
  min-height:24px!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
}
.nav a{
  display:inline-block!important;
  padding:0!important;
  margin:0!important;
  line-height:20px!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:800!important;
  color:#405fd4!important;
  text-decoration:underline!important;
  background:none!important;
  border:0!important
}
.nav a:visited{color:#405fd4!important}
.nav a:hover{color:#2f49b8!important}

@media(max-width:1280px){
  .top{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "title"
      "admin"
    !important;
    row-gap:10px!important;
    min-height:0!important;
  }
  .top>div:first-child{min-height:0!important}
  .admin-nav-stack{
    grid-template-rows:20px auto!important;
    row-gap:5px!important;
  }
  .admin-session-timer{text-align:left!important}
  .nav{
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    column-gap:13px!important;
    row-gap:8px!important;
    max-width:100%!important;
    min-height:0!important;
  }
}
@media(max-width:620px){
  .shell{width:calc(100% - 20px)!important;margin:18px auto!important}
  .top h1{font-size:24px!important;white-space:normal!important}
  .top p{white-space:normal!important}
  .admin-session-timer{font-size:10px!important}
  .nav{width:100%!important}
}
.plant-overview{margin:16px 0 18px}
.plant-overview h2{margin:0 0 5px;font-size:18px}
.plant-overview>p{margin:0 0 12px;color:#68758b}
.plant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plant-state{min-height:92px;padding:17px 19px;border-radius:16px;color:#fff;box-shadow:0 10px 24px rgba(35,55,90,.10)}
.plant-state.producing{background:linear-gradient(135deg,#15855f,#20ad79)}
.plant-state.idle{background:linear-gradient(135deg,#c77913,#e9a437)}
.plant-state.error{background:linear-gradient(135deg,#a93642,#d6535f)}
.plant-state-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.plant-state-head strong{font-size:19px}.plant-state-head span{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.18);font-size:11px;font-weight:900}
.plant-state p{margin:12px 0 0!important;color:rgba(255,255,255,.9);font-size:12px;line-height:1.45}
@media(max-width:620px){.plant-grid{grid-template-columns:1fr}}

/* Široký režim administrace: tabulky využívají celý dostupný desktopový prostor. */
.card,.panel,.scroll{max-width:none!important}
.scroll{width:100%!important}
.scroll table{width:100%!important}
@media(min-width:1400px){
  .card{padding-left:18px!important;padding-right:18px!important}
}

/* Vlastníci: tabulka má vlastní pevné šířky a nesmí se roztahovat na šířku karty. */
#roi .scroll table{width:max-content!important;min-width:0!important;max-width:none!important;table-layout:fixed!important}

/* Vlastníci: rámeček náleží skutečné tabulce, ne full-width scroll viewportu. */
#roi .scroll{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
#roi .scroll table{border:1px solid #dbe3ef!important;border-radius:12px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;background:#fff!important}
#roi .scroll table tbody tr:last-child td{border-bottom:0!important}

/* Vlastníci: scrollbar zůstává funkčně dostupný, ale vizuálně je skrytý. */
#roi .scroll{scrollbar-width:none!important;-ms-overflow-style:none!important}
#roi .scroll::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
