/* aLogic – doplnkové štýly rozhrania (CLAUDE.md, „Pravidlá rozhrania“). Načíta ich Filament (FilamentAsset). */

/* Hlavička: na mobile sa hlavné tlačidlá zbalia do jednej ponuky „⋯“. */
@media (max-width: 767.98px) {
    .alogic-iba-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .alogic-iba-mobil {
        display: none !important;
    }
}

/* Záložky vľavo v páse tabuľky (vedľa hľadania a filtra). */
.fi-ta-header-toolbar .alogic-zalozky-pas.fi-tabs {
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    flex: 1 1 auto;
    min-width: 0;
}

.fi-ta-header-toolbar:has(.alogic-zalozky-pas) {
    flex-wrap: wrap;
    row-gap: 0.5rem;
}

/* Pás kariet v detaile na celú šírku, zarovnaný s ostatnými blokmi. */
.alogic-karty > .fi-tabs:not(.fi-contained) {
    margin-inline: 0;
    width: 100%;
}

/* ---------------------------------------------------------------- Stavy (App\Enums\Stav) */
/* Bledé podfarbenie s tmavším textom rovnakej farby. */
.alogic-ton-danger { --alogic-ton-bg: var(--danger-50); --alogic-ton-text: var(--danger-700); --alogic-ton-okraj: var(--danger-200); }
.alogic-ton-warning { --alogic-ton-bg: var(--warning-50); --alogic-ton-text: var(--warning-700); --alogic-ton-okraj: var(--warning-200); }
.alogic-ton-success { --alogic-ton-bg: var(--success-50); --alogic-ton-text: var(--success-700); --alogic-ton-okraj: var(--success-200); }
.alogic-ton-gray { --alogic-ton-bg: var(--gray-50); --alogic-ton-text: var(--gray-700); --alogic-ton-okraj: var(--gray-200); }
.dark .alogic-ton-danger { --alogic-ton-bg: color-mix(in oklab, var(--danger-400) 12%, transparent); --alogic-ton-text: var(--danger-300); --alogic-ton-okraj: color-mix(in oklab, var(--danger-400) 30%, transparent); }
.dark .alogic-ton-warning { --alogic-ton-bg: color-mix(in oklab, var(--warning-400) 12%, transparent); --alogic-ton-text: var(--warning-300); --alogic-ton-okraj: color-mix(in oklab, var(--warning-400) 30%, transparent); }
.dark .alogic-ton-success { --alogic-ton-bg: color-mix(in oklab, var(--success-400) 12%, transparent); --alogic-ton-text: var(--success-300); --alogic-ton-okraj: color-mix(in oklab, var(--success-400) 30%, transparent); }
.dark .alogic-ton-gray { --alogic-ton-bg: color-mix(in oklab, var(--gray-400) 10%, transparent); --alogic-ton-text: var(--gray-300); --alogic-ton-okraj: color-mix(in oklab, var(--gray-400) 25%, transparent); }

.alogic-stav {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.25rem;
    white-space: nowrap;
    background: var(--alogic-ton-bg);
    color: var(--alogic-ton-text);
}

/* Ikona stavu = zaoblený štvorček (resources/svg/stav-*.svg) vyplnený farbou stavu. */
.alogic-stav .fi-icon,
.alogic-znacka-stavu .fi-icon {
    color: var(--alogic-ton-text);
    flex: none;
}

/* Text stavov má všade rovnaké písmo, veľkosť aj hrúbku (líši sa iba farbou a ikonou) – aj v odznakoch Filamentu. */
.fi-badge {
    font-size: 0.75rem;
    font-weight: 500;
}

/* Blok „Stav dokladov“: štítky stavu pod sebou, dlhý text sa zalomí. */
.alogic-stav-zoznam {
    display: grid;
    gap: 0.375rem;
    justify-items: start;
}

.alogic-stav-zoznam .alogic-stav {
    white-space: normal;
    align-items: flex-start;
}

.alogic-stav-zoznam .alogic-stav .fi-icon {
    margin-top: 0.125rem;
}

/* Žiadne kruhy (rozhodnutie 29. 9. 2026): avatar používateľa a klienta je zaoblený štvorec
   (vyššia priorita – štýly Filamentu sa načítajú až po týchto). */
html .fi-avatar,
html .fi-avatar.fi-circular {
    border-radius: 0.5rem;
}

/* ---------------------------------------------------------------- Menu: iba oblasti, Firma a Administrácia dole */
.fi-sidebar-nav-groups {
    flex: 1 1 auto;
}

.fi-sidebar-group:has(.alogic-menu-dole),
.fi-sidebar-group:has(.alogic-menu-dole) > .fi-sidebar-group-items {
    flex: 1 1 auto;
}

.fi-sidebar-group:has(.alogic-menu-dole) > .fi-sidebar-group-items {
    display: flex;
    flex-direction: column;
}

.fi-sidebar-item:not(.alogic-menu-dole) + .alogic-menu-dole {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--gray-200);
}

.dark .fi-sidebar-item:not(.alogic-menu-dole) + .alogic-menu-dole {
    border-top-color: var(--gray-800);
}

/* ---------------------------------------------------------------- Jemný štýl (krok 3, 29. 9. 2026) */
/* Svetlosivé pozadie, biele bloky s tenkým okrajom a zaoblenými rohmi, takmer bez tieňov. */
:root {
    --alogic-pozadie: #f4f5f7;
    --alogic-blok: #ffffff;
    --alogic-okraj: var(--gray-200);
}

.dark {
    --alogic-pozadie: var(--gray-950);
    --alogic-blok: var(--gray-900);
    --alogic-okraj: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.fi-body,
.fi-layout {
    background-color: var(--alogic-pozadie);
}

.fi-topbar > nav,
.fi-topbar {
    box-shadow: none;
}

.fi-topbar > nav {
    background-color: var(--alogic-blok);
    border-bottom: 1px solid var(--alogic-okraj);
}

/* Bloky: sekcie, tabuľky, widgety, pás záložiek. */
.fi-section:not(.fi-section-not-contained):not(.fi-aside),
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-tabs.fi-contained,
.fi-page-sub-navigation-tabs,
.fi-sc-tabs.fi-contained,
.fi-in-repeatable-item {
    --tw-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    box-shadow: none;
    border: 1px solid var(--alogic-okraj);
    border-radius: 0.75rem;
    background-color: var(--alogic-blok);
}

/* Pás záložiek sekcií oblasti: zarovnaný vľavo, na celú šírku ako ostatné bloky. */
.fi-page-sub-navigation-tabs {
    margin-inline: 0;
    max-width: none;
    width: 100%;
}

/* Stavy (odznaky): bledé podfarbenie s tmavším textom rovnakej farby, bez orámovania. */
.fi-badge {
    --tw-ring-color: transparent;
}

.fi-badge.fi-color {
    --tw-ring-color: transparent;
}

/* Tlačidlá a vstupy bez tieňa. */
.fi-btn,
.fi-input-wrp {
    --tw-shadow: 0 0 #0000;
}

/* ---------------------------------------------------------------- Hlavička menu: logo a názov klienta */
.alogic-znacka {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    height: 100%;
    min-width: 0;
}

.alogic-znacka-logo {
    height: 100%;
    max-width: 6rem;
    object-fit: contain;
}

.alogic-znacka-nazov {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--gray-950);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dark .alogic-znacka-nazov {
    color: var(--color-white);
}

/* Výber stĺpcov: „Obnoviť predvolené“ nie je mazanie – neutrálna farba namiesto červenej (Filament ju má pevne červenú). */
.fi-link[wire\:click="resetTableColumnManager"] {
    --color-600: var(--gray-600);
    --color-300: var(--gray-300);
    color: var(--gray-600);
}

.dark .fi-link[wire\:click="resetTableColumnManager"] {
    color: var(--gray-300);
}

/* ---------------------------------------------------------------- Prázdny text a jednoduchá tabuľka */
/* (Prehľad v1 – rýchle úkony, riadky a termíny – je od 22. 10. 2026 zmazaný; Prehľad je v2.) */
.alogic-prazdne {
    color: var(--gray-500);
    font-size: 0.875rem;
}

.alogic-tabulka {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.alogic-tabulka th {
    text-align: left;
    font-weight: 500;
    color: var(--gray-500);
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--alogic-okraj);
}

.alogic-tabulka td {
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--alogic-okraj);
}

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

.alogic-tabulka .alogic-cislo {
    text-align: right;
}

/* Detail: pás kariet sa zalamuje namiesto posúvania (vidieť aj „Údaje a história“). */
.alogic-karty > .fi-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: 0.25rem;
}

/* ---------------------------------------------------------------- Štandardné rozloženie: „Pridať …“ v páse sekcií */
/* Pás sekcií a tlačidlo tvoria jeden blok: záložky vľavo (posúvajú sa), tlačidlo vždy úplne vpravo. */
.alogic-akcie-pasu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

