/*
 * Rozložení administrace Sim&Ren (App\Filament\Rozlozeni) – stejné jako CRM a šablony,
 * barvy z Fakturace 2.0 (teplé šedé, cihlová; App\Filament\Vzhled, fakturace-2.css).
 *
 * Počítač: levé menu na celou výšku (logo a název nahoře, „Správa aplikace“ dole za čarou),
 * horní lišta jen nad obsahem – vlevo drobečky, vpravo (firma →) zvoneček → avatar.
 * Mobil: vlevo logo, vpravo (firma,) zvoneček a ☰; menu vyjede zprava a nahoře má účet.
 *
 * Jen proměnné, které Filament má (--gray-*, --primary-*); neexistující se tiše zahodí.
 * Slovo se nikdy neláme – dlouhý název se zkrátí třemi tečkami.
 */

.fi-body { --simren-menu: 15rem; }

/* ---------- Logo a název aplikace ---------- */
.simren-znacka { display: inline-flex; align-items: center; gap: .6rem; min-width: 0; max-width: 100%; height: 100%; }
.simren-znacka img { width: 28px; height: 28px; border-radius: 6px; flex: none; object-fit: contain; }
.simren-znacka-nazev { font-weight: 600; font-size: 1rem; color: var(--gray-950); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dark .simren-znacka-nazev { color: white; }
.fi-logo { min-width: 0; max-width: 100%; }

/* ---------- Drobečková navigace v horní liště ---------- */
.simren-drobecky { display: none; min-width: 0; }
.simren-drobecky .fi-breadcrumbs-list { flex-wrap: nowrap; }
.simren-drobecky .fi-breadcrumbs-item { white-space: nowrap; min-width: 0; }
.simren-drobecky .fi-breadcrumbs-item-label { overflow: hidden; text-overflow: ellipsis; }
.simren-drobecky-list { display: flex; align-items: center; gap: .5rem; margin: 0; padding: 0; list-style: none; font-size: .875rem; color: var(--gray-500); min-width: 0; }
.simren-drobecky-list li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.simren-drobecky-list li:last-child { color: var(--gray-700); font-weight: 500; }
.dark .simren-drobecky-list li:last-child { color: var(--gray-200); }
.simren-drobecky-list .simren-oddelovac { color: var(--gray-400); flex: none; }

/* ---------- Správa aplikace: dole v menu, oddělená čarou ---------- */
.fi-sidebar-nav-groups { flex-grow: 1; }
.fi-sidebar-group[data-group-label="Správa aplikace"] {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--gray-200);
}
.dark .fi-sidebar-group[data-group-label="Správa aplikace"] { border-color: var(--gray-700); }

/* ---------- Účet v menu (jen mobil) ---------- */
.simren-ucet-mobil { display: none; }

/* ---------- Počítač ---------- */
@media (min-width: 64rem) {
    /* Menu na celou výšku vlevo; lišta a obsah vedle něj. */
    .fi-body.fi-body-has-navigation { padding-inline-start: var(--simren-menu); }
    .fi-body.fi-body-has-navigation .fi-main-sidebar {
        position: fixed !important;
        inset-block: 0 !important;
        inset-inline-start: 0;
        top: 0 !important;
        height: 100dvh !important;
        width: var(--simren-menu) !important;
        min-width: 0 !important;
        max-width: none !important;
        z-index: 31;
        background: var(--gray-50);
        border-inline-end: 1px solid var(--gray-200);
    }
    .dark .fi-body.fi-body-has-navigation .fi-main-sidebar { background: var(--gray-950); border-color: var(--gray-700); }

    /* Hlavička menu s logem (Filament ji při horní liště na počítači schovává). */
    .fi-body-has-topbar .fi-main-sidebar .fi-sidebar-header {
        display: flex !important;
        justify-content: flex-start;
        padding-inline: 20px !important;
        box-shadow: none !important;
        border-bottom: 1px solid var(--gray-200);
        background: transparent !important;
    }
    .dark .fi-body-has-topbar .fi-main-sidebar .fi-sidebar-header { border-color: var(--gray-700); }
    .fi-main-sidebar .fi-sidebar-header-logo-ctn { min-width: 0; }

    /* Lišta: místo loga drobečky. */
    .fi-topbar-start > a, .fi-topbar-start > .fi-logo { display: none !important; }
    .fi-topbar-start { flex: 1; min-width: 0; margin-inline-end: 1rem; }
    .simren-drobecky { display: block; }
    .simren-ma-drobecky .fi-main .fi-header .fi-breadcrumbs { display: none; }
}

