/* /Components/Layout/AccountLayout.razor.rz.scp.css */
.account-shell[b-71qplz8ctf]{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);background:#f7f9f5}.account-brand-panel[b-71qplz8ctf]{display:grid;place-items:center;background:#123a45;color:#fff;padding:3rem;position:relative;overflow:hidden}.account-brand-panel[b-71qplz8ctf]::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-180px;bottom:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.account-brand-copy[b-71qplz8ctf]{max-width:440px;position:relative;z-index:1}.account-brand-copy h1[b-71qplz8ctf]{font-size:clamp(2.2rem,5vw,4rem);line-height:.96;margin:.8rem 0 1.2rem}.account-brand-copy>p:not(.eyebrow)[b-71qplz8ctf]{color:#b9d0ca;max-width:390px}.account-logo[b-71qplz8ctf]{display:flex;align-items:end;gap:5px;width:52px;height:45px;transform:skewY(-7deg);margin-bottom:2rem}.account-logo span[b-71qplz8ctf]{flex:1;height:60%;background:#6ab07a}.account-logo span:nth-child(2)[b-71qplz8ctf]{height:100%;background:#e19852}.account-logo span:nth-child(3)[b-71qplz8ctf]{height:78%;background:#e2ebe6}.account-flow[b-71qplz8ctf]{display:flex;align-items:center;gap:.6rem;margin-top:3rem;color:#dce9e5;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.account-flow i[b-71qplz8ctf]{width:32px;height:1px;background:#6d938e}.account-form-panel[b-71qplz8ctf]{display:grid;place-items:center;padding:2rem}.account-form-panel[b-71qplz8ctf]  .login-card{width:min(430px,100%)}
@media(max-width:760px){.account-shell[b-71qplz8ctf]{grid-template-columns:1fr}.account-brand-panel[b-71qplz8ctf]{min-height:230px;padding:2rem 1.4rem;place-items:start}.account-brand-copy h1[b-71qplz8ctf]{font-size:2.3rem}.account-brand-copy>p:not(.eyebrow)[b-71qplz8ctf],.account-flow[b-71qplz8ctf]{display:none}.account-logo[b-71qplz8ctf]{margin-bottom:1rem;width:38px;height:32px}.account-form-panel[b-71qplz8ctf]{padding:1.5rem 1rem}}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-83xo2unlzl] { min-height: 100vh; display: grid; grid-template-columns: 246px minmax(0, 1fr); background: #f3f5f1; transition: grid-template-columns .18s ease; }
/* Desanclado la columna se reduce a la franja de iconos; el menú se despliega
   por encima del contenido, sin reacomodarlo. */
.app-shell.nav-collapsed[b-83xo2unlzl] { grid-template-columns: 62px minmax(0, 1fr); }
.sidebar[b-83xo2unlzl] { position: sticky; top: 0; height: 100vh; z-index: 20; }
.main-stage[b-83xo2unlzl] { min-width: 0; }
.command-bar[b-83xo2unlzl] { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 2rem; background: rgba(248,250,247,.94); border-bottom: 1px solid #d8ded9; position: sticky; top: 0; z-index: 15; backdrop-filter: blur(12px); }
.command-context[b-83xo2unlzl], .command-actions[b-83xo2unlzl], .profile-chip[b-83xo2unlzl] { display: flex; align-items: center; }
.command-context[b-83xo2unlzl] { gap: .72rem; }
.command-context div[b-83xo2unlzl] { display: grid; line-height: 1.2; }
.command-context strong[b-83xo2unlzl] { color: #173a43; font-size: .86rem; }
.command-context span[b-83xo2unlzl] { color: #74827c; font-size: .72rem; }
.live-pulse[b-83xo2unlzl] { width: 9px; height: 9px; background: #56ad72; border-radius: 50%; box-shadow: 0 0 0 5px rgba(86,173,114,.12); }
.command-actions[b-83xo2unlzl] { gap: .65rem; }
.quick-link[b-83xo2unlzl] { color: #254a52; border: 1px solid #cbd5cf; border-radius: 6px; padding: .55rem .8rem; text-decoration: none; font-weight: 700; font-size: .78rem; background: #fff; }
.quick-link--signal[b-83xo2unlzl] { color: #fff; background: #d07832; border-color: #d07832; }
.profile-chip[b-83xo2unlzl] { gap: .5rem; padding-left: .4rem; color: #53645d; text-decoration: none; }
.profile-chip > span[b-83xo2unlzl] { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #173f49; color: #fff; font-weight: 800; font-size: .72rem; }
.profile-chip small[b-83xo2unlzl] { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
.content-stage[b-83xo2unlzl] { padding: 1.7rem 2rem 3rem; max-width: 1600px; margin: 0 auto; }
#blazor-error-ui[b-83xo2unlzl] { color-scheme: light only; background: #fff5e9; bottom: 0; box-shadow: 0 -1px 8px rgba(0,0,0,.15); display: none; left: 0; padding: .8rem 1.5rem; position: fixed; width: 100%; z-index: 1000; color: #703e18; }
#blazor-error-ui .dismiss[b-83xo2unlzl] { cursor: pointer; position: absolute; right: 1rem; top: .6rem; }
@media (prefers-reduced-motion: reduce) { .app-shell[b-83xo2unlzl] { transition: none; } }
@media (max-width: 820px) {
    .app-shell[b-83xo2unlzl], .app-shell.nav-collapsed[b-83xo2unlzl] { display: block; grid-template-columns: none; }
    .sidebar[b-83xo2unlzl] { position: sticky; height: auto; }
    .command-bar[b-83xo2unlzl] { height: 58px; padding: 0 1rem; }
    .command-context span[b-83xo2unlzl], .quick-link[b-83xo2unlzl], .profile-chip small[b-83xo2unlzl] { display: none; }
    .quick-link--signal[b-83xo2unlzl] { display: inline-block; }
    .content-stage[b-83xo2unlzl] { padding: 1rem 1rem 2rem; }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* El menú tiene dos anchos: anclado muestra los rótulos, desanclado deja sólo
   los iconos y se despliega por encima del contenido al pasar el mouse.

   Las entradas se pintan con ::deep porque son componentes NavLink: el CSS
   aislado marca los elementos escritos en este archivo, pero no el <a> que
   NavLink genera por dentro. Sin ::deep esas reglas no alcanzan al enlace y el
   navegador lo deja con su aspecto por defecto de hipervínculo. */
.sidebar[b-8n37h1wosa] { --w-pinned: 246px; --w-collapsed: 62px; display: flex; flex-direction: column; height: 100vh; width: 100%; background: #123a45; }

/* Desanclado ocupa la franja estrecha de la columna y se despliega por encima
   del contenido. Tanto el paso del mouse como el foco de teclado cuentan sólo
   dentro de la zona de opciones: el botón de anclaje vive en la cabecera, y si
   contaran en todo el menú, al pulsarlo el cursor quedaría encima y el botón
   enfocado, de modo que volvería a abrirse en el acto sin dejar ver el cambio. */
.sidebar.is-collapsed[b-8n37h1wosa] { position: absolute; top: 0; left: 0; width: var(--w-collapsed); transition: width .18s ease; }
.sidebar.is-collapsed:has(.nav-scrollable:hover)[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within)[b-8n37h1wosa] { width: var(--w-pinned); box-shadow: 14px 0 34px rgba(4, 18, 22, .42); }

.brand-block[b-8n37h1wosa] { height: 72px; flex: none; display: flex; align-items: center; gap: .5rem; padding: 0 .7rem 0 1rem; background: #0e3039; border-bottom: 1px solid rgba(255,255,255,.08); overflow: hidden; }
.brand[b-8n37h1wosa] { color: #fff; display: flex; align-items: center; gap: .72rem; text-decoration: none; min-width: 0; flex: 1; }
.brand-text[b-8n37h1wosa] { display: grid; line-height: 1.02; letter-spacing: .12em; white-space: nowrap; }
.brand strong[b-8n37h1wosa] { font-family: Bahnschrift, "Arial Narrow", sans-serif; font-size: 1.06rem; }
.brand small[b-8n37h1wosa] { color: #92b2ad; font-size: .54rem; margin-top: .3rem; }
.brand-symbol[b-8n37h1wosa] { width: 31px; height: 31px; flex: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; align-items: end; transform: skewY(-8deg); }
.brand-symbol i[b-8n37h1wosa] { display: block; background: #6ab07a; height: 58%; border-radius: 1px; }
.brand-symbol i:nth-child(2)[b-8n37h1wosa] { height: 100%; background: #e19852; }
.brand-symbol i:nth-child(3)[b-8n37h1wosa] { height: 76%; background: #d8e5df; }
/* Colapsado sólo cabe el emblema; el rótulo vuelve con el menú desplegado. */
.sidebar.is-collapsed .brand-text[b-8n37h1wosa] { display: none; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .brand-text[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .brand-text[b-8n37h1wosa] { display: grid; }

.pin-toggle[b-8n37h1wosa] { flex: none; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: rgba(255,255,255,.05); color: #a9c6c1; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.pin-toggle:hover[b-8n37h1wosa] { background: rgba(225,152,82,.18); border-color: rgba(225,152,82,.5); color: #f0c193; }
.pin-toggle:focus-visible[b-8n37h1wosa] { outline: 2px solid #e19852; outline-offset: 2px; }
.pin-icon[b-8n37h1wosa] { width: 16px; height: 16px; fill: currentColor; transition: transform .18s ease; }
.sidebar.is-collapsed .pin-icon[b-8n37h1wosa] { transform: rotate(45deg); }
.sidebar.is-pinned .pin-toggle[b-8n37h1wosa] { color: #e8b27d; border-color: rgba(225,152,82,.42); }

.menu-toggle[b-8n37h1wosa], .nav-toggle[b-8n37h1wosa] { display: none; }

.nav-scrollable[b-8n37h1wosa] { flex: 1; display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; padding: 1.1rem .6rem 1rem; }
.nav-stack[b-8n37h1wosa] { display: grid; gap: .16rem; }

.nav-section[b-8n37h1wosa] { color: #779a96; text-transform: uppercase; font-size: .57rem; font-weight: 800; letter-spacing: .16em; margin: 1.05rem .65rem .35rem; white-space: nowrap; }
.nav-section:first-child[b-8n37h1wosa] { margin-top: 0; }
/* Colapsado el rótulo estorba: en su lugar queda una línea que separa los grupos. */
.sidebar.is-collapsed .nav-section > span[b-8n37h1wosa] { display: none; }
.sidebar.is-collapsed .nav-section[b-8n37h1wosa] { margin: .75rem .5rem .5rem; border-top: 1px solid rgba(255,255,255,.09); height: 0; overflow: hidden; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .nav-section > span[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .nav-section > span[b-8n37h1wosa] { display: inline; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .nav-section[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .nav-section[b-8n37h1wosa] { margin: 1.05rem .65rem .35rem; border-top: 0; height: auto; overflow: visible; }

/* ---- Entradas del menú: con ::deep, porque el <a> lo genera NavLink ---- */
.sidebar[b-8n37h1wosa]  .nav-entry { position: relative; display: flex; align-items: center; gap: .72rem; min-height: 40px; padding: .4rem .62rem; color: #c8dad5; text-decoration: none; border-radius: 7px; font-size: .805rem; border: 1px solid transparent; white-space: nowrap; overflow: hidden; transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.sidebar[b-8n37h1wosa]  .nav-icon { width: 19px; height: 19px; flex: none; fill: currentColor; opacity: .82; transition: opacity .15s ease, transform .15s ease; }
.sidebar[b-8n37h1wosa]  .nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Se comportan como opciones, no como enlaces: se encienden bajo el cursor. */
.sidebar[b-8n37h1wosa]  .nav-entry:hover { color: #fff; background: rgba(255,255,255,.085); border-color: rgba(255,255,255,.10); box-shadow: 0 1px 0 rgba(0,0,0,.18); }
.sidebar[b-8n37h1wosa]  .nav-entry:hover .nav-icon { opacity: 1; transform: translateX(1px); }
.sidebar[b-8n37h1wosa]  .nav-entry:focus-visible { outline: 2px solid #e19852; outline-offset: -2px; }
.sidebar[b-8n37h1wosa]  .nav-entry.active { color: #fff; background: #1d4b56; border-color: rgba(255,255,255,.10); }
.sidebar[b-8n37h1wosa]  .nav-entry.active::before { content: ""; position: absolute; left: 0; top: 7px; bottom: 7px; width: 3px; border-radius: 0 3px 3px 0; background: #e19852; }
.sidebar[b-8n37h1wosa]  .nav-entry.active .nav-icon { opacity: 1; color: #e8b27d; }

.sidebar.is-collapsed[b-8n37h1wosa]  .nav-entry { justify-content: center; padding: .4rem; gap: 0; }
.sidebar.is-collapsed[b-8n37h1wosa]  .nav-label { display: none; }
.sidebar.is-collapsed:has(.nav-scrollable:hover)[b-8n37h1wosa]  .nav-entry, .sidebar.is-collapsed:has(.nav-scrollable:focus-within)[b-8n37h1wosa]  .nav-entry { justify-content: flex-start; padding: .4rem .62rem; gap: .72rem; }
.sidebar.is-collapsed:has(.nav-scrollable:hover)[b-8n37h1wosa]  .nav-label, .sidebar.is-collapsed:has(.nav-scrollable:focus-within)[b-8n37h1wosa]  .nav-label { display: block; }

.sidebar-foot[b-8n37h1wosa] { margin-top: auto; border-top: 1px solid rgba(255,255,255,.09); padding: .85rem .25rem 0; }
.sidebar-foot form[b-8n37h1wosa] { margin: 0; }
.logout-link[b-8n37h1wosa] { display: flex; align-items: center; gap: .72rem; width: 100%; border: 1px solid transparent; border-radius: 7px; background: none; color: #b9cec9; padding: .5rem .62rem; font-size: .765rem; cursor: pointer; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.logout-link:hover[b-8n37h1wosa] { background: rgba(214,120,102,.16); color: #f0bcae; }
.logout-link .nav-icon[b-8n37h1wosa] { width: 19px; height: 19px; flex: none; fill: currentColor; opacity: .82; }
.sidebar-foot small[b-8n37h1wosa] { display: block; color: #658884; font-size: .58rem; padding: .5rem .62rem 0; white-space: nowrap; }
.sidebar.is-collapsed .logout-link[b-8n37h1wosa] { justify-content: center; padding: .5rem; gap: 0; }
.sidebar.is-collapsed .logout-link .nav-label[b-8n37h1wosa] { display: none; }
.sidebar.is-collapsed .sidebar-foot small[b-8n37h1wosa] { display: none; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .logout-link[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .logout-link[b-8n37h1wosa] { justify-content: flex-start; padding: .5rem .62rem; gap: .72rem; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .logout-link .nav-label[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .logout-link .nav-label[b-8n37h1wosa] { display: block; }
.sidebar.is-collapsed:has(.nav-scrollable:hover) .sidebar-foot small[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:focus-within) .sidebar-foot small[b-8n37h1wosa] { display: block; }

@media (prefers-reduced-motion: reduce) {
    .sidebar[b-8n37h1wosa], .pin-icon[b-8n37h1wosa], .pin-toggle[b-8n37h1wosa], .logout-link[b-8n37h1wosa] { transition: none; }
    .sidebar[b-8n37h1wosa]  .nav-entry, .sidebar[b-8n37h1wosa]  .nav-icon { transition: none; }
}

@media (max-width: 820px) {
    /* En móvil el anclaje no aplica: el menú se abre por encima del contenido. */
    .sidebar[b-8n37h1wosa], .sidebar.is-collapsed[b-8n37h1wosa], .sidebar.is-collapsed:has(.nav-scrollable:hover)[b-8n37h1wosa] { position: static; width: 100%; height: auto; box-shadow: none; }
    .brand-block[b-8n37h1wosa] { height: 58px; padding: 0 1rem; }
    .sidebar.is-collapsed .brand-text[b-8n37h1wosa] { display: grid; }
    .pin-toggle[b-8n37h1wosa] { display: none; }
    .menu-toggle[b-8n37h1wosa] { display: block; color: #fff; cursor: pointer; font-size: 1.25rem; }
    .nav-scrollable[b-8n37h1wosa] { display: none; height: calc(100vh - 58px); position: fixed; left: 0; right: 0; top: 58px; z-index: 50; background: #123a45; }
    .nav-toggle:checked ~ .nav-scrollable[b-8n37h1wosa] { display: flex; }
    .sidebar.is-collapsed .sidebar-foot small[b-8n37h1wosa] { display: block; }
    .sidebar.is-collapsed .logout-link[b-8n37h1wosa] { justify-content: flex-start; padding: .55rem .62rem; gap: .72rem; }
    .sidebar.is-collapsed .logout-link .nav-label[b-8n37h1wosa] { display: block; }
    .sidebar.is-collapsed[b-8n37h1wosa]  .nav-label { display: block; }
    .sidebar.is-collapsed[b-8n37h1wosa]  .nav-entry { justify-content: flex-start; padding: .55rem .62rem; gap: .72rem; }
    .sidebar.is-collapsed .nav-section > span[b-8n37h1wosa] { display: inline; }
    .sidebar.is-collapsed .nav-section[b-8n37h1wosa] { margin: 1.05rem .65rem .35rem; border-top: 0; height: auto; overflow: visible; }
    .sidebar[b-8n37h1wosa]  .nav-entry { min-height: 46px; font-size: .9rem; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-s76kryizyr],
.components-reconnect-repeated-attempt-visible[b-s76kryizyr],
.components-reconnect-failed-visible[b-s76kryizyr],
.components-pause-visible[b-s76kryizyr],
.components-resume-failed-visible[b-s76kryizyr],
.components-rejoining-animation[b-s76kryizyr] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-retrying[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-failed[b-s76kryizyr],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-s76kryizyr] {
    display: block;
}


#components-reconnect-modal[b-s76kryizyr] {
    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-s76kryizyr 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-s76kryizyr 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-s76kryizyr 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-s76kryizyr]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-s76kryizyr 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-s76kryizyr {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-s76kryizyr {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-s76kryizyr {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-s76kryizyr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-s76kryizyr] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-s76kryizyr] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-s76kryizyr] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-s76kryizyr] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-s76kryizyr] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-s76kryizyr] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-s76kryizyr 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-s76kryizyr] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-s76kryizyr {
    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;
    }
}
