
/*
Tabulator 1.95 - Frontend CSS: 10 (UI komponenty)

*/

/* Toggle switch styl (sjednocený pro oba systémy) */
.switch {
  position: relative;
  display: flex;
  align-items: center;
  width: auto;
  height: 20px;
  cursor: pointer;
  gap: 8px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  background-color: #ccc;
  transition: .4s;
  border-radius: 34px;
  flex-shrink: 0;
}

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

.switch input:checked + .slider {
  background-color: var(--global-palette1);
}

.switch input:checked + .slider:before {
  transform: translateX(16px);
}

.switch span {
  margin: 0;
}

/* --- Tabulator Pouze Barvy & Opravy (v3) --- */

body.frm-iframe-body {
    background: var(--global-palette9) !important;
    padding: 1px !important;
    margin: 0 !important;
}


/* --- Responzivní Výška Tabulky --- */
.frm-tabulator-container {
  display: flex; 
  flex-direction: column;
  /* 
   * NEJDŮLEŽITĚJŠÍ ČÁST: Nastavte výšku kontejneru. 
   * Zkuste např. 75vh (75% výšky viditelné oblasti okna)
   * nebo použijte calc(), pokud znáte výšku prvků nad tabulkou.
   * Příklad: calc(100vh - VýškaHlavičkyWebu - VýškaWPAdminBaru - JinéOdsazení)
   */
  height: 75vh; /* <-- EXPERIMENTUJTE S TOUTO HODNOTOU */
  max-height: 85vh; /* Volitelné: Maximální výška */
  min-height: 400px; /* Volitelné: Minimální výška */
}

.frm-tabulator-container .frm-tabulator.tabulator {
  flex-grow: 1; /* Dovolí tabulce roztáhnout se */
  min-height: 0; /* Nutné pro flexbox */
  height: auto !important; /* Přepíše původní pevnou výšku */
}

.frm-tabulator .tabulator-tableholder {
   height: 100% !important; /* Vnitřní kontejner musí vyplnit prostor */
}

/* --- Styly pro Ikonová Tlačítka --- */
.tabulator-controls-container .tabulator-buttons .button,
.tabulator-controls-container .button[id^="toggle-filters-"],
.tabulator-controls-container .button[id^="reset-filters-"] {
  padding: 6px 10px; /* Upravte padding podle potřeby */
  font-size: 1.1em; /* Velikost ikony - upravte podle potřeby */
  line-height: 1; 
  min-width: 36px; /* Minimální šířka tlačítka */
  text-align: center;
}

/* --- Styling pro tlačítko Nový záznam --- */
.tabulator-controls-container .tabulator-buttons .add-new-button {
    background-color: #28a745; /* Zelená barva (můžete upravit) */
    border-color: #28a745;
    color: #fff; /* Bílý text/ikona */
}

.tabulator-controls-container .tabulator-buttons .add-new-button:hover {
    background-color: #218838; /* Tmavší zelená pro hover */
    border-color: #1e7e34;
    color: #fff;
}

/* Standardně skrýt header filtry */
.frm-tabulator .tabulator-header .tabulator-col .tabulator-header-filter {
  display: none; 
  margin-top: 5px; 
  padding: 4px; /* Přidáme padding pro lepší vzhled */
  box-sizing: border-box; /* Zajistí správnou velikost */
}

/* Vynutit u inputů uvnitř filtru šířku a padding */
 .frm-tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
 .frm-tabulator .tabulator-header .tabulator-col .tabulator-header-filter select {
    width: 100% !important; /* Vždy plná šířka sloupce */
    padding: 4px 6px !important; /* Konzistentní padding */
    box-sizing: border-box !important;
    border: 1px solid var(--global-palette6); /* Přidáme border pro viditelnost */
    background-color: var(--global-palette9); /* Pozadí filtru */
    color: var(--global-palette4);
 }
 .frm-tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus {
     border-color: var(--global-palette1);
     background-color: var(--global-palette9); /* Může být i jiná barva pro focus */
 }


/* Zobrazit filtry, když je aktivní třída */
.frm-tabulator.header-filters-visible .tabulator-header .tabulator-col .tabulator-header-filter {
  display: block !important; 
}

/* Upravit vzhled tlačítka pro filtry (pokud je potřeba) */
.tabulator-controls-container .tabulator-buttons button[id^="toggle-filters-"] {
   /* Např. specifický margin nebo padding */
   margin-right: 5px; /* Malý odstup od ostatních tlačítek */
}