@media (min-width: 768px) {
    .fi-page-main:has(> .alogic-akcie-pasu) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 0;
    }

    .fi-page-main:has(> .alogic-akcie-pasu) > * {
        grid-column: 1 / -1;
    }

    .fi-page-main:has(> .alogic-akcie-pasu) > .fi-page-sub-navigation-tabs {
        grid-column: 1;
        grid-row: 1;
        border-right: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .fi-page-main:has(> .alogic-akcie-pasu) > .alogic-akcie-pasu {
        grid-column: 2;
        grid-row: 1;
        padding: 0 0.5rem;
        background: var(--alogic-blok);
        border: 1px solid var(--alogic-okraj);
        border-left: 0;
        border-radius: 0 0.75rem 0.75rem 0;
    }
}

/* ---------------------------------------------------------------- Detail v okne (OtvaraDetailVOkne) */
/* (Šablóna „zoznam s detailom“ v1 – ZoznamSDetailom, PanelDetailu, hlavička detailu v1 – je od 22. 10. 2026 zmazaná.) */
.alogic-okno-detailu .fi-page {
    gap: 1rem;
}

.alogic-okno-detailu .fi-page-header-main-ctn {
    row-gap: 1rem;
}

/* ---------------------------------------------------------------- Súbory (rozhodnutie 29. 9. 2026) */
/* Karta súboru (KartaSuboru): ikona podľa typu, názov, veľkosť, dátum nahratia, Otvoriť a Stiahnuť. */
.alogic-subor {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--alogic-okraj);
    border-radius: 0.75rem;
    background: var(--alogic-blok);
    max-width: 44rem;
}

.alogic-subor-ikona {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.625rem;
    background: var(--primary-50);
    color: var(--primary-600);
}

.dark .alogic-subor-ikona {
    background: color-mix(in oklab, var(--primary-400) 12%, transparent);
    color: var(--primary-300);
}

