/* global.css */
/* =========================================================
   BLOK 1: AKTIVNI CSS (CILOVY STAV)
   ---------------------------------------------------------
   Sem patri pravidla, ktera chceme ponechat jako cilovy stav.
   ========================================================= */

/* =========================
   ZAKLADNI NASTAVENI
   ========================= */

:root {
  /* globalni barvy projektu */
  --clr_bila: #fff;
  --clr_panel: #f8fbff;

  --clr_ruzova_5: #fff7f7;
  --clr_ruzova_4: #fef2f2;
  --clr_ruzova_2: #fee2e2;
  --clr_ruzova_1: #fecaca;

  --clr_cervena_2: #ef4444;
  --clr_cervena_3: #dc2626;
  --clr_cervena: #b91c1c;

  --clr_zluta: #facc15;
  --clr_oranzova: #f59e0b;

  --clr_zelena_3: #f0fdf4;
  --clr_zelena_2: #22c55e;
  --clr_zelena_4: #16a34a;
  --clr_zelena: #166534;

  --clr_modra_7: #edf4ff;
  --clr_modra_1: #e0e7ff;
  --clr_modra_2: #dbeafe;
  --clr_modra_6: #4f8df6;
  --clr_modra_4: #3b82f6;
  --clr_indigo_1: #6366f1;
  --clr_modra_5: #2563eb;
  --clr_modra_3: #1d4ed8;
  --clr_modra_8: #0f3f91;

  --clr_seda_1: #f6f8fb;
  --clr_seda_2: #d9e2ec;
  --clr_seda_3: #52606d;
  --clr_seda_4: #334155;
  --clr_cerna: #1f2933;
  --clr_tmava_1: #0f172a;

  /* globalni pruhledne barvy projektu */
  --clr_pruhledna_bila_92: rgba(255,255,255,.92);
  --clr_pruhledna_panel_96: rgba(241,245,249,.96);
  --clr_pruhledna_panel_98: rgba(248,250,252,.98);

  --clr_pruhledna_cerna_10: rgba(0,0,0,.10);
  --clr_pruhledna_cerna_18: rgba(0,0,0,.18);
  --clr_pruhledna_cerna_25: rgba(0,0,0,.25);
  --clr_pruhledna_cerna_3: rgba(0,0,0,.3);
  --clr_pruhledna_cerna_85: rgba(0,0,0,.85);

  --clr_pruhledna_tmava_04: rgba(15,23,42,.04);
  --clr_pruhledna_tmava_14: rgba(15,23,42,.14);
  --clr_pruhledna_tmava_62: rgba(15,23,42,.62);
  --clr_pruhledna_tmava_78: rgba(15,23,42,.78);

  --clr_pruhledna_seda_18: rgba(148,163,184,.18);
  --clr_pruhledna_seda_30: rgba(148,163,184,.30);

  --clr_pruhledna_modra_08: rgba(59,130,246,.08);
  --clr_pruhledna_modra_15: rgba(59,130,246,.15);
  --clr_pruhledna_modra_18: rgba(219,234,254,0.18);
  --clr_pruhledna_modra_35: rgba(59,130,246,.35);
  --clr_pruhledna_modra_svetla_28: rgba(79,141,246,.28);
  --clr_pruhledna_modra_tmava_18: rgba(37,99,235,.18);
  --clr_pruhledna_modra_tmava_28: rgba(29,78,216,.28);

  --clr_pruhledna_cervena_28: rgba(185,28,28,.28);

  --clr_stin_1: rgba(0,0,0,.04);
  --clr_stin_2: rgba(148,163,184,.10);
  --clr_stin_5: rgba(15,23,42,0.22);

  /* tokeny velikosti textu */
  --fs_11: 11px;
  --fs_12: 12px;
  --fs_13: 13px;
  --fs_14: 14px;
  --fs_15: 15px;
  --fs_16: 16px;
  --fs_18: 18px;
}

/* =========================
   UTILITY TRIDY
   ========================= */

/* ----- Barva textu ----- */
.txt_cervena{ color:var(--clr_cervena); }
.txt_zelena{ color:var(--clr_zelena); }
.txt_seda{ color:var(--clr_seda_4); }

/* ----- Zarovnani textu ----- */
.txt_l{ text-align:left; }
.txt_c{ text-align:center; }
.txt_r{ text-align:right; }

/* ----- Vaha pismena    */
.text_tucny{ font-weight:700; }



/* ----- Velikost textu ----- */
.text_11{ font-size:var(--fs_11); }
.text_12{ font-size:var(--fs_12); }
.text_13{ font-size:var(--fs_13); }
.text_14{ font-size:var(--fs_14); }
.text_15{ font-size:var(--fs_15); }
.text_16{ font-size:var(--fs_16); }
.text_18{ font-size:var(--fs_18); }

/* TODO (utility cleanup): zbyvajici deklarace font-size v aktivnim CSS
   jsou docasne ponechane kvuli bezpecnemu postupnemu prevodu podle problem2.txt. */
.sirka_min_160{ min-width:160px; }

/* ----- Vyska radku ----- */
.radek_1_05{ line-height:1.05; }
.radek_1_1{ line-height:1.1; }
.radek_1_15{ line-height:1.15; }
.radek_1_35{ line-height:1.35; }
.radek_1_4{ line-height:1.4; }
.radek_24px{ line-height:24px; }

.vyska_24{ height:24px; }
.vyska_28{ height:28px; }
.vyska_32{ height:32px; }

.zaobleni_6{ border-radius:6px; }
.zaobleni_8{ border-radius:8px; }
.zaobleni_10{ border-radius:10px; }
.zaobleni_12{ border-radius:12px; }
.zaobleni_14{ border-radius:14px; }

.bg_modra{ background:var(--clr_modra_2); }
.bg_bila{ background:var(--clr_bila); }
.bg_seda{ background:var(--clr_seda_1); }
.ram_normal{ border:1px solid var(--clr_seda_2); }
.ram_hlavicka{ border:1px solid var(--clr_pruhledna_tmava_14); }
.ram_sedy{ border:1px solid var(--clr_seda_2); }
.ram_btn{ border:1px solid var(--clr_pruhledna_tmava_14); }
.ram_ovladace{ border:1px solid var(--clr_pruhledna_cerna_18); }

/* ----- Display ----- */
.displ_flex{ display:flex; }
.displ_grid{ display:grid; }
.displ_block{ display:block; }
.displ_inline_flex{ display:inline-flex; }
.flex_sloupec{ flex-direction:column; }
.sirka100{ width:100%; }
.cursor_ruka{ cursor:pointer; }
.jc_stred{ justify-content:center; }
.jc_konec{ justify-content:flex-end; }
.jc_mezi{ justify-content:space-between; }

/* ----- Rozestupy ----- */
.odstup_vnejsi_0{ margin:0; }
.odstup_vnitrni_0{ padding:0; }
.odstup_vnitrni_10{ padding:10px; }
.odstup_vnitrni_14{ padding:14px; }
.gap_4{ gap:4px; }
.gap_2{ gap:2px; }
.gap_6{ gap:6px; }
.gap_8{ gap:8px; }
.gap_10{ gap:10px; }
.gap_14{ gap:14px; }

*{ box-sizing:border-box; }

html{
  height:100%;
  scrollbar-gutter:stable;
  overflow-x:hidden;
}

body{
  height:100%;
  overflow-x:hidden;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--clr_seda_1);
  color:var(--clr_cerna);
  margin:0;
  display:flex;
  flex-direction:column;
}

/* =========================
   HLAVNI LAYOUT (header / main / footer)
   ========================= */

main{
  flex:1;
  overflow:hidden;   /* scroll resi .dash_wrap */
}

/* =========================
   KONTEJNER STRANKY
   ========================= */

.container{
  padding:0px 10px 0px 10px;  flex-direction:column;
  min-height:100vh;      /* vyska cele stranky */
  flex:1;               /* kontejner vyplni vysku mezi body okraji */
  min-height:0;         /* nutne pro spravne fungovani flex+scroll */
  min-width:0;
  overflow:hidden;      /* zabrani rozjizdeni layoutu mimo kontejner */
}

/* =========================
   IKONY - GLOBALNI TLACITKA
   ========================= */

.icon-btn{
  width:40px;
  height:40px;  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:4px;
  background:var(--clr_seda_1);
  color:var(--clr_cerna);
}

.icon-btn:hover{ background:var(--clr_panel); }

.icon-btn.disabled{
  opacity:.5;
  pointer-events:none;
}

/* =========================
   TOOLTIP - GLOBALNI
   ========================= */

.tooltip_box{
  position:relative;  align-items:center;
}

.tooltip_text::after{
  content:attr(data-tip);
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translateY(-35%);
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  font:11px/1.05 Arial, Helvetica, sans-serif;
  color:var(--clr_bila);
  background:var(--clr_pruhledna_cerna_85);
  z-index:9999;
  padding:4px 6px;
}