/* ---------- Mobil a tablet ---------- */
@media (max-width: 63.999rem) {
    /* Vlevo logo, vpravo zvoneček a ☰ úplně vpravo; avatar je v menu. */
    .fi-topbar { gap: .5rem; }
    .fi-topbar-start { display: flex !important; flex: 1; min-width: 0; margin: 0 !important; order: 0; }
    .fi-topbar-start > a { display: flex; min-width: 0; height: 100%; align-items: center; }
    .fi-topbar-end { order: 1; margin-inline-start: 0 !important; column-gap: .5rem !important; flex: none; }
    .fi-topbar-open-sidebar-btn, .fi-topbar-close-sidebar-btn { order: 2; }
    .fi-topbar .fi-user-menu { display: none !important; }

    /* Menu vyjede zprava – nad lištou i pruhem oznámení (z-index 50). */
    .fi-main-sidebar { inset-inline-start: auto !important; inset-inline-end: 0; max-width: calc(100vw - 3rem); z-index: 56 !important; background: var(--gray-50); }
    .dark .fi-main-sidebar { background: var(--gray-950); }
    .fi-sidebar-close-overlay { z-index: 55 !important; }
    .fi-main-sidebar:not(.fi-sidebar-open) { translate: 100% 0 !important; }
    .fi-main-sidebar .fi-sidebar-header-ctn { display: none; }

    .simren-ucet-mobil { display: block; padding: 16px 16px 12px; border-bottom: 1px solid var(--gray-200); }
    .dark .simren-ucet-mobil { border-color: rgb(255 255 255 / .1); }
    .simren-ucet-mobil-hlava { display: flex; align-items: center; gap: .75rem; }
    .simren-ucet-mobil-jmeno { display: flex; flex-direction: column; min-width: 0; flex: 1; font-size: .875rem; }
    .simren-ucet-mobil-jmeno strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--gray-950); }
    .dark .simren-ucet-mobil-jmeno strong { color: white; }
    .simren-ucet-mobil-jmeno span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--gray-500); font-size: .75rem; }
    .simren-ucet-mobil-zavrit { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .5rem; color: var(--gray-500); background: transparent; border: 0; cursor: pointer; flex: none; }
    .simren-ucet-mobil-zavrit .fi-icon { width: 1.5rem; height: 1.5rem; }
    .simren-ucet-mobil-odkazy { display: flex; flex-direction: column; margin-top: .75rem; }
    .simren-ucet-mobil-odkazy a, .simren-ucet-mobil-odkazy button {
        display: flex; align-items: center; gap: .6rem; width: 100%; padding: .5rem .5rem; border-radius: .5rem;
        font: inherit; font-size: .875rem; color: var(--gray-700); background: transparent; border: 0; cursor: pointer; text-align: start; text-decoration: none;
    }
    .dark .simren-ucet-mobil-odkazy a, .dark .simren-ucet-mobil-odkazy button { color: var(--gray-200); }
    .simren-ucet-mobil-odkazy a:hover, .simren-ucet-mobil-odkazy button:hover { background: var(--gray-50); }
    .dark .simren-ucet-mobil-odkazy a:hover, .dark .simren-ucet-mobil-odkazy button:hover { background: rgb(255 255 255 / .05); }
    .simren-ucet-mobil-odkazy .fi-icon { width: 1.25rem; height: 1.25rem; color: var(--gray-400); flex: none; }
    .simren-ucet-mobil-odkazy form { margin: 0; }
}

/* Dlouhá položka menu se zalomí v mezeře (ne uprostřed slova), ať se nezkrátí. */
.fi-sidebar-item-label { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }

/* Druhý krok přihlášení passkeyem: odesílá tlačítko „Použít passkey“ samo,
   „Potvrdit přihlášení“ pod ním je navíc. U kódu z Authenticatoru zůstává. */
#multiFactorChallengeForm:has(.simren-vyzva-passkey) .fi-sc-actions { display: none; }

/* ---------- Přepínač firem (správa firmy, vpravo nahoře před avatarem) ---------- */
.simren-firma { display: flex; align-items: center; min-width: 0; font-size: .875rem; }
.simren-firma-tlacitko {
    display: inline-flex; align-items: center; gap: .25rem; height: 2.25rem; max-width: 16rem; min-width: 0;
    border-radius: .5rem; border: 1px solid var(--gray-300); background: transparent;
    padding: 0 .5rem 0 .75rem; font: inherit; font-size: .875rem; color: inherit; cursor: pointer;
}
.dark .simren-firma-tlacitko { border-color: rgb(255 255 255 / .15); }
.simren-firma-tlacitko:hover { background: var(--gray-50); }
.dark .simren-firma-tlacitko:hover { background: rgb(255 255 255 / .05); }
.simren-firma-nazev { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.simren-firma-jen-nazev { color: var(--gray-500); max-width: 16rem; }
.simren-firma-sipka { width: 1.25rem; height: 1.25rem; flex: none; color: var(--gray-500); }
@media (max-width: 63.999rem) {
    .simren-firma-tlacitko, .simren-firma-jen-nazev { max-width: 9rem; }
}

/* Položka firmy v přepínači – dlouhý název se zkrátí, neláme se. */
.simren-firma-nabidka .fi-dropdown-list-item-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Zabezpečení (druhý krok přihlášení) ---------- */
.simren-zabezpeceni { display: flex; flex-direction: column; gap: 1.5rem; max-width: 48rem; }
.simren-zarizeni { list-style: none; margin: 0; padding: 0; font-size: .875rem; }
.simren-zarizeni li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem 0; border-top: 1px solid var(--gray-200); }
.simren-zarizeni li:first-child { border-top: 0; padding-top: 0; }
.dark .simren-zarizeni li { border-color: var(--gray-700); }
.simren-slabe { color: var(--gray-500); }
.dark .simren-slabe { color: var(--gray-400); }
.simren-druhy-krok-text { color: var(--gray-600); }
.dark .simren-druhy-krok-text { color: var(--gray-300); }

/* ---------- Správa aplikace: přehledy ---------- */
.simren-udaje { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: .4rem 1rem; margin: 0; font-size: .875rem; }
.simren-udaje dt { color: var(--gray-500); }
.simren-udaje dd { margin: 0; min-width: 0; }
@media (max-width: 40rem) { .simren-udaje { grid-template-columns: 1fr; } .simren-udaje dd { margin-bottom: .4rem; } }
.simren-tabulka { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .875rem; }
.simren-tabulka th { text-align: start; font-weight: 600; color: var(--gray-500); padding: .4rem .5rem; border-bottom: 1px solid var(--gray-200); }
.simren-tabulka td { padding: .45rem .5rem; border-bottom: 1px solid var(--gray-100); }
.dark .simren-tabulka th { border-color: var(--gray-700); }
.dark .simren-tabulka td { border-color: var(--gray-800); }
.simren-firma-nabidka { max-width: calc(100vw - 1rem); }