.alogic-subor-text {
    flex: 1 1 12rem;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.alogic-subor-nazov {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-950);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dark .alogic-subor-nazov {
    color: var(--color-white);
}

.alogic-subor-nazov:hover {
    text-decoration: underline;
}

.alogic-subor-meta {
    font-size: 0.75rem;
    color: var(--gray-500);
}

/* Predošlé verzie PDF záznamu o zaškolení (okno z odkazu pod kartou PDF, 30. 9. 2026). */
.alogic-predosle-verzie {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.alogic-subor-akcie {
    display: flex;
    gap: 0.5rem;
    flex: none;
}

.alogic-subor-prazdne {
    font-size: 0.875rem;
    color: var(--gray-500);
}

/* Súbor v tabuľke (IkonySuboru): malé ikony Otvoriť a Stiahnuť. */
.alogic-subor-ikony {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding-inline: 0.75rem;
}

.alogic-subor-ikony a {
    display: inline-flex;
    padding: 0.3125rem;
    border-radius: 0.375rem;
    color: var(--gray-500);
}

.alogic-subor-ikony a:hover {
    background: var(--gray-100);
    color: var(--primary-600);
}

.dark .alogic-subor-ikony a:hover {
    background: color-mix(in oklab, var(--color-white) 8%, transparent);
}

.alogic-subor-bez {
    color: var(--gray-400);
}

/* Zarovnanie stĺpcov (30. 9. 2026): ikony súborov sú v každom riadku na rovnakom mieste – bunka má vždy šírku
   dvoch ikon a „–“ (bez súboru) je presne pod ikonou Otvoriť. */
.alogic-subor-ikony {
    min-width: calc(2 * 1.625rem + 0.25rem + 1.5rem);
}

.alogic-subor-ikony > .alogic-subor-bez {
    display: inline-block;
    width: 1.625rem;
    text-align: center;
}

/* Súbor zapísaný v zázname, ale chýba v úložisku (28. 10. 2026): oranžový text upozornenia namiesto „–“. */
.alogic-subor-ikony > .alogic-subor-chyba,
.alogic-subor-chyba {
    width: auto;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--av-oranzova-text, #b45309);
}

/* ---------------------------------------------------------------- Detail s kartou (DetailSKartou) */
/* Jedna karta: záložky tvoria jej hlavičku (ako hlavička bloku Stav dokladov) – pod nimi rovná deliaca čiara,
   zaoblené sú iba vonkajšie rohy celej karty; úplne vpravo tlačidlo aktívnej záložky; obsah bez ďalšieho rámika. */
.alogic-karta-detailu > .fi-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    overflow-x: visible;
    gap: 0.25rem 0.125rem;
    margin-inline: 0;
    width: 100%;
    padding: 0.375rem 0.75rem;
    border: 0;
    border-bottom: 1px solid var(--alogic-okraj);
    border-radius: 0;
    background: transparent;
}

.alogic-karta-detailu > .fi-tabs > .fi-tabs-item {
    padding: 0.375rem 0.625rem;
}

/* Záložky karty: vlastný predvolený vzhľad bez pozadia a bez prechodovej animácie (30. 9. 2026). Zaoblené pozadie
   Filamentu (aktívna záložka, prejdenie myšou) sa neukáže ani na okamih; aktívna záložka = farebný text a čiara dole. */
.alogic-karta-detailu > .fi-tabs > .fi-tabs-item,
.alogic-karta-detailu > .fi-tabs > .fi-tabs-item:hover,
.alogic-karta-detailu > .fi-tabs > .fi-tabs-item:focus-visible,
.alogic-karta-detailu > .fi-tabs > .fi-tabs-item.fi-active {
    background: transparent;
    border-radius: 0;
    transition: none;
}

.alogic-karta-detailu > .fi-tabs > .fi-tabs-item :is(.fi-tabs-item-label, .fi-icon, .fi-badge) {
    transition: none;
}

.alogic-karta-detailu > .fi-tabs > .fi-tabs-item.fi-active {
    box-shadow: inset 0 -2px 0 var(--primary-600);
}

.dark .alogic-karta-detailu > .fi-tabs > .fi-tabs-item.fi-active {
    box-shadow: inset 0 -2px 0 var(--primary-400);
}

.alogic-karta-detailu > .fi-tabs > .alogic-karta-akcia {
    margin-inline-start: auto;
    padding-inline-start: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

/* Odstrániť v hlavičke karty: nenápadné tlačidlo – obrys, červená ikona (nikdy plné červené). */
.alogic-tlacidlo-zmazat .fi-icon {
    color: var(--danger-600);
}

.dark .alogic-tlacidlo-zmazat .fi-icon {
    color: var(--danger-400);
}

/* Karta sa môže natiahnuť (výška detailu po spodok okna) – obsah aktívnej záložky vyplní celú kartu. */
.alogic-karta-detailu {
    display: flex;
    flex-direction: column;
}

.alogic-karta-detailu > .fi-sc-tabs-tab.fi-active {
    flex: 1 1 auto;
}

/* Obsah karty: všetky záložky majú aspoň výšku prvej záložky „Základné údaje a história“ (--alogic-vyska-karty
   nastaví alogic.js podľa jej skutočnej výšky; kým ju nezmeria, platí 16rem). Spodné rohy obsahu = rohy karty. */
.alogic-karta-detailu > .fi-sc-tabs-tab.fi-active {
    display: flex;
    flex-direction: column;
    margin: 0;
    min-height: var(--alogic-vyska-karty, 16rem);
    border-radius: 0 0 0.75rem 0.75rem;
}

.alogic-karta-detailu > .fi-sc-tabs-tab.alogic-karta-zakladne.fi-active {
    min-height: 16rem;
    padding: 1rem 1.25rem 1.25rem;
}

.alogic-karta-detailu > .fi-sc-tabs-tab:not(.alogic-karta-zakladne).fi-active {
    padding: 0;
}

/* Prázdna záložka: „Zatiaľ žiadne …“ v strede obsahu karty (obaly tabuľky sa natiahnu na celú výšku). */
.alogic-karta-detailu > .fi-sc-tabs-tab.fi-active :is(div, section):has(.fi-ta-empty-state) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.alogic-karta-detailu .fi-ta-empty-state {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Žiadne kruhy (rozhodnutie 29. 9. 2026): ikona prázdneho zoznamu v zaoblenom štvorci. */
.fi-ta-empty-state-icon-bg {
    border-radius: 0.75rem;
}

.alogic-karta-detailu .fi-ta-ctn {
    border-radius: 0 0 0.75rem 0.75rem;
}

/* Obsah karty (tabuľky, prípadný zástupný prvok pri načítaní) nemá vlastný rámik, zaoblenie ani tieň – splynie
   s kartou od prvého vykreslenia (30. 9. 2026: zaoblený roh na vrchu pásu tabuľky pri prepínaní záložiek). */
.alogic-karta-detailu > .fi-sc-tabs-tab .fi-loading-section,
.alogic-karta-detailu > .fi-sc-tabs-tab .fi-ta-ctn {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    --tw-ring-shadow: 0 0 #0000;
    background: transparent;
}

/* Spodné rohy tabuľky kopírujú rohy karty (riadok pri prejdení myšou nepretečie cez zaoblený roh karty). */
.alogic-karta-detailu > .fi-sc-tabs-tab .fi-ta-ctn {
    border-radius: 0 0 0.75rem 0.75rem;
}

/* Nadpis tabuľky záložky je už v záložke – v karte sa neopakuje (tlačidlo „Pridať …“ je v hlavičke karty). */
.alogic-karta-detailu .fi-ta-header {
    display: none;
}

.alogic-karta-detailu .fi-ta-ctn {
    border: 0;
    box-shadow: none;
    --tw-ring-shadow: 0 0 #0000;
}

@media (max-width: 639.98px) {
    /* Úzka obrazovka: tlačidlo karty na vlastnom riadku pod záložkami. */
    .alogic-karta-detailu > .fi-tabs > .alogic-karta-akcia {
        flex-basis: 100%;
        padding: 0.25rem 0 0.5rem;
    }
}

/* ---------------------------------------------------------------- Bez horného pásu (rozhodnutie 30. 9. 2026) */
/* Bočné menu: prepínač firmy (superadmin) alebo názov firmy a vedľa neho tlačidlo na zbalenie menu.
   Vlastné tlačidlo (view filament.rozlozenie.zbalit-menu) nahrádza tlačidlá Filamentu v hlavičke menu. */
:root {
    /* Výška riadku s prepínačom firmy = výška riadku s nadpisom oblasti (hľadanie a používateľ na rovnakej výške). */
    --alogic-riadok-hore: 4rem;
    /* Horný riadok (30. 9. 2026): prepínač panela, ikona firmy, hľadanie, zvonček a ikona používateľa majú rovnakú
       výšku (výška poľa hľadania) a spoločnú zvislú os v strede riadku. */
    --alogic-ikona-hore: 2.25rem;
    /* Medzera medzi prepínačom panela a ikonou firmy = medzera medzi ovládačmi vpravo (zvonček – používateľ). */
    --alogic-medzera-hore: 0.75rem;
}

.fi-sidebar-open-collapse-sidebar-btn,
.fi-sidebar-close-collapse-sidebar-btn {
    display: none !important;
}

/* Hlavička menu (30. 9. 2026): vľavo prepínač bočného panela v zvislom stĺpci s ikonami menu (stred ikony
   = stred ikon Prehľad, Ľudia…, t. j. 2.25rem od ľavého okraja), hneď vpravo ikona firmy (superadmin: prepínač
   firmy; používateľ klienta: logo s názvom). Riadok má výšku riadku s nadpisom – ikona firmy je na rovnakej výške
   ako ikona používateľa. Rozbalené aj zbalené menu má hlavičku rovnako vysokú a prepínač na tom istom mieste,
   takže sa prepínač ani ikony menu pri zbalení nepohnú. Zbalené menu (úzky pás) ukáže iba prepínač. */
.fi-sidebar-header,
.fi-sidebar-header-controls,
.fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header,
.fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header-controls {
    position: relative;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: var(--alogic-medzera-hore);
    height: var(--alogic-riadok-hore);
    min-height: 0;
    margin: 0 0 0.75rem;
    /* Stred prepínača = stred ikon menu (2.25rem od ľavého okraja). */
    padding: 0 0.75rem 0 calc(2.25rem - var(--alogic-ikona-hore) / 2);
    border: 0;
    box-shadow: none;
}

/* Deliaca čiara pod hlavičkou (rovnaká pri superadminovi aj pri používateľovi klienta). */
.fi-sidebar-header::after,
.fi-sidebar-header-controls::after {
    content: '';
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 0;
    margin: 0;
    border-top: 1px solid var(--gray-200);
}

.dark .fi-sidebar-header::after,
.dark .fi-sidebar-header-controls::after {
    border-top-color: var(--gray-800);
}

.fi-sidebar-header-ctn {
    border: 0;
    box-shadow: none;
}

/* Superadmin: hlavičku menu s logom netreba – firmu ukazuje prepínač. */
.fi-sidebar:has(.fi-sidebar-header-controls .fi-tenant-menu) .fi-sidebar-header-ctn {
    display: none;
}

/* Prepínač panela: štvorec rovnako vysoký ako ikona firmy, svetlý s jemným okrajom ako zvonček (ikona v ňom je
   menšia), vždy prvý zľava. Pevná šírka aj pred spustením skriptov (x-cloak) – ikona firmy vedľa neho sa neposunie. */
.alogic-zbalit-menu {
    order: -1;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--alogic-ikona-hore);
    height: var(--alogic-ikona-hore);
}

.alogic-zbalit-menu .fi-icon-btn {
    width: var(--alogic-ikona-hore);
    height: var(--alogic-ikona-hore);
    border-radius: 0.5rem;
    border: 1px solid var(--gray-200);
    background: var(--alogic-blok, #fff);
    color: var(--gray-500);
}

.alogic-zbalit-menu .fi-icon-btn:hover {
    background: var(--gray-50);
    border-color: var(--gray-300);
    color: var(--gray-700);
}

.dark .alogic-zbalit-menu .fi-icon-btn {
    border-color: var(--gray-700);
    color: var(--gray-400);
}

.alogic-zbalit-menu .fi-icon-btn .fi-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.fi-sidebar-header-controls > .fi-tenant-menu,
.fi-sidebar-header > .fi-sidebar-header-logo-ctn {
    flex: 1 1 auto;
    min-width: 0;
}

/* Prepínač firmy: ikona firmy hneď vpravo od prepínača panela, bez šípky nadol – klik na ikonu alebo názov
   otvorí výber klienta. */
.fi-sidebar-header-controls > .fi-tenant-menu {
    margin: 0;
}

.fi-sidebar .fi-tenant-menu-trigger {
    width: 100%;
    justify-content: flex-start;
    padding: 0 0.25rem 0 0;
    gap: 0.625rem;
    text-align: start;
}

.fi-sidebar .fi-tenant-menu-trigger > svg,
.fi-sidebar .fi-tenant-menu-trigger > .fi-icon {
    display: none;
}

.fi-sidebar .fi-tenant-menu-trigger .fi-tenant-avatar {
    width: var(--alogic-ikona-hore);
    height: var(--alogic-ikona-hore);
}

/* Zbalené menu: iba prepínač panela na tom istom mieste (ikona firmy sa do úzkeho pásu nezmestí). */
.fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header-controls > .fi-tenant-menu,
.fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-header > .fi-sidebar-header-logo-ctn {
    display: none;
}

/* Riadok s nadpisom: vpravo hľadanie Ctrl+K a ponuka používateľa (App\Livewire\HorneOvladace). */
/* Nadpis (riadok 2.25rem) je vždy v strede riadku s prepínačom firmy, aj s podnadpisom pod ním (Prehľad). */
.fi-header {
    min-height: var(--alogic-riadok-hore);
    padding-top: calc((var(--alogic-riadok-hore) - 2.25rem) / 2);
    align-items: flex-start;
}

/* Stránka oblasti s podnadpisom (Plán školení – rok): podnadpis v riadku vedľa nadpisu, aby bol pás sekcií
   na rovnakom mieste ako na ostatných stránkach (30. 9. 2026). Prehľad má podnadpis pod pozdravom. */
.fi-page:has(.fi-page-sub-navigation-tabs) .fi-header-has-subheading > div:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.75rem;
}

.fi-page:has(.fi-page-sub-navigation-tabs) .fi-header-has-subheading .fi-header-subheading {
    margin-top: 0;
}

.fi-header .fi-header-actions-ctn:has(.alogic-horne-ovladace) {
    margin-inline-start: auto;
    align-self: flex-start;
    min-height: 2.25rem;
}

.alogic-horne-ovladace {
    display: flex;
    align-items: center;
    gap: var(--alogic-medzera-hore);
}

.alogic-horne-ovladace .fi-global-search-field {
    width: 18rem;
}

.alogic-horne-ovladace .fi-user-menu-trigger {
    flex: none;
    display: flex;
}

.alogic-horne-ovladace .fi-user-menu-trigger .fi-avatar {
    width: var(--alogic-ikona-hore);
    height: var(--alogic-ikona-hore);
}

.alogic-horne-ovladace .fi-global-search-field .fi-input-wrp {
    height: var(--alogic-ikona-hore);
}

/* ---------------------------------------------------------------- Zvonček s upozorneniami (rozhodnutie 30. 9. 2026) */
/* Vpravo v riadku s nadpisom vedľa ponuky používateľa; počet neprečítaných v zaoblenom štvorčeku (žiadne kruhy).
   Zoznam sa rozbalí zhora pod tlačidlom; položka = ikona stavu, čo a kto, klient (superadmin), kedy, fajka. */
[x-cloak] { display: none !important; }

.alogic-zvoncek {
    position: relative;
    flex: none;
    display: flex;
}

/* Zaoblený štvorec rovnakej veľkosti ako ikona používateľa, svetlý s jemným okrajom (30. 9. 2026).
   S neprečítanými je zvonček menší vľavo dole a počet v štvorci vpravo hore – celý vnútri štvorca. */
.alogic-zvoncek-tlacidlo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--alogic-ikona-hore);
    height: var(--alogic-ikona-hore);
    border-radius: 0.5rem;
    border: 1px solid var(--gray-200);
    background: var(--alogic-blok, #fff);
    color: var(--gray-500);
}

.alogic-zvoncek-tlacidlo > .fi-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.alogic-zvoncek-tlacidlo.alogic-zvoncek-s-poctom > .fi-icon {
    position: absolute;
    left: 0.25rem;
    bottom: 0.3125rem;
    width: 1rem;
    height: 1rem;
}

.alogic-zvoncek-tlacidlo:hover,
.alogic-zvoncek-tlacidlo[aria-expanded="true"] {
    background: var(--gray-50);
    border-color: var(--gray-300);
    color: var(--gray-700);
}

.dark .alogic-zvoncek-tlacidlo {
    border-color: var(--gray-700);
    background: var(--alogic-blok);
    color: var(--gray-400);
}

.dark .alogic-zvoncek-tlacidlo:hover,
.dark .alogic-zvoncek-tlacidlo[aria-expanded="true"] {
    background: color-mix(in oklab, var(--gray-400) 12%, transparent);
    border-color: var(--gray-600);
    color: var(--gray-200);
}

.alogic-zvoncek-pocet {
    position: absolute;
    top: 0.1875rem;
    right: 0.1875rem;
    min-width: 0.9375rem;
    height: 0.9375rem;
    padding: 0 0.125rem;
    border-radius: 0.25rem;
    background: var(--danger-600);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 0.9375rem;
    text-align: center;
    letter-spacing: -0.02em;
}

.alogic-zvoncek-panel {
    position: absolute;
    top: calc(100% + 0.375rem);
    right: 0;
    z-index: 40;
    width: 26rem;
    max-width: calc(100vw - 2rem);
    display: flex;
    flex-direction: column;
    max-height: min(32rem, calc(100vh - 6rem));
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.08);
    overflow: hidden;
}