.tooltip_text::before{
  content:"";
  position:absolute;
  right:calc(100% + 4px);
  top:50%;
  transform:translateY(-35%);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  border:5px solid transparent;
  border-left-color:var(--clr_pruhledna_cerna_85);
  z-index:9999;
}

.tooltip_text:hover::after,
.tooltip_text:hover::before,
.tooltip_text:focus-visible::after,
.tooltip_text:focus-visible::before{
  opacity:1;
  visibility:visible;
}

.tooltip_table_content{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  z-index:9999;
  margin-top:6px;
  padding:8px;
  background:var(--clr_bila);
  color:var(--clr_cerna);
  border:2px solid var(--clr_seda_3);
  border-radius:8px;
  min-width:300px;
  box-shadow:0 12px 28px var(--clr_stin_5);
}

.tooltip_box.tooltip_table:hover .tooltip_table_content,
.tooltip_box.tooltip_table:focus-within .tooltip_table_content{
  display:block;
}

.tooltip_table_data{
  width:100%;
  margin:0;
  border-collapse:collapse;
  font-size:11px;
  line-height:1.05;
  color:var(--clr_cerna);
}

.tooltip_table_data th,
.tooltip_table_data td{
  padding:3px 6px;
  border:1px solid var(--clr_seda_2);
  background:var(--clr_bila);
  color:var(--clr_cerna);
  font-weight:400;
}

.tooltip_table_data th{
  background:var(--clr_seda_1);
  font-weight:700;
}

.cb_tooltip{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.cb_tooltip_icon{
  width:18px;
  height:18px;
  border:1px solid var(--clr_seda_2);
  border-radius:50%;
  background:var(--clr_bila);
  color:var(--clr_seda_4);
  font-size:12px;
  line-height:16px;
  font-weight:700;
  text-align:center;
  cursor:help;
  user-select:none;
}

.cb_tooltip_panel{
  position:fixed;
  left:0;
  top:0;
  z-index:9999;
  display:none;
  min-width:200px;
}

.cb_tooltip_panel.is-visible{
  display:block;
}

.cb_tooltip_card{
  padding:8px;
  border:1px solid var(--clr_seda_4);
  border-radius:8px;
  background:var(--clr_modra_7);
  color:var(--clr_cerna);
  box-shadow:0 14px 34px var(--clr_pruhledna_cerna_25);
}

.cb_tooltip_title{
  margin:0 0 6px;
  font-size:var(--fs_12);
  line-height:1.2;
  font-weight:700;
  color:var(--clr_seda_4);
}

.cb_tooltip_table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--fs_11);
  line-height:1.15;
}

.cb_tooltip_table th,
.cb_tooltip_table td{
  padding:3px 6px;
  border-bottom:1px solid var(--clr_seda_2);
  white-space:nowrap;
  text-align:left;
  font-weight:400;
}

.cb_tooltip_table th{
  background:var(--clr_modra_2);
  font-weight:700;
}

.cb_tooltip_table tr:last-child td{
  border-bottom:0;
}

.cb_tooltip_num{
  text-align:right !important;
  font-variant-numeric:tabular-nums;
}

.cb_chart_tooltip{
  pointer-events:none;
}

/* =========================
   ENTER + X - GLOBALNI
   ========================= */

.icon-x{
  width:60px;
  min-width:60px;
  line-height:32px;  align-items:center;
  justify-content:center;
}

/* =========================
   HLAVICKA
   ========================= */

/*
 * HLAVICKA (dashboard)
 * Cil:
 * - stabilni desktop layout bez skakani bloku
 * - bez horizontalnich posuvniku uvnitr hlavicky
 * - citelne KPI i pri uzsim desktop okne
 * - vizualne cistsi oddeleni hlavicky od dashboardu
 */


/* ===== Obal ===== */
.head_box{
  padding:4px 12px 6px 12px;
  border-bottom:0;
}

.head_grid{
grid-template-columns:70px 335px 100px minmax(0,1fr) 300px;
  grid-template-rows:auto;
  align-items:stretch;
}

/* ===== Karty (spolecny vzhled) ===== */
.head_interval,
.head_gn_placeholder,
.head_kpi,
.head_user{
  background:var(--clr_bila);
}

/* ===== Logo ===== */
.head_logo_wrap{
  grid-column:1;
  grid-row:1;
  align-items:flex-start;
  justify-content:flex-start;
  gap:2px;
  min-height:100%;
  width:100%;
}

.head_logo{
  width:70px;
  height:64px;
  aspect-ratio:1 / 1;
align-items:center;
  overflow:hidden;
  text-decoration:none;
}

.head_logo_img{
  height:100%;
object-fit:contain;
}

.head_logo_meta{
  align-items:center;
  gap:1px;
  width:100%;
  text-align:center;
}

.head_logo_date,
.head_logo_time{letter-spacing:.1px;
  white-space:nowrap;
  text-decoration:none;
}

/* ===== Rozmisteni ===== */
.head_controls{
  grid-column:2;
  grid-row:1;
  min-width:0;
  height:100%;
  width:100%;
  align-self:stretch;
}

.head_gn_placeholder{
  grid-column:3;
  grid-row:1;
  width:100%;
  height:100%;
  align-self:stretch;
}

.head_controls_bottom{
  align-items:start;
  min-width:0;
  margin-top:-5px;
  padding-left:0;
}

.head_kpi{
  grid-column:4;
  grid-row:1;
  height:100%;
  width:100%;
  align-self:stretch;
}

.head_user{
  grid-column:5;
  grid-row:1;
  width:100%;
  height:100%;
  align-self:stretch;
}

/* ===== Obdobi ===== */
.head_interval{
  position:relative;
  padding:1px 6px 3px 6px;
  min-width:0;
  overflow:hidden;
  width:100%;
  height:64px;
}

.head_interval_meter{
  position:absolute;
  left:6px;
  right:6px;
  bottom:2px;
  height:2px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.head_interval_meter.is-active{
  opacity:1;
}

.head_interval_meter_bar{
  display:block;
  width:100%;
  height:100%;
  background:var(--clr_cervena_2);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

.head_int_row{grid-template-columns:auto auto;
  align-items:center;
  justify-content:space-between;
  column-gap:6px;
  min-width:0;
}

.head_date{align-items:center;
  min-width:0;
  color:var(--clr_cerna);
}

.head_date span{ min-width:18px; }

.head_date.is-manual span{
  color:var(--clr_modra_6);
  font-weight:700;
}

.head_date input{
  height:20px;
  padding:0 7px;
  width:118px;
}

.head_date input.is-manual{
  background:var(--clr_modra_1);
  border-color:var(--clr_modra_6);
  box-shadow:inset 0 0 0 1px rgba(79,141,246,.18);
}

.head_quick{width:auto;
  min-width:fit-content;
}

.head_pill{
  height:20px;
  line-height:18px;
  padding:0 6px;
  white-space:nowrap;
  min-width:56px;
}

.head_pill:hover{ background:var(--clr_seda_1); }

.head_pill.is-on{
  background:var(--clr_modra_6);
  border-color:var(--clr_modra_6);
  color:var(--clr_bila);
  font-weight:700;
}

/* ===== KPI ===== */
.head_kpi{
  min-width:0;
  padding:5px 6px;  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
}

.head_kpi_item{
  min-width:0;
  border:1px solid var(--clr_pruhledna_modra_svetla_28);
  background:var(--clr_modra_7);
  padding:4px 6px;
flex-direction:column;
}

.head_kpi_k{
  color:var(--clr_seda_3);
}

.head_kpi_v{
  margin-top:2px;
  font-weight:800;
  color:var(--clr_tmava_1);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.head_delta{font-weight:700;
  margin-top:1px;
}

.head_delta.is-pos{ color:var(--clr_zelena); }
.head_delta.is-neg{ color:var(--clr_cervena); }

.head_led{
  width:9px;
  height:9px;
  border-radius:50%;
  display:inline-block;
  border:1px solid var(--clr_pruhledna_cerna_25);
}

.head_led.is-ok{ background:var(--clr_zelena_2); }
.head_led.is-warn{ background:var(--clr_zluta); }
.head_led.is-bad{ background:var(--clr_cervena_2); }

.head_tech{
  width:20px;
  height:20px;
align-items:center;
  border:0;
  background:transparent;
  flex:0 0 auto;
}

/* ===== Vyber pobocky ===== */
.head_branch_wrap{
  position:relative;
  align-items:stretch;
  padding:0;
  border:0;
  background:transparent;
  width:100%;
  min-width:0;
  max-width:none;
  box-shadow:none;
  grid-column:1;
  justify-self:stretch;
  justify-content:flex-start;
  margin-left:0;
  align-self:start;
}

.head_branch_btn{
  width:100%;
  padding:0 10px;
  border:1px solid var(--clr_pruhledna_tmava_14);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  height:24px;
  line-height:22px;
}

.head_branch_btn_static{
  width:100%;
  padding:0 10px;
  border:1px solid var(--clr_pruhledna_tmava_14);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:flex;
  align-items:center;
  height:24px;
  line-height:22px;
}

.head_branch_panel{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  width:max-content;
  min-width:280px;
  max-width:min(500px, 72vw);
  z-index:120;
  border:1px solid var(--clr_pruhledna_tmava_14);
  box-shadow:0 8px 24px var(--clr_pruhledna_cerna_10);
}

.head_branch_panel_grid{
  grid-template-columns:minmax(180px, auto) minmax(180px, auto);
  column-gap:5px;
  row-gap:8px;
}

.head_branch_panel_grid.is-single-col{
  grid-template-columns:minmax(180px, auto);
}

.head_branch_section{
  max-height:260px;
  overflow:hidden;
  padding-right:0;
  display:flex;
  flex-direction:column;
}

.head_branch_section_title{
  margin-bottom:6px;
}

.head_branch_field{
  margin-bottom:2px;
}

.head_branch_area_list{
  flex:1 1 auto;
  overflow:auto;
  padding-right:4px;
}

.head_branch_field_select_all{
  margin-top:auto;
  margin-bottom:0;
  padding-top:6px;
}

.head_branch_field_select_all > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--clr_zelena);
  font-weight:700;
}

.head_branch_hint{
  margin-top:8px;
}

.head_branch_actions{
  margin-top:8px;
  width:100%;
}

.head_branch_save_btn{
  width:100%;
  justify-content:center;
}

@media (max-width: 980px){
  .head_branch_wrap{
    width:100%;
    min-width:0;
    max-width:none;
  }
  .head_branch_panel{
    width:auto;
    min-width:min(280px, 92vw);
    max-width:min(500px, 92vw);
    left:0;
  }
  .head_branch_panel_grid{
    grid-template-columns:1fr;
  }
}

/* ===== User ===== */
.head_user{  grid-template-columns:36% 1fr 26px;
  align-items:stretch;
  overflow:hidden;
  align-self:start;
  height:100%;
}

.head_user_col{
  min-width:0;
  padding:4px 10px;
  justify-content:flex-start;
  gap:4px;
}

.head_user_name{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--clr_tmava_1);
  line-height:1.05;
}