/* Volitelné: Zvýraznění headeru, když jsou filtry aktivní */
.frm-tabulator.header-filters-visible .tabulator-header {
    box-shadow: inset 0 -3px 0 var(--global-palette1); 
}

.tabulator-controls-container .tabulator-buttons .button i {
  margin: 0; 
  vertical-align: middle; 
}

/* Styl pro odkaz "Nový záznam", pokud je potřeba odlišit */
.tabulator-controls-container .tabulator-buttons .addnew-modal-link {
   /* Případné specifické úpravy */
}

/* Základní kontejner */
.tabulator {
  background-color: var(--global-palette9);
  border: 1px solid var(--global-palette7);
  /* border-radius: 4px; */
  font-family: var(--global-body-font-family);
  /* Přidáno pro lepší ořezání obsahu */
  overflow: hidden;
}

/* Hlavička */
.tabulator .tabulator-header {
  background-color: var(--global-palette8);
  border-bottom: 3px solid var(--global-palette1); /* ZŮSTÁVÁ */
}

.tabulator .tabulator-header .tabulator-col {
  background-color: var(--global-palette8);
  color: var(--global-palette3);
  /* padding: 6px 8px; */
  border-right: none;
  /* text-transform: uppercase; */
  font-weight: 600; /* Standardní header váha */
  /* letter-spacing: 0.3px; */
}

/* Frozen header columns - ODSTRANĚNÍ BORDERU */
.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left,
.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right {
    border-right: none !important;
    border-left: none !important;
    /* padding: 6px 8px; */
    background-color: var(--global-palette8);
}

/* Řádky a buňky */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row {
  background-color:var(--global-palette9);
  color: var(--global-palette4);
  /* Oddělovač se definuje na buňkách pro konzistenci s frozen */
  /* border-bottom: 1px solid var(--global-palette7); */
  /* height: 28px; */
}

/* Střídání barev řádků */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row:nth-child(even) {
  background-color: var(--global-palette8);
}

.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell {
  /* padding: 4px 8px; */
  /* font-size: 13px; */
  border-right: none;
  color: inherit; /* Dědí z řádku */
  /* Přesunuto sem pro sjednocení s frozen */
  border-bottom: 1px solid var(--global-palette7);
}

/* Frozen buňky - ODSTRANĚNÍ L/R BORDERU a správa pozadí/spodního borderu */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left,
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right {
    border-right: none !important;
    border-left: none !important;
    /* Spodní border zdědí z .tabulator-cell */
}
/* Pozadí pro frozen buňky musí kopírovat stavy řádku */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.tabulator-frozen {
    background-color: var(--global-palette9); /* Výchozí */
    color: inherit; /* Dědí barvu textu */
    /* Zajištění, že má stejný spodní border jako ostatní */
    border-bottom: 1px solid var(--global-palette7);
}
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row:nth-child(even) .tabulator-cell.tabulator-frozen {
   background-color: var(--global-palette8); /* Pro sudé řádky */
}
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row:hover .tabulator-cell.tabulator-frozen {
   background-color: var(--global-palette7);
}
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-selected .tabulator-cell.tabulator-frozen {
   background-color: var(--global-palette1); /* Pro selected stav */
   color: var(--global-palette9); /* Kontrastní text */
   /* Selected stav může přepsat border, pokud je to žádoucí */
   /* border-bottom-color: var(--global-palette1); */
}


/* Hover stavy řádku */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row:hover {
  background-color: var(--global-palette7);
}

/* Vybrané řádky */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-selected {
  background-color: var(--global-palette1);
  color: var(--global-palette9);
}
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-selected .tabulator-cell {
    color: inherit;
    /* Změna barvy borderu vybraného řádku (volitelné) */
    /* border-bottom-color: transparent; */ /* Nebo jiná barva */
}


/* Styly pro vyhledávací pole */
.tabulator-search-container { /* ... */ }
.tabulator-search { /* ... */
    border: 1px solid var(--global-palette6);
    background-color: var(--global-palette8);
    color: var(--global-palette4);
}
.tabulator-search::placeholder { color: var(--global-palette5); }
.tabulator-search:focus { /* ... */
    border-color: var(--global-palette1);
    box-shadow: 0 0 0 2px rgba(var(--global-palette1-rgb), 0.2);
    background-color: var(--global-palette9);
}
.tabulator-clear-search { /* ... */ color: var(--global-palette5); }
.tabulator-clear-search:hover { color: var(--global-palette1); }

