/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-r5z6kjf2cs] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-r5z6kjf2cs] {
    flex: 1;
}

.sidebar[b-r5z6kjf2cs] {
    background-image: linear-gradient(180deg, #005d87 0%, #0088ca 100%);
}

.top-row[b-r5z6kjf2cs] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-r5z6kjf2cs]  a, .top-row[b-r5z6kjf2cs]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-r5z6kjf2cs]  a:hover, .top-row[b-r5z6kjf2cs]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-r5z6kjf2cs]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Vlevo název stránky (me-auto odtlačí zbytek doprava), vpravo přihlášená agenda. */
    .top-row[b-r5z6kjf2cs]  .top-row-title {
        font-size: 1.15rem;
        font-weight: 650;
        color: var(--insp-text, #1f2937);
        border-bottom: 3px solid var(--insp-yellow);
        padding-bottom: 0.1rem;
        white-space: nowrap;
    }

    .top-row[b-r5z6kjf2cs]  .top-row-identity {
        font-weight: 600;
        color: var(--insp-primary-dark);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Jméno + profilovka jako jeden odkaz na vlastní profil */
    .top-row[b-r5z6kjf2cs]  .top-row-profile {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        text-decoration: none;
        min-width: 0;
    }

        /* Miniatura se nesmí zdeformovat: flex ji nesmí stlačit. Velikost i zaoblení (technik =
           kolečko, firma = zaoblený čtverec) řeší EntityAvatar, tady jen bránit stlačení. */
        .top-row[b-r5z6kjf2cs]  .entity-avatar {
            flex: 0 0 auto;
        }

        .top-row[b-r5z6kjf2cs]  .top-row-profile:hover .top-row-identity {
            text-decoration: underline;
        }

    /* Otazníček vedle jména — kruhový odkaz do příručky na sekci o aktuální stránce. */
    .top-row[b-r5z6kjf2cs]  .help-link {
        flex: 0 0 auto;
        width: 1.35rem;
        height: 1.35rem;
        margin-left: 1.35rem;
        animation: help-pulse-b-r5z6kjf2cs 3.2s ease-in-out infinite;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        border: 1px solid var(--insp-primary-dark);
        color: var(--insp-primary-dark);
        font-size: 0.85rem;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
    }

        .top-row[b-r5z6kjf2cs]  .help-link:hover {
            background: var(--insp-primary-dark);
            color: #fff;
            animation: none;
        }

/* Otazník pravidelně slabě dýchá, ať je vidět, že nápověda existuje: rozostřená záře (ne tvrdý
   prstenec) nabíhá a zhasíná skoro polovinu cyklu, takže je nápadná časem, ne kontrastem.
   Barvy jdou z proměnných, takže puls drží ve světlém i tmavém režimu. */
@keyframes help-pulse-b-r5z6kjf2cs {
    0%, 34%, 100% {
        box-shadow: 0 0 0 0 transparent;
    }

    52% {
        box-shadow: 0 0 12px 3px color-mix(in srgb, var(--insp-primary) 32%, transparent);
    }

    68% {
        box-shadow: 0 0 18px 6px color-mix(in srgb, var(--insp-primary) 24%, transparent);
    }

    86% {
        box-shadow: 0 0 25px 9px transparent;
    }
}

/* Blesk jde jen po písmenech jména a po profilovce, ne po pozadí odkazu: text se maskuje
   background-clip: text, profilovka má pruh uvnitř sebe (má overflow: hidden). Kolem profilovky
   navíc obíhá tenká modrá linka — ta je v samostatné vrstvě, takže se neblýská. */
.top-row[b-r5z6kjf2cs]  .top-row-profile .top-row-identity,
.top-row[b-r5z6kjf2cs]  .demo-switch summary .top-row-identity {
    background-image: linear-gradient(100deg, currentColor 0 44%, var(--insp-primary) 50%, currentColor 56%);
    background-size: 320% 100%;
    background-position: 100% 0;
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: identity-glint-b-r5z6kjf2cs 11s ease-in-out infinite;
}

    .top-row[b-r5z6kjf2cs]  .top-row-profile:hover .top-row-identity,
    .top-row[b-r5z6kjf2cs]  .demo-switch summary:hover .top-row-identity {
        text-decoration: underline;
        animation: identity-glint-hover-b-r5z6kjf2cs 1s ease-out;
    }

@keyframes identity-glint-b-r5z6kjf2cs {
    0%, 72% {
        background-position: 100% 0;
    }

    88%, 100% {
        background-position: 0 0;
    }
}

@keyframes identity-glint-hover-b-r5z6kjf2cs {
    from {
        background-position: 100% 0;
    }

    to {
        background-position: 0 0;
    }
}

.top-row[b-r5z6kjf2cs]  .avatar-orbit {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    /* Vlastní vrstva: bez ní by prstenec (z-index -1) mohl skočit pod pozadí lišty. */
    isolation: isolate;
}

    /* Kolem profilovky běží CELÝ prstenec; pohyb dělá putující světlá „kometa", ne mezera.
       Celý prstenec je vidět, mění se jen jeho svítivost — rotace hladkého přechodu se na
       2px lince nepozná. Alfa základu dělá i svit: drop-shadow ji kopíruje, takže záře putuje.
       Otáčí se jen gradient (registrovaná proměnná --orbit-angle), takže se rohy zaobleného
       čtverce nehýbou. Bez podpory @property zůstane pěkný statický prstenec. */
    .top-row[b-r5z6kjf2cs]  .avatar-orbit::before {
        content: "";
        position: absolute;
        inset: -2px;
        z-index: -1;
        background: conic-gradient(from var(--orbit-angle, 0deg),
            color-mix(in srgb, #4cc9f0 62%, transparent) 0turn,
            color-mix(in srgb, #4cc9f0 80%, transparent) 0.32turn,
            #4cc9f0 0.5turn,
            #9fe8ff 0.6turn,
            #eafcff 0.7turn,
            #9fe8ff 0.8turn,
            #4cc9f0 0.9turn,
            color-mix(in srgb, #4cc9f0 62%, transparent) 1turn);
        filter: drop-shadow(0 0 3px color-mix(in srgb, #7ee0ff 95%, transparent))
                drop-shadow(0 0 9px color-mix(in srgb, #4cc9f0 60%, transparent));
        animation: avatar-orbit-b-r5z6kjf2cs 2.6s linear infinite;
    }

    /* Prstenec kopíruje tvar profilovky — ta je u technika i firmy zaoblený čtverec. */
    .top-row[b-r5z6kjf2cs]  .avatar-orbit-round::before,
    .top-row[b-r5z6kjf2cs]  .avatar-orbit-company::before {
        border-radius: calc(0.55rem + 2px);
    }

    .top-row[b-r5z6kjf2cs]  .avatar-orbit .entity-avatar::after {
        content: "";
        position: absolute;
        top: -40%;
        bottom: -40%;
        left: -70%;
        width: 55%;
        pointer-events: none;
        transform: skewX(-18deg);
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
        animation: avatar-glint-b-r5z6kjf2cs 11s ease-in-out infinite;
    }

    .top-row[b-r5z6kjf2cs]  .top-row-profile:hover .entity-avatar::after {
        animation: avatar-glint-hover-b-r5z6kjf2cs 1s ease-out;
    }

@property --orbit-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@keyframes avatar-orbit-b-r5z6kjf2cs {
    to {
        --orbit-angle: 360deg;
    }
}

@keyframes avatar-glint-b-r5z6kjf2cs {
    0%, 72% {
        left: -70%;
        opacity: 0;
    }

    76% {
        opacity: 1;
    }

    88% {
        left: 120%;
        opacity: 1;
    }

    92%, 100% {
        left: 120%;
        opacity: 0;
    }
}

@keyframes avatar-glint-hover-b-r5z6kjf2cs {
    from {
        left: -70%;
        opacity: 1;
    }

    to {
        left: 120%;
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .top-row[b-r5z6kjf2cs]  .help-link,
    .top-row[b-r5z6kjf2cs]  .avatar-orbit::before,
    .top-row[b-r5z6kjf2cs]  .avatar-orbit .entity-avatar::after,
    .top-row[b-r5z6kjf2cs]  .top-row-bell.has-unread .bell-icon {
        animation: none;
    }

    .top-row[b-r5z6kjf2cs]  .top-row-profile .top-row-identity,
    .top-row[b-r5z6kjf2cs]  .demo-switch summary .top-row-identity {
        animation: none;
        background-image: none;
        -webkit-text-fill-color: currentColor;
    }
}

/* Odhlášení v pravém rohu lišty: předel ho oddělí od agendy (jméno, zvonek, nápověda),
   ikona je maska, takže přebírá barvu textu i v tmavém režimu. */
.top-row[b-r5z6kjf2cs]  .top-row-split {
    flex: 0 0 auto;
    width: 1px;
    height: 1.4rem;
    margin-left: 1.1rem;
    background: color-mix(in srgb, currentColor 22%, transparent);
}

.top-row[b-r5z6kjf2cs]  .top-row-logout {
    flex: 0 0 auto;
    margin: 0 0 0 0.65rem;
}

.top-row[b-r5z6kjf2cs]  .logout-button {
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: none;
    color: var(--insp-primary-dark);
    cursor: pointer;
    opacity: 0.75;
}

    .top-row[b-r5z6kjf2cs]  .logout-button::before {
        content: "";
        display: block;
        width: 1.15rem;
        height: 1.15rem;
        margin: 0 auto;
        background: currentColor;
        -webkit-mask: var(--icon-logout) center / contain no-repeat;
        mask: var(--icon-logout) center / contain no-repeat;
    }

    .top-row[b-r5z6kjf2cs]  .logout-button:hover {
        opacity: 1;
        background: color-mix(in srgb, var(--insp-primary) 12%, transparent);
    }

/* Odsazení nese obal zvonku, ne tlačítko — bublina se pak zarovná přesně podle ikony. */
.top-row[b-r5z6kjf2cs]  .bell-wrap {
    margin-left: 0.9rem;
}

/* Zvonek: bez nepřečtených je nenápadný, s odznakem táhne oko. Odznak je v rohu ikony
   (position: relative na odkazu), ať nerozhýbe šířku horní lišty. */
.top-row[b-r5z6kjf2cs]  .top-row-bell {
    position: relative;
    flex: 0 0 auto;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    opacity: 0.55;
    filter: grayscale(1);
    /* Zvonek je tlačítko (rozbaluje bublinu) — bez resetu by měl pozadí a rámeček od prohlížeče. */
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
}

    .top-row[b-r5z6kjf2cs]  .top-row-bell:hover {
        opacity: 1;
    }

    .top-row[b-r5z6kjf2cs]  .top-row-bell.has-unread {
        opacity: 1;
        filter: none;
    }

        /* S nepřečtenými zvonek zvoní každých pár sekund — kmitá jen ikona (odznak s počtem
           zůstává stát, jinak by opísal oblouk). Bez nepřečtených se nečeká nic, takže ticho. */
        .top-row[b-r5z6kjf2cs]  .top-row-bell.has-unread .bell-icon {
            display: inline-block;
            transform-origin: 50% 15%;
            animation: bell-ring-b-r5z6kjf2cs 8.3s ease-in-out infinite;
        }

@keyframes bell-ring-b-r5z6kjf2cs {
    0%, 55%, 92%, 100% {
        transform: rotate(0);
    }

    61% {
        transform: rotate(15.5deg);
    }

    68% {
        transform: rotate(-12deg);
    }

    75% {
        transform: rotate(9deg);
    }

    82% {
        transform: rotate(-5.5deg);
    }

    88% {
        transform: rotate(2.2deg);
    }
}

    .top-row[b-r5z6kjf2cs]  .top-row-bell .bell-badge {
        position: absolute;
        top: -0.4rem;
        right: -0.5rem;
        min-width: 1.05rem;
        padding: 0 0.2rem;
        border-radius: 0.6rem;
        background: #c62828;
        color: #fff;
        font-size: 0.65rem;
        font-weight: 700;
        line-height: 1.05rem;
        text-align: center;
    }

@media (max-width: 640.98px) {
    .top-row[b-r5z6kjf2cs] {
        justify-content: space-between;
    }

    .top-row[b-r5z6kjf2cs]  a, .top-row[b-r5z6kjf2cs]  .btn-link {
        margin-left: 0;
    }

    /* V úzkém pruhu se šetří každý pixel — předel i odhlášení jdou blíž k agendě. */
    .top-row[b-r5z6kjf2cs]  .top-row-split {
        margin-left: 0.5rem;
    }

    .top-row[b-r5z6kjf2cs]  .top-row-logout {
        margin-left: 0.35rem;
    }
}

@media (min-width: 641px) {
    .page[b-r5z6kjf2cs] {
        flex-direction: row;
    }

    .sidebar[b-r5z6kjf2cs] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        /* Menu se při zužování okna NIKDY nemačká (položky by lámaly text) — šířku drží
           a přizpůsobuje se obsah stránky (main má min-width: 0, tabulky si scrollují). */
        flex: 0 0 auto;
        /* Flex sloupec: posuvná část menu dostane přesně zbylou výšku bez počítání
           z viewportu (horní pruh je vyšší než své min-height). */
        display: flex;
        flex-direction: column;
    }

    /* Obsah smí být užší než jeho tabulky — bez tohohle by si flex:1 vynutil šířku obsahu
       a odmačkl menu; takhle se dřív zúží obsah (tabulky mají vlastní posuvník/responsivitu). */
    main[b-r5z6kjf2cs] {
        min-width: 0;
    }

    .top-row[b-r5z6kjf2cs] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-r5z6kjf2cs], article[b-r5z6kjf2cs] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-r5z6kjf2cs] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-r5z6kjf2cs] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-2mx5dpqfqa] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-2mx5dpqfqa] {
    background-color: rgba(255, 255, 255, 0.5);
}

/* Hlavička menu má stejnou výšku jako horní lišta obsahu, aby žlutá linka lícovala se šedou,
   která končí lištu vedle (bootstrapí .navbar/.navbar-brand jinak přidá svislý padding). */
.top-row[b-2mx5dpqfqa] {
    height: 3.5rem;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.35);
    border-bottom: 3px solid #ffed36; /* Starlit žlutá */
}

    .top-row .navbar-brand[b-2mx5dpqfqa] {
        padding-top: 0;
        padding-bottom: 0;
    }

    /* Hlavička menu se nikdy neláme do dvou řádků — značka i odhlášení drží jeden řádek
       (bootstrapí .container-fluid v navbaru jinak při zúžení wrapuje). */
    .top-row .container-fluid[b-2mx5dpqfqa] {
        flex-wrap: nowrap;
    }

.navbar-brand[b-2mx5dpqfqa] {
    font-size: 1.28rem;
}

.bi[b-2mx5dpqfqa] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

/* Nástěnka = průhledná tabule s kartami widgetů: rám je obrys, karty prosvítají
   (vlastní kresba — Bootstrap ikony tabuli nemají a mřížka v malé velikosti splývá) */
.bi-dashboard-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1' y='2.25' width='14' height='11.5' rx='2' fill='none' stroke='white' stroke-width='1.6'/%3E%3Crect x='3.5' y='4.75' width='3.6' height='6.5' rx='0.9' fill='white' fill-opacity='0.85'/%3E%3Crect x='8.9' y='4.75' width='3.6' height='3.6' rx='0.9' fill='white' fill-opacity='0.55'/%3E%3Crect x='8.9' y='9.4' width='3.6' height='1.85' rx='0.9' fill='white' fill-opacity='0.55'/%3E%3C/svg%3E");
}

.bi-briefcase-fill-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-briefcase-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z'/%3E%3Cpath d='M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z'/%3E%3C/svg%3E");
}

.bi-tools-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-tools' viewBox='0 0 16 16'%3E%3Cpath d='M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0zm9.646 10.646a.5.5 0 0 1 .708 0l2.914 2.915a.5.5 0 0 1-.707.707l-2.915-2.914a.5.5 0 0 1 0-.708zM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11z'/%3E%3C/svg%3E");
}

.bi-bar-chart-fill-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-bar-chart-fill' viewBox='0 0 16 16'%3E%3Cpath d='M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z'/%3E%3C/svg%3E");
}

/* Patička menu: ikonky ve stejném tahu jako zbytek nabídky, jen menší a tluměnější — kladivo
   z loga je „udělej to", tady jde o „najdi si to" (kniha) a „nahlas to" (mluvní bublina s !). */
.bi-info-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M2.4 3.2c1.9-1 3.7-1 5.6 0 1.9-1 3.7-1 5.6 0v9.3c-1.9-1-3.7-1-5.6 0-1.9-1-3.7-1-5.6 0z' fill='none' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M8 3.2v9.3' stroke='white' stroke-width='1.3' stroke-opacity='0.75'/%3E%3C/svg%3E");
}