.head_user_role{
  font-weight:500;
  white-space:nowrap;
  line-height:1.05;
}

.head_user_lab{
  color:var(--clr_seda_3);
  white-space:nowrap;
  line-height:1.05;
}

.head_user_val{
  white-space:nowrap;
  line-height:1.05;
}

.head_kpi_toggle{
  display:none;
  align-self:flex-start;
  width:max-content;
  max-width:100%;
  height:16px;
  padding:0 6px;
  border:1px solid var(--clr_pruhledna_tmava_14);
  border-radius:5px;
  background:var(--clr_bila);
  color:var(--clr_tmava_1);
  font-size:10px;
  font-weight:400;
  line-height:14px;
}

.head_user_exit{
  flex:0 0 26px !important;
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  padding:0 !important;
align-items:center;
  align-self:stretch;
  justify-self:stretch;
  border-left:1px solid var(--clr_pruhledna_tmava_14);
  overflow:hidden;
}

.head_user_exit_ico{
  width:18px;
  height:18px;
}

.head_user_exit:hover{ background:var(--clr_ruzova_2); }
.head_user_exit:active{ background:var(--clr_ruzova_1); }

.head_user_exit.is-timeout-warning{
  animation:head_user_exit_pulse 2.8s ease-in-out infinite;
}

@keyframes head_user_exit_pulse{
  0%{ background:transparent; }
  50%{ background:var(--clr_ruzova_2); }
  100%{ background:transparent; }
}

@media (max-width: 1559px){
  .head_grid{
    grid-template-columns:70px minmax(0,1fr) 100px 300px;
    grid-template-rows:auto auto;
  }

  .head_controls{
    grid-column:2;
    grid-row:1;
  }

  .head_gn_placeholder{
    grid-column:3;
    grid-row:1;
  }

  .head_kpi{
    grid-column:2 / 5;
    grid-row:2;
  }

  .head_user{
    grid-column:4;
    grid-row:1;
  }

  .head_box.is-kpi-hidden .head_kpi{
    display:none;
  }

  .head_kpi_toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:1px;
  }
}

/* Teplomer seance */
.head_user_col--right .head_user_val[data-thermo]{
  position:relative;
  height:10px;
  line-height:10px;
  margin-top:1px;
  width:105px;
  max-width:100%;
  border:1px solid var(--clr_pruhledna_cerna_10);
  border-radius:999px;
  background:var(--clr_seda_1);
  overflow:hidden;
}

.head_user_col--right .head_user_val[data-thermo]::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:100%;
  background:linear-gradient(
    90deg,
    var(--clr_zelena) 0%,
    var(--clr_zelena_4) 15%,
    var(--clr_zelena_2) 30%,
    var(--clr_zluta) 45%,
    var(--clr_oranzova) 60%,
    var(--clr_cervena_3) 75%,
    var(--clr_cervena_2) 88%,
    var(--clr_cervena) 100%
  );
}

.head_user_col--right .head_user_val[data-thermo]::after{
  content:"";
  position:absolute;
  left:var(--thermo, 0%);
  right:0;
  top:0;
  bottom:0;
  background:var(--clr_seda_1);
  transition:left .2s ease;
}

/* ===== Guest ===== */
.head_guest{
  grid-column:2 / span 2;
  grid-row:1 / span 2;
  min-height:92px;
}

/* ===== Responsive ===== */

/* =========================
   PATICKA
   ========================= */

.footer{
  border-top:0;
}

.footer_box{
align-items:center;
  gap:0px;
  padding:6px 12px;
}

.foot_left{
  max-width:350px;
}

.foot_center{
  flex:1;
  opacity:.85;
}

.foot_right{
  max-width:350px;
}

/* =========================
   MOBIL
   ========================= */

/* =========================
   MAIN
   ========================= */

/*
 * MAIN + DASHBOARD
 *
 * Cil:
 * - .dash_box = jedine scrollovaci misto mezi hlavickou a patickou
 * - .dash_grid = rozlozeni dashboard karet
 * - .dash_wrap uz se v aktualnim layoutu nepouziva
 */

.dash_box{
  flex:1;
  min-height:0;
  min-width:0;
  align-self:stretch;
  position:relative;
  isolation:isolate;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 12px;
  background-clip:content-box;
}

.dash_loader{
  position:absolute;
  inset:0;
  z-index:11000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(248,250,252,.80);
}

.dash_loader_inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.dash_loader_logo{
  width:84px;
  height:84px;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 6px 18px rgba(15,23,42,.10);
  animation:dash_loader_pulse .7s ease-in-out infinite;
}

.dash_loader_text{
  margin:0;
  color:var(--clr_seda_4);
  font-size:var(--fs_14);
  font-weight:600;
}

.dash_loader_time{
  margin-top:2px;
  color:var(--clr_seda_3);
  font-size:var(--fs_12);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}

.dash_loader_step{
  margin-top:0;
  color:var(--clr_seda_4);
  font-size:var(--fs_15);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}

.cb_tabular_nums{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  white-space:nowrap;
}

.table td.cb_dt_col_date{
  border-right:0;
}

.table td.cb_dt_col_time{
  border-left:0;
}

.dash_box.is-dashboard-loading [data-cb-dash-content="1"]{
  pointer-events:none;
}

.dash_box.is-dashboard-loading .dash_loader{
  display:none;
}

.dash_box.is-dashboard-loading .dash_loader[data-cb-loader-visible="1"]{
  display:flex;
}

@keyframes dash_loader_pulse{
  0%{ transform:scale(1); opacity:.78; filter:drop-shadow(0 0 0 rgba(59,130,246,0)); }
  50%{ transform:scale(1.14); opacity:1; filter:drop-shadow(0 0 10px rgba(59,130,246,.18)); }
  100%{ transform:scale(1); opacity:.78; filter:drop-shadow(0 0 0 rgba(59,130,246,0)); }
}

.dash_grid{align-items:start;
  align-content:start;
  min-width:0;
  --MIN_SIRKA_KARTY:370px;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--MIN_SIRKA_KARTY)), 1fr));
}

/* =========================
   TABULKY A KARTY
   ========================= */

/*
 * TABULKY - SPOLECNE
 * - sdilene styly pro vsechny datove tabulky
 * - specialni sirky sloupcu patri do CSS konkretni stranky
 */

/* =========================
   OBAL TABULKY
   ========================= */

.table-wrap{
  position:relative;
  overflow-x:auto;
  overflow-y:auto;     /* scroll uvnitr tabulky */
}

/* =========================
   TABULKA - ZAKLAD
   ========================= */

.table{
  width:100%;
  border-collapse:collapse;
}

/* Maxi: sirka tabulky podle obsahu sloupcu */
.dash_card.is-expanded .table-wrap .table{
  width:max-content;
}

.table th,
.table td{
  padding:4px 6px;
  /* TODO (utility cleanup): hranice bunek tabulky zatim ponechana zde;
     na th/td neni v sablonach jednotna utility class vrstva. */
  border:1px solid var(--clr_seda_2);
  font-size:var(--fs_14);
  vertical-align:middle;
}

.table td > input.card_input{
  width:100%;
  min-width:0;
}