/* Odkazy pro editaci */
.frm-tabulator-edit-link { /* ... */ color: var(--global-palette1); }
.frm-tabulator-edit-link:hover { color: var(--global-palette2); }
.frm-tabulator-edit-disabled { /* ... */ color: var(--global-palette5); }

/* --- Footer --- */
.tabulator .tabulator-footer {
  background-color: var(--global-palette8);
  /* Změněno na styl headeru */
  border-top: 3px solid var(--global-palette1);
  color: var(--global-palette5);
  padding: 0; /* Padding bude řízen vnitřními elementy */
  font-size: 0.9em;
}

/* --- Footer: Column Calculations Holder --- */
.tabulator .tabulator-footer .tabulator-calcs-holder {
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  background: transparent !important; /* Dědí z footeru */
  border-bottom: 1px solid var(--global-palette7); /* Oddělení od paginace */
  /* border-top: 1px solid var(--global-palette7); */ /* Horní border je nyní na footeru */
  overflow: hidden;
  padding: 6px 12px; /* Vnitřní odsazení */
  /* margin: 5px 0; */ /* Margin není potřeba, řídí padding a bordery */
}
/* Řádek uvnitř calcs-holder */
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row {
  display: inline-block;
  background: transparent !important;
  border-bottom: none;
  color: var(--global-palette4);
}
/* Buňky uvnitř calcs-holder */
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell {
    padding: 4px 8px;
    border-right: 1px solid var(--global-palette7);
    border-bottom: none; /* Nemá mít spodní border */
    background-color: transparent;
    color: var(--global-palette3);
    font-weight: 600; /* === ZTUČNĚNO === */
}
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-cell:last-of-type {
    border-right: none;
}
/* Skrytí resize handle */
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle { display: none; }

/* Pokud je calcs-holder jediný prvek ve footeru */
.tabulator .tabulator-footer .tabulator-calcs-holder:only-child {
   border-bottom: none; /* Nemá spodní border, pokud je sám */
}


/* --- Footer: Paginace --- */
.tabulator .tabulator-footer .tabulator-paginator {
  padding: 8px 12px; /* Přesunut padding sem */
  text-align: right;
}
.tabulator .tabulator-footer .tabulator-page { /* ... */
  border: 1px solid var(--global-palette6);
  color: var(--global-palette4);
  background-color: var(--global-palette9);
}
.tabulator .tabulator-footer .tabulator-page:hover { background-color: var(--global-palette7); }
.tabulator .tabulator-footer .tabulator-page.active {
  background-color: var(--global-palette1);
  color: var(--global-palette9);
  border-color: var(--global-palette1);
}
.tabulator .tabulator-footer .tabulator-page[disabled] { /* ... */
  background-color: var(--global-palette8);
  color: var(--global-palette5);
  border-color: var(--global-palette7);
}

/* --- Tabulator Popup Menu Styling (e.g., Column Visibility) --- */

.tabulator-menu {
  background-color: var(--global-palette8); /* Světlejší pozadí menu */
  border: 1px solid var(--global-palette6);   /* Jemný rámeček */
  border-radius: 4px; /* Konzistentní zaoblení */
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); /* Jemný stín pro oddělení */
  padding: 6px 0; /* Vertikální padding kontejneru */
  margin-top: 4px; /* Malý odstup od spouštěcího prvku */
  z-index: 10000; /* Zajistit, aby bylo nad ostatním obsahem */
  max-height: 300px; /* Omezit výšku, pokud je hodně sloupců */
  overflow-y: auto; /* Povolit rolování */
  overflow-x: hidden; /* Skrýt horizontální rolování */
}

.tabulator-menu .tabulator-menu-item {
  padding: 8px 15px; /* Padding položky */
  color: var(--global-palette4); /* Standardní barva textu */
  cursor: pointer;
  display: flex; /* Pro zarovnání checkboxu a textu */
  align-items: center;
  gap: 8px; /* Mezera mezi checkboxem a textem */
  background-color: transparent; /* Výchozí průhledné pozadí */
  transition: background-color 0.15s ease, color 0.15s ease; /* Plynulý přechod */
}

.tabulator-menu .tabulator-menu-item:hover {
  background-color: var(--global-palette7); /* Hover pozadí */
  color: var(--global-palette3); /* Silnější text na hover */
}