.bi-bug-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M2.2 3.4h11.6v7.2H8.9L5.8 13.4v-2.8H2.2z' fill='none' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M8 5.4v2.6' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='9.4' r='0.8' fill='white'/%3E%3C/svg%3E");
}

    .nav-footer .about-link .bi[b-2mx5dpqfqa] {
        flex: 0 0 auto;
        top: 0;
        width: 1rem;
        height: 1rem;
        margin-right: 0.45rem;
        background-position: center;
        opacity: 0.75;
    }

.bi-map-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M5.8 2.6 2.2 4v9.4l3.6-1.4 4.4 1.4 3.6-1.4V2.6l-3.6 1.4z' fill='none' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M5.8 2.6v9.4M10.2 4v9.4' stroke='white' stroke-width='1.3' stroke-opacity='0.7'/%3E%3C/svg%3E");
}

.bi-sliders-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-sliders' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3h9.05zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8h2.05zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1h9.05z'/%3E%3C/svg%3E");
}

.bi-clipboard-check-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-clipboard-check' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3C/svg%3E");
}


.bi-building-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-building' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z'/%3E%3Cpath d='M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z'/%3E%3C/svg%3E");
}

.bi-tag-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-tag' viewBox='0 0 16 16'%3E%3Cpath d='M6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0z'/%3E%3Cpath d='M2 1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 1 6.586V2a1 1 0 0 1 1-1zm0 5.586 7 7L13.586 9l-7-7H2v4.586z'/%3E%3C/svg%3E");
}