.dark .alogic-zvoncek-panel {
    background: var(--gray-900);
    border-color: color-mix(in oklab, var(--gray-400) 20%, transparent);
}

.alogic-zvoncek-hlavicka,
.alogic-zvoncek-pata {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    flex: none;
}

.alogic-zvoncek-hlavicka { border-bottom: 1px solid var(--gray-200); }
.alogic-zvoncek-pata { border-top: 1px solid var(--gray-200); justify-content: center; }
.dark .alogic-zvoncek-hlavicka,
.dark .alogic-zvoncek-pata { border-color: color-mix(in oklab, var(--gray-400) 20%, transparent); }

.alogic-zvoncek-nadpis { font-size: 0.875rem; font-weight: 600; }

.alogic-zvoncek-odkaz {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--primary-600);
}

.alogic-zvoncek-odkaz:hover { text-decoration: underline; }
.dark .alogic-zvoncek-odkaz { color: var(--primary-400); }

.alogic-zvoncek-spat {
    flex: none;
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
    background: var(--gray-50);
    border-bottom: 1px solid var(--gray-200);
}

.dark .alogic-zvoncek-spat { background: color-mix(in oklab, var(--gray-400) 8%, transparent); border-color: transparent; }

.alogic-zvoncek-zoznam {
    overflow-y: auto;
    flex: 1 1 auto;
}

.alogic-zvoncek-polozka {
    display: flex;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem 0.25rem 0.25rem;
    border-bottom: 1px solid var(--gray-100);
}

.dark .alogic-zvoncek-polozka { border-color: color-mix(in oklab, var(--gray-400) 12%, transparent); }

.alogic-zvoncek-obsah {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.5rem;
    border-radius: 0.5rem;
    text-align: start;
}

.alogic-zvoncek-obsah:not(:disabled):hover { background: var(--gray-50); }
.dark .alogic-zvoncek-obsah:not(:disabled):hover { background: color-mix(in oklab, var(--gray-400) 8%, transparent); }
.alogic-zvoncek-obsah:disabled { cursor: default; }

.alogic-zvoncek-ikona {
    flex: none;
    display: inline-flex;
    color: var(--alogic-ton-text);
    margin-top: 0.0625rem;
}

.alogic-zvoncek-texty { display: grid; gap: 0.125rem; min-width: 0; }
.alogic-zvoncek-text { font-size: 0.8125rem; line-height: 1.25rem; overflow-wrap: anywhere; }
.alogic-zvoncek-kto { font-weight: 500; }
.alogic-zvoncek-meta { font-size: 0.75rem; color: var(--gray-500); }

.alogic-zvoncek-fajka {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-top: 0.25rem;
    border-radius: 0.5rem;
    color: var(--gray-400);
}

.alogic-zvoncek-fajka:hover { background: var(--success-50); color: var(--success-700); }

/* Úkon položky (Prehľad v2, 22. 10. 2026): nenápadné tlačidlo vo farbe klienta pred fajkou – otvorí Prehľad s formulárom. */
.alogic-zvoncek-ukon {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 2rem;
    margin-top: 0.25rem;
    padding: 0 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: nowrap;
    color: var(--primary-700);
    text-decoration: none;
}

.alogic-zvoncek-ukon:hover { background: var(--primary-50); }

.alogic-zvoncek-ukon .av-ikona-sm { width: 1rem; height: 1rem; }
.dark .alogic-zvoncek-fajka:hover { background: color-mix(in oklab, var(--success-400) 12%, transparent); color: var(--success-300); }

.alogic-zvoncek-precitana { opacity: 0.6; }

.alogic-zvoncek-prazdny {
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--gray-500);
}

/* Úzka obrazovka: zoznam na šírku okna pod tlačidlom. */
@media (max-width: 639.98px) {
    .alogic-zvoncek { position: static; }
    .alogic-zvoncek-panel { position: fixed; top: 4rem; left: 1rem; right: 1rem; width: auto; max-width: none; }
}

/* ---------------------------------------------------------------- Jedna obrazovka (rozhodnutie 30. 9. 2026) */
/* Široká obrazovka: stránka sa ako celok neposúva, všetko končí pri spodku okna (zarovnané s koncom bočného menu).
   Stoja bočné menu, nadpis, pás sekcií, pás zoznamu a hlavička tabuľky; posúvajú sa iba riadky tabuľky.
   Stránka bez hlavnej tabuľky (Prehľad, Skill matrix…) posúva svoj obsah pod nadpisom a pásom sekcií.
   Stránka so zoznamom = zoznam resource-u (.fi-resource-list-records-page) alebo stránka s triedou alogic-stranka-zoznamu.
   Reťaz obalov medzi stránkou a tabuľkou (Filament grid, schéma…) sa natiahne cez :has() – iba predkovia hlavnej
   tabuľky, nie tabuľky v detaile (.alogic-detail-panel) ani v okne (.fi-modal). Na úzkej obrazovke bez zmeny. */