/* Cílení na label uvnitř položky pro lepší klikatelnost */
.tabulator-menu .tabulator-menu-item label {
  color: inherit; /* Dědí barvu z položky */
  cursor: pointer;
  flex-grow: 1; /* Label zabere zbývající místo */
  /* Odstranění možných výchozích marginů */
  margin: 0;
  padding: 0;
}

/* Základní stylizace checkboxu (prohlížeče to mohou vykreslovat různě) */
.tabulator-menu .tabulator-menu-item input[type=checkbox] {
  cursor: pointer;
  margin: 0; /* Odstranění výchozích marginů */
  /* Moderní vlastnost pro barvu zaškrtnutí (funguje v Chrome, Edge, Firefox) */
  accent-color: var(--global-palette1);
}

/* Oddělovač v menu (pokud Tabulator používá) */
.tabulator-menu .tabulator-menu-sep {
  border-top: 1px solid var(--global-palette6);
  margin: 4px 0;
}
/* Odstraněna flexbox část pro kombinaci, způsobovala komplikace s :only-child a bordery. */
/* Pokud potřebujete specifický layout pro kombinaci calcs + paginator, je lepší jej řešit cíleněji. */


/* --- Zarovnání ovládacích prvků do jednoho řádku --- */
.tabulator-controls-container {
    display: flex;
    flex-wrap: wrap; /* Povolí zalamování na menších obrazovkách */
    justify-content: space-between; /* Rozmístí skupiny prvků */
    align-items: center; /* Zarovná prvky vertikálně na střed */
    grid-gap: 15px; /* Mezera mezi hlavními skupinami (hledání vs tlačítka) */
    margin-bottom: 15px; /* Odsazení pod ovládacími prvky */
}

.tabulator-search-container {
    display: flex; /* Zarovná prvky uvnitř hledání */
    align-items: center;
    flex-grow: 1; /* Dovolí hledací části zabrat volné místo */
    flex-basis: 300px; /* Minimální šířka pro hledací část */
    grid-gap: 8px; /* Menší mezery uvnitř hledací části */
}

.tabulator-search-container .tabulator-search {
     flex-grow: 1; /* Vyhledávací pole se roztáhne */
}

.tabulator-buttons {
    display: flex; /* Tlačítka vedle sebe */
    flex-wrap: nowrap; /* Zkusí udržet tlačítka na jednom řádku */
    grid-gap: 5px; /* Mezera mezi tlačítky */
}

/* Volitelné: Zajistit, aby se počítadla nezalamovala zbytečně brzy */
.tabulator-record-counter,
.tabulator-selected-counter {
    white-space: nowrap;
    flex-shrink: 0; /* Zabrání smrštění počítadel */
}

/* KOMPLETNÍ KALENDÁŘOVÝ CSS */

/* FullCalendar - custom styling */

.fc .fc-scrollgrid-section-sticky > * {
    background:  transparent;
    position: sticky;
    z-index: 3;
}

/* Plně přizpůsobit zobrazení události */
.fc-daygrid-event, .fc-list-event {
    display: block !important;
    flex-direction: column !important;
    margin: 1px 0 0 0 !important; /* Redukovaný margin dole */
    padding: 2px !important;
    border-radius: 3px !important;
    border-left-width: 0 !important;
}

/* Vytvořit prostor pro datum */
.fc-dayGridMonth-view .fc-daygrid-day-top {
    position: relative !important;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 5;
    padding: 2px 4px;
    height: 20px; /* Fixní výška pro oblast data */
}

/* Zajistit, aby události začínaly až pod datem */
.fc-daygrid-day-events {
    margin-top: 6px !important; /* Začít události pod oblastí data */
    padding-top: 2px;
}

/* Zvýraznit čísla dnů - text zdědí barvu z okolí, pozadí transparentní */
.fc-daygrid-day-number {
    font-weight: bold;
    background-color: transparent;
    border-radius: 3px;
    padding: 1px 3px;
    display: inline-block;
    /* Barva textu bude pravděpodobně zděděna z .fc-day-today nebo .fc-col-header-cell-cushion,
       které by měly respektovat paletu textu Kadence (např. --global-palette3) */
}

/* Zajistit, aby jméno bylo na novém řádku */
.fc-event-title {
    display: block !important;
    width: 100% !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: bold !important;
    margin-bottom: 1px !important;
    padding: 1px 2px !important;
    line-height: 1.2 !important;
    /* Barva textu bude řízena třídou event-status-* nebo title-bg-* níže */
}