.bi-plug-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plug' viewBox='0 0 16 16'%3E%3Cpath d='M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0zM5 4v2.5A2.5 2.5 0 0 0 7.5 9h1A2.5 2.5 0 0 0 11 6.5V4H5z'/%3E%3C/svg%3E");
}

/* bi-hdd — přehled úložiště (admin/Support) */
.bi-archive-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-hdd' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z'/%3E%3Cpath d='M16 11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V9.51c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198V11zM3.655 4.26 1.592 8.043C1.724 8.014 1.86 8 2 8h12c.14 0 .276.014.408.042L12.345 4.26a.5.5 0 0 0-.439-.26H4.094a.5.5 0 0 0-.44.26zM1 10v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z'/%3E%3C/svg%3E");
}

.bi-key-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-key' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z'/%3E%3Cpath d='M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
}

.bi-journal-text-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-journal-text' viewBox='0 0 16 16'%3E%3Cpath d='M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z'/%3E%3Cpath d='M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z'/%3E%3Cpath d='M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z'/%3E%3C/svg%3E");
}

.bi-chat-dots-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-chat-dots' viewBox='0 0 16 16'%3E%3Cpath d='M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/%3E%3Cpath d='m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z'/%3E%3C/svg%3E");
}

.bi-shield-check-nav-menu[b-2mx5dpqfqa] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-shield-check' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .11.028 1 1 0 0 0 .11-.028q.114-.033.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E");
}