.table thead th{
  background:var(--clr_seda_1);
  font-size:var(--fs_13);
  color:var(--clr_seda_4);
  font-weight:700;
  position:sticky;
  top:0;
  z-index:2;
}

.table thead{
  position:static;
}

.th-sort{
  padding:0 !important;
}

.th-sort-link{
  display:flex;
  align-items:center;
  padding:6px 12px;
  color:inherit;
  text-decoration:none;
}

.th-sort-link:hover{
  background:var(--clr_modra_7);
}

.th-sort-link.active{
  color:var(--clr_modra_8);
}

.th-sort-arrow{
  opacity:.85;
  font-size:var(--fs_16);
  min-width:12px;
  color:var(--clr_modra_3);
}

.th-sort-link.active .th-sort-arrow{
  opacity:1;
  font-weight:700;
  color:var(--clr_cervena_3);
}

/* =========================
   ZEBRA + HOVER
   ========================= */

.table tbody tr:nth-child(even) td{
  background:var(--clr_seda_1);
}

.table tbody tr:hover td{
  background:var(--clr_modra_7);
}

/* =========================
   FILTRY V TABULKACH
   ========================= */

.filter-row th{
  background:var(--clr_bila);
  padding:4px 8px;
  height:34px;
  vertical-align:middle;
  top:0;
  z-index:5;
  box-shadow:inset 0 -1px 0 var(--clr_seda_2);
}

.table thead .filter-row + tr th{
  top:34px;
  z-index:4;
}

.filter-row th .filter-input,
.filter-row th select{
  width:100%;
  min-width:0;
  margin:0;
  display:block;
  box-sizing:border-box;
}

.filter-input{
  width:100%;
  padding:2px 8px;
  font-size:var(--fs_12);
}

.filter-input:focus{
  outline:none;
  border-color:var(--clr_modra_6);
  box-shadow:0 0 0 3px var(--clr_pruhledna_modra_15);
}

/* ENTER + X - GLOBALNI */
.filter-actions{  align-items:center;
}

/* maly krizek vedle Enter (ctverec) */
.icon-x.small{
  width:24px;
  min-width:24px;
}

/* reset filtru - vychozi stav skryty */
.filter-row .icon-x{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}

.filter-row .filter-actions .icon-x{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}

.filter-reset-btn{
  align-items:center;
  gap:6px;
  width:100%;
  padding:0 10px;
  background:var(--clr_modra_1);
  color:var(--clr_seda_4);
  text-decoration:none;
  font-size:var(--fs_12);
  white-space:nowrap;
}

.filter-reset-btn:hover{
  background:var(--clr_modra_2);
}

.filter-reset-x{
  color:var(--clr_cervena_3);
  font-size:var(--fs_16);
  font-weight:700;
  line-height:1;
}

/* =========================
   SPODNI OVLADACI LISTA
   ========================= */

.list-bottom{
  margin-top:14px;  grid-template-columns:auto 1fr auto;
  align-items:center;
}

.per-form{align-items:center;
  white-space:nowrap;
  font-size:var(--fs_12);
  line-height:1.2;
}

.list-bottom .per-form:not(.right) > span:first-child::after{
  content:":";
}

/* strankovani uprostred */
.pagination-icon{
  justify-self:center;  align-items:center;
}

/* kompaktni tlacitka strankovani */
.icon-btn.w44{
  min-width:30px;
  width:auto;
  font-size:var(--fs_11);
  padding:0 6px;
}

/* aktualni stranka */
.icon-btn.page-current{
  pointer-events:none;
  font-weight:700;
  background:var(--clr_modra_1);
  border:1px solid var(--clr_indigo_1);
  color:var(--clr_modra_3);
}

/* drzaky mista */
.icon-btn.placeholder{
  visibility:hidden;
}

/* selecty ve spodni liste */
.per-select{ min-width:100px; }
/* TODO (utility cleanup): .blk-select je v problem2, ale v aktualnim kodu
   nebyl nalezen selektor ani pouziti; vratit se k tomu pozdeji. */

/* =========================
   MOBIL
   ========================= */

/* ----- KARTY ----- */

/*
 * KARTY (dashboard)
 *
 * Prefix:
 * - card_* = sdilene casti vsech karet
 * - card_tool_* = ovladaci prvky v horni liste
 *
 * Pozn.:
 * - Rozlozeni karet (mrizka) je v style/1/main.css (.dash_grid).
 * - Zde jsou pouze opakovatelne styly pro vsechny karty.
 * - Individualni styly karet jsou v sekci MIGROVANE KARTY nize.
 */

/* zakladni karta */
.card_box,
.card,
.dash_card{
  background:var(--clr_bila);
  box-shadow:0 1px 2px var(--clr_stin_1);
  min-width:0;
  overflow:hidden;
}

/* bezny obsah karty */

.is-hidden{
  display:none !important;
}

/* horni lista karty */
.card_top{  align-items:center;
  border-bottom:1px solid var(--clr_pruhledna_cerna_10);
  background:var(--clr_pruhledna_tmava_04);
  padding:5px 5px 5px 10px;
}

.card_head_left{
  flex:1 1 auto;
  align-items:center;
  gap:8px;
  min-width:0;
}

.card_head_text{
  min-width:0;
  flex:1 1 auto;
}

.card_subtitle_row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  width:100%;
}

.card_pref_wrap{
  position:relative;
  flex:0 0 25px;
  width:25px;
  height:25px;
}

.card_pref_toggle{
  width:25px;
  height:25px;
  border:1px solid transparent;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:transparent !important;
}

.card_pref_toggle:hover{
  border-color:var(--clr_pruhledna_cerna_18);
  background:var(--clr_pruhledna_bila_45);
}

.card_pref_dots{
  font-size:18px;
  line-height:1;
  opacity:.55;
  width:25px;
  height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--clr_pruhledna_cerna_18);
  border-radius:5px;
  background:transparent;
}

.card_pref_empty{
  width:16px;
  height:16px;
  display:inline-block;
}

.card_pref_icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}

.card_pref_icon_img{
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
}

.card_pref_kid{
  position:absolute;
  top:27px;
  left:50%;
  transform:translateX(-50%);
  font-size:9px;
  line-height:1;
  color:var(--clr_seda_4);
  white-space:nowrap;
  pointer-events:none;
}

.card_shell[data-card-mode="nano"] .card_pref_kid{
  display:none;
}

.card_shell[data-card-mode="nano"] .card_head_left{
  align-items:center;
}

.card_shell[data-card-mode="nano"] .card_pref_wrap{
  height:25px;
  display:flex;
  align-items:center;
}

.card_pref_menu{
  position:absolute;
  top:100%;
  left:0;
  margin-top:4px;
  width:160px;
  z-index:60;
  border:1px solid var(--clr_pruhledna_cerna_18);
  border-radius:8px;
  background:var(--clr_bila);
  box-shadow:0 8px 24px var(--clr_pruhledna_tmava_14);
  padding:6px;
}

.card_pref_item{
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:6px 8px;
  border-radius:6px;
  color:var(--clr_seda_4);
  font-size:var(--fs_13);
}

.card_pref_item:hover{
  background:var(--clr_seda_1);
}

.card_pref_item_move_hint{
  color:var(--clr_cervena);
  font-weight:700;
}

.card_pref_item_placeholder{
  opacity:.6;
}

.card_pref_frame{
  width:100%;
  height:195px;
  border:0;
  border-radius:6px;
  margin-top:6px;
  background:var(--clr_bila);
}

.card_pref_menu.card_pref_menu_frame{
  top:100%;
  margin-top:12px;
  width:370px;
  padding:4px;
}

.card_pref_menu.card_pref_menu_frame .card_pref_list{
  display:none;
}

.card_pref_menu.card_pref_menu_frame .card_pref_frame{
  margin-top:0;
  height:155px;
}

.card_pref_menu_variant{
  display:block;
}

.card_pref_menu_max{
  display:none;
}

.dash_card.is-maxi-overlay .card_pref_menu_mini{
  display:none;
}

.dash_card.is-maxi-overlay .card_pref_menu_max{
  display:block;
}

.card_top_role_1{
  background:var(--clr_ruzova_4);
}

.card_top_role_2{
  background:var(--clr_zelena_3);
}

.card_title{
  font-size:var(--fs_15);
  line-height:1.25;
  font-weight:700;
}

.card_subtitle{
  margin:3px 0 0 0;
  font-size:var(--fs_12);
  line-height:1.3;
  color:var(--clr_pruhledna_tmava_62);
}

.card_tools{
  align-items:center;
}

.card_tool_btn{
  width:20px;
  height:20px;
align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid var(--clr_pruhledna_cerna_18);
  line-height:1;
  font-size:var(--fs_14);
}

.card_tool_btn:hover{
  background:var(--clr_pruhledna_modra_08);
  border-color:var(--clr_pruhledna_modra_35);
}

.card_tool_btn:focus-visible{
  outline:2px solid var(--clr_pruhledna_modra_35);
  outline-offset:1px;
}

/* vnitrni casti */