.fc-event-creator {
    display: block !important;
    width: 100% !important;
    font-size: 10px !important;
    font-style: italic !important;
    opacity: 0.9 !important;
    margin-top: 1px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    clear: both !important;
    padding: 1px 2px !important;
    /* Použijeme paletu 8 (světlé pozadí) s průhledností. Ověřte dostupnost -h, -s, -l proměnných. */
    /* Alternativa, pokud Kadence generuje -alpha-XX proměnné: background-color: var(--global-palette8-alpha-85, hsla(var(--global-palette8-h, 0), var(--global-palette8-s, 0%), var(--global-palette8-l, 96%), 0.85)) !important; */
    background-color: hsla(var(--global-palette8-h, 0), var(--global-palette8-s, 0%), var(--global-palette8-l, 96%), 0.85) !important; /* Předpoklad: paleta 8 je velmi světlá, nastavíme L na vysokou hodnotu pro fallback */
    color: #333 !important; /* Hlavní textová barva */
    border-radius: 2px !important;
    line-height: 1.1 !important;
}

/* Barvy stavů událostí - PONECHÁNY SÉMANTICKÉ BARVY */
.event-status-default {
    background-color: var(--global-palette5) !important; /* Středně šedá z palety */
    color: var(--global-palette9) !important; /* Kontrastní text (pravděpodobně bílá/černá) */
}
.event-status-novy {
    background-color: #ff9800 !important; /* oranžová */
    color: #ffffff !important;
}
.event-status-schvaleno {
    background-color: #4caf50 !important; /* zelená */
    color: #ffffff !important;
}
.event-status-zamitnuto {
    background-color: #f44336 !important; /* červená */
    color: #ffffff !important;
}

/* Pozadí pro jméno, aby bylo vždy čitelné - stejné jako event-status */
.title-bg-default {
    background-color: var(--global-palette5) !important; /* Středně šedá z palety */
    color: var(--global-palette9) !important; /* Kontrastní text */
    border-radius: 2px !important;
}
.title-bg-novy {
    background-color: #ff9800 !important; /* oranžová */
    color: #ffffff !important;
    border-radius: 2px !important;
}
.title-bg-schvaleno {
    background-color: #4caf50 !important; /* zelená */
    color: #ffffff !important;
    border-radius: 2px !important;
}
.title-bg-zamitnuto {
    background-color: #f44336 !important; /* červená */
    color: #ffffff !important;
    border-radius: 2px !important;
}

/* Hlavní barva události, pokud je fakturováno */
.fc-daygrid-event.event-is-invoiced,
.fc-list-event.event-is-invoiced {
    background-color: #0D47A1 !important; /* Tmavě modrá (Material Blue 900) */
    border-color: #0D47A1 !important;
}
.fc-daygrid-event.event-is-invoiced .fc-event-title, /* Cílení na titulek uvnitř */
.fc-list-event.event-is-invoiced .fc-event-title {
    color: #FFFFFF !important;
}

/* Pozadí pro titulek, pokud je událost fakturována (pro eventContent) */
.title-bg-invoiced {
    background-color: #0D47A1 !important;
    color: #ffffff !important;
    border-radius: 2px !important;
}

/* Styly pro radio buttony stavu fakturace (v modálním okně) */
.status-label.invoiced { /* .invoiced z INVOICE_STATUS_OPTIONS[key].cssClass */
    background-color: #0D47A1 !important; /* Modrá */
    color: white !important;
}
.status-label.not-invoiced {
    background-color: #757575 !important; /* Šedá pro "NE" */
    color: white !important;
}
.status-label.unknown-invoice {
    background-color: #BDBDBD !important; /* Světle šedá pro "Nevím" */
    color: black !important; /* Dobrý kontrast */
}

/* Tooltip styling */
.fc-event-tooltip {
    position: fixed;
    background-color: var(--global-palette2, #4285f4) !important; /* Sekundární barva - světlejší než primary */
    color: var(--global-palette9, #ffffff) !important; /* Bílý text */
    border: none !important;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 12px;
    pointer-events: none;
    z-index: 999999; /* Zvýšený z-index pro lepší viditelnost */
    max-width: 300px;
    white-space: normal;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important; /* Výraznější stín */
}

/* Modální okno styling */
.kalendar-modal-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Kadence může mít vlastní proměnnou pro overlay, např. var(--kadence--color-overlay-base) */
    background: var(--kadence-color-overlay, rgba(0,0,0,0.5)) !important; /* Fallback na tmavý overlay */
}

.kalendar-modal-content {
    position: relative;
    background: var(--global-palette9) !important; /* Hlavní barva pozadí (bílá/tmavá) */
    color: var(--global-palette3) !important; /* Hlavní textová barva */
    border-radius: 8px;
    width: 95%;
    max-width: 700px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3); /* Obecný stín */
    padding: 20px;
    z-index: 10000;
}