.nav-item[b-2mx5dpqfqa] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-2mx5dpqfqa] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-2mx5dpqfqa] {
        padding-bottom: 1rem;
    }

    .nav-item[b-2mx5dpqfqa]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
        position: relative;
    }

        /* Klikací plocha řádku sahá přes boční odsazení (.px-3) až k okrajům menu a kousek do
           svislé mezery mezi položkami — klik vedle položky, ale pořád v modrém pruhu, trefí
           položku. Grafika řádku zůstává odsazená. */
        .nav-item[b-2mx5dpqfqa]  .nav-link::after {
            content: "";
            position: absolute;
            top: -0.25rem;
            bottom: -0.25rem;
            left: -1rem;
            right: -1rem;
        }

.nav-item[b-2mx5dpqfqa]  a.active {
    background-color: rgba(255, 255, 255, 0.18);
    color: white;
    border-left: 4px solid #ffed36; /* Starlit žlutá */
    border-radius: 0 4px 4px 0;
}

.nav-item[b-2mx5dpqfqa]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

/* Emblém je inline (ne <img>), aby rotaci kola skládal kompozitor stránky — v obrázku
   se animace u tak dlouhé periody trhala. */
.brand-emblem[b-2mx5dpqfqa] {
    width: 38px;
    height: 38px;
    margin-right: 9px;
    flex: 0 0 auto;
    shape-rendering: geometricPrecision;
}