.card_text{
  font-size:var(--fs_14);
  line-height:1.45;
}

.card_text_muted{
  color:var(--clr_pruhledna_tmava_62);
}

.card_compact.is-hidden{
  display:none;
}

.card_expanded{
  border-top:1px solid var(--clr_pruhledna_cerna_10);
}

.card_expanded.is-hidden{
  display:none;
}

.card_stack{flex-direction:column;
}

.card_section{
  border:1px solid var(--clr_pruhledna_cerna_10);
}

.card_section_title{
  margin:0 0 8px 0;
  font-size:var(--fs_14);
}

.card_field{flex-direction:column;
  font-size:var(--fs_12);
  color:var(--clr_pruhledna_tmava_78);
}

.card_section .card_field + .card_field{
  margin-top:10px;
}

.card_small_text{
  font-size:var(--fs_13);
  color:var(--clr_pruhledna_tmava_78);
}

.card_btn,
.admin_karty_btn{  align-items:center;
  justify-content:center;
  min-width:0;
  padding:0 10px;
  line-height:26px;
  vertical-align:middle;
  white-space:nowrap;
  text-decoration:none;
}

.card_btn:hover,
.admin_karty_btn:hover{
  background:var(--clr_seda_1);
}

.card_btn_primary{
  color:var(--clr_modra_3);
  border-color:var(--clr_pruhledna_modra_tmava_28);
  background:var(--clr_modra_7);
}

.card_btn_primary:hover{
  background:var(--clr_modra_2);
}

.card_btn[disabled],
.card_btn[aria-disabled="true"]{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
  background:var(--clr_seda_1);
  border-color:var(--clr_seda_2);
  color:var(--clr_seda_3);
}

.dash_break{
  grid-column:1 / -1;
  height:0;
  min-height:0;
  border:0;
}

.dash_nano_group{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}

.dash_card{
  position:relative;
  isolation:isolate;
  min-width:0;
  background:var(--clr_bila);
  border:1px solid var(--clr_pruhledna_modra_35);
  border-radius:14px;
  box-shadow:0 8px 22px var(--clr_pruhledna_tmava_04);
  overflow:hidden;
  height:230px;  /* výška mini karty */
}

.dash_card.is-card-refreshing{
  pointer-events:none;
}

.dash_card_loader{
  inset:0;
  z-index:10;
  background:rgba(248,250,252,.88);
  backdrop-filter:blur(1px);
}

.dash_card_loader[data-cb-loader-visible="1"]{
  display:flex;
}

.dash_card_loader .dash_loader_inner{
  gap:6px;
}

.dash_card_loader .dash_loader_logo{
  width:54px;
  height:54px;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(15,23,42,.10);
}

.dash_card_loader .dash_loader_text{
  font-size:var(--fs_13);
}

.dash_card_loader .dash_loader_time{
  margin-top:0;
  font-size:var(--fs_11);
}

.dash_card.is-expanded{
  z-index:2;
}

.dash_box.has-maxi{
  overflow:hidden;
}

.dash_box.has-maxi::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--clr_pruhledna_modra_18);
  backdrop-filter:blur(4px);
  z-index:40;
}

.cb_maxi_layer{
  position:absolute;
  inset:0;
  z-index:45;
  pointer-events:none;
}

.cb_maxi_layer > .dash_card.is-maxi-overlay{
  pointer-events:auto;
}

.dash_card.is-maxi-placeholder .card_shell,
.dash_card.is-maxi-placeholder .dash_card_loader{
  visibility:hidden;
  pointer-events:none;
}

.dash_card.is-maxi-overlay{
  position:absolute;
  top:0;
  bottom:auto;
  left:50%;
  transform:translateX(-50%);
  width:fit-content;
  min-width:min(600px, calc(100% - 24px));
  min-height:250px;
  max-width:calc(100% - 24px);
  max-height:100%;
  height:auto;
  z-index:50;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 18px 44px var(--clr_stin_5);
}

.dash_card.is-maxi-overlay:has(.card_shell[data-card-max-fill="1"]){
  left:12px;
  right:12px;
  transform:none;
  width:auto;
  max-width:none;
}

.dash_card.is-maxi-overlay .card_shell{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  height:auto;
  width:auto;
  min-height:0;
}

.dash_card.is-maxi-overlay .card_body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  width:auto;
  min-height:0;
  overflow:hidden;
}

.dash_card.is-maxi-overlay .card_expanded{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  width:auto;
  overflow:hidden;
}

.dash_card.is-maxi-overlay .card_expanded > form,
.dash_card.is-maxi-overlay .card_expanded > .card_stack,
.dash_card.is-maxi-overlay .card_expanded > .card_form,
.dash_card.is-maxi-overlay .card_expanded > .card_table_layout{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  width:100%;
}

.dash_card.is-maxi-overlay .card_expanded .table-wrap{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  overflow:auto;
}

.dash_card.is-maxi-overlay .card_expanded .table-wrap .table{
  width:auto;
}

.dash_card.is-maxi-overlay .card_expanded .list-bottom{
  flex:0 0 auto;
  width:100%;
}

.dash_card.is-maxi-overlay:hover{
  box-shadow:0 18px 44px var(--clr_stin_5);
}


.dash_card:hover{
  box-shadow:0 12px 30px var(--clr_pruhledna_tmava_14);
}

.dash_card_body{
  padding:12px;
}

.small_note{
  color:var(--clr_pruhledna_tmava_62);
  font-size:var(--fs_12);
}

.dash_card.card_mode_nano{
  height:26px;
  min-height:26px;
}

.dash_card.card_mode_nano .card_shell{
  display:flex;
  height:100%;
}

.dash_card.card_mode_nano .card_shell .card_top{
  flex:1 1 auto;
  height:100%;
}

.card_shell[data-card-mode="nano"] .card_body{
  display:none;
}

.card_shell[data-card-mode="nano"] .card_top{
  height:100%;
  padding-top:2px;
  padding-bottom:2px;
  border-bottom:0;
}