pre {
    background: var(--global-palette7) !important; /* Pozadí sekcí (světle šedá / tmavě šedá) */
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 0.9375rem;
    color: var(--global-palette3) !important; /* Hlavní textová barva */
    overflow: auto;
    padding: 1em;
    white-space: pre-wrap;
    line-height: 1.6;
    max-width: 100%;
}

.kalendar-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--global-palette6) !important; /* Barva pro okraje/oddělovače */
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.kalendar-modal-header h2 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--global-palette3) !important; /* Hlavní textová barva */
}

.kalendar-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--global-palette5) !important; /* Středně šedá pro méně důležité prvky */
}

.kalendar-modal-body {
    font-size: 14px;
    color: var(--global-palette4) !important; /* Sekundární textová barva */
}

.kalendar-modal-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.kalendar-modal-list li {
    margin-bottom: 10px;
}

.kalendar-modal-creator {
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--global-palette3) !important; /* Hlavní textová barva */
}

.kalendar-modal-dates {
    margin-bottom: 10px;
    color: var(--global-palette4) !important; /* Sekundární textová barva */
}

/* Indikátor stavu v seznamu */
.kalendar-modal-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    margin-right: 5px;
    /* Barvy budou definovány specifickými .status-* třídami níže */
}

.kalendar-modal-footer {
    text-align: right;
    margin-top: 20px;
    border-top: 1px solid var(--global-palette6) !important; /* Barva pro okraje/oddělovače */
    padding-top: 10px;
}

/* Menší tlačítka */
.kalendar-modal-footer button {
    background-color: var(--global-palette1) !important; /* Primární akcentní barva */
    color: var(--global-palette1-contrast, var(--global-palette9)) !important; /* Kontrastní text k paletě 1, fallback na paletu 9 */
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 10px;
    font-size: 13px;
}
.kalendar-modal-footer button:hover {
    background-color: var(--global-palette2) !important; /* Sekundární akcentní barva pro hover */
    /* Barva textu by měla zůstat stejná, pokud je kontrast dostatečný i pro paletu 2 */
}


/* Barvy stavů pro odznak v modálním okně - PONECHÁNY SÉMANTICKÉ BARVY */
.status-novy {
    background-color: #ff9800; /* oranžová */
    color: #ffffff;
}
.status-schvaleno {
    background-color: #4caf50; /* zelená */
    color: #ffffff;
}
.status-zamitnuto {
    background-color: #f44336; /* červená */
    color: #ffffff;
}
.status-default {
    background-color: var(--global-palette5) !important; /* Středně šedá z palety */
    color: var(--global-palette9) !important; /* Kontrastní text */
}

/* Optimalizace pro mobilní zařízení - VYLEPŠENO */
@media (max-width: 768px) {
    /* Pro zobrazení celého měsíce na mobilu */
    .fc {
        height: auto !important;
    }
    
    .fc .fc-scrollgrid-liquid {
        height: auto !important;
    }
    
    .fc-view-harness {
        height: auto !important;
        min-height: 500px !important;
    }
    
    /* Kompaktnější hlavička kalendáře */
    .fc-header-toolbar {
        flex-wrap: wrap;
        gap: 5px;
    }
    
    /* Menší tlačítka v hlavičce */
    .fc-button {
        padding: 0.2em 0.4em !important;
        font-size: 0.8em !important;
        /* Barvy tlačítek FullCalendaru by měly být řízeny jeho vlastním nastavením nebo obecnými styly tlačítek Kadence,
           pokud nejsou přepsány zde specificky. */
    }
    
    .fc-prev-button, .fc-next-button {
        padding: 0.2em 0.3em !important;
    }
    
    /* Menší nadpisy */
    .fc-toolbar-title {
        font-size: 1.2em !important;
    }
    
    /* Menší čísla dnů */
    .fc-daygrid-day-number {
        font-size: 0.9em;
        padding: 0 2px;
    }
    
    /* Menší výška oblasti data */
    .fc-dayGridMonth-view .fc-daygrid-day-top {
        height: auto;
        min-height: 14px;
        padding: 1px 2px;
    }
    
    /* Zmenšit mezery mezi událostmi */
    .fc-daygrid-day-events {
        margin-top: 3px !important;
        padding-top: 1px;
    }
    
    /* Kompaktnější buňky */
    .fc-daygrid-day-frame {
        padding: 0 !important;
    }
    
    /* Optimalizace modálního okna */
    .kalendar-modal-content {
        width: 98%;
        padding: 10px;
    }
    
    .kalendar-modal-header h2 {
        font-size: 1.2rem;
    }
    
    .kalendar-modal-body {
        font-size: 13px;
    }
    
    .kalendar-modal-footer button {
        padding: 5px 10px;
        font-size: 12px;
    }
}