.brand-gear[b-2mx5dpqfqa] {
    transform-origin: 120px 120px;
    transform-box: view-box;
    will-change: transform;
    animation: brand-gear-spin-b-2mx5dpqfqa 51s linear infinite;
}

@keyframes brand-gear-spin-b-2mx5dpqfqa {
    to {
        transform: rotate(1turn);
    }
}

@media (prefers-reduced-motion: reduce) {
    .brand-gear[b-2mx5dpqfqa] {
        animation: none;
    }
}

/* Podpis provozovatele dole v menu; rozměry explicitně (SVG bez nich nemá vnitřní výšku). */
.operator-logo[b-2mx5dpqfqa] {
    display: block;
    width: 104px;
    height: 28px;
    margin-left: 1rem;
    opacity: 0.55;
    user-select: none;
    transition: opacity 0.15s;
}

.operator-link:hover .operator-logo[b-2mx5dpqfqa] {
    opacity: 0.9;
}

/* Jméno účtu — jen neinteraktivní „vodoznak", žádný hover ani kurzor */
.account-watermark[b-2mx5dpqfqa] {
    display: block;
    padding: 0.5rem 1rem;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.9rem;
    cursor: default;
    user-select: none;
}

.nav-scrollable[b-2mx5dpqfqa] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-2mx5dpqfqa] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-2mx5dpqfqa] {
        display: none;
    }

    .nav-scrollable[b-2mx5dpqfqa] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Posuvná oblast vyplní zbytek flex sloupce a končí NAD ukotvenými tlačítky dole
           (režim, jazyk a sbalení v jedné řadě, ~3.4rem; sbalené menu je má pod sebou
           a přepisuje si okraj v app.css) — položky menu nikdy nepodjíždí pod ně. */
        flex: 1 1 auto;
        min-height: 0;
        margin-bottom: 3.4rem;
        overflow-y: auto;
        /* Rozšířená klikací plocha položek (::after přes boční odsazení) nesmí vyrobit
           vodorovný posuvník — ve sbaleném menu na to jinak dojde. */
        overflow-x: hidden;
    }
}

