/* ======================================================
   Compact Mode — per-user hustota zobrazení
   Aktivuje se třídou body.compact-1 nebo body.compact-2
   ====================================================== */

/* ─── Level 1: Kompakt ─────────────────────────────── */

body.compact-1 {
  font-size: 13px;
  --goout-width: 58px;
  --nav-h: 64px;
}

/* Navbar */
body.compact-1 .navbar { padding-top: 6px; padding-bottom: 6px; }
body.compact-1 .navbar-brand img { height: 28px; }
body.compact-1 .navbar .form-control,
body.compact-1 .navbar .form-control-sm,
body.compact-1 .navbar .form-select,
body.compact-1 .navbar .form-select-sm {
  font-size: 12px !important;
  padding-top: 3px;
  padding-bottom: 3px;
}

/* Modal */
body.compact-1 .modal-theme-slate .modal-body-content {
  padding: 14px 20px;
}
body.compact-1 .modal-theme-slate .modal-sidebar {
  width: 50px;
  min-width: 50px;
  padding: 12px 0 10px;
  gap: 8px;
}
body.compact-1 .modal-theme-slate .sidebar-btn {
  width: 34px;
  height: 34px;
  font-size: 17px;
}
body.compact-1 .modal-theme-slate .sidebar-separator {
  margin: 4px 0;
}
body.compact-1 .modal-theme-slate .input-group-text {
  height: auto !important;
  padding-top: 4px;
  padding-bottom: 4px;
}
body.compact-1 .modal-theme-slate .modal-header {
  padding: 12px 18px;
}
body.compact-1 .modal-theme-slate .modal-title {
  font-size: 14px;
}
body.compact-1 .modal-theme-slate #modalHeaderActions .btn {
  width: 30px;
  height: 30px;
  font-size: 12px;
}
body.compact-1 .modal-theme-slate .modal-footer {
  padding: 10px 18px;
}
body.compact-1 .modal-theme-slate .modal-footer .text-muted {
  font-size: 12px;
}
body.compact-1 .modal-theme-slate .section-wrapper {
  margin-top: 14px;
  margin-bottom: 14px;
}

/* Formulářové prvky — font-size !important přebíjí .form-select-sm override v layout.css */
body.compact-1 .modal-theme-slate .form-control,
body.compact-1 .modal-theme-slate .form-select,
body.compact-1 .modal-theme-slate .form-control-sm,
body.compact-1 .modal-theme-slate .form-select-sm {
  padding: 4px 0 6px;
  padding-right: 2rem;   /* zachovat místo pro Bootstrap select arrow */
  font-size: 0.875rem !important;
}
/* Input bez arrow (search, text) nepotřebuje extra padding-right */
body.compact-1 .modal-theme-slate input.form-control,
body.compact-1 .modal-theme-slate input.form-control-sm {
  padding-right: 0;
}
body.compact-1 .modal-theme-slate .form-label {
  font-size: 0.65rem;
  margin-bottom: 3px;
}
body.compact-1 .modal-theme-slate .row.g-3 {
  --bs-gutter-y: 1.15rem;
}

/* List view — data buňky */
body.compact-1 #listViewTable td {
  padding: 3px 7px !important;
  font-size: 12px !important;
}
/* List view — header buňky (více paddingu než data, ať to vypadá správně) */
body.compact-1 #listViewTable th,
body.compact-1 #lvStickyHeader th {
  padding: 5px 7px !important;
  font-size: 12px !important;
}
body.compact-1 #listViewTable th.promo-th,
body.compact-1 #lvStickyHeader th.promo-th {
  padding: 0 !important;
  height: 56px;
  min-width: 0 !important;
}
body.compact-1 #listViewTable th.promo-th .promo-label,
body.compact-1 #lvStickyHeader th.promo-th .promo-label {
  font-size: 12px;
}
body.compact-1 #listViewTable td.promo-cell,
body.compact-1 #lvStickyHeader td.promo-cell {
  padding: 1px 0 !important;
  min-width: 0 !important;
}

/* Calendar grid */
body.compact-1 #calendarContainer td {
  padding: 3px 4px;
  font-size: 12px;
  vertical-align: middle;  /* přebíjí default baseline — zarovná datum s názvem */
}
body.compact-1 #calendarContainer .akce-cell-content {
  min-height: 22px;  /* zmenšit pro compact (default 28px) */
}
body.compact-1 #calendarContainer .akce-title {
  font-size: 12px;
  padding: 2px 6px;
}
body.compact-1 .goout-text-overlay {
  font-size: 9px;
}
body.compact-1 .poradatel-overlay {
  font-size: 11px;
  flex: 0 0 100px;
  max-width: 100px;
  min-width: 100px;
}