@media (min-width: 1024px) {
    html.fi:has(> .fi-body-has-navigation),
    .fi-body.fi-body-has-navigation {
        height: 100dvh;
        overflow: hidden;
    }

    .fi-body-has-navigation .fi-layout {
        height: 100dvh;
    }

    .fi-body-has-navigation .fi-main-ctn {
        height: 100dvh;
        min-height: 0;
        flex-direction: column;
    }

    .fi-body-has-navigation .fi-main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .fi-main > .fi-page,
    .fi-main > .fi-page > .fi-page-header-main-ctn,
    .fi-main > .fi-page > .fi-page-header-main-ctn > .fi-page-main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    /* Riadok s nadpisom na výške prepínača firmy (.fi-header); spodok obsahu = spodok poslednej položky menu (2rem). */
    .fi-main > .fi-page > .fi-page-header-main-ctn {
        padding-top: 0;
        padding-bottom: 2rem;
    }

    /* Pás sekcií s tlačidlom „Pridať …“ (mriežka): obsah v druhom riadku vyplní zvyšok výšky. */
    .fi-main > .fi-page > .fi-page-header-main-ctn > .fi-page-main:has(> .alogic-akcie-pasu) {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
    }

    /* Pás sekcií a ostatné časti nad obsahom sa nezmrštia – aj bez tlačidla „Pridať …“ (Skill matrix) má pás
       rovnakú výšku ako na ostatných stránkach (30. 9. 2026). */
    .fi-main > .fi-page > .fi-page-header-main-ctn > .fi-page-main > :not(.fi-page-content) {
        flex: none;
    }

    .fi-main > .fi-page > .fi-page-header-main-ctn > .fi-page-main > .fi-page-content {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        align-content: start;
    }

    /* Stránka so zoznamom: obsah sa neposúva, natiahne sa po hlavnú tabuľku. */
    .fi-main > .fi-page:is(.fi-resource-list-records-page, .alogic-stranka-zoznamu) > .fi-page-header-main-ctn > .fi-page-main > .fi-page-content {
        overflow: hidden;
        scrollbar-gutter: auto;
        display: flex;
        flex-direction: column;
    }

    /* Iba obsah samotnej stránky – nie detail vložený vedľa zoznamu (má vlastnú .fi-page-content, prvá záložka bez tabuľky). */
    .fi-page:is(.fi-resource-list-records-page, .alogic-stranka-zoznamu) .fi-page-content:not(.alogic-detail-panel *) > *:not(:has(.fi-ta-ctn)) {
        flex: none;
    }

    .fi-page:is(.fi-resource-list-records-page, .alogic-stranka-zoznamu) .fi-page-content :is(div, section):has(.fi-ta-ctn):not(.alogic-detail-otvoreny, .alogic-detail-panel, .alogic-detail-panel *, .fi-modal *, .fi-ta-ctn, .fi-ta-ctn *),
    .fi-page:is(.fi-resource-list-records-page, .alogic-stranka-zoznamu) .fi-page-content:not(.alogic-detail-panel *) > :has(.fi-ta-ctn) {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    /* Hlavná tabuľka: pás zoznamu a hlavička tabuľky stoja, posúvajú sa iba riadky. */
    .fi-page-content .fi-ta-ctn:not(.alogic-detail-panel *, .fi-modal *) {
        flex: 1 1 auto;
        min-height: 0;
    }

    .fi-page-content .fi-ta-ctn:not(.alogic-detail-panel *, .fi-modal *) > .fi-ta-main {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .fi-page-content .fi-ta-ctn:not(.alogic-detail-panel *, .fi-modal *) > .fi-ta-main > * {
        flex: none;
    }

    .fi-page-content .fi-ta-ctn:not(.alogic-detail-panel *, .fi-modal *) > .fi-ta-main > .fi-ta-content-ctn {
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
    }

    .fi-page-content .fi-ta-ctn:not(.alogic-detail-panel *, .fi-modal *) .fi-ta-table > thead > tr > th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--alogic-blok);
        box-shadow: inset 0 -1px 0 var(--alogic-okraj);
    }

    /* Skill matrix – tri zoznamy (30. 9. 2026): filtre stoja, zoznamy vyplnia zvyšok výšky a posúva sa iba obsah
       každého zoznamu (hlavička zoznamu stojí). */
    .fi-main > .fi-page > .fi-page-header-main-ctn > .fi-page-main > .fi-page-content:has(> .sm-zoznamy) {
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .fi-page-content:has(> .sm-zoznamy) > * {
        flex: none;
    }

    .fi-page-content:has(> .sm-zoznamy) > .sm-zoznamy {
        flex: 1 1 auto;
        min-height: 0;
        grid-template-rows: minmax(0, 1fr);
    }

    .sm-zoznamy > .sm-zoznam {
        min-height: 0;
    }

    .sm-zoznamy .sm-zoznam-telo {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }
}

/* ---------------------------------------------------------------- Posuvníky (rozhodnutie 30. 9. 2026) */
/* Tenké a nenápadné, v jemných farbách – v celej aplikácii (aj ponuky a okná). */
:root {
    --alogic-posuvnik: var(--gray-300);
}

.dark {
    --alogic-posuvnik: var(--gray-700);
}

html.fi,
html.fi * {
    scrollbar-width: thin;
    scrollbar-color: var(--alogic-posuvnik) transparent;
}

/* Okná (formuláre, detail v okne): tenký posuvník prehliadača s vyhradeným miestom – obsah okna neposkočí. */
.fi-modal-window-ctn,
.fi-modal-window {
    scrollbar-gutter: stable;
}

/* Posuvníky nad obsahom (rozhodnutie 30. 9. 2026, nahrádza vyhradené miesto): v zoznamoch, v detaile, v obsahu
   stránky a v menu posuvník prehliadača nie je – nezaberá miesto, riadky a čiary idú po pravý okraj a pri prepnutí
   krátkeho a dlhého zoznamu sa šírka nemení. Posuvník nad obsahom kreslí alogic.js (alogicPosuvniky) do vrstvy
   v body, mimo Livewire. Iba pri myši (pointer: fine) – na dotykovom zariadení ostáva prekryvný posuvník systému.
   OBLASTI_POSUVNIKOV = rovnaký zoznam ako v alogic.js. */
@media (pointer: fine) {
    :is(.fi-page-content, .fi-ta-content-ctn, .alogic-karta-detailu > .fi-sc-tabs-tab, .fi-sidebar-nav, .fi-page-sub-navigation-tabs, .sm-zoznam-telo, .av-zoznam-posuv, .av-panel-obsah) {
        scrollbar-width: none;
        scrollbar-gutter: auto;
    }

    :is(.fi-page-content, .fi-ta-content-ctn, .alogic-karta-detailu > .fi-sc-tabs-tab, .fi-sidebar-nav, .fi-page-sub-navigation-tabs, .sm-zoznam-telo, .av-zoznam-posuv, .av-panel-obsah)::-webkit-scrollbar {
        display: none;
    }
}

/* Jeden posuvník = pás na zachytenie (12 px) s tenkým jazdcom (::before), ktorý sa pri prejdení myšou rozšíri.
   Pod oknami (z-index 40) a nad menu a prilepenou hlavičkou tabuľky. */
.alogic-posuvnik {
    position: fixed;
    z-index: 35;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    touch-action: none;
}

.alogic-posuvnik.alogic-zobrazeny {
    opacity: 1;
    pointer-events: auto;
}

.alogic-posuvnik::before {
    content: '';
    position: absolute;
    border-radius: 999px;
    background: var(--alogic-posuvnik);
    transition: width 0.15s, height 0.15s, background-color 0.15s;
}

.alogic-posuvnik-zvisly {
    width: 12px;
}

.alogic-posuvnik-zvisly::before {
    top: 0;
    bottom: 0;
    right: 2px;
    width: 5px;
}

.alogic-posuvnik-vodorovny {
    height: 12px;
}

.alogic-posuvnik-vodorovny::before {
    left: 0;
    right: 0;
    bottom: 2px;
    height: 5px;
}

.alogic-posuvnik-zvisly:hover::before,
.alogic-posuvnik-zvisly.alogic-tahany::before {
    width: 9px;
    background: var(--alogic-posuvnik-aktivny);
}

.alogic-posuvnik-vodorovny:hover::before,
.alogic-posuvnik-vodorovny.alogic-tahany::before {
    height: 9px;
    background: var(--alogic-posuvnik-aktivny);
}

:root {
    --alogic-posuvnik-aktivny: var(--gray-400);
}

.dark {
    --alogic-posuvnik-aktivny: var(--gray-500);
}

/* Počas ťahania sa nevyberá text. */
html.alogic-tahanie,
html.alogic-tahanie * {
    user-select: none;
    cursor: default;
}

/* ---------------------------------------------------------------- Zoznamy bez strán (DocitavaRiadky, 30. 9. 2026) */
/* Ovládanie strán sa nezobrazí – riadky sa dočítavajú pri posúvaní (alogic.js). Značka = počet záznamov v páse. */
.fi-ta-main:has(> .fi-ta-header-ctn .alogic-pocet-zaznamov) > .fi-pagination {
    display: none;
}

.alogic-pocet-zaznamov {
    flex: none;
    font-size: 0.875rem;
    color: var(--gray-500);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.alogic-pocet-zaznamov[hidden] {
    display: none;
}

.dark .alogic-pocet-zaznamov {
    color: var(--gray-400);
}

/* ---------------------------------------------------------------- Široké tabuľky (30. 9. 2026) */
/* Stĺpec Doklady v zozname zamestnancov: dlhý text skrátený (…), celý text v bubline pri prejdení myšou. */
.fi-ta-cell.alogic-doklady .fi-ta-col,
.fi-ta-cell.alogic-doklady .fi-ta-text {
    /* Iba toľko, koľko ostane po ostatných stĺpcoch (rozbalený panel ~68rem, zbalený o 15.5rem menej) – na širokej
       obrazovke celý text, na užšej skrátený. */
    max-width: clamp(10rem, calc(100vw - 68rem), 32rem);
    min-width: 0;
}

.fi-main-ctn:not(.fi-main-ctn-sidebar-open) .fi-ta-cell.alogic-doklady :is(.fi-ta-col, .fi-ta-text) {
    max-width: clamp(10rem, calc(100vw - 52.5rem), 32rem);
}

/* Hlavička stĺpca sa pri nedostatku miesta zalomí na dva riadky (napr. „Dátum / nástupu“) – tabuľka sa zmestí
   do šírky okna skôr, ako by bolo treba posúvať do strany. Bunky s údajmi sa nemenia. */
.fi-ta-table > thead > tr > th.fi-ta-header-cell,
.fi-ta-table > thead > tr > th.fi-ta-header-cell > .fi-ta-header-cell-sort-btn {
    white-space: normal;
}

.fi-ta-table > thead > tr > th.fi-ta-header-cell > .fi-ta-header-cell-sort-btn {
    text-align: start;
}

/* Text štítka je priamo v štítku (nie vo vlastnom prvku) – štítok ako blok, aby sa text skrátil na konci (…). */
.fi-ta-cell.alogic-doklady .fi-badge {
    display: block;
    width: fit-content;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-ta-cell.alogic-doklady .fi-badge > :is(svg, .fi-icon) {
    display: inline-block;
    vertical-align: -0.125rem;
    margin-inline-end: 0.25rem;
}

/* Jemný tieň na okraji tabuľky, keď sa stĺpce nezmestia a dá sa posúvať do strany (alogic.js, alogicTiene):
   vpravo, kým je vpravo ďalší obsah, vľavo po posunutí. Vo vrstve v body – mimo Livewire, nad obsahom, pod oknami. */
.alogic-tien {
    position: fixed;
    z-index: 34;
    width: 1rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s;
}

.alogic-tien.alogic-zobrazeny {
    opacity: 1;
}

.alogic-tien-vpravo {
    background: linear-gradient(to left, rgb(15 23 42 / 0.10), rgb(15 23 42 / 0));
}

.alogic-tien-vlavo {
    background: linear-gradient(to right, rgb(15 23 42 / 0.10), rgb(15 23 42 / 0));
}

.dark .alogic-tien-vpravo {
    background: linear-gradient(to left, rgb(0 0 0 / 0.45), rgb(0 0 0 / 0));
}

.dark .alogic-tien-vlavo {
    background: linear-gradient(to right, rgb(0 0 0 / 0.45), rgb(0 0 0 / 0));
}

/* ---------------------------------------------------------------- Sekcia s podčasťami (30. 9. 2026) */
/* Záložka „Školenia ▾“: ikona, názov sekcie a jemná šípka nadol (tenká, menšia, v sivej farbe textu záložky –
   aj pri aktívnej záložke); ponuka podčastí s fajkou pri aktívnej (prepísaná šablóna
   vendor/filament-panels/components/page/sub-navigation/tabs). */
.alogic-sekcia-s-podcastami .fi-tabs-item {
    gap: 0.375rem;
}

.alogic-sekcia-sipka {
    display: inline-flex;
    margin-inline-start: -0.125rem;
    color: var(--gray-500);
}

.dark .alogic-sekcia-sipka {
    color: var(--gray-400);
}

.alogic-sekcia-sipka .fi-icon {
    width: 0.875rem;
    height: 0.875rem;
    stroke-width: 1.5;
}

/* Podčasti bez fajky sú zarovnané s aktívnou (miesto pre ikonu fajky). */
.alogic-podcast:not(.alogic-podcast-aktivna) {
    padding-inline-start: calc(0.5rem + 1.25rem + 0.5rem);
}

.alogic-podcast-aktivna {
    font-weight: 500;
}

/* ---------------------------------------------------------------- Výber roka v páse sekcií (Plán školení, 30. 9. 2026) */
/* Šípky bez zápornej medzery Filamentu – medzi ‹ rok › a tlačidlom PDF je bežná medzera pásu. */
.alogic-akcie-pasu > .alogic-vyber-roka-sipka {
    margin: 0;
}

.alogic-vyber-roka-rok {
    min-width: 4.5rem;
    justify-content: center;
    font-variant-numeric: tabular-nums;
}


/* ---------------------------------------------------------------- Časť B (30. 9. 2026) */

/* Skill matrix – stroje: úroveň v bunke a štítok „bez samostatnej obsluhy“ v hlavičke stĺpca. */
.sm-uroven { display: inline-flex; align-items: center; gap: .3rem; border-radius: .375rem; padding: .15rem .4rem; white-space: nowrap; }
.sm-uroven svg { width: 1rem; height: 1rem; flex: none; }
.sm-uroven-warning { background: color-mix(in oklab, var(--warning-500) 22%, transparent); color: var(--warning-800); }
.sm-uroven-info { background: color-mix(in oklab, var(--info-500) 20%, transparent); color: var(--info-800); }
.sm-uroven-success { background: color-mix(in oklab, var(--success-500) 20%, transparent); color: var(--success-800); }
.dark .sm-uroven-warning { color: var(--warning-300); } .dark .sm-uroven-info { color: var(--info-300); } .dark .sm-uroven-success { color: var(--success-300); }
.sm-bez-samostatnej { display: inline-block; margin-top: .25rem; border-radius: .375rem; padding: .05rem .35rem; font-size: .7rem; font-weight: 400;
    background: color-mix(in oklab, var(--danger-500) 18%, transparent); color: var(--danger-700); }
.dark .sm-bez-samostatnej { color: var(--danger-300); }

/* Skill matrix – tri prepojené zoznamy (30. 9. 2026): Zamestnanci | Kvalifikácie | Stroje a zariadenia.
   Na mobile pod sebou, od 1024 px vedľa seba. Vybraná položka je zvýraznená ako vybraný riadok zoznamu. */
.sm-zoznamy {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

/* Šírky (30. 9. 2026): Zamestnanci ~25 %, Kvalifikácie ~42 %, Stroje zvyšok. */
@media (min-width: 1024px) {
    .sm-zoznamy {
        grid-template-columns: minmax(0, 25fr) minmax(0, 42fr) minmax(0, 33fr);
    }
}

/* Na mobile sú zoznamy pod sebou; každý má vlastné posúvanie, aby sa k ďalšiemu zoznamu dalo rýchlo dostať. */
@media (max-width: 1023.98px) {
    .sm-zoznam-telo {
        max-height: 60vh;
        overflow-y: auto;
    }
}

.sm-zoznam {
    display: flex;
    flex-direction: column;
    background: var(--alogic-blok);
    border: 1px solid var(--alogic-okraj);
    border-radius: 0.75rem;
    overflow: hidden;
}

.sm-zoznam-hlavicka {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    border-bottom: 1px solid var(--alogic-okraj);
}

.sm-zoznam-nadpis {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.sm-zoznam-pocet {
    font-size: 0.75rem;
    color: var(--gray-500);
    font-variant-numeric: tabular-nums;
}

.sm-zrusit-vyber,
.sm-otvorit {
    display: inline-flex;
    padding: 0.25rem;
    border-radius: 0.375rem;
    color: var(--gray-500);
}

.sm-zrusit-vyber:hover,
.sm-otvorit:hover {
    background: var(--gray-100);
    color: var(--primary-600);
}

.dark :is(.sm-zrusit-vyber, .sm-otvorit):hover {
    background: color-mix(in oklab, var(--color-white) 8%, transparent);
}

.sm-filtre-strojov {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    padding: 0.5rem 0.875rem;
    border-bottom: 1px solid var(--alogic-okraj);
    font-size: 0.8125rem;
    color: var(--gray-600);
}

.dark .sm-filtre-strojov {
    color: var(--gray-400);
}

.sm-filtre-strojov label {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
}

.sm-zoznam-telo {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sm-polozka {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    border-bottom: 1px solid var(--alogic-okraj);
    font-size: 0.875rem;
    cursor: pointer;
    user-select: none;
}

.sm-polozka:hover {
    background: var(--gray-50);
}

.dark .sm-polozka:hover {
    background: color-mix(in oklab, var(--color-white) 4%, transparent);
}

.sm-polozka:focus-visible {
    outline: 2px solid var(--primary-600);
    outline-offset: -2px;
}

.sm-polozka.sm-vybrana {
    background: var(--primary-50);
    box-shadow: inset 3px 0 0 var(--primary-600);
}

.dark .sm-polozka.sm-vybrana {
    background: color-mix(in oklab, var(--primary-400) 12%, transparent);
}

.sm-polozka-text {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow-wrap: anywhere;
}

/* Stredná časť riadku (rozsah kvalifikácie) – rovnako široká vo všetkých riadkoch zoznamu, dlhý text sa zalomí. */
.sm-polozka-rozsah {
    flex: 0.7 1 0;
    min-width: 0;
    font-size: 0.8125rem;
    color: var(--gray-600);
    overflow-wrap: anywhere;
}

.dark .sm-polozka-rozsah {
    color: var(--gray-400);
}

/* Meno alebo názov záznamu strednou hrúbkou (nikdy tučné, 30. 9. 2026). */
.sm-polozka-nazov {
    font-weight: 500;
}

.sm-polozka-popis {
    font-size: 0.75rem;
    color: var(--gray-500);
}

.sm-polozka-hodnota {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    max-width: 45%;
}

/* Pri kvalifikáciách má pravá časť (platnosť) rovnakú šírku vo všetkých riadkoch – rozsahy sú zarovnané pod sebou. */
.sm-s-platnostou .sm-polozka-hodnota {
    width: 7.5rem;
}

.sm-polozka-hodnota .alogic-stav {
    white-space: normal;
}

.sm-pocet {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--gray-600);
    font-variant-numeric: tabular-nums;
}

.dark .sm-pocet {
    color: var(--gray-400);
}

.sm-prazdne {
    padding: 1.5rem 0.875rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--gray-500);
}


/* ---------------------------------------------------------------- Zapnuté filtre (30. 9. 2026) */
/* Pod pásom zoznamu: každý zapnutý filter na samostatnom riadku pod sebou s malým × (view filament.tabulka.filtre). */
.alogic-aktivne-filtre {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.125rem;
    margin: 0;
    padding: 0.375rem 0.75rem;
    list-style: none;
    border-bottom: 1px solid var(--alogic-okraj);
    background: var(--gray-50);
}

.dark .alogic-aktivne-filtre {
    background: color-mix(in oklab, var(--color-white) 4%, transparent);
}

.alogic-aktivny-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    font-size: 0.8125rem;
    line-height: 1.5rem;
    color: var(--gray-700);
}

.dark .alogic-aktivny-filter {
    color: var(--gray-200);
}

.alogic-aktivny-filter-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.alogic-zrusit-filter {
    display: inline-flex;
    flex: none;
    padding: 0.125rem;
    border-radius: 0.25rem;
    color: var(--gray-400);
}

.alogic-zrusit-filter .fi-icon {
    width: 0.875rem;
    height: 0.875rem;
}

.alogic-zrusit-filter:hover {
    background: var(--gray-200);
    color: var(--gray-700);
}

.dark .alogic-zrusit-filter:hover {
    background: color-mix(in oklab, var(--color-white) 10%, transparent);
    color: var(--gray-200);
}

/* ---------------------------------------------------------------- Zarovnanie stĺpcov (30. 9. 2026) */
/* Stĺpec akcií na konci riadku má vždy rovnakú šírku, aj keď riadok nemá žiadnu akciu (PonukaRiadku kreslí prázdne
   miesto veľkosti tlačidla „⋯“) – vo všetkých tabuľkách (zoznamy, záložky detailu, widgety). */
.fi-ta-table > thead > tr > th.fi-ta-actions-header-cell,
.fi-ta-table > tbody > tr > td.fi-ta-cell:has(> .fi-ta-actions) {
    width: 3.5rem;
    min-width: 3.5rem;
}

/* Rovnaký rozmer aj záporný okraj ako tlačidlo „⋯“ (fi-icon-btn: 2,25 rem, okraj −0,5 rem). */
.alogic-bez-akcie {
    display: inline-block;
    width: 2.25rem;
    height: 2.25rem;
    margin: -0.5rem;
    vertical-align: middle;
}

/* ---------------------------------------------------------------- Polia pri zameraní (30. 9. 2026) */
/* Filtre, výbery a ostatné polia v celej aplikácii: po výbere hodnoty ani pri zameraní nemajú výrazný modrý rámik
   (Filament: ring-2 hlavnou farbou). Okraj sa iba jemne zvýrazní; zvolená hodnota je viditeľná textom. Pole s chybou
   ostáva červené. */
.fi-input-wrp:not(.fi-disabled, .fi-invalid):focus-within {
    --tw-ring-shadow: 0 0 0 1px var(--gray-400);
}

.dark .fi-input-wrp:not(.fi-disabled, .fi-invalid):focus-within {
    --tw-ring-shadow: 0 0 0 1px color-mix(in oklab, var(--color-white) 35%, transparent);
}



/* Dokumentácia → Reporty: od 16. 10. 2026 dizajn v2 – karty podľa oblastí (ReportCard, alogic-v2.css „ReportCard“). */

/* ---------------------------------------------------------------- Zariadenia (časť 2, 6. 10. 2026) */
/* QR kód v detaile stroja (App\Support\QrKod). */
.alogic-qr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.alogic-qr-obrazok {
    flex: none;
    width: 7.5rem;
    height: 7.5rem;
    padding: 0.25rem;
    border: 1px solid var(--alogic-okraj);
    border-radius: 0.625rem;
    background: #fff;
}

.alogic-qr-obrazok svg {
    width: 100%;
    height: 100%;
}

.alogic-qr-text {
    flex: 1 1 14rem;
    min-width: 0;
    font-size: 0.875rem;
}

.alogic-qr-cislo {
    font-weight: 500;
    color: var(--gray-950);
}

.dark .alogic-qr-cislo {
    color: #fff;
}

.alogic-qr-popis,
.alogic-qr-odkaz,
.alogic-zar-poznamka {
    color: var(--gray-500);
    font-size: 0.8125rem;
}

.alogic-qr-odkaz {
    overflow-wrap: anywhere;
}

.alogic-qr-tlacidla {
    margin-top: 0.5rem;
}

.alogic-qr-tlacidlo,
.alogic-zar-odkaz {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--primary-600);
    font-size: 0.875rem;
    text-align: left;
}

.alogic-qr-tlacidlo {
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--alogic-okraj);
    border-radius: 0.5rem;
    color: var(--gray-700);
}

.alogic-qr-tlacidlo:hover,
.alogic-zar-odkaz:hover {
    text-decoration: underline;
}

/* Záložky detailu (8. 10. 2026, všetky detaily): blok s údajmi (Rozhranie::BLOK_ZALOZKY) má odsadenie ako „Základné
   údaje“, tabuľka nie je nikdy vnútri bloku – je na celú šírku karty (hlavička stĺpcov aj riadky od okraja po okraj).
   Blok nad tabuľkou je od nej oddelený čiarou. */
.alogic-karta-detailu > .fi-sc-tabs-tab:not(.alogic-karta-zakladne) .alogic-blok-zalozky {
    padding: 1rem 1.25rem;
}

.alogic-karta-detailu > .fi-sc-tabs-tab .alogic-blok-nad-tabulkou {
    border-bottom: 1px solid var(--alogic-okraj);
}

/* Nahradené skúšky OÚS. (Požadované revízie v1 – alogic-zar-tabulka – sú od 22. 10. 2026 zmazané, karta v2.) */
.alogic-zar-ous {
    padding: 0.75rem 1rem 1rem;
    font-size: 0.875rem;
}

.alogic-zar-ous ul {
    margin-top: 0.5rem;
}

.alogic-zar-ous li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.375rem 0;
    border-bottom: 1px solid var(--alogic-okraj);
}