.card_shell[data-card-mode="nano"] .card_title{
  font-size:var(--fs_12);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.card_shell[data-card-mode="mini"] .card_top > div:first-child{
  min-width:0;
}

.card_shell[data-card-mode="mini"] .card_subtitle{
  flex:1 1 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.card_subtitle_side{
  flex:0 0 auto;
  margin:0;
  margin-left:auto;
  white-space:nowrap;
  text-align:right;
}

.zr_restia_head{
  display:flex;
  align-items:center;
  gap:8px;
}

.zr_restia_head .card_section_title{
  margin-bottom:0;
}

.zr_restia_head .zr_restia_refresh_btn{
  margin-left:auto;
}

.card_shell[data-card-mode="mini"] .card_top{
  padding:5px 5px 5px 10px;
}

.card_shell[data-card-mode="mini"] .table th,
.card_shell[data-card-mode="mini"] .table td{
  padding-top:5px;
  padding-bottom:5px;
}

.card_mini_text{
  font-size:12px;
  line-height:1.25;
  margin:0;
}

.helpd-mini-btn{
  flex:1 1 calc(20% - 5px);
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 8px;
  background:#eff6ff;
  border:1px solid rgba(15,23,42,.10);
  text-align:center;
  cursor:pointer;
}

.helpd-mini-btn .card_mini_text{
  color:#0f172a;
}

.helpd-mini-btn strong.card_mini_text{
  color:#355c9a;
}

.card_mini_table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  line-height:1.2;
}

.card_mini_table th,
.card_mini_table td{
  padding:3px 5px;
  border:1px solid var(--clr_seda_2);
  vertical-align:middle;
}

.cb-restia-stop-alert{
  position:fixed;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:8px 12px;
  background:#fff1f1;
  border:1px solid #f3b3b3;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  color:#7f1d1d;
  font-weight:700;
}

.cb-restia-stop-btn{
  height:28px;
  padding:0 12px;
  border:1px solid #b91c1c;
  background:#dc2626;
  color:#fff;
  border-radius:8px;
  cursor:pointer;
  font-weight:700;
}

.cb-restia-stop-btn:hover{
  background:#b91c1c;
}

.card_top_clickable{
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}

.card_shell[data-card-mode="mini"] .card_subtitle{
  margin-top:0;
}

.dash_card.is-nano-switching{
  transition:transform .18s ease, opacity .18s ease;
  transform:scale(.92);
  opacity:.75;
}

/* =========================
   KARTA: admin_karty
   ========================= */

.admin_karty_msg{
  margin:2px 0 10px 0;
  min-height:20px;
}

.admin_karty_table tbody th[colspan]{
  padding:6px 12px;
  /* TODO (utility cleanup): tento colspan header je zatim ponechan
     se selektorovou hranici; vratit se k utility prevodu pozdeji. */
  border:1px solid var(--clr_seda_2);
  background:var(--clr_seda_1);
  font-size:var(--fs_13);
  color:var(--clr_seda_4);
  font-weight:700;
}

.admin_karty_table td:nth-child(1),
.admin_karty_table td:nth-child(6),
.admin_karty_table th:nth-child(1),
.admin_karty_table th:nth-child(6){
  padding-left:6px;
  padding-right:6px;
}

.admin_karty_table td:last-child:not([colspan]){
  white-space:nowrap;
}

/* TODO (utility cleanup): width:100% ponechano u selektorovych pravidel
   .table, .table td > input.card_input, .filter-input, .tbl a pseudo-prvku
   (.head_user_col--right .head_user_val[data-thermo]::before), kde je potreba
   postupny prevod ve vazbe na sablony, aby se zachoval vzhled bez regresi. */

.admin_karty_btn{
  padding:0 9px;
  margin:0 4px 0 0;
}

.admin_karty_btn:last-child{
  margin-right:0;
}

.admin_karty_btn_icon{
  width:28px;
}

.admin_karty_btn_danger{
  border-color:var(--clr_pruhledna_cervena_28);
  background:var(--clr_ruzova_5);
}

.admin_karty_btn_danger:hover{
  background:var(--clr_ruzova_2);
}


/* =========================
   K14 – prehled objednavek: kompaktni MAX tabulka
   ========================= */

.k14-obj-table th,
.k14-obj-table td{
  text-align:right;
  white-space:nowrap;
}

.k14-obj-table .th-sort-link{
  justify-content:flex-end;
  text-align:right;
}

.k14-obj-table .card-max-filter th{
  text-align:right;
}

.k14-obj-table .card-max-filter input{
  width:70px;
  display:inline-block;
  text-align:right;
}

.k14-obj-table .card-max-filter input[name="obj_f[cislo_obj]"]{
  width:130px;
}

.k14-obj-table .card-max-filter input[name="obj_f[zakaznik]"]{
  width:150px;
}

.k14-obj-table .cb_tooltip_panel{
  min-width:190px;
  max-width:min(280px, calc(100vw - 24px));
}

.k14-obj-table .cb_tooltip_table td{
  white-space:normal;
}

.k14-obj-table td.txt_seda{
  color:var(--clr_pruhledna_cerna_3);
}

.k14-obj-bottom{
  width:100%;
}

.k14-obj-bottom .pagination-icon{
  justify-self:center;
}

.k14-obj-bottom .per-form.right{
  justify-self:end;
}

/* =========================================================
   KONEC BLOKU 1 (AKTIVNI CSS)
   ========================================================= */

/* =========================================================
   BLOK 2: MIGROVANE KARTY
   ---------------------------------------------------------
   Sekce obsahuje styly, ktere byly presunute z style/1/karty/*
   do global.css behem refaktoru.
   ========================================================= */

/* =========================
   KARTA: uzivatele
   ========================= */

.uzivatele-table.card_table_max th,
.uzivatele-table.card_table_max td{
  width:auto;
}

.uzivatele-table.card_table_max .c-id,
.uzivatele-table.card_table_max .c-telefon,
.uzivatele-table.card_table_max .c-reg,
.uzivatele-table.card_table_max .c-aktivni,
.uzivatele-table.card_table_max .c-email{
  white-space:nowrap;
}

.uzivatele-table .row-icons{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}

.uzivatele-table .row-icons img{
  width:18px;
  height:18px;
  display:block;
  opacity:.92;
}

.uzivatele-table .row-icons img:hover{
  opacity:1;
  transform:translateY(-1px);
}

/* =========================
   KARTA: zadani_reportu
   ========================= */

.dash_card:has([data-cb-prehledy-grafy="1"]) .card_expanded{
  background:
    linear-gradient(180deg, var(--clr_pruhledna_panel_98), var(--clr_pruhledna_panel_96));
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
}

.dash_card:has([data-cb-prehledy-grafy="1"]) .card_expanded > [data-cb-prehledy-grafy="1"]{
  flex:1 1 auto;
  min-height:0;
  height:100%;
}

.zr_form{
  display:flex;
  flex-direction:column;
}

.zr_layout{
  display:grid;
  width:max-content;
  max-width:100%;
  grid-template-columns:800px 300px;
  align-items:start;
}

.zr_main{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.zr_top{
  display:grid;
  grid-template-columns:300px minmax(0, 1fr);
  align-items:stretch;
}

.zr_left,
.zr_side{
  min-width:0;
}

.zr_left{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 180px;
  align-items:start;
}

.zr_side{
  display:flex;
  flex-direction:column;
}

.zr_section{
  padding:12px 14px;
  border-color:var(--clr_pruhledna_seda_30);
  border-radius:14px;
  box-shadow:0 10px 24px var(--clr_stin_2);
}

.zr_intro_section .zr_intro_label{
  width:72px;
}

.zr_table{
  width:max-content;
  border-collapse:collapse;
}

.zr_table th,
.zr_table td{
  padding:5px 6px;
  font-size:var(--fs_12);
  vertical-align:middle;
}

.zr_table th{
  font-weight:600;
  color:var(--clr_seda_3);
}

.zr_table td{
  color:var(--clr_seda_4);
}

.zr_table td input,
.zr_table td select{
  width:max-content;
  max-width:100%;
}

.zr_form input,
.zr_form select{
  width:100%;
  height:28px;
  min-height:28px;
  padding:2px 8px;
  font-size:var(--fs_12);
  border:1px solid var(--clr_seda_2);
  border-radius:9px;
  background:var(--clr_bila);
  box-shadow:inset 0 1px 1px var(--clr_pruhledna_tmava_04);
}

.zr_req_label{
  color:var(--clr_seda_4);
}

.zr_form input:focus,
.zr_form select:focus{
  outline:none;
  border-color:var(--clr_modra_4);
  box-shadow:0 0 0 3px var(--clr_pruhledna_modra_15);
}

.zr_date_display{
  width:160px;
  font-weight:700;
  color:var(--clr_seda_4);
  background:linear-gradient(180deg, var(--clr_bila), var(--clr_seda_1));
}

.zr_intro_select{
  width:160px;
}

.zr_cash_table{
  width:100%;
  table-layout:fixed;
}

.zr_cash_table th,
.zr_cash_table td{
  padding:4px 6px;
  background:transparent;
}

.zr_cash_table th{
  padding-bottom:3px;
  color:var(--clr_seda_4);
  font-size:var(--fs_11);
  letter-spacing:.03em;
}

.zr_cash_table td .zr_money_input{
  width:100%;
  text-align:right;
}

.zr_instor_section{
  grid-column:1 / span 2;
}

.zr_control_section{
  grid-column:3;
}

.zr_kuryr_section,
.zr_note_section,
.zr_submit{
  grid-column:1 / -1;
}

.zr_control_metric{
  padding:8px 0;
  border-top:1px solid var(--clr_pruhledna_seda_18);
}

.zr_control_metric:first-of-type{
  border-top:0;
  padding-top:0;
}

.zr_control_label{
  display:block;
  margin:0 0 8px 0;
  font-size:var(--fs_15);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--clr_seda_3);
}

.zr_control_value{
  display:block;
  margin-top:3px;
  font-size:22px;
  line-height:1.1;
  font-weight:700;
  color:var(--clr_seda_4);
  text-align:right;
}

.zr_control_label_rozdil{
  color:var(--clr_cervena);
}

.zr_control_label_col{
  color:var(--clr_modra_4);
}

.zr_person_table th,
.zr_person_table td{
  padding:3px 4px;
  vertical-align:middle;
}

.zr_person_table thead th{
  font-size:var(--fs_11);
  letter-spacing:.03em;
  color:var(--clr_seda_3);
}

.zr_person_table tbody tr{
  border-top:1px solid var(--clr_pruhledna_seda_18);
}

.zr_person_table tbody tr[data-zr-editor]{
  border-top:0;
}

.zr_person_col_name{
  width:90px;
}

.zr_person_col_time{
  width:45px;
}

.zr_time_input{
  height:24px;
  padding:2px 4px;
  border:1px solid var(--clr_seda_2);
  border-radius:6px;
  background:var(--clr_bila);
  color:var(--clr_seda_4);
  font-size:var(--fs_12);
}

.zr_time_input.edit{
  border-color:var(--clr_modra_3);
  background:var(--clr_modra_1);
}

.zr_time_input.err{
  border-color:var(--clr_cervena_3);
  background:#fee2e2;
}

.zr_person_col_break{
  width:25px;
}

.zr_person_table td.zr_person_cell_break input{
  height:24px;
  padding-left:4px;
  padding-right:4px;
}

.zr_person_col_hours{
  width:30px;
}

.zr_person_col_save{
  width:108px;
}

.zr_hours_value{
  display:inline-block;
  line-height:24px;
  font-size:var(--fs_12);
  font-weight:700;
  color:var(--clr_seda_4);
}

.zr_delivery_wrap{
  display:flex;
  align-items:center;
}

.zr_delivery_input{
  height:24px;
  padding-left:4px;
  padding-right:4px;
}

.zr_delivery_plus{
  font-weight:700;
  line-height:28px;
}

.zr_chk input{
  width:14px;
  height:14px;
  margin:0 auto;
}

.zr_kuryr_extra{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(96px, .85fr) minmax(110px, .95fr) 108px;
  align-items:center;
}

.zr_kuryr_extra_item{
  display:flex;
  align-items:center;
  min-width:0;
}

.zr_kuryr_extra_item_car{
  white-space:nowrap;
}

.zr_kuryr_extra_label{
  font-size:var(--fs_11);
  color:var(--clr_seda_3);
  white-space:nowrap;
}

.zr_instor_section .zr_person_cell_name select,
.zr_kuryr_section .zr_person_cell_name select{
  width:170px;
}

.zr_delivery_wrap_kuryr{
  min-width:0;
}

.zr_person_cell_car_inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.zr_row_save{
  width:104px;
  height:24px;
  border:1px solid var(--clr_modra_3);
  background:linear-gradient(180deg, var(--clr_modra_4), var(--clr_modra_5));
  color:var(--clr_bila);
  font-size:var(--fs_13);
  font-weight:700;
  box-shadow:0 6px 14px var(--clr_pruhledna_modra_tmava_18);
}

.zr_row_ok{
  width:28px;
  min-width:28px;
  border-color:#16a34a;
  background:#dcfce7;
  color:#15803d;
  box-shadow:none;
  font-size:var(--fs_16);
  line-height:1;
}

.zr_row_save:disabled{
  cursor:not-allowed;
  opacity:.45;
}

.zr_row_remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  margin-right:6px;
  border:0;
  background:transparent;
  color:var(--clr_cervena);
  font-size:var(--fs_13);
  font-weight:700;
  line-height:1;
  vertical-align:middle;
}