/* ─── Level 2: Ultra ───────────────────────────────── */

body.compact-2 {
  font-size: 12px;
  --goout-width: 54px;
  --nav-h: 56px;
}

/* Navbar */
body.compact-2 .navbar { padding-top: 4px; padding-bottom: 4px; }
body.compact-2 .navbar-brand img { height: 24px; }
body.compact-2 .navbar .form-control,
body.compact-2 .navbar .form-control-sm,
body.compact-2 .navbar .form-select,
body.compact-2 .navbar .form-select-sm {
  font-size: 11px !important;
  padding-top: 2px;
  padding-bottom: 2px;
}

/* Modal */
body.compact-2 .modal-theme-slate .modal-body-content {
  padding: 10px 14px;
}
body.compact-2 .modal-theme-slate .modal-sidebar {
  width: 44px;
  min-width: 44px;
  padding: 8px 0;
  gap: 5px;
}
body.compact-2 .modal-theme-slate .sidebar-btn {
  width: 28px;
  height: 28px;
  font-size: 14px;
}
body.compact-2 .modal-theme-slate .sidebar-separator {
  margin: 2px 0;
}
body.compact-2 .modal-theme-slate .input-group-text {
  height: auto !important;
  padding-top: 3px;
  padding-bottom: 3px;
}
body.compact-2 .modal-theme-slate .input-group-text .form-check-input {
  width: 13px;
  height: 13px;
}
body.compact-2 .modal-theme-slate .modal-header {
  padding: 8px 14px;
}
body.compact-2 .modal-theme-slate .modal-title {
  font-size: 13px;
}
body.compact-2 .modal-theme-slate #modalHeaderActions .btn {
  width: 26px;
  height: 26px;
  font-size: 11px;
}
body.compact-2 .modal-theme-slate .modal-footer {
  padding: 7px 14px;
}
body.compact-2 .modal-theme-slate .modal-footer .text-muted {
  font-size: 11px;
}
body.compact-2 .modal-theme-slate .section-wrapper {
  margin-top: 10px;
  margin-bottom: 10px;
}

/* Formulářové prvky */
body.compact-2 .modal-theme-slate .form-control,
body.compact-2 .modal-theme-slate .form-select,
body.compact-2 .modal-theme-slate .form-control-sm,
body.compact-2 .modal-theme-slate .form-select-sm {
  padding: 3px 0 5px;
  padding-right: 2rem;
  font-size: 0.8rem !important;
}
body.compact-2 .modal-theme-slate input.form-control,
body.compact-2 .modal-theme-slate input.form-control-sm {
  padding-right: 0;
}
body.compact-2 .modal-theme-slate .form-label {
  font-size: 0.6rem;
  margin-bottom: 2px;
}
body.compact-2 .modal-theme-slate .row.g-3 {
  --bs-gutter-y: 0.95rem;
}

/* List view — data buňky */
body.compact-2 #listViewTable td {
  padding: 1px 5px !important;
  font-size: 11px !important;
}
/* List view — header buňky */
body.compact-2 #listViewTable th,
body.compact-2 #lvStickyHeader th {
  padding: 4px 5px !important;
  font-size: 11px !important;
}
body.compact-2 #listViewTable th.promo-th,
body.compact-2 #lvStickyHeader th.promo-th {
  padding: 0 !important;
  height: 52px;
  min-width: 0 !important;
}
body.compact-2 #listViewTable th.promo-th .promo-label,
body.compact-2 #lvStickyHeader th.promo-th .promo-label {
  font-size: 11px;
}
body.compact-2 #listViewTable td.promo-cell,
body.compact-2 #lvStickyHeader td.promo-cell {
  padding: 1px 0 !important;
  min-width: 0 !important;
}

/* Calendar grid */
body.compact-2 #calendarContainer td {
  padding: 1px 3px;
  font-size: 11px;
  vertical-align: middle;
}
body.compact-2 #calendarContainer .akce-cell-content {
  min-height: 18px;
}
body.compact-2 #calendarContainer .akce-title {
  font-size: 11px;
  padding: 1px 4px;
}
body.compact-2 .poradatel-overlay {
  font-size: 10px;
  flex: 0 0 90px;
  max-width: 90px;
  min-width: 90px;
}
body.compact-2 .goout-text-overlay {
  font-size: 9px;
}