/* Nízké okno: menu se zhustí, ať se vejde bez posuvníku — ten je až poslední záchrana. */
@media (min-width: 641px) and (max-height: 700px) {
    .nav-item[b-2mx5dpqfqa]  .nav-link {
        height: 2.25rem;
        line-height: 2.25rem;
    }

    .nav-item[b-2mx5dpqfqa] {
        font-size: 0.85rem;
        padding-bottom: 0.15rem;
    }

        .nav-item:first-of-type[b-2mx5dpqfqa] {
            padding-top: 0.5rem;
        }

        .nav-item.mt-3[b-2mx5dpqfqa] {
            margin-top: 0.5rem !important; /* přebít utilitu mt-3 u podpisu provozovatele */
        }

    .account-watermark[b-2mx5dpqfqa] {
        padding: 0.25rem 1rem;
        font-size: 0.8rem;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-veht2e01b1],
.components-reconnect-repeated-attempt-visible[b-veht2e01b1],
.components-reconnect-failed-visible[b-veht2e01b1],
.components-pause-visible[b-veht2e01b1],
.components-resume-failed-visible[b-veht2e01b1],
.components-rejoining-animation[b-veht2e01b1] {
    display: none;
}

/* Při opakovaných pokusech (show + retrying zároveň) nechat jen jednu zprávu s odpočtem. */
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-first-attempt-visible[b-veht2e01b1] {
    display: none !important;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-retrying[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-failed[b-veht2e01b1],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-veht2e01b1] {
    display: block;
}


#components-reconnect-modal[b-veht2e01b1] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-veht2e01b1 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-veht2e01b1 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-veht2e01b1 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-veht2e01b1]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-veht2e01b1 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-veht2e01b1 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-veht2e01b1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-veht2e01b1 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-veht2e01b1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-veht2e01b1] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-veht2e01b1] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-veht2e01b1] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-veht2e01b1] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-veht2e01b1] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-veht2e01b1] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-veht2e01b1 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-veht2e01b1] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-veht2e01b1 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* V demu je heslo druhá cesta (admin, podpora) — rozbalovátko drží rozcestník v hlavní roli. */
.demo-password[b-5017d71a85] {
    margin-top: 2rem;
    max-width: 22rem;
}

    .demo-password summary[b-5017d71a85] {
        cursor: pointer;
        color: var(--insp-primary);
        font-size: 0.9rem;
    }

    .demo-password .login-form[b-5017d71a85] {
        margin-top: 0.9rem;
    }
/* /Components/Pages/Notifications.razor.rz.scp.css */
/* Nepřečtené oznámení: barevný pruh vlevo a jemné podbarvení. Podbarvení je poloprůhledná
   Starlit modrá, ne pevná světlá barva — projde světlým i tmavým režimem bez ztráty čitelnosti. */
.notification[b-3tft0sqmzu] {
    text-align: left;
}

.notification.unread[b-3tft0sqmzu] {
    border-left: 3px solid var(--insp-primary);
    background: rgba(0, 136, 202, 0.1);
}

.unread-dot[b-3tft0sqmzu] {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--insp-primary);
    display: inline-block;
}
/* /Components/Shared/DemoAccountTiles.razor.rz.scp.css */
.demo-head[b-1wyrwp0ujt] {
    margin-bottom: 1.4rem;
}

    .demo-head p[b-1wyrwp0ujt] {
        margin: 0.55rem 0 0;
        color: var(--bs-secondary-color, #6c757d);
        max-width: 46rem;
    }

.demo-group[b-1wyrwp0ujt] {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #6c757d);
    margin: 1.5rem 0 0.6rem;
}

.demo-tiles[b-1wyrwp0ujt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 0.7rem;
}

    .demo-tiles form[b-1wyrwp0ujt] {
        margin: 0;
    }

/* Dlaždice = tlačítko formuláře (POST na /demo/login), takže si nese vlastní vzhled karty. */
.demo-tile[b-1wyrwp0ujt] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 0.95rem;
    text-align: left;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.7rem;
    color: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

    .demo-tile:hover[b-1wyrwp0ujt], .demo-tile:focus-visible[b-1wyrwp0ujt] {
        border-color: var(--insp-primary);
        box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--insp-primary) 22%, transparent);
        transform: translateY(-1px);
        outline: none;
    }