/* Mapa haly v1 je od 22. 10. 2026 zmazaná – mapa je v2 (alogic-v2.css). */

/* Výber ikony kategórie zariadení (Administrácia → Kategórie zariadení, 7. 10. 2026): náhľad ikony Tabler s menom. */
.alogic-ikona-volba {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.alogic-ikona-volba-svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: none;
}

/* ---------------------------------------------------------------- Režim výberu (RezimVyberu, 7. 10. 2026) */
/* Hromadné akcie sú iba v páse výberu, nie v páse zoznamu Filamentu. */
.fi-ta-header-toolbar .alogic-hromadna-akcia {
    display: none !important;
}

/* Ikona „Vybrať“ v zapnutom režime je zvýraznená hlavnou farbou. */
.alogic-vybrat.alogic-vybrat-zapnute {
    color: var(--primary-600);
    background: var(--primary-50);
}

.dark .alogic-vybrat.alogic-vybrat-zapnute {
    color: var(--primary-400);
    background: color-mix(in oklab, var(--primary-400) 12%, transparent);
}

/* Pás výberu pod pásom zoznamu (view filament.tabulka.vyber). */
.alogic-vyber {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    padding: 0.5rem 0.75rem;
    border-top: 1px solid var(--alogic-okraj);
    background: var(--gray-50);
    font-size: 0.875rem;
    color: var(--gray-700);
}

