/*
 * Rozložení administrace Sim&Ren (App\Filament\Rozlozeni, README → Rozložení administrace).
 *
 * 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: 16.5rem; }

/* ---------- 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: rgb(255 255 255 / .1); }

/* ---------- Úč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: white;
        border-inline-end: 1px solid var(--gray-200);
    }
    .dark .fi-body.fi-body-has-navigation .fi-main-sidebar { background: var(--gray-900); border-color: rgb(255 255 255 / .1); }

    /* 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: rgb(255 255 255 / .1); }
    .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; }
    .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; }

/* ---------- Název firmy (správa firmy, vpravo nahoře před avatarem – bez přepínání) ---------- */
.simren-firma { display: flex; align-items: center; min-width: 0; font-size: .875rem; }
.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; }
@media (max-width: 63.999rem) {
    .simren-firma-jen-nazev { max-width: 9rem; }
}