.demo-tile-text[b-1wyrwp0ujt] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.demo-tile-name[b-1wyrwp0ujt] {
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.demo-tile-note[b-1wyrwp0ujt] {
    font-size: 0.82rem;
    color: var(--bs-secondary-color, #6c757d);
}
/* /Components/Shared/DemoSwitcher.razor.rz.scp.css */
/* Jméno v liště je v demu rozbalovací nabídka účtů. Svit jména i prstenec kolem profilovky
   stylují pravidla horního pruhu (MainLayout), tady je jen šipka a panel. */
.demo-switch[b-l17ix75zce] {
    position: relative;
    flex: 0 0 auto;
    min-width: 0;
}

    .demo-switch > summary[b-l17ix75zce] {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        cursor: pointer;
        list-style: none;
        min-width: 0;
    }

        .demo-switch > summary[b-l17ix75zce]::-webkit-details-marker {
            display: none;
        }

.demo-switch-caret[b-l17ix75zce] {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 2px solid var(--insp-primary-dark);
    border-bottom: 2px solid var(--insp-primary-dark);
    transform: rotate(45deg) translate(-0.08rem, -0.08rem);
    transition: transform 0.15s ease;
}

.demo-switch[open] .demo-switch-caret[b-l17ix75zce] {
    transform: rotate(225deg) translate(-0.06rem, -0.06rem);
}

.demo-switch-panel[b-l17ix75zce] {
    position: absolute;
    /* Pod horní pruh, ne do něj: jméno má výšku 26 px v 56 px pruhu (změřeno), takže 1,35 rem
       nabídku posadí pár pixelů pod šedou linku. */
    top: calc(100% + 1.35rem);
    right: 0;
    z-index: 1050;
    width: min(19rem, calc(100vw - 1.5rem));
    padding: 0.35rem 0;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.18);
    text-align: left;
}

.demo-switch-profile[b-l17ix75zce] {
    display: block;
    padding: 0.4rem 0.85rem;
    font-size: 0.88rem;
    color: var(--insp-primary);
    text-decoration: none;
}

    .demo-switch-profile:hover[b-l17ix75zce] {
        text-decoration: underline;
    }

.demo-switch-title[b-l17ix75zce] {
    padding: 0.45rem 0.85rem 0.3rem;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #6c757d);
    border-top: 1px solid color-mix(in srgb, var(--bs-border-color, #dee2e6) 60%, transparent);
}

.demo-switch form[b-l17ix75zce] {
    margin: 0;
}

.demo-switch-item[b-l17ix75zce] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.4rem 0.85rem;
    border: 0;
    background: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

    .demo-switch-item:hover[b-l17ix75zce] {
        background: color-mix(in srgb, var(--insp-primary) 9%, transparent);
    }

    .demo-switch-item.current[b-l17ix75zce] {
        cursor: default;
        background: color-mix(in srgb, var(--insp-primary) 5%, transparent);
    }

.demo-switch-text[b-l17ix75zce] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.demo-switch-name[b-l17ix75zce] {
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.demo-switch-note[b-l17ix75zce] {
    font-size: 0.76rem;
    color: var(--bs-secondary-color, #6c757d);
}

.demo-switch-current[b-l17ix75zce] {
    margin-left: auto;
    color: var(--insp-primary);
    font-weight: 700;
}
/* /Components/Shared/IntegrationsPanel.razor.rz.scp.css */
/* Integrace: tři karty pod sebou, v každé hlavička (název + počet + jedno tlačítko), volitelný
   formulář jako mřížka popisek → prvek a pod ním seznam kompaktních řádků. Dřív se ovládací prvky
   rozlézaly do šířky karty a vytvořené tajemství se ukazovalo v hlášce na začátku stránky. */
.integration-stack[b-5rd4fwuirf] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 900px;
}

.integration-card[b-5rd4fwuirf] {
    padding: 0.85rem 1rem;
}

.integration-head[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.integration-spacer[b-5rd4fwuirf] {
    flex: 1 1 auto;
}

.integration-count[b-5rd4fwuirf] {
    font-size: 0.78rem;
    color: var(--bs-secondary-color, #6c757d);
}

.integration-base[b-5rd4fwuirf] {
    font-size: 0.78rem;
}

.integration-note[b-5rd4fwuirf] {
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    color: var(--bs-secondary-color, #6c757d);
}

/* Popisek vlevo, prvek vpravo — u sebe, ne přes celou šířku karty. */
.integration-form[b-5rd4fwuirf] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem 0.75rem;
    align-items: center;
    margin-top: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--insp-primary) 6%, transparent);
}

    .integration-form > label[b-5rd4fwuirf] {
        margin: 0;
        font-size: 0.82rem;
        font-weight: 600;
        white-space: nowrap;
    }

    .integration-form input.form-control[b-5rd4fwuirf],
    .integration-form select.form-select[b-5rd4fwuirf] {
        max-width: 320px;
    }

.integration-inline[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.integration-list[b-5rd4fwuirf] {
    display: flex;
    flex-direction: column;
    margin-top: 0.75rem;
}

.integration-item[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-top: 1px solid color-mix(in srgb, var(--bs-border-color, #dee2e6) 60%, transparent);
}

    .integration-item:first-child[b-5rd4fwuirf] {
        border-top: 0;
    }

    .integration-item.muted[b-5rd4fwuirf] {
        opacity: 0.62;
    }

.integration-item-main[b-5rd4fwuirf] {
    flex: 1 1 auto;
    min-width: 0;
}

.integration-item-title[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.integration-item-meta[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.15rem;
    font-size: 0.76rem;
    color: var(--bs-secondary-color, #6c757d);
}

.scope-chip[b-5rd4fwuirf] {
    padding: 0 0.4rem;
    border-radius: 0.3rem;
    background: color-mix(in srgb, var(--insp-primary) 14%, transparent);
    color: var(--insp-primary-dark);
    font-size: 0.72rem;
    font-weight: 600;
}

/* Vytvořený klíč nebo tajemství webhooku — v kartě, kde vznikl, ne na začátku stránky. */
.integration-secret[b-5rd4fwuirf] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--insp-yellow-dark, #ebd713);
    border-left-width: 4px;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--insp-yellow, #ffed36) 12%, transparent);
}

.integration-secret-head[b-5rd4fwuirf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
/* /Components/Shared/JobItemsEditor.razor.rz.scp.css */
/* Karta položky. Barvy jdou z Bootstrap proměnných, ne pevně bílá — v tmavém režimu byla karta
   bílá a text v ní nečitelný. */
.item-card[b-rs3b0ur67m] {
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    background: var(--bs-body-bg);
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    transition: box-shadow 0.15s ease, opacity 0.15s ease;
}

/* Kompaktní řádek: podrobnosti jsou schované, takže karta nepotřebuje tolik vzduchu. */
.item-card.compact[b-rs3b0ur67m] {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.375rem;
}

.item-card:hover[b-rs3b0ur67m] {
    box-shadow: 0 2px 8px rgba(47, 74, 110, 0.12);
}

.item-card.dragging[b-rs3b0ur67m] {
    opacity: 0.55;
    border-style: dashed;
    border-color: var(--bs-primary, #2f4a6e);
}

.drag-handle[b-rs3b0ur67m] {
    cursor: grab;
    color: var(--bs-secondary-color);
    font-size: 1.1rem;
    line-height: 1;
    user-select: none;
}

.drag-handle:active[b-rs3b0ur67m] {
    cursor: grabbing;
}

/* Vyplněná (validní) položka září — oko má sjet na hotové dlaždice, ne na tlačítko přidání. */
.item-card.item-filled[b-rs3b0ur67m] {
    border-left: 4px solid var(--insp-primary, #0088CA);
    background: color-mix(in srgb, var(--insp-primary, #0088CA) 6%, var(--bs-body-bg));
    box-shadow: 0 1px 6px rgba(0, 136, 202, 0.10);
}

/* Přidání položky ustupuje do pozadí (čárkovaný, tlumený) — důraz nesou vyplněné položky. */
.item-add[b-rs3b0ur67m] {
    border-style: dashed;
    opacity: 0.75;
}

    .item-add:hover[b-rs3b0ur67m] {
        opacity: 1;
    }
/* /Components/Shared/NotificationBell.razor.rz.scp.css */
/* Bublina oznámení pod zvonkem: šířka se vejde i na telefon, seznam se posouvá sám a hlavička
   s patičkou zůstávají na místě. Zvonek samotný stylují pravidla horního pruhu (MainLayout). */
.bell-wrap[b-6tie8kqoz2] {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.bell-panel[b-6tie8kqoz2] {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: -0.35rem;
    z-index: 1050;
    width: min(23rem, calc(100vw - 1.5rem));
    padding: 0;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.18);
}

    /* Špička bubliny ke zvonku — ať je vidět, z čeho vyjela. */
    .bell-panel[b-6tie8kqoz2]::before {
        content: "";
        position: absolute;
        top: -0.35rem;
        /* Špička míří na střed zvonku (změřeno: obal == tlačítko, panel odsazený o 0,35rem). */
        right: 0.7rem;
        width: 0.7rem;
        height: 0.7rem;
        transform: rotate(45deg);
        background: inherit;
        border-left: 1px solid var(--bs-border-color, #dee2e6);
        border-top: 1px solid var(--bs-border-color, #dee2e6);
    }

.bell-panel-head[b-6tie8kqoz2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.bell-panel-list[b-6tie8kqoz2] {
    max-height: min(60vh, 24rem);
    overflow-y: auto;
}

.bell-panel-empty[b-6tie8kqoz2] {
    padding: 1.25rem 0.75rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--bs-secondary-color, #6c757d);
}

.bell-item[b-6tie8kqoz2] {
    display: block;
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--bs-border-color, #dee2e6) 55%, transparent);
    border-left: 3px solid transparent;
    background: none;
    text-align: left;
    color: inherit;
}

    .bell-item:hover[b-6tie8kqoz2] {
        background: color-mix(in srgb, var(--insp-primary) 8%, transparent);
    }

    .bell-item.unread[b-6tie8kqoz2] {
        border-left-color: var(--insp-primary);
        background: color-mix(in srgb, var(--insp-primary) 5%, transparent);
    }

/* Pruh v hlavičce dává všem odkazům margin-left — v bublině by patička odskočila. */
.bell-panel .bell-panel-foot[b-6tie8kqoz2] {
    display: block;
    margin-left: 0;
    padding: 0.5rem 0.75rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    text-align: center;
    font-size: 0.85rem;
    text-decoration: none;
    color: var(--insp-primary);
}