.zr_saved_value{
  display:inline-block;
  line-height:28px;
  font-weight:600;
  color:var(--clr_seda_4);
}

.zr_phm_field.is-hidden{
  display:none;
}

.zr_restia_total{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  margin-bottom:10px;
  border:1px solid var(--clr_pruhledna_modra_tmava_18);
  border-radius:14px;
  background:linear-gradient(90deg, var(--clr_modra_1), var(--clr_panel));
}

.zr_metric_label{
  font-size:var(--fs_12);
  letter-spacing:.05em;
  color:var(--clr_seda_3);
}

.zr_metric_value{
  font-size:28px;
  line-height:1.1;
  color:var(--clr_seda_4);
  text-align:right;
}

.zr_restia_refresh_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:0;
  background:transparent;
  color:var(--clr_modra_4);
  font-size:18px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}

.zr_restia_refresh_btn:disabled{
  color:var(--clr_seda_2);
  cursor:not-allowed;
}

.zr_restia_refresh_btn.is-loading{
  opacity:.65;
}

.zr_restia_table th,
.zr_restia_table td{
  padding:7px 8px;
  border:1px solid var(--clr_pruhledna_seda_18);
  background:var(--clr_bila);
  line-height:1.15;
}

.zr_side .zr_restia_table{
  width:100%;
}

.zr_restia_key{
  color:var(--clr_seda_4);
}

.zr_restia_value{
  font-weight:700;
  white-space:nowrap;
}

.zr_submit{
  display:block;
  width:100%;
  min-height:48px;
  padding:10px 18px;
  border:1px solid var(--clr_modra_3);
  border-radius:14px;
  background:linear-gradient(90deg, var(--clr_modra_5), var(--clr_modra_3));
  color:var(--clr_bila);
  font-weight:700;
}

.zr_readonly_info{
  margin:0 0 10px 0;
  padding:8px 10px;
  border:1px solid var(--clr_modra_2);
  border-radius:8px;
  background:rgba(255,255,255,.78);
  color:var(--clr_seda_5);
  font-size:var(--fs_13);
  font-weight:700;
}

.zr_missing_report_bar{
  margin:0 0 10px 0;
  padding:7px 10px;
  border:1px solid #d84d4d;
  border-radius:8px;
  background:#f7caca;
  color:#8f1f1f;
  font-size:var(--fs_13);
  font-weight:700;
  text-align:center;
}

.zr_readonly_overlay{
  position:absolute;
  left:0;
  right:0;
  top:42px;
  bottom:0;
  z-index:10;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  cursor:not-allowed;
}

.zr_intro_section{
  background:linear-gradient(90deg, var(--clr_modra_1), var(--clr_panel));
}

.zr_cash_section,
.zr_instor_section,
.zr_kuryr_section,
.zr_control_section{
  background:linear-gradient(90deg, var(--clr_modra_1), var(--clr_panel));
}

.zr_restia_section,
.zr_ops_section{
  background:linear-gradient(180deg, var(--clr_seda_1), var(--clr_panel));
}

.zr_restia_section .card_section_title,
.zr_ops_section .card_section_title,
.zr_instor_section .card_section_title,
.zr_kuryr_section .card_section_title,
.zr_control_section .card_section_title,
.zr_cash_section .card_section_title{
  margin-bottom:10px;
  font-size:var(--fs_15);
  font-weight:700;
  letter-spacing:.01em;
}

.zr_intro_section .zr_table td,
.zr_intro_section .zr_table th{
  padding-top:3px;
  padding-bottom:3px;
}

.cb_cardmode_modal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:var(--clr_pruhledna_tmava_62);
}

.cb_cardmode_modal.is-hidden{
  display:none;
}

.cb_cardmode_dialog{
  width:min(420px, 96vw);
  background:var(--clr_bila);
  border:1px solid var(--clr_seda_2);
  border-radius:14px;
  box-shadow:0 12px 28px var(--clr_stin_5);
  padding:14px 14px 12px;
}

.cb_cardmode_head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.cb_cardmode_logo_wrap{
  display:flex;
  justify-content:flex-start;
}

.cb_cardmode_logo{
  width:72px;
  height:72px;
  object-fit:contain;
}

.cb_cardmode_head_text{
  flex:1 1 auto;
  padding-top:2px;
}

.cb_cardmode_title{
  margin:0 0 6px;
  text-align:left;
  color:var(--clr_cervena);
  font-size:var(--fs_15);
  font-weight:700;
}

.cb_cardmode_text{
  margin:0;
  text-align:left;
  color:var(--clr_cerna);
  font-size:var(--fs_13);
  line-height:1.35;
  white-space:pre-line;
  min-height:42px;
}

.cb_cardmode_actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  justify-content:center;
}

.cb_cardmode_btn{
  min-width:130px;
  min-height:34px;
  border:1px solid var(--clr_modra_6);
  border-radius:9px;
  background:var(--clr_modra_7);
  color:var(--clr_modra_5);
  font-weight:600;
}

.cb_cardmode_btn:hover{
  background:var(--clr_modra_2);
}

.cb_cardmode_btn:active{
  background:var(--clr_modra_1);
}