.dark .alogic-vyber {
    background: color-mix(in oklab, var(--color-white) 4%, transparent);
    color: var(--gray-200);
}

.alogic-vyber-pocet {
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

/* Označiť všetkých / Zrušiť označenie: neutrálna farba (nie červená). */
.alogic-vyber-odkaz {
    padding: 0.125rem 0.25rem;
    border-radius: 0.25rem;
    color: var(--gray-600);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--gray-300);
}

.alogic-vyber-odkaz:hover {
    color: var(--gray-900);
    background: var(--gray-200);
}

.dark .alogic-vyber-odkaz {
    color: var(--gray-300);
}

.dark .alogic-vyber-odkaz:hover {
    color: var(--color-white);
    background: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.alogic-vyber-akcie {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-inline-start: auto;
}

/* Hromadná akcia bez vybraného záznamu je viditeľná, ale nedá sa použiť (Filament ju inak skryje cez x-show). */
.alogic-vyber .alogic-hromadna-akcia[style*="display: none"] {
    display: inline-flex !important;
    opacity: 0.45;
    pointer-events: none;
}

@media (max-width: 639px) {
    .alogic-vyber-akcie {
        margin-inline-start: 0;
        width: 100%;
    }
}

/* Pás výberu nahrádza riadok „Vybrané záznamy“ Filamentu. */
.fi-ta-selection-indicator {
    display: none !important;
}

/* ---------------------------------------------------------------- Metrológia – kalibrácia v krokoch (7. 10. 2026) */
/* Okno vhodné na tablet: tabuľka bodov s M1–M5 (číselná klávesnica), výsledok bodu hneď po opustení poľa. */
.alogic-kalibracia-ulozit {
    display: flex;
    justify-content: flex-start;
    padding-top: 0.25rem;
}
.alogic-kalibracia-meradlo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem 1.5rem;
    font-size: 0.875rem;
}
.alogic-kalibracia-meradlo dt,
.alogic-kalibracia-suhrn dt {
    color: var(--gray-500);
    font-size: 0.75rem;
}
.alogic-kalibracia-meradlo dd,
.alogic-kalibracia-suhrn dd {
    color: var(--gray-950);
}
/* Trieda alogic-merania je priamo na kontajneri tabuľky (Repeater::extraAttributes). Široká tabuľka sa posúva v okne, nie celá stránka. */
.alogic-merania.fi-fo-table-repeater {
    overflow-x: auto;
    max-width: 100%;
}
.alogic-merania.fi-fo-table-repeater table td,
.alogic-merania.fi-fo-table-repeater table th {
    vertical-align: top;
}
.alogic-merania input.alogic-meranie {
    min-width: 5.5rem;
    font-variant-numeric: tabular-nums;
    text-align: right;
}
.alogic-kalibracia-bod {
    display: flex;
    flex-direction: column;
    min-width: 11rem;
    font-size: 0.875rem;
}
.alogic-kalibracia-bod-nazov {
    font-weight: 500;
    color: var(--gray-950);
}
.alogic-kalibracia-bod-popis {
    color: var(--gray-500);
    font-size: 0.75rem;
}
.alogic-kalibracia-vysledok {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    min-width: 13rem;
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
    color: var(--gray-700);
}
/* Tablet na výšku a užšie okno: užšie stĺpce, aby sa tabuľka bodov zmestila bez posúvania. */
@media (max-width: 1023px) {
    .alogic-merania.fi-fo-table-repeater table td,
    .alogic-merania.fi-fo-table-repeater table th {
        padding-left: 0.375rem;
        padding-right: 0.375rem;
    }
    .alogic-merania input.alogic-meranie {
        min-width: 4.25rem;
        padding-left: 0.375rem;
        padding-right: 0.375rem;
    }
    .alogic-kalibracia-bod {
        min-width: 8rem;
    }
    .alogic-kalibracia-vysledok {
        min-width: 8.5rem;
    }
}
.alogic-kalibracia-cakanie {
    color: var(--gray-400);
}
.alogic-kalibracia-upozornenie {
    color: var(--warning-700);
    font-size: 0.8125rem;
}
.alogic-kalibracia-upozornenie ul {
    list-style: disc;
    padding-left: 1.25rem;
}
.alogic-kalibracia-suhrn dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem 1.5rem;
    font-size: 0.875rem;
}
.alogic-kalibracia-vyjadrenie {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--gray-700);
}
.alogic-kalibracia-vyjadrenie span {
    color: var(--gray-500);
}
.dark .alogic-kalibracia-meradlo dd,
.dark .alogic-kalibracia-suhrn dd,
.dark .alogic-kalibracia-bod-nazov {
    color: var(--gray-100);
}
.dark .alogic-kalibracia-vysledok,
.dark .alogic-kalibracia-vyjadrenie {
    color: var(--gray-300);
}
.dark .alogic-kalibracia-upozornenie {
    color: var(--warning-400);
}