/* Skrytí admin baru v iframe */
body.iframe-mode {
    padding-top: 0 !important;
}

body.iframe-mode #wpadminbar,
body.iframe-mode #adminmenumain,
body.iframe-mode #adminmenuwrap,
body.iframe-mode #wpfooter {
    display: none !important;
}

body.iframe-mode #wpcontent {
    margin-left: 0 !important;
}

/* Rozšířený iframe */
.kalendar-modal-iframe {
    width: 100% !important;
    height: 600px !important; /* vyšší iframe */
    border: none !important;
}

/* Styly pro radio button pole s okamžitou aktualizací */
.status-radio-buttons {
    display: flex;
    grid-gap: 10px; /* nahrazeno gap pro modernější prohlížeče */
    gap: 10px;
    margin-top: 5px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.status-radio {
    position: relative;
    display: inline-block;
    cursor: pointer;
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.status-radio input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* PONECHÁNY SÉMANTICKÉ BARVY PRO LABELY */
.status-label {
    display: inline-block;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    color: white !important; /* Zajistit bílý text */
    transition: all 0.2s ease;
}

.status-label.novy {
    background-color: #ff9800 !important;
}

.status-label.schvaleno {
    background-color: #4caf50 !important;
}

.status-label.zamitnuto {
    background-color: #f44336 !important;
}

.status-radio:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.status-radio.active {
    box-shadow: 0 0 0 2px var(--global-palette1) !important; /* Primární akcentní barva pro aktivní stav */
}

/* Kadence může mít vlastní proměnné pro success/error, např. var(--kadence-color-success) */
.status-update-confirmation {
    margin-top: 10px;
    padding: 8px;
    background-color: var(--kadence-color-success-light, rgba(76, 175, 80, 0.1)) !important;
    border-left: 3px solid var(--kadence-color-success, #4caf50) !important;
    color: var(--kadence-color-success-dark, #387b3a) !important; /* Tmavší zelená pro lepší čitelnost */
    font-weight: bold;
    opacity: 1;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
}

.status-update-error {
    margin-top: 10px;
    padding: 8px;
    background-color: var(--kadence-color-error-light, rgba(244, 67, 54, 0.1)) !important;
    border-left: 3px solid var(--kadence-color-error, #f44336) !important;
    color: var(--kadence-color-error-dark, #c62f27) !important; /* Tmavší červená pro lepší čitelnost */
    font-weight: bold;
    opacity: 1;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
}

.success-tick, .error-icon {
    font-size: 1.2em;
    margin-right: 5px;
    animation: pulse 1s infinite;
    /* Barva by měla být zděděna z rodiče (.status-update-confirmation / .status-update-error) */
    color: inherit !important;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}




/* === FlexiBee-like Column Settings Panel Styling === */
/* Hlavní panel nastavení sloupců */
.frm-tabulator-column-toggle-panel {
  position: fixed;
  top: 150px; /* Adjust based on your header/admin bar */
  right: 0px;
  height: 100%;
  width: 300px;
  background-color: var(--global-palette9, #fff);
  color: var(--global-palette1, #000);
  padding: 15px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  z-index: 9999;
  display: none; /* Hidden by default */
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  transition: all 0.3s ease-in-out;
}

.frm-tabulator-column-toggle-panel.active {
  display: flex; /* Show when active */
}

body.wp-admin .frm-tabulator-column-toggle-panel {
  top: 150px !important; /* Same as non-admin, WP admin bar handled differently */
}

body[class*="kadence-theme-dark"] .frm-tabulator-column-toggle-panel {
  background-color: var(--global-palette1, #1a1a1a);
  color: var(--global-palette9, #fff);
}

.frm-tabulator-column-toggle-panel .column-settings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.frm-tabulator-column-toggle-panel .column-settings-header span {
    font-weight: bold;
    font-size: 16px;
}

.frm-tabulator-column-toggle-panel .column-settings-close {
    cursor: pointer;
    font-size: 20px;
    color: var(--global-palette5);
}

.frm-tabulator-column-toggle-panel .column-settings-search {
    width: 100%;
    padding: 5px;
    margin-bottom: 10px;
    box-sizing: border-box;
    border: 1px solid var(--global-palette6);
    background-color: var(--global-palette8);
    color: var(--global-palette4);
}

.frm-tabulator-column-toggle-panel .column-settings-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* FlexiBee panel používá nyní sjednocené .switch styly */

/* Sjednocený panel pro nastavení sloupců (Formidable Forms) */
.column-settings-panel {
  position: fixed;
  top: 150px;
  right: 20px;
  width: 300px;
  height: 100%;
  background-color: var(--global-palette9, #fff) !important;
  color: var(--global-palette1, #000) !important;
  padding: 15px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  z-index: 9999;
  overflow-y: auto;
  transition: all 0.3s ease-in-out;
  border: 1px solid var(--global-palette7);
}

.column-settings-panel .column-settings-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.column-settings-panel .column-settings-header span {
  font-weight: bold;
  font-size: 16px;
}

.column-settings-panel .column-settings-close {
  cursor: pointer;
  font-size: 20px;
  color: var(--global-palette5);
}

.column-settings-panel .column-settings-search {
  width: 100%;
  padding: 5px;
  margin-bottom: 10px;
  box-sizing: border-box;
  border: 1px solid var(--global-palette6);
  background-color: var(--global-palette8);
  color: var(--global-palette4);
}

.column-settings-panel .column-settings-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.column-settings-panel .column-settings-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

body.wp-admin .column-settings-panel {
  top: 150px !important; /* Same as non-admin, WP admin bar handled differently */
}

body[class*="kadence-theme-dark"] .column-settings-panel {
  background-color: var(--global-palette1, #1a1a1a) !important;
  color: var(--global-palette9, #fff) !important;
}

/* Styly pro FlexiBee toolbar dropdown - modré pozadí s bílým textem */
.toolbar-dropdown {
  border: 1px solid var(--global-palette1);
  background-color: var(--global-palette1);
  color: var(--global-palette9);
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  font-weight: 500;
}

.toolbar-dropdown:focus {
  outline: none;
  border-color: var(--global-palette2);
  background-color: var(--global-palette2);
  box-shadow: 0 0 0 2px rgba(var(--global-palette1-rgb), 0.2);
}

.toolbar-dropdown:hover {
  background-color: var(--global-palette2);
  border-color: var(--global-palette2);
}

body[class*="kadence-theme-dark"] .toolbar-dropdown {
  background-color: var(--global-palette1);
  color: var(--global-palette9);
  border-color: var(--global-palette1);
}

body[class*="kadence-theme-dark"] .toolbar-dropdown:focus {
  background-color: var(--global-palette2);
  border-color: var(--global-palette2);
}

/* === REPEATER FIELD FORMATTER STYLES === */
.repeater-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
}

.repeater-item {
    display: block;
    background-color: #f1f3f4;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    padding: 3px 6px;
    font-size: 0.9em;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.repeater-more {
    display: block;
    background-color: #e5e7eb;
    border: 1px solid #9ca3af;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 0.8em;
    color: #6b7280;
    cursor: help;
    font-weight: bold;
    font-style: italic;
    text-align: center;
}

.repeater-more:hover {
    background-color: #d1d5db;
    border-color: #6b7280;
}

/* Dark theme support */
body[class*="kadence-theme-dark"] .repeater-container {
    /* Container doesn't need dark theme specific styles */
}

body[class*="kadence-theme-dark"] .repeater-item {
    background-color: var(--global-palette2);
    border-color: var(--global-palette3);
    color: var(--global-palette9);
}

body[class*="kadence-theme-dark"] .repeater-more {
    background-color: var(--global-palette1);
    border-color: var(--global-palette3);
    color: var(--global-palette8);
}

body[class*="kadence-theme-dark"] .repeater-more:hover {
    background-color: var(--global-palette2);
    border-color: var(--global-palette4);
}