@media (max-width: 720px){
  .footer_box{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:700px){
  .list-bottom{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .per-form.right{ justify-content:center; }
}

@media (max-width: 720px){
  .footer_box.gap_4{
    gap:4px;
  }
}

@media (max-width:700px){
  .list-bottom.gap_10{
    gap:10px;
  }
}

@media (max-width: 1200px){
  .zr_layout,
  .zr_top{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   MAX TABULKY – CILOVY STAV (NOVA VRSTVA)
   ---------------------------------------------------------
   Tato sekce ma byt novy jednotny zaklad pro vsechny tabulky
   v max rezimu karet.

   Cil:
   - sjednotit vzhled max tabulek
   - sjednotit vzhled filtrovacich poli
   - sjednotit spodni listu se strankovanim
   - nemichat sem sirky sloupcu

   Dulezite pravidlo:
   - sirky sloupcu budou nastavene inline primo v PHP souboru
   - tady je jen vzhled, ne individualni rozmery sloupcu

   Nazvoslovi:
   - .card-max-table      = cela tabulka v max karte
   - .card-max-filter     = radek filtru v hlavicce tabulky
   - .card-max-pagination = spodni lista pod tabulkou
   ========================================================= */


/* =========================
   MAX TABULKA – ZAKLAD
   ========================= */

/* Hlavni trida cele tabulky v max karte. */
.card-max-table{
  width:max-content;          /* tabulka podle obsahu, nesmrskava sloupce */
  border-collapse:collapse;   /* sousedni ramecky bunek se spoji do jedne cary */
}

/* Spolecny vzhled hlavickovych i datovych bunek. */
.card-max-table th,
.card-max-table td{
  padding:6px 12px;                         /* vnitrni mezera v bunce: nahore/dole 6px, vlevo/vpravo 12px */
  border:1px solid var(--clr_seda_2);       /* jednotny sedy ramecek bunek */
  font-size:var(--fs_14);                   /* bezna velikost textu v tabulce */
  vertical-align:middle;                    /* obsah bunky bude vyskově uprostred */
}

/* Kompaktni varianta max tabulky. */
.card-max-table.is-compact th,
.card-max-table.is-compact td{
  padding:3px 10px;
  line-height:18px;
}

.card-max-table.is-compact .card_btn{
  height:20px;
  min-height:20px;
  padding:0 8px;
  line-height:18px;
  font-size:var(--fs_13);
}

/* Hlavicka tabulky – nazvy sloupcu. */
.card-max-table thead th{
  background:var(--clr_seda_1);             /* svetle sede pozadi hlavicky */
  font-size:var(--fs_13);                   /* hlavicka je o trochu mensi nez obsah */
  color:var(--clr_seda_4);                  /* tmavsi seda barva textu */
  font-weight:700;                          /* tucny text hlavicky */
  position:sticky;                          /* hlavicka zustane prilepena pri scrollovani */
  top:0;                                    /* prilepeni k hornimu okraji scroll prostoru */
  z-index:2;                                /* hlavicka bude nad radky tabulky */
}

.card-max-table thead .filter-row th{
  top:0;
  z-index:5;
}

.card-max-table thead .filter-row + tr th{
  top:34px;
  z-index:4;
}

/* Zebra efekt – kazdy sudy radek ma jemne sede pozadi. */
.card-max-table tbody tr:nth-child(even) td{
  background:var(--clr_seda_1);
}

/* Hover efekt – radek pod mysi se podbarvi modre. */
.card-max-table tbody tr:hover td{
  background:var(--clr_modra_7);
}

.card-max-table tbody tr.k17-row-unpaired td{
  background:#fde2e2;
}

.card-max-table tbody tr.k17-row-unpaired:hover td{
  background:#f8caca;
}

.card-max-table tfoot td{
  background:var(--clr_seda_1);
  color:var(--clr_seda_4);
  font-weight:700;
  position:sticky;
  bottom:0;
  z-index:3;
}


/* =========================
   MAX TABULKA – FILTRY
   ========================= */

/*
   Trida pro radek filtru.
   Pouziti typicky na <tr class="card-max-filter">.
*/
.card-max-filter th{
  background:var(--clr_bila);               /* filtracni radek ma bile pozadi */
  padding:4px 8px;                          /* mensi vnitrni mezera nez bezne bunky */
  height:34px;                              /* jednotna vyska celeho filtracniho radku */
  vertical-align:middle;                    /* filtracni pole bude vyskově uprostred */
  box-shadow:inset 0 -1px 0 var(--clr_seda_2); /* jemna vnitrni spodni cara */
}

/*
   Vsechna pole uvnitr filtracniho radku.
   Plati pro textove inputy i selecty.
*/
.card-max-filter input,
.card-max-filter select{
  width:100%;                               /* pole vyplni celou sirku bunky */
  min-width:0;                              /* dovoli poli zmensit se v uzke bunce */
  height:24px;                              /* jednotna vyska filtrovaciho pole */

  padding:2px 8px;                          /* vnitrni mezera uvnitr pole */
  font-size:var(--fs_12);                   /* mensi text vhodny do filtru */
  color:var(--clr_seda_4);                  /* barva textu ve filtru */

  background:var(--clr_bila);               /* bile pozadi pole */
  border:1px solid var(--clr_seda_2);       /* sedy ramecek pole */
  border-radius:8px;                        /* zaoblene rohy pole */

  box-sizing:border-box;                    /* sirka 100 % obsahuje i padding a border */
}

/* Stav pole pri kliknuti / psani. */
.card-max-filter input:focus,
.card-max-filter select:focus{
  outline:none;                             /* vypne vychozi ramecek prohlizece */
  border-color:var(--clr_modra_6);          /* ramecek aktivniho pole bude modry */
  box-shadow:0 0 0 3px var(--clr_pruhledna_modra_15); /* jemne modre zvyrazneni kolem pole */
}


/* =========================
   MAX TABULKA – SPODNI LISTA
   ========================= */

/*
   Spodni lista pod tabulkou.
   Typicky obsahuje:
   - vlevo pocet zaznamu / radku
   - uprostred strankovani
   - vpravo vyber poctu radku na stranku
*/
.card-max-pagination{
  margin-top:14px;                          /* mezera mezi tabulkou a spodni listou */

  display:grid;                             /* rozlozeni do mrizky */
  grid-template-columns:auto 1fr auto;      /* vlevo auto, stred vyplni prostor, vpravo auto */
  align-items:center;                       /* svisle zarovnani prvku na stred */
}

/* Textove bloky ve spodni liste. */
.card-max-pagination .per-form{
  font-size:var(--fs_12);                   /* mensi text ve spodni liste */
  line-height:1.2;                          /* kompaktni vyska radku */
  white-space:nowrap;                       /* text se nebude zalamovat */
}

/* Stredni cast se strankovanim. */
.card-max-pagination .pagination-icon{
  justify-self:center;                      /* strankovani bude uprostred listy */
  display:flex;                             /* tlacitka budou vedle sebe */
  align-items:center;                       /* svisle zarovnani tlacitek */
}

/* Tlacitka strankovani. */
.card-max-pagination .icon-btn{
  min-width:28px;                           /* minimalni sirka tlacitka */
  height:28px;                              /* kompaktni vyska strankovani */
  width:auto;                               /* sirka se prizpusobi obsahu */
  font-size:var(--fs_11);                   /* mensi text v tlacitku */
  padding:0 6px;                            /* vodorovna mezera uvnitr tlacitka */
  display:inline-flex;                      /* srovna cisla a sipky na stred */
  align-items:center;                       /* svisle zarovnani obsahu */
  justify-content:center;                   /* vodorovne zarovnani obsahu */
  border-radius:6px;                        /* mirne zaobleni pro mensi tlacitka */
}

/* Aktualni stranka ve strankovani. */
.card-max-pagination .page-current{
  pointer-events:none;                      /* na aktualni stranku nejde kliknout */
  font-weight:700;                          /* tucne cislo aktualni stranky */
  background:var(--clr_modra_1);            /* modre pozadi aktualni stranky */
  border:1px solid var(--clr_indigo_1);     /* modry ramecek aktualni stranky */
  color:var(--clr_modra_3);                 /* modry text aktualni stranky */
}

/* Zamčeno – pouze tečka (nano tlačítko) */
.nano_dot{
  font-size:18px;
  line-height:1;
}

.card_shell[data-card-pos-locked="1"] .nano_dot{
  color:var(--clr_cervena_2);
}

/* K10 – denní report: kompaktní MAX režim (jen uvnitř overlay karty) */
.dash_card.is-maxi-overlay .zr_form{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
}

.dash_card.is-maxi-overlay .zr_form .gap_14,
.dash_card.is-maxi-overlay .zr_form.gap_14{
  gap:7px;
}

.dash_card.is-maxi-overlay .zr_form .odstup_vnitrni_10{
  padding:6px 8px;
}

.dash_card.is-maxi-overlay .zr_form .zr_section{
  padding:7px 9px;
}

.dash_card.is-maxi-overlay .zr_form .zr_table th,
.dash_card.is-maxi-overlay .zr_form .zr_table td{
  padding:3px 5px;
  line-height:1.15;
}

.dash_card.is-maxi-overlay .zr_form .zr_cash_table th,
.dash_card.is-maxi-overlay .zr_form .zr_cash_table td,
.dash_card.is-maxi-overlay .zr_form .zr_person_table th,
.dash_card.is-maxi-overlay .zr_form .zr_person_table td{
  padding:2px 4px;
  line-height:1.1;
}

.dash_card.is-maxi-overlay .zr_form input,
.dash_card.is-maxi-overlay .zr_form select{
  height:24px;
  min-height:24px;
  padding:1px 6px;
  border-radius:8px;
}

.dash_card.is-maxi-overlay .zr_form .zr_time_input,
.dash_card.is-maxi-overlay .zr_form td.zr_person_cell_break input,
.dash_card.is-maxi-overlay .zr_form .zr_delivery_input{
  height:22px;
  padding:1px 4px;
}

.dash_card.is-maxi-overlay .zr_form .zr_saved_value{
  line-height:24px;
}

.dash_card.is-maxi-overlay .zr_form .card_section_title{
  margin-bottom:5px;
  line-height:1.15;
}

.dash_card.is-maxi-overlay .zr_form .zr_control_metric{
  padding:4px 0;
}

.dash_card.is-maxi-overlay .zr_form .zr_control_label{
  margin:0 0 4px 0;
  font-size:var(--fs_14);
  line-height:1.15;
}

.dash_card.is-maxi-overlay .zr_form .zr_control_value{
  margin-top:1px;
  font-size:20px;
  line-height:1.05;
}

.dash_card.is-maxi-overlay .zr_form .zr_restia_total{
  padding:7px 10px;
  margin-bottom:6px;
}

.dash_card.is-maxi-overlay .zr_form .zr_metric_value{
  font-size:25px;
  line-height:1.05;
}

.dash_card.is-maxi-overlay .zr_form .zr_restia_table th,
.dash_card.is-maxi-overlay .zr_form .zr_restia_table td{
  padding:4px 6px;
  line-height:1.15;
}

.dash_card.is-maxi-overlay .zr_form .zr_submit{
  min-height:40px;
  padding:7px 14px;
}

.dash_card.is-maxi-overlay .zr_form .zr_note_section label{
  line-height:1.1;
}

.dash_card.is-maxi-overlay .zr_form .zr_note_section input{
  margin-top:2px !important;
}