/* Ponuka „⋯“ v riadku: položky sa načítajú pri otvorení (PonukaRiadku, 8. 10. 2026). */
.alogic-ponuka-info {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: var(--gray-500);
}

/* Záložka Etalón – menovité hodnoty: text rovnakým písmom ako údaje. */
.alogic-hodnoty-menovite {
    font-size: 0.875rem;
}

/* Záložka Etalón – namerané hodnoty (8. 10. 2026): úzka tabuľka čísel zarovnaných vpravo, rovnaké písmo ako údaje. */
.alogic-hodnoty-etalonu {
    width: auto;
    min-width: 24rem;
}
.alogic-hodnoty-etalonu td,
.alogic-hodnoty-etalonu th {
    padding: 0.375rem 0 0.375rem 2rem;
    white-space: nowrap;
}
.alogic-hodnoty-etalonu td:first-child,
.alogic-hodnoty-etalonu th:first-child {
    padding-left: 0;
}

/* Môj podpis (12. 10. 2026): náhľad uloženého podpisu na bielom podklade s jemným okrajom. */
.alogic-moj-podpis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16rem;
    min-height: 7rem;
    padding: 0.75rem 1.25rem;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 0.5rem;
}
.alogic-moj-podpis img {
    max-width: 22rem;
    max-height: 9rem;
}

/* Externá kalibrácia – „Kam čo zapísať z certifikátu“ (12. 10. 2026): odrážky s bežným písmom. */
.alogic-napoveda {
    list-style: disc;
    padding-left: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--gray-700);
}
.alogic-napoveda li + li {
    margin-top: 0.375rem;
}
.dark .alogic-napoveda {
    color: var(--gray-300);
}

/* Posúdenie externej kalibrácie (12. 10. 2026): tabuľka návrhu a riadok „Návrh: …“. */
.alogic-posudenie-tabulka {
    width: auto;
    min-width: 28rem;
    font-size: 0.875rem;
}
.alogic-posudenie-tabulka td,
.alogic-posudenie-tabulka th {
    padding: 0.375rem 0 0.375rem 1.5rem;
    white-space: nowrap;
}
.alogic-posudenie-tabulka td:first-child,
.alogic-posudenie-tabulka th:first-child {
    padding-left: 0;
}
.alogic-posudenie-navrh {
    margin-top: 0.5rem;
    font-size: 0.875rem;
}

/* Záložka Etalón – skutočný rozmer používaný pri interných kalibráciách (12. 10. 2026): rovnaké písmo ako údaje. */
.alogic-skutocny-rozmer {
    font-size: 0.875rem;
}

/* Kvalita – SIPOC: od 16. 10. 2026 komponent v2 x-v2.sipoc (alogic-v2.css, „Kvalita – SIPOC a položky v karte“). */

/* ---------------------------------------------------------------- Kvalita – graf KPI (12. 10. 2026) */
/* SVG z aplikácie (App\Support\GrafKpi), farby z premenných Filamentu – svetlý aj tmavý režim. */
.alogic-graf-kpi {
    width: 100%;
    max-width: 48rem;
    height: auto;
    display: block;
}
.alogic-graf-mriezka {
    stroke: var(--gray-200);
    stroke-width: 1;
}
.dark .alogic-graf-mriezka {
    stroke: var(--gray-700);
}
.alogic-graf-popis {
    fill: var(--gray-500);
    font-size: 11px;
}
.alogic-graf-ciel {
    fill: none;
    stroke: var(--gray-500);
    stroke-width: 1.5;
    stroke-dasharray: 6 4;
}
.alogic-graf-ciel-popis {
    fill: var(--gray-600);
    font-size: 11px;
}
.dark .alogic-graf-ciel-popis {
    fill: var(--gray-300);
}
.alogic-graf-ciara {
    fill: none;
    stroke: var(--primary-600);
    stroke-width: 2;
}
.alogic-graf-bod,
.alogic-graf-bod-splnene,
.alogic-graf-bod-nesplnene {
    stroke: var(--color-white);
    stroke-width: 1.5;
}
.alogic-graf-bod { fill: var(--gray-400); }
.alogic-graf-bod-splnene { fill: var(--success-600); }
.alogic-graf-bod-nesplnene { fill: var(--danger-600); }
.alogic-graf-legenda {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: var(--gray-500);
}
.alogic-graf-znacka {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 0.125rem;
    margin-right: -0.375rem;
}
.alogic-graf-znacka-splnene { background: var(--success-600); }
.alogic-graf-znacka-nesplnene { background: var(--danger-600); }
.alogic-graf-znacka-ciel {
    height: 0;
    border-top: 2px dashed var(--gray-500);
    border-radius: 0;
}
.alogic-graf-prazdny {
    font-size: 0.875rem;
    color: var(--gray-500);
}

/* Kvalita – matica rizík: od 16. 10. 2026 komponent v2 x-v2.matica-rizik (alogic-v2.css, „MatrixCard – matica rizík“). */

/* Prehľad (od 22. 10. 2026 v2 – alogic-v2.css „Prehľad v2“), program a plán auditov a priebeh auditu (v2 od 20. 10. 2026):
   štýly starého vzhľadu sú zmazané (krok 5 Prehľadu v2). */

/* ---------------------------------------------------------------- Kvalita – graf TQC (náklady na reklamácie, 14. 10. 2026) */
/* Graf TQC (App\Support\GrafTqc) – odtiene hlavnej farby a sivá. (Tabuľka nákladov v1 je od 22. 10. 2026 zmazaná – karta v2.) */
.alogic-graf-tqc {
    width: 100%;
    max-width: 56rem;
    height: auto;
    display: block;
}
.alogic-graf-tqc-zakaznicke { fill: var(--primary-800); }
.alogic-graf-tqc-interne { fill: var(--primary-400); }
.alogic-graf-tqc-dodavatelske { fill: var(--gray-400); }
.alogic-graf-tqc-minuly {
    fill: none;
    stroke: var(--gray-700);
    stroke-width: 2;
    stroke-dasharray: 5 4;
}
.alogic-graf-tqc-minuly-bod { fill: var(--gray-700); }
.dark .alogic-graf-tqc-minuly { stroke: var(--gray-300); }
.dark .alogic-graf-tqc-minuly-bod { fill: var(--gray-300); }

/* Kvalita – PFMEA (14. 10. 2026): položka, ktorá vyžaduje opatrenie (RPN ≥ hranica alebo S ≥ 9), má oranžový pás vľavo a jemné
   podfarbenie; pomôcka kritérií S, O, D vedľa poľa vo formulári položky so zvýraznenou zvolenou hodnotou (bez tučného písma). */
.fi-ta-row.alogic-pfmea-vyzaduje > td {
    background: color-mix(in oklab, var(--warning-500) 6%, transparent);
}

.fi-ta-row.alogic-pfmea-vyzaduje > td:first-child {
    box-shadow: inset 3px 0 0 var(--warning-500);
}

.alogic-kriteria-sod .alogic-tabulka {
    font-size: 0.8125rem;
}

.alogic-kriteria-sod .alogic-tabulka th,
.alogic-kriteria-sod .alogic-tabulka td {
    padding: 0.25rem 0.5rem;
    vertical-align: top;
}

.alogic-kriteria-sod .alogic-kriterium-vybrane td {
    background: color-mix(in oklab, var(--primary-500) 14%, transparent);
    color: var(--gray-950);
}

.dark .alogic-kriteria-sod .alogic-kriterium-vybrane td {
    color: var(--gray-50);
}
