/* /Components/Layout/LoginLayout.razor.rz.scp.css */
#blazor-error-ui[b-18rjqhcpb2] {
    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-18rjqhcpb2] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-sl1931xqbn] {
    position: relative;
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(14, 165, 233, 0.08), transparent 24%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.app-main[b-sl1931xqbn] {
    min-width: 0;
    padding-top: 76px;
}

article.content[b-sl1931xqbn] {
    padding: 0.85rem !important;
}

@media (min-width: 992px) {
    .app-main[b-sl1931xqbn] {
        padding-top: 78px;
        padding-left: 250px;
    }

    .app-main.app-main--mini[b-sl1931xqbn] {
        padding-left: 88px;
    }

    article.content[b-sl1931xqbn] {
        padding: 1.15rem !important;
    }
}

@media (min-width: 1200px) {
    article.content[b-sl1931xqbn] {
        padding: 1.35rem 1.6rem !important;
    }
}

#blazor-error-ui[b-sl1931xqbn] {
    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-sl1931xqbn] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
:host[b-1df14j6wje] {
    display: block;
    color: #f8fafc;
}

.topbar-shell[b-1df14j6wje] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 60;
    padding: 0.65rem 0.9rem;
    background: linear-gradient(180deg, rgba(9, 9, 11, 0.98) 0%, rgba(17, 24, 39, 0.94) 100%);
    border-bottom: 1px solid rgba(241, 199, 104, 0.12);
    backdrop-filter: blur(20px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
}

.topbar-main[b-1df14j6wje] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    justify-content: space-between;
}

.topbar-brand-group[b-1df14j6wje] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.sidebar-brand[b-1df14j6wje] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.58rem 0.7rem;
    border: 1px solid rgba(241, 199, 104, 0.14);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.96) 0%, rgba(10, 10, 10, 0.92) 100%);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.24);
    text-decoration: none;
    color: inherit;
}

.sidebar-brand:hover[b-1df14j6wje] {
    color: inherit;
}

.brand-mark-wrap[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 52px;
    padding: 0.2rem 0.45rem;
    flex-shrink: 0;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(245, 245, 244, 0.04) 0%, rgba(241, 199, 104, 0.05) 100%);
}

.brand-image[b-1df14j6wje],
.brand-logo[b-1df14j6wje] {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

.brand-image[b-1df14j6wje] {
    object-fit: contain;
    background: transparent;
    padding: 0;
}

.brand-logo[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8fafc 0%, #dbeafe 100%);
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.topbar-modules[b-1df14j6wje] {
    display: none;
    align-items: center;
    gap: 0.55rem;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 0.1rem;
    scrollbar-width: none;
}

.topbar-modules[b-1df14j6wje]::-webkit-scrollbar {
    display: none;
}

.topbar-home-link[b-1df14j6wje],
.module-chip[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 38px;
    padding: 0.55rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(107, 114, 128, 0.2);
    background: rgba(17, 24, 39, 0.82);
    color: #d1d5db;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.18s ease;
}

.module-chip[b-1df14j6wje] {
    cursor: pointer;
}

.topbar-home-link:hover[b-1df14j6wje],
.module-chip:hover[b-1df14j6wje],
.module-chip.active[b-1df14j6wje],
.topbar-home-link.active[b-1df14j6wje] {
    color: #fff8e1;
    border-color: rgba(241, 199, 104, 0.34);
    background: linear-gradient(135deg, rgba(184, 131, 47, 0.82) 0%, rgba(31, 41, 55, 0.94) 100%);
    box-shadow: 0 10px 26px rgba(184, 131, 47, 0.24);
}

.topbar-user-pill[b-1df14j6wje] {
    display: none;
    flex-direction: column;
    align-items: flex-end;
    padding: 0.45rem 0.7rem;
    border-radius: 14px;
    border: 1px solid rgba(241, 199, 104, 0.1);
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.76) 0%, rgba(31, 41, 55, 0.6) 100%);
}

.topbar-actions[b-1df14j6wje] {
    display: none;
    align-items: center;
    gap: 0.55rem;
}

.topbar-sidebar-toggle[b-1df14j6wje] {
    display: none;
    align-items: center;
    gap: 0.45rem;
    min-height: 38px;
    padding: 0.55rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(107, 114, 128, 0.22);
    background: rgba(17, 24, 39, 0.82);
    color: #d1d5db;
    font-size: 0.78rem;
    font-weight: 700;
}

.topbar-sidebar-toggle:hover[b-1df14j6wje] {
    color: #fff8e1;
    border-color: rgba(241, 199, 104, 0.34);
    background: linear-gradient(135deg, rgba(184, 131, 47, 0.82) 0%, rgba(31, 41, 55, 0.94) 100%);
}

.topbar-user-name[b-1df14j6wje] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #f8fafc;
}

.topbar-user-role[b-1df14j6wje] {
    font-size: 0.67rem;
    color: #c4b07a;
}

.navbar-toggler[b-1df14j6wje] {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(241, 199, 104, 0.16);
    border-radius: 12px;
    background: rgba(17, 24, 39, 0.88);
    color: #f8fafc;
}

.navbar-toggler span[b-1df14j6wje] {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.navbar-toggler.open span:nth-child(1)[b-1df14j6wje] {
    transform: translateY(6px) rotate(45deg);
}

.navbar-toggler.open span:nth-child(2)[b-1df14j6wje] {
    opacity: 0;
}

.navbar-toggler.open span:nth-child(3)[b-1df14j6wje] {
    transform: translateY(-6px) rotate(-45deg);
}

.navbar-toggler:focus-visible[b-1df14j6wje],
.sidebar-nav[b-1df14j6wje]  .nav-link:focus-visible,
.sidebar-logout-btn:focus-visible[b-1df14j6wje],
.sidebar-backdrop:focus-visible[b-1df14j6wje],
.module-chip:focus-visible[b-1df14j6wje],
.topbar-home-link:focus-visible[b-1df14j6wje],
.topbar-sidebar-toggle:focus-visible[b-1df14j6wje] {
    outline: 2px solid rgba(241, 199, 104, 0.95);
    outline-offset: 2px;
}

.sidebar-backdrop[b-1df14j6wje] {
    position: fixed;
    inset: 0;
    z-index: 55;
    border: 0;
    background: rgba(2, 6, 23, 0.55);
    backdrop-filter: blur(3px);
}

.nav-shell[b-1df14j6wje] {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 58;
    width: min(82vw, 290px);
    height: 100dvh;
    display: flex;
    flex-direction: column;
    padding: 5.3rem 0.85rem 0.85rem;
    background: linear-gradient(180deg, #09090b 0%, #111827 50%, #1f2937 100%);
    box-shadow: 24px 0 60px rgba(0, 0, 0, 0.34);
    border-right: 1px solid rgba(241, 199, 104, 0.08);
    transform: translateX(-105%);
    transition: transform 0.24s ease;
}

.nav-shell.open[b-1df14j6wje] {
    transform: translateX(0);
}

.context-header[b-1df14j6wje] {
    margin-bottom: 1rem;
    padding: 0.8rem;
    border: 1px solid rgba(241, 199, 104, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.9) 0%, rgba(31, 41, 55, 0.72) 100%);
}

.context-header-top[b-1df14j6wje] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.55rem;
}

.context-module-mark[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(184, 131, 47, 0.28) 0%, rgba(31, 41, 55, 0.92) 100%);
    color: #F1C768;
    font-size: 0.95rem;
}

.sidebar-mini-toggle[b-1df14j6wje] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(241, 199, 104, 0.14);
    border-radius: 12px;
    background: rgba(17, 24, 39, 0.82);
    color: #e5e7eb;
}

.sidebar-mini-toggle:hover[b-1df14j6wje] {
    color: #fff8e1;
    border-color: rgba(241, 199, 104, 0.32);
    background: rgba(55, 65, 81, 0.92);
}

.context-copy[b-1df14j6wje] {
    min-width: 0;
}

.context-eyebrow[b-1df14j6wje] {
    color: #d6c287;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.25rem;
}

.context-title[b-1df14j6wje] {
    color: #f8fafc;
    font-size: 0.9rem;
    font-weight: 800;
}

.context-hint[b-1df14j6wje] {
    color: #9ca3af;
    font-size: 0.72rem;
    margin-top: 0.18rem;
}

.sidebar-nav[b-1df14j6wje] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

.sidebar-nav[b-1df14j6wje]::-webkit-scrollbar {
    width: 7px;
}

.sidebar-nav[b-1df14j6wje]::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(184, 131, 47, 0.32);
}

.sidebar-nav[b-1df14j6wje]  .nav-link {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 38px;
    margin: 0.2rem 0;
    padding: 0.58rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 18px;
    background: rgba(17, 24, 39, 0.54);
    color: #e5e7eb;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.sidebar-nav[b-1df14j6wje]  .nav-link:hover {
    background: linear-gradient(135deg, rgba(55, 65, 81, 0.92) 0%, rgba(17, 24, 39, 0.96) 100%);
    border-color: rgba(241, 199, 104, 0.14);
    color: #fffdf5;
    transform: translateX(1px);
}

.sidebar-nav[b-1df14j6wje]  .nav-link .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    min-width: 1.7rem;
    height: 1.7rem;
    border-radius: 10px;
    background: rgba(55, 65, 81, 0.9);
    color: #f1c768;
    font-size: 0.8rem;
}

.sidebar-nav[b-1df14j6wje]  .nav-link.active,
.sidebar-nav[b-1df14j6wje]  .nav-link.active:hover,
.sidebar-nav[b-1df14j6wje]  .nav-link.active:focus-visible {
    border-color: rgba(241, 199, 104, 0.32);
    background: linear-gradient(135deg, rgba(184, 131, 47, 0.82) 0%, rgba(31, 41, 55, 0.96) 100%);
    color: #fffdf5;
    box-shadow: 0 12px 26px rgba(184, 131, 47, 0.28);
}

.sidebar-nav[b-1df14j6wje]  .nav-link.active::before {
    content: "";
    position: absolute;
    left: 0.45rem;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #FCE8A2 0%, #F1C768 50%, #B8832F 100%);
}

.sidebar-nav[b-1df14j6wje]  .nav-link.active .bi {
    background: rgba(255, 255, 255, 0.14);
    color: #f8fafc;
}

.nav-subsection-label[b-1df14j6wje] {
    padding: 0.7rem 0.85rem 0.3rem;
    color: #d6c287;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sidebar-user-panel[b-1df14j6wje] {
    margin-top: 1rem;
    padding: 0.8rem;
    border: 1px solid rgba(241, 199, 104, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.9) 0%, rgba(31, 41, 55, 0.72) 100%);
}

.sidebar-user-meta[b-1df14j6wje] {
    margin-bottom: 0.8rem;
    color: #c4b07a;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sidebar-user-avatar[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(184, 131, 47, 0.24) 0%, rgba(241, 199, 104, 0.22) 100%);
    color: #fffdf5;
    font-size: 1.1rem;
}

.sidebar-user-info[b-1df14j6wje] {
    min-width: 0;
}

.sidebar-user-name[b-1df14j6wje],
.sidebar-user-role[b-1df14j6wje] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-user-name[b-1df14j6wje] {
    color: #f8fafc;
    font-weight: 700;
    font-size: 0.83rem;
}

.sidebar-user-role[b-1df14j6wje] {
    color: #c4b07a;
    font-size: 0.72rem;
}

.sidebar-logout-btn[b-1df14j6wje] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    margin-top: 0.95rem;
    min-height: 36px;
    border: 1px solid rgba(248, 113, 113, 0.22);
    border-radius: 14px;
    background: rgba(127, 29, 29, 0.22);
    color: #fecaca;
    font-weight: 700;
    font-size: 0.78rem;
}

.sidebar-logout-btn:hover[b-1df14j6wje] {
    background: rgba(127, 29, 29, 0.32);
    color: #fee2e2;
}

@media (max-width: 991.98px) {
    .brand-copy[b-1df14j6wje] {
        max-width: calc(100vw - 9rem);
    }
}

@media (min-width: 992px) {
    .topbar-shell[b-1df14j6wje] {
        padding: 0.65rem 1.1rem;
    }

    .topbar-modules[b-1df14j6wje],
    .topbar-user-pill[b-1df14j6wje],
    .topbar-actions[b-1df14j6wje],
    .topbar-sidebar-toggle[b-1df14j6wje] {
        display: inline-flex;
    }

    .nav-shell[b-1df14j6wje] {
        top: 72px;
        width: 250px;
        height: calc(100vh - 72px);
        padding: 0.85rem 0.75rem 0.8rem;
        transform: translateX(0);
        transition: width 0.22s ease, padding 0.22s ease, transform 0.24s ease;
        box-shadow: 18px 0 40px rgba(0, 0, 0, 0.18);
        border-right: 1px solid rgba(241, 199, 104, 0.1);
    }

    .sidebar-mini-toggle[b-1df14j6wje] {
        display: inline-flex;
    }

    .nav-shell.desktop-mini[b-1df14j6wje] {
        width: 88px;
        padding-inline: 0.55rem;
    }

    .nav-shell.desktop-mini .context-header[b-1df14j6wje] {
        padding: 0.65rem 0.5rem;
    }

    .nav-shell.desktop-mini .context-header-top[b-1df14j6wje] {
        margin-bottom: 0;
        justify-content: center;
        flex-direction: column;
    }

    .nav-shell.desktop-mini .context-copy[b-1df14j6wje],
    .nav-shell.desktop-mini .sidebar-user-meta[b-1df14j6wje],
    .nav-shell.desktop-mini .sidebar-user-info[b-1df14j6wje],
    .nav-shell.desktop-mini .sidebar-logout-btn span[b-1df14j6wje],
    .nav-shell.desktop-mini .sidebar-nav[b-1df14j6wje]  .nav-link span:last-child {
        display: none;
    }

    .nav-shell.desktop-mini .sidebar-nav[b-1df14j6wje] {
        padding-right: 0;
    }

    .nav-shell.desktop-mini .sidebar-nav[b-1df14j6wje]  .nav-link {
        justify-content: center;
        padding: 0.5rem;
        border-radius: 16px;
    }

    .nav-shell.desktop-mini .sidebar-nav[b-1df14j6wje]  .nav-link:hover {
        transform: none;
    }

    .nav-shell.desktop-mini .sidebar-nav[b-1df14j6wje]  .nav-link.active::before {
        left: 50%;
        top: auto;
        bottom: 0.3rem;
        width: 20px;
        height: 4px;
        transform: translateX(-50%);
    }

    .nav-shell.desktop-mini .sidebar-user-panel[b-1df14j6wje] {
        padding: 0.6rem 0.45rem;
    }

    .nav-shell.desktop-mini .sidebar-user-panel .d-flex[b-1df14j6wje] {
        justify-content: center;
    }

    .nav-shell.desktop-mini .sidebar-logout-btn[b-1df14j6wje] {
        width: 100%;
        margin-top: 0.7rem;
        padding-inline: 0;
    }

    .navbar-toggler[b-1df14j6wje],
    .sidebar-backdrop[b-1df14j6wje] {
        display: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-fp4u5sxv0a],
.components-reconnect-repeated-attempt-visible[b-fp4u5sxv0a],
.components-reconnect-failed-visible[b-fp4u5sxv0a],
.components-pause-visible[b-fp4u5sxv0a],
.components-resume-failed-visible[b-fp4u5sxv0a],
.components-rejoining-animation[b-fp4u5sxv0a] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-retrying[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-failed[b-fp4u5sxv0a],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-fp4u5sxv0a] {
    display: block;
}


#components-reconnect-modal[b-fp4u5sxv0a] {
    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-fp4u5sxv0a 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-fp4u5sxv0a 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-fp4u5sxv0a 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-fp4u5sxv0a]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-fp4u5sxv0a 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-fp4u5sxv0a {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-fp4u5sxv0a {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-fp4u5sxv0a {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-fp4u5sxv0a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-fp4u5sxv0a] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-fp4u5sxv0a] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-fp4u5sxv0a] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-fp4u5sxv0a] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-fp4u5sxv0a] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-fp4u5sxv0a] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-fp4u5sxv0a 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-fp4u5sxv0a] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-fp4u5sxv0a {
    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/RRHH/Asistencias.razor.rz.scp.css */
.asis-page-shell[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.asis-page-hero[b-z1gwageghk] {
    border: 1px solid #dbeafe;
    border-radius: 1rem;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 58%, #f8fafc 100%);
    padding: 1.1rem 1.2rem;
    box-shadow: 0 .4rem 1.2rem rgba(15, 23, 42, .05);
}

.asis-page-hero__eyebrow[b-z1gwageghk] {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #1d4ed8;
    margin-bottom: .2rem;
}

.asis-page-hero__title[b-z1gwageghk] {
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
    margin: 0;
}

.asis-page-hero__subtitle[b-z1gwageghk] {
    font-size: .9rem;
    color: #475569;
    max-width: 72ch;
    margin: .35rem 0 0;
}

.asis-page-hero__summary[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .85rem;
}

.asis-top-pill[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .32rem .6rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
    background: #fff;
    border: 1px solid #dbeafe;
    color: #1e3a8a;
}

.asis-toolbar-actions[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.asis-stat-card[b-z1gwageghk] {
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 .2rem .8rem rgba(15, 23, 42, .04);
    padding: .95rem 1rem;
    display: flex;
    gap: .8rem;
    align-items: flex-start;
}

.asis-stat-card__icon[b-z1gwageghk] {
    width: 2.3rem;
    height: 2.3rem;
    border-radius: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    background: #eff6ff;
    color: #1d4ed8;
}

.asis-stat-card__label[b-z1gwageghk] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    margin-bottom: .15rem;
}

.asis-stat-card__value[b-z1gwageghk] {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
}

.asis-stat-card__hint[b-z1gwageghk] {
    font-size: .74rem;
    color: #64748b;
    margin-top: .2rem;
    line-height: 1.35;
}

.asis-stat-card--warn .asis-stat-card__icon[b-z1gwageghk] {
    background: #fef3c7;
    color: #92400e;
}

.asis-stat-card--danger .asis-stat-card__icon[b-z1gwageghk] {
    background: #fee2e2;
    color: #b91c1c;
}

.asis-stat-card--success .asis-stat-card__icon[b-z1gwageghk] {
    background: #dcfce7;
    color: #166534;
}

.asis-stat-card--resolved .asis-stat-card__icon[b-z1gwageghk] {
    background: #ede9fe;
    color: #6d28d9;
}

.asis-table th[b-z1gwageghk] {
    font-size: .74rem;
    white-space: nowrap;
}

.asis-cell-title[b-z1gwageghk] {
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.2;
}

.asis-cell-subtitle[b-z1gwageghk] {
    font-size: .74rem;
    color: #6b7280;
    line-height: 1.35;
}

.asis-chip[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .18rem .55rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.asis-chip--muted[b-z1gwageghk] {
    background: #f3f4f6;
    color: #4b5563;
}

.asis-chip--warn[b-z1gwageghk] {
    background: #fef3c7;
    color: #92400e;
}

.asis-chip--danger[b-z1gwageghk] {
    background: #fee2e2;
    color: #b91c1c;
}

.asis-chip--success[b-z1gwageghk] {
    background: #dcfce7;
    color: #166534;
}

.asis-chip--info[b-z1gwageghk] {
    background: #dbeafe;
    color: #1d4ed8;
}

.asis-chip--resolved[b-z1gwageghk] {
    background: #ede9fe;
    color: #6d28d9;
}

.asis-chip--dark[b-z1gwageghk] {
    background: #e2e8f0;
    color: #1e293b;
}

.asis-progress[b-z1gwageghk] {
    padding: .85rem 1rem;
    border: 1px solid #dbeafe;
    border-radius: .9rem;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
}

.asis-progress__head[b-z1gwageghk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    font-size: .82rem;
    color: #1e3a8a;
    margin-bottom: .45rem;
}

.asis-progress__bar-wrap[b-z1gwageghk] {
    height: .8rem;
    border-radius: 999px;
    background: #dbeafe;
}

.asis-progress__bar[b-z1gwageghk] {
    background: linear-gradient(90deg, #2563eb 0%, #0ea5e9 100%);
}

.asis-progress__text[b-z1gwageghk] {
    margin-top: .45rem;
    font-size: .76rem;
    color: #475569;
}

.asis-help-button[b-z1gwageghk] {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(255,255,255,.14);
    color: #fff;
}

.asis-help-list[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
    padding-left: 1rem;
}

.asis-stack[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.asis-meta-list[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.asis-note[b-z1gwageghk] {
    font-size: .74rem;
    line-height: 1.4;
    color: #475569;
}

.asis-note--muted[b-z1gwageghk] {
    color: #94a3b8;
}

.asis-break-card[b-z1gwageghk] {
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
    padding: .55rem .65rem;
    background: #fff;
}

.asis-break-card--success[b-z1gwageghk] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.asis-break-card--warn[b-z1gwageghk] {
    border-color: #fde68a;
    background: #fffbeb;
}

.asis-break-card--info[b-z1gwageghk] {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.asis-break-card--muted[b-z1gwageghk] {
    background: #f8fafc;
}

.asis-modal-tabs .nav-link[b-z1gwageghk] {
    padding: .55rem .8rem;
    font-size: .82rem;
    color: #475569;
}

.asis-modal-tabs .nav-link.active[b-z1gwageghk] {
    font-weight: 700;
    color: #0f172a;
}

.asis-modal-header[b-z1gwageghk] {
    background: linear-gradient(135deg, #1e3a5f 0%, #0f2240 100%);
    color: #fff;
    min-height: 3.2rem;
}

.asis-modal-header__icon[b-z1gwageghk] {
    width: 2rem;
    height: 2rem;
    border-radius: .6rem;
    background: rgba(255,255,255,.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.asis-modal-header__name[b-z1gwageghk] {
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.2;
}

.asis-modal-header__date[b-z1gwageghk] {
    font-size: .72rem;
    opacity: .72;
    text-transform: capitalize;
}

.asis-status-badge[b-z1gwageghk] {
    font-size: .68rem;
    white-space: nowrap;
}

.asis-metrics-strip[b-z1gwageghk] {
    background: #f8fafc;
    font-size: .78rem;
}

.asis-metric-block[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.asis-metric-block__label[b-z1gwageghk] {
    font-size: .68rem;
    color: #94a3b8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.asis-metric-block__val[b-z1gwageghk] {
    font-weight: 700;
    color: #0f172a;
}

.asis-metric-sep[b-z1gwageghk] {
    color: #cbd5e1;
    user-select: none;
}

.asis-chip--xs[b-z1gwageghk] {
    padding: .1rem .4rem;
    font-size: .68rem;
    gap: .2rem;
}

.asis-banner[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    font-weight: 600;
    border-radius: .5rem;
    padding: .18rem .55rem;
}

.asis-banner--info[b-z1gwageghk] {
    background: #dbeafe;
    color: #1d4ed8;
}

.asis-banner--warn[b-z1gwageghk] {
    background: #fef3c7;
    color: #92400e;
}

.asis-advisor-strip[b-z1gwageghk] {
    background: #fffbf0;
}

.asis-advisor-desc[b-z1gwageghk] {
    font-size: .78rem;
    color: #475569;
    max-width: 52ch;
}

.asis-btn-xs[b-z1gwageghk] {
    padding: .2rem .65rem;
    font-size: .76rem;
    border-radius: .55rem;
}

.asis-state-bar[b-z1gwageghk] {
    background: #f1f5f9;
    font-size: .76rem;
}

.asis-state-item[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.asis-state-item__label[b-z1gwageghk] {
    color: #94a3b8;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .65rem;
    letter-spacing: .03em;
}

.asis-state-item__val[b-z1gwageghk] {
    font-weight: 700;
    color: #0f172a;
}

.asis-state-sep[b-z1gwageghk] {
    color: #cbd5e1;
    font-size: .8rem;
}

.asis-modal-tabs-bar[b-z1gwageghk] {
    background: #fff;
    display: flex;
    gap: .15rem;
    padding-top: .5rem;
    overflow-x: auto;
}

.asis-modal-tabs-bar button[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .45rem .85rem;
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    border-radius: .45rem .45rem 0 0;
    white-space: nowrap;
    transition: color .15s, border-color .15s, background .15s;
}

.asis-modal-tabs-bar button:hover[b-z1gwageghk] {
    color: #0f172a;
    background: #f1f5f9;
}

.asis-modal-tabs-bar button.active[b-z1gwageghk] {
    color: #1e3a5f;
    border-bottom-color: #1e3a5f;
    background: #f8fafc;
}

.asis-tab-count[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: .65rem;
    font-weight: 700;
    padding: 0 .3rem;
}

.asis-modal-tabs-bar button.active .asis-tab-count[b-z1gwageghk] {
    background: #1e3a5f;
    color: #fff;
}

.asis-tab-dot[b-z1gwageghk] {
    display: inline-block;
    width: .45rem;
    height: .45rem;
    border-radius: 999px;
    background: #3b82f6;
    margin-left: .1rem;
    flex-shrink: 0;
}

.asis-section-card[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    overflow: hidden;
    background: #fff;
}

.asis-section-card__head[b-z1gwageghk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .9rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    gap: .5rem;
}

.asis-section-card__num[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #1e3a5f;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    flex-shrink: 0;
}

.asis-section-card__body[b-z1gwageghk] {
    padding: .85rem .9rem;
}

.asis-metrics-row[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.asis-metric-pill[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .3rem .7rem;
    border-radius: .6rem;
    min-width: 5.5rem;
    text-align: center;
    border: 1px solid transparent;
}

.asis-metric-pill__label[b-z1gwageghk] {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    opacity: .75;
}

.asis-metric-pill__val[b-z1gwageghk] {
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.2;
}

.asis-metric-pill--primary[b-z1gwageghk] { background: #dbeafe; color: #1e40af; border-color: #bfdbfe; }
.asis-metric-pill--info[b-z1gwageghk] { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.asis-metric-pill--success[b-z1gwageghk] { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.asis-metric-pill--warn[b-z1gwageghk] { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.asis-metric-pill--muted[b-z1gwageghk] { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }

.asis-permiso-estado[b-z1gwageghk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem;
    font-size: .78rem;
    border-radius: .55rem;
    padding: .35rem .65rem;
    border: 1px solid transparent;
}

.asis-permiso-estado--ok[b-z1gwageghk] { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.asis-permiso-estado--empty[b-z1gwageghk] { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }

.asis-info-card[b-z1gwageghk] {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .65rem .8rem;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #fff;
    height: 100%;
}

.asis-info-card__icon[b-z1gwageghk] {
    font-size: 1.2rem;
    flex-shrink: 0;
    margin-top: .1rem;
}

.asis-info-card__label[b-z1gwageghk] {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
    margin-bottom: .1rem;
}

.asis-info-card__val[b-z1gwageghk] {
    font-size: .86rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.asis-info-card__sub[b-z1gwageghk] {
    font-size: .72rem;
    color: #64748b;
    margin-top: .1rem;
}

.asis-guide-block[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #f8fafc;
    padding: .75rem .85rem;
    height: 100%;
}

.asis-guide-block__title[b-z1gwageghk] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    margin-bottom: .5rem;
}

.asis-guide-block__list[b-z1gwageghk] {
    margin: 0;
    padding-left: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .78rem;
    color: #334155;
}

.asis-guide-block__suggestion[b-z1gwageghk] {
    margin-top: .6rem;
    font-size: .76rem;
    color: #1d4ed8;
    background: #dbeafe;
    border-radius: .45rem;
    padding: .25rem .55rem;
    display: inline-flex;
    align-items: center;
}

.asis-guide-block__obs[b-z1gwageghk] {
    font-size: .78rem;
    color: #334155;
}

.asis-guide-block__obs-sub[b-z1gwageghk] {
    font-size: .72rem;
    color: #94a3b8;
}

.asis-add-row[b-z1gwageghk] {
    border: 1px dashed #cbd5e1;
    border-radius: .75rem;
    background: #f8fafc;
    padding: .6rem .8rem;
}

.asis-add-row__label[b-z1gwageghk] {
    font-size: .72rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: .4rem;
}

.asis-add-row__fields[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .5rem;
}

.asis-add-row__field[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.asis-add-row__action[b-z1gwageghk] {
    display: flex;
    align-items: flex-end;
}

.asis-check-table thead th[b-z1gwageghk] {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    padding: .45rem .55rem;
}

.asis-check-table tbody td[b-z1gwageghk] {
    font-size: .78rem;
    padding: .4rem .55rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.asis-row-anulada td[b-z1gwageghk] {
    opacity: .5;
}

.asis-hora-badge[b-z1gwageghk] {
    font-weight: 800;
    font-size: .82rem;
    color: #0f172a;
}

.asis-hora-badge--manual[b-z1gwageghk] {
    color: #6d28d9;
}

.asis-clsf-btn[b-z1gwageghk] {
    padding: .15rem .35rem;
    font-size: .68rem;
    line-height: 1;
}

.asis-audit-cell[b-z1gwageghk] {
    font-size: .68rem;
    color: #94a3b8;
    white-space: nowrap;
}

.asis-field-label[b-z1gwageghk] {
    font-size: .68rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .03em;
    display: block;
    margin-bottom: .2rem;
}

.asis-field-hint[b-z1gwageghk] {
    font-size: .68rem;
    color: #94a3b8;
    margin-top: .2rem;
}

.asis-turno-info[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    color: #334155;
}

.asis-log-item[b-z1gwageghk] {
    border-left: 2px solid #e2e8f0;
    padding-left: .65rem;
    padding-bottom: .5rem;
}

.asis-log-item__msg[b-z1gwageghk] {
    font-size: .76rem;
    font-weight: 600;
    color: #1e293b;
}

.asis-log-item__meta[b-z1gwageghk] {
    font-size: .68rem;
    color: #94a3b8;
    margin-top: .1rem;
}

.asis-empty-state[b-z1gwageghk] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.asis-wizard-banner[b-z1gwageghk] {
    background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
}

.asis-wizard-banner__eyebrow[b-z1gwageghk] {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9a3412;
    margin-bottom: .15rem;
}

.asis-wizard-banner__title[b-z1gwageghk] {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-banner__text[b-z1gwageghk] {
    font-size: .8rem;
    color: #475569;
    margin-top: .2rem;
    max-width: 72ch;
}

.asis-wizard-steps[b-z1gwageghk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    background: #fff;
}

.asis-wizard-step[b-z1gwageghk] {
    display: flex;
    align-items: center;
    gap: .65rem;
    text-align: left;
    border: 1px solid #e2e8f0;
    border-radius: .8rem;
    background: #fff;
    padding: .6rem .7rem;
    transition: all .15s ease;
}

.asis-wizard-step:hover[b-z1gwageghk] {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.asis-wizard-step.active[b-z1gwageghk] {
    border-color: #1d4ed8;
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px #bfdbfe;
}

.asis-wizard-step.done[b-z1gwageghk] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.asis-wizard-step__num[b-z1gwageghk] {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    font-size: .75rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.asis-wizard-step.active .asis-wizard-step__num[b-z1gwageghk] {
    background: #1d4ed8;
    color: #fff;
}

.asis-wizard-step.done .asis-wizard-step__num[b-z1gwageghk] {
    background: #16a34a;
    color: #fff;
}

.asis-wizard-step__text[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.asis-wizard-step__title[b-z1gwageghk] {
    font-size: .76rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-step__state[b-z1gwageghk] {
    font-size: .67rem;
    color: #64748b;
    margin-top: .1rem;
}

.asis-wizard-panel[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    overflow: hidden;
    height: 100%;
}

.asis-wizard-panel__head[b-z1gwageghk] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-wizard-panel__title[b-z1gwageghk] {
    font-size: .98rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-panel__text[b-z1gwageghk] {
    font-size: .78rem;
    color: #64748b;
    margin-top: .2rem;
    max-width: 70ch;
}

.asis-wizard-panel__body[b-z1gwageghk] {
    padding: 1rem;
}

.asis-wizard-side[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.asis-wizard-side__section[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
    background: #fff;
    padding: .85rem .9rem;
}

.asis-wizard-side__title[b-z1gwageghk] {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    margin-bottom: .55rem;
}

.asis-wizard-side__text[b-z1gwageghk],
.asis-wizard-side__note[b-z1gwageghk] {
    font-size: .76rem;
    color: #475569;
    line-height: 1.45;
}

.asis-wizard-side__note[b-z1gwageghk] {
    margin-top: .55rem;
    color: #64748b;
}

.asis-wizard-side[b-z1gwageghk] {
    position: sticky;
    top: .75rem;
}

.asis-wizard-check[b-z1gwageghk],
.asis-formula-row[b-z1gwageghk] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    font-size: .76rem;
    padding: .3rem 0;
    border-bottom: 1px dashed #e2e8f0;
}

.asis-wizard-check:last-child[b-z1gwageghk],
.asis-formula-row:last-child[b-z1gwageghk] {
    border-bottom: none;
}

.asis-wizard-check span[b-z1gwageghk],
.asis-formula-row span[b-z1gwageghk] {
    color: #64748b;
}

.asis-wizard-check strong[b-z1gwageghk],
.asis-formula-row strong[b-z1gwageghk] {
    color: #0f172a;
    text-align: right;
}

.asis-mini-stat[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .8rem;
    background: #fff;
    padding: .7rem .8rem;
    height: 100%;
}

.asis-mini-stat__label[b-z1gwageghk] {
    font-size: .72rem;
    color: #64748b;
    margin-bottom: .2rem;
}

.asis-mini-stat__value[b-z1gwageghk] {
    font-size: .92rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.asis-section-title[b-z1gwageghk] {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: .75rem;
}

.asis-advisor-card[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: .95rem 1rem;
}

.asis-advisor-card__title[b-z1gwageghk] {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-advisor-card__text[b-z1gwageghk] {
    font-size: .82rem;
    color: #475569;
    line-height: 1.45;
}

.asis-timeline[b-z1gwageghk] {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 1.1rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
    box-shadow: inset 0 0 0 1px #cbd5e1;
}

.asis-timeline__segment[b-z1gwageghk] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: .5rem;
    transition: width .2s ease;
}

.asis-timeline__segment--worked[b-z1gwageghk] { background: #16a34a; }
.asis-timeline__segment--break[b-z1gwageghk] { background: #facc15; }
.asis-timeline__segment--permission[b-z1gwageghk] { background: #38bdf8; }
.asis-timeline__segment--missing[b-z1gwageghk] { background: #ef4444; }
.asis-timeline__segment--extra[b-z1gwageghk] { background: #8b5cf6; }
.asis-timeline__segment--neutral[b-z1gwageghk] { background: #94a3b8; }

.asis-timeline-legend[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.asis-timeline-legend__item[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .74rem;
    color: #475569;
}

.asis-timeline-legend__dot[b-z1gwageghk] {
    width: .7rem;
    height: .7rem;
    border-radius: 999px;
    display: inline-block;
}

.asis-timeline-legend__dot--worked[b-z1gwageghk] { background: #16a34a; }
.asis-timeline-legend__dot--break[b-z1gwageghk] { background: #facc15; }
.asis-timeline-legend__dot--permission[b-z1gwageghk] { background: #38bdf8; }
.asis-timeline-legend__dot--missing[b-z1gwageghk] { background: #ef4444; }
.asis-timeline-legend__dot--extra[b-z1gwageghk] { background: #8b5cf6; }

.asis-tab-suggestion[b-z1gwageghk] {
    font-size: .64rem;
    font-weight: 700;
    margin-left: .35rem;
    padding: .15rem .4rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
}

.asis-table td[b-z1gwageghk] {
    font-size: .78rem;
    padding-top: .65rem;
    padding-bottom: .65rem;
    vertical-align: middle;
}

/* Wrapper del listado diario: scroll horizontal en pantallas angostas sin volver
   scroll-contenedor vertical (overflow-y: clip NO crea scroll-container, así el
   thead sticky se ancla al viewport y no a esta caja). / Horizontal scroll on
   narrow screens without becoming a vertical scroll container (overflow-y: clip
   is not a scroll-container, so the sticky thead anchors to the viewport). */
.asis-day-table-scroll[b-z1gwageghk] {
    overflow-x: auto;
    overflow-y: clip;
}

.asis-table thead th[b-z1gwageghk] {
    position: sticky;
    /* Anclaje bajo el topbar fijo (~76px móvil / 78px ≥992). / Sticky below the
       fixed topbar. */
    top: 76px;
    z-index: 2;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    padding: .7rem .75rem;
    /* Fondo opaco para que las filas no se vean por detrás al hacer scroll. */
    background: #212529;
    color: #f8fafc;
}

@media (min-width: 992px) {
    .asis-table thead th[b-z1gwageghk] {
        top: 78px;
    }
}

.asis-table-wrap[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 .3rem 1rem rgba(15, 23, 42, .05);
}

.asis-avatar[b-z1gwageghk] {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1e40af;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
    font-weight: 800;
    flex-shrink: 0;
}

.asis-avatar--warn[b-z1gwageghk] { background: #fef3c7; color: #92400e; }
.asis-avatar--danger[b-z1gwageghk] { background: #fee2e2; color: #b91c1c; }
.asis-avatar--success[b-z1gwageghk] { background: #dcfce7; color: #166534; }
.asis-avatar--resolved[b-z1gwageghk] { background: #ede9fe; color: #6d28d9; }
.asis-avatar--muted[b-z1gwageghk] { background: #f1f5f9; color: #475569; }

.asis-time-pair[b-z1gwageghk] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .45rem;
    row-gap: .15rem;
    align-items: center;
    font-size: .76rem;
}

.asis-time-pair__lbl[b-z1gwageghk] {
    font-size: .64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    line-height: 1;
}

.asis-time-pair__val[b-z1gwageghk] {
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.asis-time-pair__val--muted[b-z1gwageghk] {
    color: #94a3b8;
    font-weight: 400;
}

.asis-sep-arrow[b-z1gwageghk] {
    color: #cbd5e1;
    font-size: .7rem;
    margin: 0 .15rem;
}

.asis-time-block[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.asis-time-block__row[b-z1gwageghk] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .76rem;
    white-space: nowrap;
}

.asis-time-block__badge[b-z1gwageghk] {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    width: 2.5rem;
    flex-shrink: 0;
}

.asis-time-block__val[b-z1gwageghk] {
    font-weight: 700;
    color: #0f172a;
}

.asis-time-block__val--empty[b-z1gwageghk] {
    color: #cbd5e1;
    font-weight: 400;
}

.asis-incidencias-group[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .22rem;
}

.asis-estado-dia[b-z1gwageghk] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.asis-action-btn[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .3rem .65rem;
    font-size: .74rem;
    font-weight: 600;
    border-radius: .55rem;
    border: 1px solid #c7d2fe;
    background: #eef2ff;
    color: #3730a3;
    white-space: nowrap;
    transition: background .15s, border-color .15s;
    cursor: pointer;
}

.asis-action-btn:hover[b-z1gwageghk] {
    background: #e0e7ff;
    border-color: #a5b4fc;
}

.asis-fecha-dia[b-z1gwageghk] {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.asis-fecha-mes[b-z1gwageghk] {
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: .04em;
}

.asis-fecha-dow[b-z1gwageghk] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 700;
    color: #94a3b8;
    margin-top: .1rem;
}

.asis-fecha-cell[b-z1gwageghk] {
    min-width: 4rem;
    text-align: center;
    padding: .35rem .55rem !important;
}

.asis-table tbody tr[b-z1gwageghk] {
    border-left: 4px solid transparent;
    transition: background .12s;
}

.asis-table tbody tr.asis-row--review[b-z1gwageghk] { border-left-color: #f59e0b; }
.asis-table tbody tr.asis-row--resolved[b-z1gwageghk] { border-left-color: #16a34a; }

.asis-row--review td[b-z1gwageghk],
.asis-row--resolved td[b-z1gwageghk],
.asis-row--normal td[b-z1gwageghk] {
    background: #fff;
}

.asis-row--review td:first-child[b-z1gwageghk] {
    box-shadow: inset 3px 0 0 #f59e0b;
}

.asis-row--resolved td:first-child[b-z1gwageghk] {
    box-shadow: inset 3px 0 0 #16a34a;
}

.asis-table tbody tr:hover td[b-z1gwageghk] {
    background: #f8fafc !important;
}

.asis-table-topbar[b-z1gwageghk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-table-topbar__title[b-z1gwageghk] {
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-table-topbar__subtitle[b-z1gwageghk] {
    font-size: .76rem;
    color: #64748b;
    margin-top: .15rem;
}

.asis-legend-bar[b-z1gwageghk] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.asis-legend-pill[b-z1gwageghk] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .55rem;
    border-radius: 999px;
    font-size: .71rem;
    font-weight: 700;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
}

.asis-legend-pill__dot[b-z1gwageghk] {
    width: .55rem;
    height: .55rem;
    border-radius: 999px;
    display: inline-block;
}

.asis-legend-pill__dot--review[b-z1gwageghk] { background: #f59e0b; }
.asis-legend-pill__dot--resolved[b-z1gwageghk] { background: #16a34a; }
.asis-legend-pill__dot--normal[b-z1gwageghk] { background: #94a3b8; }

.asis-date-label[b-z1gwageghk] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
}

.asis-inline-icon[b-z1gwageghk] {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: .55rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.asis-time-row[b-z1gwageghk] {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.asis-time-row + .asis-time-row[b-z1gwageghk] {
    margin-top: .25rem;
}

.asis-kpi-chip[b-z1gwageghk] {
    min-width: 4.9rem;
    justify-content: center;
}

.asis-detail-trigger[b-z1gwageghk] {
    cursor: help;
}

.asis-truncate[b-z1gwageghk] {
    display: block;
    max-width: 17rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.asis-truncate--empleado[b-z1gwageghk] {
    max-width: 13rem;
}

.asis-truncate--nota[b-z1gwageghk] {
    max-width: 14rem;
}

.asis-summary-chip[b-z1gwageghk] {
    font-size: .68rem;
    padding-inline: .45rem;
}

.asis-filter-card[b-z1gwageghk] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .04);
}

.asis-filter-card__head[b-z1gwageghk] {
    padding: .85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-filter-card__title[b-z1gwageghk] {
    font-size: .88rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-filter-card__text[b-z1gwageghk] {
    font-size: .76rem;
    color: #64748b;
    margin-top: .15rem;
}

.asis-empty-list[b-z1gwageghk] {
    padding: 2.8rem 1rem;
    text-align: center;
    color: #64748b;
    font-size: .84rem;
}

@media (max-width: 1199.98px) {
    .asis-wizard-steps[b-z1gwageghk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asis-wizard-side[b-z1gwageghk] {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .asis-page-hero[b-z1gwageghk] {
        padding: 1rem;
    }

    .asis-table-topbar[b-z1gwageghk] {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .asis-wizard-steps[b-z1gwageghk] {
        grid-template-columns: 1fr;
    }

    .asis-wizard-step[b-z1gwageghk] {
        padding: .55rem .65rem;
    }

    .asis-wizard-panel__head[b-z1gwageghk] {
        flex-direction: column;
    }
}
/* /Components/Pages/RRHH/AsistenciasCorreccionModal.razor.rz.scp.css */
.asis-modal-backdrop[b-j4zf1x82cd] {
    background-color: rgba(0, 0, 0, .5);
}

.asis-modal-backdrop--inner[b-j4zf1x82cd] {
    background-color: rgba(0, 0, 0, .35);
    z-index: 1070;
}

.asis-modal-shell[b-j4zf1x82cd] {
    border-radius: 1rem;
    overflow: hidden;
}

.asis-modal-dialog-wide[b-j4zf1x82cd] {
    max-width: min(1440px, 98vw);
    width: 100%;
}

.asis-local-preview-banner[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    font-size: .72rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #dbeafe;
    border: 1px solid #bfdbfe;
    border-radius: .55rem;
    padding: .3rem .55rem;
}

.asis-timeline--compact[b-j4zf1x82cd] {
    height: .65rem;
}

.asis-banner--normal[b-j4zf1x82cd] {
    font-weight: 400;
}

.asis-banner--dense[b-j4zf1x82cd] {
    font-weight: 400;
    font-size: .72rem;
}

.asis-field--time[b-j4zf1x82cd] {
    width: 7rem;
}

.asis-field--type[b-j4zf1x82cd] {
    width: 12rem;
}

.asis-table-col--time[b-j4zf1x82cd] {
    width: 5rem;
}

.asis-table-col--origin[b-j4zf1x82cd] {
    width: 6rem;
}

.asis-table-col--status[b-j4zf1x82cd] {
    width: 5rem;
}

.asis-table-col--audit[b-j4zf1x82cd] {
    width: 12rem;
}

.asis-table-col--actions[b-j4zf1x82cd] {
    width: 7rem;
}

.asis-input--time-edit[b-j4zf1x82cd] {
    width: 6rem;
}

.asis-dayline-list__detail--metrics[b-j4zf1x82cd] {
    color: #475569;
    font-weight: 600;
}

.asis-dayline-minutes-input[b-j4zf1x82cd] {
    max-width: 7rem;
}

.asis-truncate-note[b-j4zf1x82cd] {
    max-width: 100%;
    display: block;
}

.asis-empty-icon[b-j4zf1x82cd] {
    font-size: 1.5rem;
    opacity: .3;
}

.asis-empty-icon--muted[b-j4zf1x82cd] {
    opacity: .25;
}

.asis-empty-icon--lg[b-j4zf1x82cd] {
    font-size: 1.8rem;
}

.asis-badge--xs[b-j4zf1x82cd] {
    font-size: .68rem;
}

.asis-badge--xxs[b-j4zf1x82cd] {
    font-size: .65rem;
}

.asis-section-card__num--muted[b-j4zf1x82cd] {
    background: #6b7280;
}

.asis-section-card__num--time[b-j4zf1x82cd] {
    background: #b45309;
}

.asis-section-card__num-icon[b-j4zf1x82cd] {
    font-size: .75rem;
}

.asis-modal-header[b-j4zf1x82cd] {
    position: sticky;
    top: 0;
    z-index: 6;
    background: linear-gradient(135deg, #1e3a5f 0%, #0f2240 100%);
    color: #fff;
    min-height: 3.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: .5rem;
    gap: 1rem;
    padding: .6rem 1rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}

.asis-modal-header__left[b-j4zf1x82cd],
.asis-modal-header__right[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.asis-modal-header__right[b-j4zf1x82cd] {
    flex-shrink: 0;
    gap: .5rem;
}

.asis-avatar[b-j4zf1x82cd] {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.asis-modal-header__meta[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.asis-modal-header__name[b-j4zf1x82cd] {
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.asis-modal-header__sub[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .7rem;
    font-size: .74rem;
    opacity: .85;
    text-transform: capitalize;
}

.asis-modal-header__sub i[b-j4zf1x82cd] {
    opacity: .85;
}

.asis-modal-header__sep[b-j4zf1x82cd] {
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: rgba(255,255,255,.5);
}

.asis-header-badge[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .65rem;
    border-radius: .55rem;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.asis-header-badge--warn[b-j4zf1x82cd] { background: #fef3c7; color: #92400e; }
.asis-header-badge--danger[b-j4zf1x82cd] { background: #fee2e2; color: #b91c1c; }
.asis-header-badge--info[b-j4zf1x82cd] { background: #dbeafe; color: #1d4ed8; }

.asis-header-btn[b-j4zf1x82cd],
.asis-close-btn[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(255,255,255,.12);
    color: #fff;
    border-radius: .6rem;
    padding: .35rem .65rem;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1;
    transition: background .15s ease;
}

.asis-close-btn[b-j4zf1x82cd] {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border-radius: .55rem;
}

.asis-header-btn:hover[b-j4zf1x82cd],
.asis-close-btn:hover[b-j4zf1x82cd] {
    background: rgba(255,255,255,.24);
}

.asis-status-badge[b-j4zf1x82cd] {
    font-size: .68rem;
    white-space: nowrap;
}

.asis-help-list[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
    padding-left: 1rem;
}

.asis-metrics-strip[b-j4zf1x82cd] {
    background: #f8fafc;
    font-size: .78rem;
}

.asis-main-tabs[b-j4zf1x82cd],
.asis-detail-tabs[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.asis-main-tab[b-j4zf1x82cd],
.asis-detail-tab[b-j4zf1x82cd] {
    border: 1px solid #dbe3ee;
    background: #fff;
    color: #334155;
    border-radius: .75rem;
    padding: .45rem .85rem;
    font-size: .78rem;
    font-weight: 700;
    transition: all .15s ease;
}

.asis-main-tab.active[b-j4zf1x82cd],
.asis-detail-tab.active[b-j4zf1x82cd] {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px #bfdbfe;
}

.asis-layout[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 17rem);
    gap: 1rem;
}

.asis-layout--compact[b-j4zf1x82cd] {
    gap: .75rem;
}

.asis-layout__main[b-j4zf1x82cd],
.asis-layout__side[b-j4zf1x82cd] {
    min-width: 0;
}

.asis-summary-top[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr);
    gap: 1rem;
}

.asis-summary-top--compact[b-j4zf1x82cd] {
    gap: .75rem;
}

.asis-summary-layout[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .85fr);
    gap: 1rem;
}

.asis-summary-layout__main[b-j4zf1x82cd],
.asis-summary-layout__side[b-j4zf1x82cd] {
    min-width: 0;
}

.asis-summary-side[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: .85rem .9rem;
}

.asis-summary-side__title[b-j4zf1x82cd] {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    margin-bottom: .55rem;
}

.asis-summary-side__item[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    border-radius: .65rem;
    padding: .45rem .6rem;
    font-size: .76rem;
    margin-bottom: .35rem;
}

.asis-summary-side__item strong[b-j4zf1x82cd] {
    color: #0f172a;
    font-size: .82rem;
}

.asis-summary-side__item--primary[b-j4zf1x82cd] { background: #eff6ff; color: #1d4ed8; }
.asis-summary-side__item--accent[b-j4zf1x82cd] { background: #faf5ff; color: #7c3aed; }
.asis-summary-side__item--warn[b-j4zf1x82cd] { background: #fffbeb; color: #b45309; }
.asis-summary-side__item--info[b-j4zf1x82cd] { background: #ecfeff; color: #0891b2; }
.asis-summary-side__item--muted[b-j4zf1x82cd] { background: #f8fafc; color: #475569; }

.asis-summary-top__hero[b-j4zf1x82cd],
.asis-summary-top__meta[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: 1rem;
}

.asis-summary-top__hero[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

.asis-summary-top__eyebrow[b-j4zf1x82cd],
.asis-summary-top__meta-label[b-j4zf1x82cd] {
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}

.asis-summary-top__value[b-j4zf1x82cd] {
    font-size: 2rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.05;
    margin-top: .35rem;
}

.asis-summary-top__formula[b-j4zf1x82cd],
.asis-summary-top__meta-text[b-j4zf1x82cd],
.asis-time-bar-card__state[b-j4zf1x82cd] {
    font-size: .78rem;
    color: #475569;
    line-height: 1.45;
}

.asis-summary-top__meta-title[b-j4zf1x82cd] {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: .2rem;
    margin-bottom: .25rem;
}

.asis-quick-actions[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.asis-quick-card[b-j4zf1x82cd] {
    border: 1px solid #dbe3ee;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}

.asis-quick-card--compact[b-j4zf1x82cd] {
    border-radius: .8rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .04);
}

.asis-quick-card__head[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .9rem;
    border-bottom: 1px solid #e2e8f0;
}

.asis-quick-card__body[b-j4zf1x82cd] {
    padding: .85rem .9rem;
}

.asis-quick-card--compact .asis-quick-card__head[b-j4zf1x82cd] {
    padding: .55rem .7rem;
}

.asis-quick-card--compact .asis-quick-card__body[b-j4zf1x82cd] {
    padding: .7rem;
}

.asis-quick-grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}

.asis-quick-grid--compact[b-j4zf1x82cd] {
    gap: .45rem;
}

.asis-quick-grid div[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    background: #f8fafc;
    border-radius: .65rem;
    padding: .5rem .6rem;
    font-size: .74rem;
    color: #475569;
}

.asis-quick-grid--compact div[b-j4zf1x82cd] {
    padding: .38rem .48rem;
    font-size: .7rem;
}

.asis-quick-grid strong[b-j4zf1x82cd] {
    color: #0f172a;
    font-size: .88rem;
}

.asis-quick-hint[b-j4zf1x82cd] {
    font-size: .7rem;
    color: #64748b;
    line-height: 1.4;
}

.asis-quick-card .row.g-2[b-j4zf1x82cd] {
    --bs-gutter-x: .45rem;
    --bs-gutter-y: .45rem;
}

.asis-summary-bars[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.asis-calculation-grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.asis-calculation-grid__item[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
    background: #fff;
    padding: .8rem .9rem;
}

.asis-calculation-grid__item--info[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    border-color: #bfdbfe;
}

.asis-calculation-grid__item--warn[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%);
    border-color: #fde68a;
}

.asis-calculation-grid__item--accent[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #faf5ff 0%, #ffffff 100%);
    border-color: #ddd6fe;
}

.asis-calculation-grid__item--success[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
    border-color: #bbf7d0;
}

.asis-calculation-grid__label[b-j4zf1x82cd] {
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}

.asis-calculation-grid__value[b-j4zf1x82cd] {
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: .25rem;
}

.asis-calculation-grid__note[b-j4zf1x82cd] {
    font-size: .74rem;
    color: #475569;
    line-height: 1.45;
    margin-top: .35rem;
}

.asis-dayline-card[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: .9rem 1rem;
}

.asis-dayline-card--compact[b-j4zf1x82cd] {
    padding: .75rem .85rem;
}

.asis-marcaciones-quick[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: .85rem .9rem;
}

.asis-marcaciones-quick__head[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: .75rem;
    margin-bottom: .75rem;
}

.asis-marcaciones-quick .table-responsive[b-j4zf1x82cd] {
    max-height: 24rem;
    overflow: auto;
}

.asis-dayline-card__title[b-j4zf1x82cd] {
    font-size: .86rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-dayline-card__head[b-j4zf1x82cd] {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: .75rem;
}

.asis-dayline-card__meta[b-j4zf1x82cd] {
    font-size: .72rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: .55rem;
    padding: .3rem .5rem;
    white-space: nowrap;
}

.asis-dayline-card__text[b-j4zf1x82cd] {
    font-size: .74rem;
    color: #64748b;
    margin-top: .15rem;
}

.asis-dayline-list[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.asis-dayline-list__item[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .8rem;
    padding: .7rem .8rem;
    background: #f8fafc;
}

.asis-dayline-list__item--turno[b-j4zf1x82cd] {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.asis-dayline-list__meta[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .45rem;
}

.asis-dayline-list__title[b-j4zf1x82cd] {
    font-size: .78rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-dayline-list__range[b-j4zf1x82cd],
.asis-dayline-list__detail[b-j4zf1x82cd] {
    font-size: .72rem;
    color: #475569;
}

.asis-dayline-list__detail[b-j4zf1x82cd] {
    margin-top: .35rem;
}

.asis-dayline-list__status[b-j4zf1x82cd] {
    margin-top: .4rem;
    font-size: .68rem;
    font-weight: 700;
    border-radius: .45rem;
    padding: .22rem .45rem;
    display: inline-flex;
    align-items: center;
}

.asis-dayline-list__status--ok[b-j4zf1x82cd] {
    background: #ecfdf5;
    color: #047857;
}

.asis-dayline-list__status--warn[b-j4zf1x82cd] {
    background: #fffbeb;
    color: #b45309;
}

.asis-dayline-list__actions[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.asis-dayline-list__help[b-j4zf1x82cd] {
    width: 100%;
    font-size: .7rem;
    color: #64748b;
    line-height: 1.4;
}

.asis-dayline-list__loading[b-j4zf1x82cd] {
    width: 100%;
    font-size: .7rem;
    font-weight: 700;
    color: #1d4ed8;
    background: #dbeafe;
    border-radius: .45rem;
    padding: .3rem .55rem;
}

.asis-dayline-select[b-j4zf1x82cd] {
    width: 100%;
    min-width: 0;
}

.asis-dayline-bar[b-j4zf1x82cd] {
    height: .7rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px #cbd5e1;
}

.asis-dayline-bar__fill[b-j4zf1x82cd] {
    height: 100%;
    border-radius: 999px;
}

.asis-dayline__segment--turno[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #60a5fa 0%, #2563eb 100%);
}

.asis-dayline__segment--trabajo[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #22c55e 0%, #15803d 100%);
}

.asis-dayline__segment--descanso[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #facc15 0%, #eab308 100%);
}

.asis-dayline__segment--descanso-no-descontado[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #fb923c 0%, #ea580c 100%);
}

.asis-dayline__segment--extra[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #c084fc 0%, #9333ea 100%);
}

.asis-dayline__segment--permiso[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #38bdf8 0%, #0284c7 100%);
}

.asis-dayline__segment--temporal[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #fb7185 0%, #e11d48 100%);
}

.asis-dayline__segment--ignorado[b-j4zf1x82cd] {
    background: linear-gradient(90deg, #cbd5e1 0%, #64748b 100%);
}

.asis-time-bar-card[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    padding: .9rem 1rem;
}

.asis-time-bar-card__head[b-j4zf1x82cd],
.asis-time-bar-card__actions[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.asis-time-bar-card__title-wrap[b-j4zf1x82cd],
.asis-time-bar-card__value-wrap[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.asis-time-bar-card__value-wrap[b-j4zf1x82cd] {
    align-items: flex-end;
    flex-direction: column;
}

.asis-time-bar-card__icon[b-j4zf1x82cd] {
    width: 2rem;
    height: 2rem;
    border-radius: .65rem;
    background: #f1f5f9;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.asis-time-bar-card__title[b-j4zf1x82cd] {
    font-size: .86rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-time-bar-card__value[b-j4zf1x82cd] {
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
    white-space: nowrap;
}

.asis-time-bar-card__approval[b-j4zf1x82cd] {
    font-size: .7rem;
    color: #1d4ed8;
    font-weight: 700;
}

.asis-time-bar[b-j4zf1x82cd] {
    height: .9rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin: .75rem 0;
    box-shadow: inset 0 0 0 1px #cbd5e1;
}

.asis-time-bar__fill[b-j4zf1x82cd] {
    height: 100%;
    min-width: 0;
    border-radius: 999px;
}

.asis-time-bar__fill--base[b-j4zf1x82cd] { background: linear-gradient(90deg, #2563eb 0%, #60a5fa 100%); }
.asis-time-bar__fill--extra[b-j4zf1x82cd] { background: linear-gradient(90deg, #9333ea 0%, #c084fc 100%); }
.asis-time-bar__fill--compensacion[b-j4zf1x82cd] { background: linear-gradient(90deg, #0891b2 0%, #67e8f9 100%); }
.asis-time-bar__fill--permiso[b-j4zf1x82cd] { background: linear-gradient(90deg, #d97706 0%, #fbbf24 100%); }
.asis-time-bar__fill--faltante[b-j4zf1x82cd] { background: linear-gradient(90deg, #dc2626 0%, #f87171 100%); }

.asis-inline-select[b-j4zf1x82cd] {
    width: 100%;
    min-width: 0;
}

.asis-quick-editor[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    width: 100%;
}

.asis-quick-editor--permission[b-j4zf1x82cd] {
    max-width: 100%;
}

.asis-quick-editor__grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
}

.asis-quick-editor__field[b-j4zf1x82cd] {
    min-width: 0;
}

.asis-quick-editor__hint[b-j4zf1x82cd] {
    font-size: .72rem;
    color: #64748b;
    line-height: 1.45;
}

.asis-quick-editor__actions[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.asis-metric-block[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.asis-metric-block__label[b-j4zf1x82cd] {
    font-size: .68rem;
    color: #94a3b8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.asis-metric-block__val[b-j4zf1x82cd] {
    font-weight: 700;
    color: #0f172a;
}

.asis-metric-sep[b-j4zf1x82cd] {
    color: #cbd5e1;
    user-select: none;
}

.asis-chip[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .18rem .55rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.asis-chip--xs[b-j4zf1x82cd] {
    padding: .1rem .4rem;
    font-size: .68rem;
    gap: .2rem;
}

.asis-chip--muted[b-j4zf1x82cd] {
    background: #f3f4f6;
    color: #4b5563;
}

.asis-chip--warn[b-j4zf1x82cd] {
    background: #fef3c7;
    color: #92400e;
}

.asis-chip--danger[b-j4zf1x82cd] {
    background: #fee2e2;
    color: #b91c1c;
}

.asis-chip--success[b-j4zf1x82cd] {
    background: #dcfce7;
    color: #166534;
}

.asis-chip--info[b-j4zf1x82cd] {
    background: #dbeafe;
    color: #1d4ed8;
}

.asis-chip--resolved[b-j4zf1x82cd] {
    background: #ede9fe;
    color: #6d28d9;
}

.asis-chip--dark[b-j4zf1x82cd] {
    background: #e2e8f0;
    color: #1e293b;
}

.asis-banner[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    font-weight: 600;
    border-radius: .5rem;
    padding: .18rem .55rem;
}

.asis-banner--info[b-j4zf1x82cd] {
    background: #dbeafe;
    color: #1d4ed8;
}

.asis-banner--warn[b-j4zf1x82cd] {
    background: #fef3c7;
    color: #92400e;
}

.asis-btn-xs[b-j4zf1x82cd] {
    padding: .2rem .65rem;
    font-size: .76rem;
    border-radius: .55rem;
}

.asis-wizard-banner[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
}

.asis-wizard-banner__eyebrow[b-j4zf1x82cd] {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9a3412;
    margin-bottom: .15rem;
}

.asis-wizard-banner__title[b-j4zf1x82cd] {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-banner__text[b-j4zf1x82cd] {
    font-size: .8rem;
    color: #475569;
    margin-top: .2rem;
    max-width: 72ch;
}

.asis-timeline[b-j4zf1x82cd] {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 1.1rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
    box-shadow: inset 0 0 0 1px #cbd5e1;
}

.asis-timeline__segment[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: .5rem;
    transition: width .2s ease;
}

.asis-timeline__segment--worked[b-j4zf1x82cd] { background: #16a34a; }
.asis-timeline__segment--break[b-j4zf1x82cd] { background: #facc15; }
.asis-timeline__segment--permission[b-j4zf1x82cd] { background: #38bdf8; }
.asis-timeline__segment--missing[b-j4zf1x82cd] { background: #ef4444; }
.asis-timeline__segment--extra[b-j4zf1x82cd] { background: #8b5cf6; }
.asis-timeline__segment--neutral[b-j4zf1x82cd] { background: #94a3b8; }

.asis-timeline-legend[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.asis-timeline-legend--compact[b-j4zf1x82cd] {
    gap: .3rem .45rem;
}

.asis-timeline-legend__item[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .74rem;
    color: #475569;
}

.asis-timeline-legend__dot[b-j4zf1x82cd] {
    width: .7rem;
    height: .7rem;
    border-radius: 999px;
    display: inline-block;
}

.asis-timeline-legend__dot--worked[b-j4zf1x82cd] { background: #16a34a; }
.asis-timeline-legend__dot--break[b-j4zf1x82cd] { background: #facc15; }
.asis-timeline-legend__dot--permission[b-j4zf1x82cd] { background: #38bdf8; }
.asis-timeline-legend__dot--missing[b-j4zf1x82cd] { background: #ef4444; }
.asis-timeline-legend__dot--extra[b-j4zf1x82cd] { background: #8b5cf6; }

.asis-wizard-steps[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    background: #fff;
}

.asis-wizard-step[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .65rem;
    text-align: left;
    border: 1px solid #e2e8f0;
    border-radius: .8rem;
    background: #fff;
    padding: .6rem .7rem;
    transition: all .15s ease;
}

.asis-wizard-step:hover[b-j4zf1x82cd] {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.asis-wizard-step.active[b-j4zf1x82cd] {
    border-color: #1d4ed8;
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px #bfdbfe;
}

.asis-wizard-step.done[b-j4zf1x82cd] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.asis-wizard-step__num[b-j4zf1x82cd] {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    font-size: .75rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.asis-wizard-step.active .asis-wizard-step__num[b-j4zf1x82cd] {
    background: #1d4ed8;
    color: #fff;
}

.asis-wizard-step.done .asis-wizard-step__num[b-j4zf1x82cd] {
    background: #16a34a;
    color: #fff;
}

.asis-wizard-step__text[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.asis-wizard-step__title[b-j4zf1x82cd] {
    font-size: .76rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-step__state[b-j4zf1x82cd] {
    font-size: .67rem;
    color: #64748b;
    margin-top: .1rem;
}

.asis-wizard-panel[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    background: #fff;
    overflow: hidden;
    height: 100%;
}

.asis-wizard-panel__head[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-wizard-panel__title[b-j4zf1x82cd] {
    font-size: .98rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-wizard-panel__text[b-j4zf1x82cd] {
    font-size: .78rem;
    color: #64748b;
    margin-top: .2rem;
    max-width: 70ch;
}

.asis-wizard-panel__body[b-j4zf1x82cd] {
    padding: 1rem;
}

.asis-wizard-side[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    position: sticky;
    top: .75rem;
}

.asis-wizard-side__section[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
    background: #fff;
    padding: .85rem .9rem;
}

.asis-wizard-side__title[b-j4zf1x82cd] {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    margin-bottom: .55rem;
}

.asis-wizard-side__text[b-j4zf1x82cd],
.asis-wizard-side__note[b-j4zf1x82cd] {
    font-size: .76rem;
    color: #475569;
    line-height: 1.45;
}

.asis-wizard-side__note[b-j4zf1x82cd] {
    margin-top: .55rem;
    color: #64748b;
}

.asis-wizard-check[b-j4zf1x82cd],
.asis-formula-row[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    font-size: .76rem;
    padding: .3rem 0;
    border-bottom: 1px dashed #e2e8f0;
}

.asis-wizard-check:last-child[b-j4zf1x82cd],
.asis-formula-row:last-child[b-j4zf1x82cd] {
    border-bottom: none;
}

.asis-wizard-check span[b-j4zf1x82cd],
.asis-formula-row span[b-j4zf1x82cd] {
    color: #64748b;
}

.asis-wizard-check strong[b-j4zf1x82cd],
.asis-formula-row strong[b-j4zf1x82cd] {
    color: #0f172a;
    text-align: right;
}

.asis-section-title[b-j4zf1x82cd] {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: .75rem;
}

[b-j4zf1x82cd] .asis-info-card {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .65rem .8rem;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #fff;
    height: 100%;
}

[b-j4zf1x82cd] .asis-info-card__icon {
    font-size: 1.2rem;
    flex-shrink: 0;
    margin-top: .1rem;
}

[b-j4zf1x82cd] .asis-info-card__label {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
    margin-bottom: .1rem;
}

[b-j4zf1x82cd] .asis-info-card__val {
    font-size: .86rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

[b-j4zf1x82cd] .asis-info-card__sub {
    font-size: .72rem;
    color: #64748b;
    margin-top: .1rem;
}

[b-j4zf1x82cd] .asis-guide-block {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #f8fafc;
    padding: .75rem .85rem;
    height: 100%;
}

[b-j4zf1x82cd] .asis-guide-block__title {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    margin-bottom: .5rem;
}

[b-j4zf1x82cd] .asis-guide-block__list {
    margin: 0;
    padding-left: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .78rem;
    color: #334155;
}

[b-j4zf1x82cd] .asis-guide-block__suggestion {
    margin-top: .6rem;
    font-size: .76rem;
    color: #1d4ed8;
    background: #dbeafe;
    border-radius: .45rem;
    padding: .25rem .55rem;
    display: inline-flex;
    align-items: center;
}

[b-j4zf1x82cd] .asis-guide-block__obs {
    font-size: .78rem;
    color: #334155;
}

[b-j4zf1x82cd] .asis-guide-block__obs-sub {
    font-size: .72rem;
    color: #94a3b8;
}

[b-j4zf1x82cd] .asis-add-row {
    border: 1px dashed #cbd5e1;
    border-radius: .75rem;
    background: #f8fafc;
    padding: .6rem .8rem;
}

[b-j4zf1x82cd] .asis-add-row__label {
    font-size: .72rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: .4rem;
}

[b-j4zf1x82cd] .asis-add-row__fields {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .5rem;
}

[b-j4zf1x82cd] .asis-add-row__field {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

[b-j4zf1x82cd] .asis-add-row__action {
    display: flex;
    align-items: flex-end;
}

[b-j4zf1x82cd] .asis-check-table thead th {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    padding: .45rem .55rem;
}

[b-j4zf1x82cd] .asis-check-table tbody td {
    font-size: .78rem;
    padding: .4rem .55rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

[b-j4zf1x82cd] .asis-row-anulada td {
    opacity: .5;
}

[b-j4zf1x82cd] .asis-hora-badge {
    font-weight: 800;
    font-size: .82rem;
    color: #0f172a;
}

[b-j4zf1x82cd] .asis-hora-badge--manual {
    color: #6d28d9;
}

[b-j4zf1x82cd] .asis-clsf-btn {
    padding: .15rem .35rem;
    font-size: .68rem;
    line-height: 1;
}

[b-j4zf1x82cd] .asis-audit-cell {
    font-size: .68rem;
    color: #94a3b8;
    white-space: nowrap;
}

[b-j4zf1x82cd] .asis-field-label {
    font-size: .68rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .03em;
    display: block;
    margin-bottom: .2rem;
}

[b-j4zf1x82cd] .asis-field-hint {
    font-size: .68rem;
    color: #94a3b8;
    margin-top: .2rem;
}

[b-j4zf1x82cd] .asis-turno-info {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    color: #334155;
}

[b-j4zf1x82cd] .asis-section-card {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    overflow: hidden;
    background: #fff;
}

[b-j4zf1x82cd] .asis-section-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .9rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    gap: .5rem;
}

[b-j4zf1x82cd] .asis-section-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #1e3a5f;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    flex-shrink: 0;
}

[b-j4zf1x82cd] .asis-section-card__body {
    padding: .85rem .9rem;
}

[b-j4zf1x82cd] .asis-metrics-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

[b-j4zf1x82cd] .asis-metric-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .3rem .7rem;
    border-radius: .6rem;
    min-width: 5.5rem;
    text-align: center;
    border: 1px solid transparent;
}

[b-j4zf1x82cd] .asis-metric-pill__label {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    opacity: .75;
}

[b-j4zf1x82cd] .asis-metric-pill__val {
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.2;
}

[b-j4zf1x82cd] .asis-metric-pill--primary { background: #dbeafe; color: #1e40af; border-color: #bfdbfe; }
[b-j4zf1x82cd] .asis-metric-pill--info { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
[b-j4zf1x82cd] .asis-metric-pill--success { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
[b-j4zf1x82cd] .asis-metric-pill--warn { background: #fef3c7; color: #92400e; border-color: #fde68a; }
[b-j4zf1x82cd] .asis-metric-pill--muted { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }

[b-j4zf1x82cd] .asis-permiso-estado {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem;
    font-size: .78rem;
    border-radius: .55rem;
    padding: .35rem .65rem;
    border: 1px solid transparent;
}

[b-j4zf1x82cd] .asis-permiso-estado--ok { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
[b-j4zf1x82cd] .asis-permiso-estado--empty { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }

[b-j4zf1x82cd] .asis-empty-state {
    text-align: center;
    padding: 2.5rem 1rem;
}

[b-j4zf1x82cd] .asis-log-item {
    border-left: 2px solid #e2e8f0;
    padding-left: .65rem;
    padding-bottom: .5rem;
}

[b-j4zf1x82cd] .asis-log-item__msg {
    font-size: .76rem;
    font-weight: 600;
    color: #1e293b;
}

[b-j4zf1x82cd] .asis-log-item__meta {
    font-size: .68rem;
    color: #94a3b8;
    margin-top: .1rem;
}

@media (min-width: 1024px) and (max-width: 1279.98px) {
    .asis-layout[b-j4zf1x82cd] {
        grid-template-columns: minmax(0, 1fr) 14rem;
    }
}

@media (max-width: 1023.98px) {
    .asis-layout[b-j4zf1x82cd],
    .asis-summary-top[b-j4zf1x82cd] {
        grid-template-columns: 1fr;
    }

    .asis-cifras__row[b-j4zf1x82cd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asis-wizard-steps[b-j4zf1x82cd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asis-wizard-side[b-j4zf1x82cd] {
        position: static;
    }

    .asis-advisor[b-j4zf1x82cd] {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .asis-modal-header[b-j4zf1x82cd] {
        min-height: 0;
        padding: .55rem .65rem;
    }

    .asis-modal-header__name[b-j4zf1x82cd] {
        font-size: .9rem;
    }

    .asis-day-arrow[b-j4zf1x82cd] {
        width: 1.6rem;
        height: 1.6rem;
        font-size: .8rem;
    }

    .asis-quick-editor__grid[b-j4zf1x82cd] {
        grid-template-columns: 1fr;
    }

    .asis-time-bar-card__head[b-j4zf1x82cd],
    .asis-time-bar-card__actions[b-j4zf1x82cd] {
        flex-direction: column;
        align-items: stretch;
    }

    .asis-time-bar-card__value-wrap[b-j4zf1x82cd] {
        align-items: flex-start;
    }

    .asis-inline-select[b-j4zf1x82cd] {
        min-width: 100%;
        width: 100%;
    }

    .asis-wizard-steps[b-j4zf1x82cd] {
        grid-template-columns: 1fr;
    }

    .asis-wizard-step[b-j4zf1x82cd] {
        padding: .55rem .65rem;
    }

    .asis-wizard-panel__head[b-j4zf1x82cd] {
        flex-direction: column;
    }
}

/* ===== Rediseño Propuesta B: header sticky, flechas de día, cifras del día,
   barra de acciones y ayuda del día colapsable ============================ */

/* Flechas ◀ ▶ de navegación entre días del periodo (header oscuro). */
.asis-day-arrow[b-j4zf1x82cd] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .45);
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: .95rem;
    line-height: 1;
    transition: background .15s ease;
}

.asis-day-arrow:hover:not(:disabled)[b-j4zf1x82cd] {
    background: rgba(255, 255, 255, .28);
}

.asis-day-arrow:disabled[b-j4zf1x82cd] {
    opacity: .4;
    cursor: not-allowed;
}

/* Cifras del día: cards Bruto / Neto / Acreditado / Pagado. */
.asis-cifras[b-j4zf1x82cd] {
    background: #f8fafc;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
}

.asis-cifras__row[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.asis-cifra[b-j4zf1x82cd] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left: 3px solid #e2e8f0;
    border-radius: .75rem;
    padding: .7rem .85rem;
}

.asis-cifra__label[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    font-weight: 700;
    margin-bottom: .25rem;
}

.asis-cifra__label i[b-j4zf1x82cd] {
    font-size: .78rem;
    color: #94a3b8;
    cursor: help;
}

.asis-cifra__value[b-j4zf1x82cd] {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
}

.asis-cifra--accent[b-j4zf1x82cd] {
    border-left-color: #6366f1;
    background: linear-gradient(180deg, #eef2ff 0%, #ffffff 100%);
}

.asis-cifra--accent .asis-cifra__value[b-j4zf1x82cd] {
    color: #3730a3;
}

.asis-cifra--paid[b-j4zf1x82cd] {
    border-left-color: #22c55e;
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
}

.asis-cifra--paid .asis-cifra__value[b-j4zf1x82cd] {
    color: #166534;
}

/* Barra de fórmula como tarjetas conectadas. */
.asis-formula-cards[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .35rem .55rem;
    margin-top: .9rem;
    padding: .75rem .9rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
}

.asis-formula-cards__term[b-j4zf1x82cd] {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 4.2rem;
    min-width: 0;
    padding: .35rem .55rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .6rem;
    line-height: 1.15;
}

.asis-formula-cards__term--result[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    border-color: #bfdbfe;
}

.asis-formula-cards__value[b-j4zf1x82cd] {
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-formula-cards__label[b-j4zf1x82cd] {
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #64748b;
    font-weight: 700;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
}

.asis-formula-cards__op[b-j4zf1x82cd] {
    font-size: 1rem;
    font-weight: 800;
    color: #94a3b8;
    align-self: center;
    padding: 0 .1rem;
}

/* Alerta/banner tipo card ancho. */
.asis-alert-card[b-j4zf1x82cd],
.asis-banner-card[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    border: 1px solid transparent;
    border-radius: .75rem;
    padding: .7rem .9rem;
    text-align: left;
    background: #fff;
    transition: background .15s ease;
}

.asis-alert-card[b-j4zf1x82cd] {
    cursor: pointer;
}

.asis-alert-card:hover[b-j4zf1x82cd] {
    background: #fffbeb;
}

.asis-alert-card--warn[b-j4zf1x82cd] {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

.asis-banner-card--info[b-j4zf1x82cd] {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e40af;
}

.asis-alert-card__icon[b-j4zf1x82cd],
.asis-banner-card__icon[b-j4zf1x82cd] {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.asis-alert-card__body[b-j4zf1x82cd],
.asis-banner-card__body[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    flex: 1;
    min-width: 0;
    font-size: .78rem;
}

.asis-alert-card__title[b-j4zf1x82cd] {
    font-weight: 700;
    color: #92400e;
}

.asis-alert-card__text[b-j4zf1x82cd] {
    color: #a16207;
    line-height: 1.4;
}

.asis-alert-card__chev[b-j4zf1x82cd],
.asis-banner-card__chev[b-j4zf1x82cd] {
    flex-shrink: 0;
    font-size: .85rem;
    opacity: .65;
}

.asis-banner-card strong[b-j4zf1x82cd] {
    font-weight: 700;
}

@media (max-width: 720px) {
    .asis-cifras__row[b-j4zf1x82cd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asis-formula-cards__term[b-j4zf1x82cd] {
        min-width: 3.6rem;
        padding: .3rem .45rem;
    }

    .asis-formula-cards__value[b-j4zf1x82cd] {
        font-size: .85rem;
    }
}

/* Barra de acciones "Corregir". */
.asis-actions-bar[b-j4zf1x82cd] {
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

/* Ayuda del día: bloque colapsable que reúne las superficies explicativas. */
.asis-ayuda-dia[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .65rem;
    background: #fff;
    padding: .8rem;
}

.asis-ayuda-dia__section[b-j4zf1x82cd] {
    padding-block: .5rem;
    border-bottom: 1px dashed #e2e8f0;
}

.asis-ayuda-dia__section:last-child[b-j4zf1x82cd] {
    border-bottom: none;
    padding-bottom: 0;
}

.asis-ayuda-dia__section:first-child[b-j4zf1x82cd] {
    padding-top: 0;
}

.asis-ayuda-dia__section--hero[b-j4zf1x82cd] {
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    border: 1px solid #bfdbfe;
    border-radius: .75rem;
    padding: .75rem .85rem;
    margin-bottom: .5rem;
}

.asis-ayuda-dia__section--hero .asis-advisor__banner-title[b-j4zf1x82cd] {
    color: #1e40af;
}

@media (max-width: 720px) {
    .asis-cifras__row[b-j4zf1x82cd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ===== Rediseño 2-col: asesor lateral, barra de fórmula, timeline visual ===== */

/* Asesor lateral fijo en la columna derecha del body (grid .asis-layout). */
.asis-advisor[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    position: sticky;
    top: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    padding: .9rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.asis-advisor__title[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .92rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-advisor__title i[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: .45rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .85rem;
}

.asis-advisor__eyebrow[b-j4zf1x82cd] {
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
}

.asis-advisor__banner[b-j4zf1x82cd] {
    border-radius: .75rem;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    border: 1px solid #bfdbfe;
    padding: .75rem .85rem;
}

.asis-advisor__banner--empty[b-j4zf1x82cd] {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.asis-advisor__banner-title[b-j4zf1x82cd] {
    font-size: .92rem;
    font-weight: 800;
    color: #1e40af;
    line-height: 1.25;
    margin-bottom: .2rem;
}

.asis-advisor__banner-text[b-j4zf1x82cd] {
    font-size: .76rem;
    color: #475569;
    line-height: 1.4;
}

.asis-advisor__actions[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.asis-advisor__tip[b-j4zf1x82cd] {
    font-size: .74rem;
    color: #1d4ed8;
    background: #dbeafe;
    border: 1px solid #bfdbfe;
    border-radius: .55rem;
    padding: .4rem .55rem;
    line-height: 1.4;
}

.asis-advisor__section[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    border-top: 1px solid #f1f5f9;
    padding-top: .65rem;
}

.asis-advisor__section-title[b-j4zf1x82cd] {
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
}

.asis-advisor__grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .45rem;
}

.asis-advisor__grid-cell[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    border-radius: .6rem;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    padding: .55rem .6rem;
}

.asis-advisor__grid-label[b-j4zf1x82cd] {
    font-size: .65rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.asis-advisor__grid-value[b-j4zf1x82cd] {
    font-size: .92rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.asis-advisor__grid-value.asis-chip--success[b-j4zf1x82cd] { color: #15803d; }
.asis-advisor__grid-value.asis-chip--warn[b-j4zf1x82cd] { color: #b45309; }
.asis-advisor__grid-value.asis-chip--muted[b-j4zf1x82cd] { color: #64748b; }

.asis-advisor__state[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    border-radius: .65rem;
    padding: .45rem .6rem;
    font-size: .76rem;
    border: 1px solid transparent;
}

.asis-advisor__state span[b-j4zf1x82cd] {
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: .68rem;
}

.asis-advisor__state strong[b-j4zf1x82cd] {
    color: #0f172a;
    font-size: .8rem;
}

.asis-advisor__turno[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.asis-advisor__turno-row[b-j4zf1x82cd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    color: #475569;
    padding: .35rem .45rem;
    border-radius: .5rem;
    background: #f8fafc;
}

.asis-advisor__turno-row strong[b-j4zf1x82cd] {
    color: #0f172a;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.asis-advisor__turno-row i[b-j4zf1x82cd] {
    color: #64748b;
}

/* Barra visual agregada del timeline (excluye la referencia de turno). */
.asis-timeline-bar[b-j4zf1x82cd] {
    display: flex;
    width: 100%;
    height: .9rem;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
    box-shadow: inset 0 0 0 1px #cbd5e1;
}

.asis-timeline-bar__seg[b-j4zf1x82cd] {
    display: block;
    height: 100%;
    min-width: .35rem;
    transition: width .2s ease;
}

.asis-timeline-markers[b-j4zf1x82cd] {
    font-size: .72rem;
}

/* Chips de incidencias en el header oscuro. */
.asis-modal-header__chips .asis-chip[b-j4zf1x82cd] {
    font-size: .66rem;
}

/* ===== Línea de tiempo del día: eje de reloj, pines, bloques posicionados ===== */

.asis-tl[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.asis-tl__alerts[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.asis-tl__alert[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    font-size: .7rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .18rem .55rem;
}

.asis-tl__alert--warn[b-j4zf1x82cd] { background: #fef3c7; color: #92400e; }
.asis-tl__alert--info[b-j4zf1x82cd] { background: #dbeafe; color: #1d4ed8; }
.asis-tl__alert--muted[b-j4zf1x82cd] { background: #f1f5f9; color: #475569; }
.asis-tl__alert--accent[b-j4zf1x82cd] { background: #ede9fe; color: #6d28d9; }

.asis-tl__axis[b-j4zf1x82cd] {
    position: relative;
    height: 1rem;
    margin: 0 .15rem;
}

.asis-tl__tick[b-j4zf1x82cd] {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    font-size: .62rem;
    font-weight: 700;
    color: #94a3b8;
    white-space: nowrap;
}

.asis-tl__tick[b-j4zf1x82cd]::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 1px;
    height: .3rem;
    background: #cbd5e1;
}

.asis-tl__track[b-j4zf1x82cd] {
    position: relative;
    width: 100%;
    height: 1.6rem;
    border-radius: .4rem;
    background: #f1f5f9;
    box-shadow: inset 0 0 0 1px #e2e8f0;
    overflow: visible;
    margin: .35rem 0;
}

.asis-tl__seg[b-j4zf1x82cd] {
    position: absolute;
    top: 0;
    height: 100%;
    min-width: .2rem;
    border-radius: .35rem;
    transition: width .2s ease, left .2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.asis-tl__seg--active[b-j4zf1x82cd] {
    outline: 2px solid #1d4ed8;
    outline-offset: 1px;
    z-index: 3;
}

.asis-tl__seg--warn[b-j4zf1x82cd] { box-shadow: inset 0 0 0 1px rgba(180, 83, 9, .55); }
.asis-tl__seg--draft[b-j4zf1x82cd] { box-shadow: inset 0 0 0 1px rgba(124, 58, 237, .45); }
.asis-tl__seg--ignored[b-j4zf1x82cd] { opacity: .55; box-shadow: inset 0 0 0 1px rgba(100, 116, 139, .5); }

.asis-tl__seg-ind[b-j4zf1x82cd] {
    font-size: .6rem;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 0 2px rgba(0, 0, 0, .45);
    line-height: 1;
}

.asis-tl__pin[b-j4zf1x82cd] {
    position: absolute;
    top: 50%;
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    transform: translate(-50%, -50%);
    border: 2px solid #fff;
    box-shadow: 0 0 0 1.5px rgba(15, 23, 42, .45);
    z-index: 4;
    padding: 0;
    margin: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1;
}

.asis-tl__pin:focus-visible[b-j4zf1x82cd] {
    outline: 2px solid #1d4ed8;
    outline-offset: 1px;
}

.asis-tl__pin--real[b-j4zf1x82cd] { background: #0f172a; }
.asis-tl__pin--manual[b-j4zf1x82cd] { background: #6d28d9; }
.asis-tl__pin--anulada[b-j4zf1x82cd] { background: #94a3b8; opacity: .75; }

.asis-tl__markers[b-j4zf1x82cd] {
    position: relative;
    height: 3.2rem;
    margin-top: .2rem;
}

.asis-tl__marker-box[b-j4zf1x82cd] {
    position: absolute;
    top: 0;
    transform: translateX(0);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 7rem;
}

.asis-tl__marker-box[b-j4zf1x82cd]::before {
    content: "";
    width: 1px;
    height: .55rem;
    border-left: 1px dashed #cbd5e1;
}

.asis-tl__marker-box--end[b-j4zf1x82cd] {
    transform: translateX(-100%);
    align-items: flex-end;
}

.asis-tl__marker-box--end[b-j4zf1x82cd]::before {
    height: .55rem;
}

.asis-tl__marker-label[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: .55rem;
    padding: .4rem .65rem;
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
    border: 1px solid transparent;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .08);
}

.asis-tl__marker-label--start[b-j4zf1x82cd] {
    color: #14532d;
    background: #bbf7d0;
    border-color: #86efac;
}

.asis-tl__marker-label--end[b-j4zf1x82cd] {
    color: #7f1d1d;
    background: #fecaca;
    border-color: #f87171;
}

.asis-tl__marker-label i[b-j4zf1x82cd] {
    font-size: .8rem;
}

.asis-tl__marker-label strong[b-j4zf1x82cd] {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.asis-tl__legend[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
    padding-top: .4rem;
    border-top: 1px solid #f1f5f9;
}

.asis-tl__legend-item[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .72rem;
    color: #475569;
}

.asis-tl__legend-sep[b-j4zf1x82cd] {
    width: 1px;
    align-self: stretch;
    background: #e2e8f0;
    margin: .1rem .2rem;
}

.asis-tl__dot[b-j4zf1x82cd] {
    width: .75rem;
    height: .75rem;
    border-radius: .2rem;
    display: inline-block;
}

.asis-tl__ind[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    background: #f1f5f9;
    color: #475569;
    line-height: 1;
}

.asis-tl__ind--sm[b-j4zf1x82cd] {
    width: .9rem;
    height: .9rem;
    font-size: .58rem;
    margin-left: .3rem;
    vertical-align: middle;
}

.asis-tl__ind--real[b-j4zf1x82cd] { background: #0f172a; color: #fff; }
.asis-tl__ind--manual[b-j4zf1x82cd] { background: #ede9fe; color: #6d28d9; }
.asis-tl__ind--ok[b-j4zf1x82cd] { background: #dcfce7; color: #166534; }
.asis-tl__ind--warn[b-j4zf1x82cd] { background: #fef3c7; color: #92400e; }
.asis-tl__ind--draft[b-j4zf1x82cd] { background: #ede9fe; color: #6d28d9; }
.asis-tl__ind--ignored[b-j4zf1x82cd] { background: #e2e8f0; color: #475569; }

@media (max-width: 767.98px) {
    .asis-tl__tick[b-j4zf1x82cd] {
        font-size: .55rem;
    }
    .asis-tl__marker-label[b-j4zf1x82cd] {
        font-size: .62rem;
        padding: .25rem .4rem;
    }
}

/* ===== Timeline-first: overlay de turno, huecos, ficha de edición ===== */

.asis-tl__turno[b-j4zf1x82cd] {
    position: absolute;
    top: 0;
    height: 100%;
    border: 1px solid rgba(37, 99, 235, .55);
    background: repeating-linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(37, 99, 235, .12) 5px, rgba(37, 99, 235, .05) 5px, rgba(37, 99, 235, .05) 10px);
    border-radius: .25rem;
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .15);
}

.asis-tl__seg--clickable[b-j4zf1x82cd] {
    cursor: pointer;
}

.asis-tl__seg--clickable:hover[b-j4zf1x82cd] {
    filter: brightness(1.06);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .35);
}

.asis-tl__pin--active[b-j4zf1x82cd] {
    transform: translate(-50%, -50%) scale(1.35);
    box-shadow: 0 0 0 2.5px #1d4ed8, 0 0 0 1.5px rgba(15, 23, 42, .45);
    z-index: 5;
}

.asis-tl__pin--sm[b-j4zf1x82cd] {
    width: .5rem;
    height: .5rem;
    border-width: 1px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .25);
}

.asis-tl__ficha[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    background: #fff;
    padding: .6rem .75rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.asis-tl__ficha-head[b-j4zf1x82cd] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}

.asis-tl__ficha-title[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-weight: 700;
    color: #0f172a;
    flex: 1;
}

.asis-tl__ficha-meta[b-j4zf1x82cd] {
    font-size: .72rem;
    color: #64748b;
    align-self: center;
}

.asis-tl__ficha-close[b-j4zf1x82cd] {
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 1rem;
    line-height: 1;
    padding: 0 .15rem;
    cursor: pointer;
}

.asis-tl__ficha-close:hover[b-j4zf1x82cd] {
    color: #0f172a;
}

.asis-tl__ficha-impacto[b-j4zf1x82cd] {
    font-size: .74rem;
    color: #334155;
    margin-top: .35rem;
}

.asis-tl__ficha-casos[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .35rem;
}

.asis-tl__ficha-metrics[b-j4zf1x82cd] {
    font-size: .74rem;
    color: #475569;
    margin-top: .35rem;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
}

.asis-tl__ficha-formula[b-j4zf1x82cd] {
    font-size: .7rem;
    color: #64748b;
    font-style: italic;
    margin-top: .2rem;
}

.asis-tl__ficha-origen[b-j4zf1x82cd] {
    margin-top: .4rem;
    padding-top: .4rem;
    border-top: 1px dashed #e2e8f0;
}

.asis-tl__ficha-origen-title[b-j4zf1x82cd] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
    margin-bottom: .2rem;
}

.asis-tl__ficha-marca[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .74rem;
    color: #334155;
    margin-top: .15rem;
}

.asis-tl__ficha-marca .asis-tl__pin[b-j4zf1x82cd] {
    position: static;
    transform: none;
    flex: 0 0 auto;
}

.asis-tl__ficha-edit[b-j4zf1x82cd] {
    margin-top: .5rem;
    padding-top: .4rem;
    border-top: 1px solid #e2e8f0;
}

.asis-tl__ficha-select[b-j4zf1x82cd] {
    width: auto;
    min-width: 9rem;
}

.asis-tl__ficha-help[b-j4zf1x82cd] {
    font-size: .7rem;
    color: #64748b;
    margin-top: .35rem;
}

.asis-tl__ficha-loading[b-j4zf1x82cd] {
    font-size: .72rem;
    color: #1d4ed8;
    margin-top: .3rem;
}

.asis-tl__hint[b-j4zf1x82cd] {
    font-size: .78rem;
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed #e2e8f0;
    border-radius: .4rem;
    padding: .5rem .65rem;
}

/* ===== Acordeones de acciones ===== */

.asis-accordion-list[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Pestañas horizontales de acciones (reemplazan a los colapsables apilados
   para que en resoluciones bajas nada quede cortado debajo de la línea de tiempo). */
.asis-tabs[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    padding: .25rem;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #f8fafc;
}

.asis-tabs__btn[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid transparent;
    border-radius: .5rem;
    background: #fff;
    color: #475569;
    padding: .3rem .65rem;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .12s ease, color .12s ease, border-color .12s ease;
}

.asis-tabs__btn:hover:not(:disabled)[b-j4zf1x82cd] {
    background: #eef2ff;
    color: #1e293b;
}

.asis-tabs__btn.active[b-j4zf1x82cd] {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

.asis-tabs__btn:disabled[b-j4zf1x82cd] {
    opacity: .55;
    cursor: not-allowed;
}

.asis-tabs__badge[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 .3rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .12);
    color: inherit;
    font-size: .7rem;
    font-weight: 700;
}

.asis-tabs__btn.active .asis-tabs__badge[b-j4zf1x82cd] {
    background: rgba(255, 255, 255, .25);
    color: #fff;
}

.asis-tabs__badge--warn[b-j4zf1x82cd] {
    background: #f59e0b;
    color: #fff;
}

/* Panel activo de la pestaña: reutiliza el cuerpo del acordeón pero sin el
   borde/cabezal colapsable (la pestaña ya indica cuál está abierta). */
.asis-tab-panel[b-j4zf1x82cd] {
    border-top: none;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #fff;
    padding: .75rem .9rem;
}

/* Wrapper de los paneles: cuando el periodo está Autorizada, disabled="@true"
   deshabilita de un solo golpe TODOS los controles (inputs, selects, checkboxes,
   botones) dentro de las 6 pestañas → el día queda sólo-lectura sin tocar cada
   control individualmente. La barra de pestañas queda fuera para poder seguir
   navegando (ver) las pestañas. */
.asis-tab-fieldset[b-j4zf1x82cd] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.asis-tab-fieldset:disabled[b-j4zf1x82cd] {
    opacity: 1; /* que no atenúe: sólo queremos bloquear, no apagar visualmente */
}

/* Aviso de candado por periodo autorizado. */
.asis-alert--locked[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid #f59e0b;
    background: #fffbeb;
    color: #92400e;
    border-radius: .5rem;
    padding: .4rem .6rem;
    font-size: .8rem;
}

.asis-accordion[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #fff;
    overflow: hidden;
}

.asis-accordion__head[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    border: none;
    background: #fff;
    padding: .7rem .9rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
    text-align: left;
    transition: background .15s ease;
}

.asis-accordion__head:hover[b-j4zf1x82cd] {
    background: #f8fafc;
}

.asis-accordion__head:disabled[b-j4zf1x82cd] {
    opacity: .6;
    cursor: not-allowed;
}

.asis-accordion__head:focus-visible[b-j4zf1x82cd] {
    outline: 2px solid #1d4ed8;
    outline-offset: -2px;
}

.asis-accordion__icon[b-j4zf1x82cd] {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: .55rem;
    background: #eff6ff;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    flex-shrink: 0;
}

.asis-accordion__title[b-j4zf1x82cd] {
    flex: 1;
    font-size: .84rem;
}

.asis-accordion__badge[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.35rem;
    padding: 0 .45rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
    flex-shrink: 0;
}

.asis-accordion__badge--warn[b-j4zf1x82cd] {
    background: #fef3c7;
    color: #92400e;
}

.asis-accordion__chev[b-j4zf1x82cd] {
    transition: transform .15s ease;
    color: #64748b;
    flex-shrink: 0;
}

.asis-accordion--open .asis-accordion__chev[b-j4zf1x82cd] {
    transform: rotate(90deg);
}

.asis-accordion__body[b-j4zf1x82cd] {
    padding: .75rem .9rem;
    border-top: 1px solid #e2e8f0;
    animation: asis-accordion-fade-b-j4zf1x82cd .15s ease;
}

.asis-accordion__body .asis-quick-card[b-j4zf1x82cd] {
    border: none;
    border-radius: .55rem;
    background: #f8fafc;
    box-shadow: none;
}

@keyframes asis-accordion-fade-b-j4zf1x82cd {
    from { opacity: 0; transform: translateY(-2px); }
    to { opacity: 1; transform: none; }
}

/* ===== Plan del turno (planeado vs real) ===== */

.asis-plan[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .4rem;
    background: #f8fafc;
    padding: .5rem .6rem;
}

.asis-plan__head[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .4rem;
}

.asis-plan__title[b-j4zf1x82cd] {
    font-weight: 700;
    font-size: .82rem;
    color: #0f172a;
}

.asis-plan__jornada[b-j4zf1x82cd] {
    font-size: .72rem;
    color: #64748b;
}

.asis-plan__grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem .6rem;
}

.asis-plan__cell[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem .35rem;
    font-size: .76rem;
}

.asis-plan__cell--descansos[b-j4zf1x82cd] {
    grid-column: 1 / -1;
    border-top: 1px dashed #e2e8f0;
    padding-top: .4rem;
}

.asis-plan__label[b-j4zf1x82cd] {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
    flex: 0 0 auto;
}

.asis-plan__planeado[b-j4zf1x82cd] {
    font-weight: 700;
    color: #1d4ed8;
    font-variant-numeric: tabular-nums;
}

.asis-plan__real[b-j4zf1x82cd] {
    color: #334155;
    font-variant-numeric: tabular-nums;
}

.asis-plan__real--none[b-j4zf1x82cd] {
    color: #94a3b8;
    font-style: italic;
}

.asis-plan__descansos[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
}

.asis-plan__descanso[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .72rem;
    padding: .12rem .4rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font-variant-numeric: tabular-nums;
}

.asis-plan__descanso--ok[b-j4zf1x82cd] {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.asis-plan__descanso--miss[b-j4zf1x82cd] {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fef2f2;
}

.asis-plan__pagado[b-j4zf1x82cd] {
    font-size: .62rem;
    text-transform: uppercase;
    color: #6d28d9;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    padding: 0 .3rem;
}

/* ===== Jornada planeada en GRANDE (hero arriba del modal) ===== */

.asis-plan-hero[b-j4zf1x82cd] {
    border: 1px solid #bfdbfe;
    border-radius: .8rem;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    padding: .75rem .85rem;
    margin-bottom: .5rem;
}

.asis-plan-hero__head[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .4rem .75rem;
    margin-bottom: .55rem;
}

.asis-plan-hero__title[b-j4zf1x82cd] {
    font-size: .92rem;
    font-weight: 800;
    color: #1e40af;
}

.asis-plan-hero__jornada[b-j4zf1x82cd] {
    font-size: .8rem;
    color: #475569;
}

.asis-plan-hero__jornada strong[b-j4zf1x82cd] {
    color: #0f172a;
    font-size: .95rem;
    font-variant-numeric: tabular-nums;
}

.asis-plan-hero__grid[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem .75rem;
}

.asis-plan-hero__cell[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: .65rem;
    padding: .5rem .7rem;
}

.asis-plan-hero__label[b-j4zf1x82cd] {
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    font-weight: 800;
}

.asis-plan-hero__planeado[b-j4zf1x82cd] {
    font-size: 1.75rem;
    font-weight: 900;
    color: #1d4ed8;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.asis-plan-hero__real[b-j4zf1x82cd] {
    font-size: .82rem;
    color: #334155;
    font-variant-numeric: tabular-nums;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem;
}

.asis-plan-hero__real--none[b-j4zf1x82cd] {
    color: #94a3b8;
    font-style: italic;
}

.asis-plan-hero__descansos[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .15rem;
}

@media (max-width: 767.98px) {
    .asis-plan-hero__grid[b-j4zf1x82cd] {
        grid-template-columns: 1fr 1fr;
    }

    .asis-plan-hero__cell--descansos[b-j4zf1x82cd] {
        grid-column: 1 / -1;
    }

    .asis-plan-hero__planeado[b-j4zf1x82cd] {
        font-size: 1.4rem;
    }
}

/* Banda fantasma de descanso planificado sobre el eje */
.asis-tl__descanso-plan[b-j4zf1x82cd] {
    position: absolute;
    top: 0;
    height: 100%;
    border: 1px solid rgba(180, 83, 9, .55);
    background: repeating-linear-gradient(45deg, rgba(180, 83, 9, .15), rgba(180, 83, 9, .15) 5px, rgba(180, 83, 9, .06) 5px, rgba(180, 83, 9, .06) 10px);
    border-radius: .2rem;
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(180, 83, 9, .1);
}

.asis-tl__descanso-plan--miss[b-j4zf1x82cd] {
    border-color: rgba(185, 28, 28, .55);
    background: repeating-linear-gradient(45deg, rgba(185, 28, 28, .16), rgba(185, 28, 28, .16) 5px, rgba(185, 28, 28, .06) 5px, rgba(185, 28, 28, .06) 10px);
}

.asis-tl__descanso-plan--ok[b-j4zf1x82cd] {
    border-color: rgba(22, 102, 52, .55);
    background: repeating-linear-gradient(45deg, rgba(22, 102, 52, .14), rgba(22, 102, 52, .14) 5px, rgba(22, 102, 52, .06) 5px, rgba(22, 102, 52, .06) 10px);
}

/* Swatch estático para la leyenda (sin estilos inline en el markup) */
.asis-tl__legend-swatch[b-j4zf1x82cd] {
    position: static;
    display: inline-block;
    width: .8rem;
    height: .7rem;
    border-radius: .2rem;
}

@media (max-width: 767.98px) {
    .asis-plan__grid[b-j4zf1x82cd] {
        grid-template-columns: 1fr;
    }

    .asis-advisor[b-j4zf1x82cd] {
        position: static;
        padding: .75rem;
        gap: .55rem;
    }

    .asis-advisor__grid[b-j4zf1x82cd] {
        grid-template-columns: repeat(2, 1fr);
    }

    .asis-advisor__banner[b-j4zf1x82cd],
    .asis-advisor__section[b-j4zf1x82cd] {
        padding: .6rem .7rem;
    }

    .asis-advisor__turno-row[b-j4zf1x82cd] {
        padding: .3rem .4rem;
    }
}

/* ===== Rediseño 3: timeline fijo arriba + body scroll + asesor plegable ===== */

/* Zona fija (hermana del header, fuera de .modal-body): no scrollea con el body.
   Bootstrap modal-dialog-scrollable pone overflow-y:auto solo en .modal-body,
   por lo que este bloque queda automáticamente anclado arriba. */
.asis-timeline-fixed[b-j4zf1x82cd] {
    flex: 0 0 auto;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: .55rem .75rem .65rem;
}

/* Tira delgada de resultado: Acreditado · Pagado (+ indicadores) — siempre visible */
.asis-result-strip[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .6rem;
    padding: .35rem .5rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: .6rem;
    margin-bottom: .5rem;
    font-size: .8rem;
}

.asis-result-strip__item[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.asis-result-strip__label[b-j4zf1x82cd] {
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: .62rem;
}

.asis-result-strip__value[b-j4zf1x82cd] {
    color: #0f172a;
    font-size: .95rem;
    font-weight: 800;
}

.asis-result-strip__item--visible .asis-result-strip__value[b-j4zf1x82cd] { color: #1d4ed8; }
.asis-result-strip__item--paid .asis-result-strip__value[b-j4zf1x82cd] { color: #047857; }
.asis-result-strip__item--pending[b-j4zf1x82cd] { color: #b45309; font-weight: 600; }
.asis-result-strip__item--muted[b-j4zf1x82cd] { color: #64748b; font-weight: 600; }

.asis-result-strip__sep[b-j4zf1x82cd] {
    width: 1px;
    height: 1rem;
    background: #e2e8f0;
}

/* Banner inline (siguiente paso) dentro de la zona fija */
.asis-banner-card--inline[b-j4zf1x82cd] {
    width: 100%;
    margin-bottom: .5rem;
}

/* Timeline compacto en la zona fija: altura acotada para no comerse la pantalla
   ni aplastar el body de abajo (cifras + colapsables de acciones). El timeline
   tiene su propio scroll interno, así que bajarle el tope sólo le cede altura al body. */
.asis-dayline-card--fixed[b-j4zf1x82cd] {
    max-height: 32vh;
    overflow-y: auto;
}

/* Body scrollable: pila vertical de una sola columna (sin grid 2-col) */
.asis-body-stack[b-j4zf1x82cd] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Layout de dos columnas para el cuerpo del modal (info | acciones). */
.asis-body-layout[b-j4zf1x82cd] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 1rem;
    align-items: start;
}

.asis-body-layout__main[b-j4zf1x82cd],
.asis-body-layout__side[b-j4zf1x82cd] {
    min-width: 0;
}

.asis-body-layout__side[b-j4zf1x82cd] {
    position: sticky;
    top: .75rem;
    max-height: calc(100vh - 18rem);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: .25rem;
}

.asis-body-layout__side[b-j4zf1x82cd]::-webkit-scrollbar {
    width: .4rem;
}

.asis-body-layout__side[b-j4zf1x82cd]::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: .2rem;
}

.asis-body-layout__side-inner[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    padding: .85rem .9rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.asis-side-title[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .9rem;
    font-weight: 800;
    color: #0f172a;
}

.asis-side-title i[b-j4zf1x82cd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: .55rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .9rem;
}

/* El bloque de cifras ya no necesita su propio contenedor con borde; se integra a la pila */
.asis-body-stack .asis-cifras[b-j4zf1x82cd] {
    margin: 0;
}

/* Tarjeta informativa que reemplaza al acordeón "Tiempo extra / banco" (solo lectura aquí) */
.asis-te-info[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    background: #fff;
    padding: .55rem .7rem;
}

.asis-te-info__head[b-j4zf1x82cd] {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
    font-size: .85rem;
    color: #0f172a;
}

.asis-te-info__hint[b-j4zf1x82cd] {
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 500;
}

.asis-te-info__chips[b-j4zf1x82cd] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.asis-te-info__note[b-j4zf1x82cd] {
    margin-top: .4rem;
    font-size: .72rem;
    color: #64748b;
}

/* Asesor plegable (<details>) dentro del body-stack */
.asis-advisor-collapse[b-j4zf1x82cd] {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
}

.asis-advisor-collapse > summary[b-j4zf1x82cd] {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .6rem .8rem;
    font-size: .9rem;
    font-weight: 700;
    color: #0f172a;
    user-select: none;
}

.asis-advisor-collapse > summary[b-j4zf1x82cd]::-webkit-details-marker { display: none; }
.asis-advisor-collapse > summary[b-j4zf1x82cd]::after {
    content: "\F282"; /* bi-chevron-down */
    font-family: "bootstrap-icons", "Font Awesome", sans-serif;
    margin-left: auto;
    color: #94a3b8;
    transition: transform .15s ease;
}
.asis-advisor-collapse[open] > summary[b-j4zf1x82cd]::after { transform: rotate(180deg); }

.asis-advisor-collapse__badge[b-j4zf1x82cd] {
    margin-left: .5rem;
    font-size: .68rem;
    font-weight: 600;
    color: #1d4ed8;
    background: #eff6ff;
    border-radius: 999px;
    padding: .1rem .5rem;
}

/* El asesor dentro del <details> ya no necesita ser sticky ni tener borde propio */
.asis-advisor-collapse .asis-advisor[b-j4zf1x82cd] {
    position: static;
    border: none;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
    box-shadow: none;
    padding: .8rem;
}

@media (max-width: 1023.98px) {
    .asis-body-layout[b-j4zf1x82cd] {
        grid-template-columns: 1fr;
    }

    .asis-body-layout__side[b-j4zf1x82cd] {
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
        order: 2;
    }

    .asis-body-layout__side-inner[b-j4zf1x82cd] {
        padding: .75rem .8rem;
    }

    .asis-side-title[b-j4zf1x82cd] {
        font-size: .85rem;
    }
}

@media (max-width: 767.98px) {
    .asis-dayline-card--fixed[b-j4zf1x82cd] { max-height: 28vh; }
    .asis-result-strip[b-j4zf1x82cd] { font-size: .74rem; }
    .asis-result-strip__value[b-j4zf1x82cd] { font-size: .85rem; }
}
/* /Components/Pages/RRHH/AsistenciasResolucionModal.razor.rz.scp.css */
[b-3eqdcqi5bj] .asis-modal-backdrop,
.asis-modal-backdrop[b-3eqdcqi5bj] {
    background-color: rgba(0, 0, 0, .5);
}

.asis-modal-dialog-wide[b-3eqdcqi5bj] {
    max-width: min(900px, 96vw);
}

.asis-modal-shell[b-3eqdcqi5bj] {
    border-radius: 1rem;
    overflow: hidden;
}

.asis-modal-header[b-3eqdcqi5bj] {
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

/* ---- Panel de neteo del periodo ---- */
.asis-res-neteo[b-3eqdcqi5bj] {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    padding: .75rem;
}

.asis-res-neteo__row[b-3eqdcqi5bj] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.asis-res-neteo__item[b-3eqdcqi5bj] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .5rem .65rem;
    border-radius: .5rem;
    min-width: 130px;
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #cbd5e1;
}

.asis-res-neteo__label[b-3eqdcqi5bj] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #64748b;
    line-height: 1;
}

.asis-res-neteo__value[b-3eqdcqi5bj] {
    font-size: .95rem;
    font-weight: 600;
    color: #0f172a;
}

.asis-res-neteo__item--info[b-3eqdcqi5bj] {
    border-left-color: #94a3b8;
}

.asis-res-neteo__item--good[b-3eqdcqi5bj] {
    background-color: #f0fdf4;
    border-left-color: #22c55e;
}

.asis-res-neteo__item--warn[b-3eqdcqi5bj] {
    background-color: #fffbeb;
    border-left-color: #f59e0b;
}

.asis-res-neteo__item--bad[b-3eqdcqi5bj] {
    background-color: #fef2f2;
    border-left-color: #ef4444;
}

.asis-res-neteo__item--destacado[b-3eqdcqi5bj] {
    box-shadow: 0 0 0 1px #86efac inset;
}

/* ---- Mini-tabla por día del periodo ---- */
.asis-res-dias__title[b-3eqdcqi5bj] {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #64748b;
    margin-bottom: .4rem;
}

.asis-res-dias__table[b-3eqdcqi5bj] {
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}

.asis-res-dias__table th[b-3eqdcqi5bj] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #64748b;
    font-weight: 700;
    white-space: nowrap;
    padding: .35rem .4rem;
}

.asis-res-dias__table td[b-3eqdcqi5bj] {
    padding: .3rem .4rem;
    white-space: nowrap;
}

.asis-res-dias__fecha[b-3eqdcqi5bj] {
    display: flex;
    gap: .35rem;
    align-items: baseline;
}

.asis-res-dias__dia[b-3eqdcqi5bj] {
    font-weight: 700;
    color: #0f172a;
    min-width: 2.4rem;
}

.asis-res-dias__num[b-3eqdcqi5bj] {
    color: #94a3b8;
    font-size: .72rem;
}

.asis-res-dias__row--muted td[b-3eqdcqi5bj] {
    color: #cbd5e1;
}

.asis-res-dias__totales td[b-3eqdcqi5bj] {
    border-top: 2px solid #e2e8f0;
    background: #f8fafc;
}

.asis-res-dias__autorizado td[b-3eqdcqi5bj] {
    background: #f0fdf4;
    color: #166534;
    border-top: 1px solid #bbf7d0;
}
/* /Components/Pages/RRHH/AsistenciasSemanal.razor.rz.scp.css */
/* Paleta unificada — 4 variantes semánticas con fondo claro + borde acentuado:
   --info (slate)  : Normales / Permisos / Comp. / Días / Festivo / Pagadas
   --good (verde)  : Banco apl. / Extra pag. / A banco acum. / Saldo banco / celdas ok
   --warn (ámbar)  : Retardo
   --bad  (rojo)   : Descuento / Salida anticipada
   --primary (azul): Acreditado (total del periodo)
   Morado reservado SÓLO a la celda "extra pendiente".
   Teal reservado a la celda "extra revisado" (autorizado/aplicado) para
   distinguirla del verde "ok / en objetivo" (fondo idéntico antes). */

/* ---------- Tabla compacta ---------- */

.asis-week-table th[b-eoe7g6xvnd] {
    font-size: .74rem;
    white-space: nowrap;
    vertical-align: middle;
}

.asis-week-table-wrap[b-eoe7g6xvnd] {
    max-height: calc(100vh - 260px);
    overflow: auto;
    position: relative;
    isolation: isolate;
    border-radius: .5rem;
}

.asis-week-table[b-eoe7g6xvnd] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.asis-week-table--compact[b-eoe7g6xvnd] {
    min-width: 720px;
}

.asis-week-col--employee[b-eoe7g6xvnd] { width: 230px; }
.asis-week-col--days[b-eoe7g6xvnd] { width: auto; }
.asis-week-col--num[b-eoe7g6xvnd] { width: 88px; }
.asis-week-col--action[b-eoe7g6xvnd] { width: 168px; }

.asis-week-table thead tr[b-eoe7g6xvnd] {
    position: sticky;
    top: 0;
    z-index: 6;
}

.asis-week-table thead th[b-eoe7g6xvnd] {
    position: sticky;
    top: 0;
    z-index: 7;
    background: #212529;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .08);
}

.asis-week-sticky-col[b-eoe7g6xvnd] {
    position: sticky;
    z-index: 2;
    background-clip: padding-box;
}

.asis-week-sticky-col--employee[b-eoe7g6xvnd] {
    left: 0;
    min-width: 230px;
}

.asis-week-table thead .asis-week-sticky-col[b-eoe7g6xvnd] {
    z-index: 9;
    background: #212529;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .08), inset 0 -1px 0 rgba(255, 255, 255, .08);
}

.asis-week-table tbody .asis-week-sticky-col[b-eoe7g6xvnd] {
    background: #fff;
    box-shadow: inset -1px 0 0 #e2e8f0;
}

.asis-week-table tbody tr.table-light .asis-week-sticky-col[b-eoe7g6xvnd] {
    background: #f8f9fa;
}

.asis-week-table tbody tr.asis-week-row--active .asis-week-sticky-col[b-eoe7g6xvnd] {
    background: #eff6ff;
}

.asis-week-table td[b-eoe7g6xvnd] {
    font-size: .82rem;
    vertical-align: middle;
}

.asis-week-col-days__head[b-eoe7g6xvnd] {
    width: auto;
}

.asis-week-col-days__cell[b-eoe7g6xvnd] {
    padding: .35rem .25rem !important;
}

.asis-week-col-action__cell[b-eoe7g6xvnd] {
    padding: .35rem .4rem !important;
}

.asis-week-num[b-eoe7g6xvnd] {
    font-variant-numeric: tabular-nums;
    padding: .35rem .6rem !important;
}

.asis-week-num--total[b-eoe7g6xvnd] {
    font-weight: 700;
    color: #1d4ed8;
}

/* ---------- Strip de días (vista rápida por empleado) ---------- */

.asis-strip[b-eoe7g6xvnd] {
    display: flex;
    gap: .3rem;
    overflow-x: auto;
    padding: .15rem .1rem;
    scrollbar-width: thin;
}

.asis-strip[b-eoe7g6xvnd]::-webkit-scrollbar {
    height: 6px;
}

.asis-strip[b-eoe7g6xvnd]::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}

.asis-strip__cell[b-eoe7g6xvnd] {
    flex: 0 0 auto;
    width: 52px;
    border: 1px solid #e2e8f0;
    border-radius: .45rem;
    background: #fff;
    padding: .25rem .15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .05rem;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.asis-strip__cell:hover[b-eoe7g6xvnd] {
    transform: translateY(-1px);
    box-shadow: 0 .35rem .8rem rgba(15, 23, 42, .1);
}

.asis-strip__dow[b-eoe7g6xvnd] {
    font-size: .62rem;
    text-transform: uppercase;
    color: #64748b;
    font-weight: 700;
}

.asis-strip__day[b-eoe7g6xvnd] {
    font-size: .6rem;
    color: #94a3b8;
}

.asis-strip__value[b-eoe7g6xvnd] {
    font-size: .72rem;
    font-weight: 700;
    color: #0f172a;
}

.asis-strip__delta[b-eoe7g6xvnd] {
    font-size: .58rem;
    font-weight: 700;
    color: #64748b;
}

.asis-strip__cell--weekend[b-eoe7g6xvnd] {
    background: #f8fafc;
}

.asis-strip__cell--total[b-eoe7g6xvnd] {
    cursor: default;
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.asis-strip__cell--total:hover[b-eoe7g6xvnd] {
    transform: none;
    box-shadow: none;
}

/* Variantes de color reutilizadas por el strip (mismas que las celdas de día):
   ok / warn / danger / extra-pending / extra-reviewed / muted. */
.asis-week-cell__button--ok[b-eoe7g6xvnd] { background: #f0fdf4; border-color: #86efac; }
.asis-week-cell__button--warn[b-eoe7g6xvnd] { background: #fffbeb; border-color: #fcd34d; }
.asis-week-cell__button--danger[b-eoe7g6xvnd] { background: #fef2f2; border-color: #fecaca; }
.asis-week-cell__button--extra-pending[b-eoe7g6xvnd] { background: #f5f3ff; border-color: #a855f7; }
.asis-week-cell__button--extra-reviewed[b-eoe7g6xvnd] { background: #ccfbf1; border-color: #14b8a6; }
.asis-week-cell__button--muted[b-eoe7g6xvnd] { background: #f8fafc; border-color: #e2e8f0; }

.asis-strip__cell.asis-week-cell__button--ok .asis-strip__value[b-eoe7g6xvnd] { color: #166534; }
.asis-strip__cell.asis-week-cell__button--warn .asis-strip__value[b-eoe7g6xvnd] { color: #92400e; }
.asis-strip__cell.asis-week-cell__button--danger .asis-strip__value[b-eoe7g6xvnd] { color: #991b1b; }
.asis-strip__cell.asis-week-cell__button--extra-pending .asis-strip__value[b-eoe7g6xvnd] { color: #6b21a8; }
.asis-strip__cell.asis-week-cell__button--extra-reviewed .asis-strip__value[b-eoe7g6xvnd] { color: #0f766e; }

/* Strip del drawer: celdas más grandes con delta, wrap en pantallas angostas. */
.asis-strip--detail[b-eoe7g6xvnd] {
    flex-wrap: wrap;
    gap: .4rem;
}

.asis-strip--detail .asis-strip__cell[b-eoe7g6xvnd] {
    width: 64px;
    padding: .35rem .2rem;
}

.asis-strip--detail .asis-strip__dow[b-eoe7g6xvnd] { font-size: .66rem; }
.asis-strip--detail .asis-strip__day[b-eoe7g6xvnd] { font-size: .64rem; }
.asis-strip--detail .asis-strip__value[b-eoe7g6xvnd] { font-size: .78rem; }
.asis-strip--detail .asis-strip__delta[b-eoe7g6xvnd] { font-size: .62rem; }

/* ---------- Leyenda ---------- */

.asis-week-legend[b-eoe7g6xvnd] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-week-legend__item[b-eoe7g6xvnd] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .74rem;
    color: #334155;
}

.asis-week-legend__dot[b-eoe7g6xvnd] {
    width: .9rem;
    height: .9rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .08);
}

.asis-week-legend__dot--ok[b-eoe7g6xvnd] { background: #86efac; }
.asis-week-legend__dot--warn[b-eoe7g6xvnd] { background: #fcd34d; }
.asis-week-legend__dot--danger[b-eoe7g6xvnd] { background: #fecaca; }
.asis-week-legend__dot--muted[b-eoe7g6xvnd] { background: #e2e8f0; }
.asis-week-legend__dot--extra-pending[b-eoe7g6xvnd] { background: #a855f7; }
.asis-week-legend__dot--extra-reviewed[b-eoe7g6xvnd] { background: #14b8a6; }

/* ---------- Drawer de detalle ---------- */

.asis-drawer-backdrop[b-eoe7g6xvnd] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .42);
    z-index: 1040;
}

.asis-drawer[b-eoe7g6xvnd] {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(900px, 94vw);
    background: #fff;
    z-index: 1045;
    box-shadow: -1rem 0 2.5rem rgba(15, 23, 42, .22);
    display: flex;
    flex-direction: column;
    animation: asis-drawer-in .18s ease;
}

@@keyframes asis-drawer-in {
    from[b-eoe7g6xvnd] { transform: translateX(2rem); opacity: .35; }
    to[b-eoe7g6xvnd] { transform: translateX(0); opacity: 1; }
}

.asis-drawer__header[b-eoe7g6xvnd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.asis-drawer__body[b-eoe7g6xvnd] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1rem 1.1rem;
}

.asis-drawer__section[b-eoe7g6xvnd] {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    font-weight: 700;
    margin-bottom: .5rem;
}

.asis-drawer__footer[b-eoe7g6xvnd] {
    padding: .75rem 1.1rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

/* Overlay de "recalculando" sobre el drawer: cubre todo el panel mientras corre
   el reproceso de periodo para que el usuario vea que está trabajando y no se
   trabó. / Recalc overlay covering the drawer while the period reprocess runs. */
.asis-drawer__overlay[b-eoe7g6xvnd] {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    text-align: center;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(2px);
    animation: asis-drawer-fade-b-eoe7g6xvnd .15s ease;
}

.asis-drawer__overlay-text[b-eoe7g6xvnd] {
    font-size: .82rem;
    font-weight: 700;
    color: #1d4ed8;
}

.asis-drawer__overlay-sub[b-eoe7g6xvnd] {
    font-size: .72rem;
    color: #64748b;
}

@keyframes asis-drawer-fade-b-eoe7g6xvnd {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ---------- Grid de métricas del drawer ---------- */

.asis-detail-grid[b-eoe7g6xvnd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: .5rem;
}

.asis-detail-card[b-eoe7g6xvnd] {
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    background: #f8fafc;
    padding: .5rem .6rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    border-left-width: 3px;
}

.asis-detail-card__label[b-eoe7g6xvnd] {
    font-size: .68rem;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.asis-detail-card__value[b-eoe7g6xvnd] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.asis-detail-card--info[b-eoe7g6xvnd] { background: #f8fafc; border-left-color: #64748b; }
.asis-detail-card--primary[b-eoe7g6xvnd] { background: #eff6ff; border-color: #bfdbfe; border-left-color: #3b82f6; }
.asis-detail-card--primary .asis-detail-card__value[b-eoe7g6xvnd] { color: #1d4ed8; }
.asis-detail-card--good[b-eoe7g6xvnd] { background: #f0fdf4; border-color: #bbf7d0; border-left-color: #22c55e; }
.asis-detail-card--good .asis-detail-card__value[b-eoe7g6xvnd] { color: #166534; }
.asis-detail-card--warn[b-eoe7g6xvnd] { background: #fffbeb; border-color: #fcd34d; border-left-color: #f59e0b; }
.asis-detail-card--warn .asis-detail-card__value[b-eoe7g6xvnd] { color: #92400e; }
.asis-detail-card--bad[b-eoe7g6xvnd] { background: #fef2f2; border-color: #fecaca; border-left-color: #ef4444; }
.asis-detail-card--bad .asis-detail-card__value[b-eoe7g6xvnd] { color: #991b1b; }

/* ---------- Bloque de neteo del periodo (read-only, espejo del modal) ---------- */

.asis-res-neteo[b-eoe7g6xvnd] {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    padding: .75rem;
}

.asis-res-neteo__row[b-eoe7g6xvnd] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.asis-res-neteo__item[b-eoe7g6xvnd] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .5rem .65rem;
    border-radius: .5rem;
    min-width: 120px;
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #cbd5e1;
}

.asis-res-neteo__label[b-eoe7g6xvnd] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #64748b;
    line-height: 1;
}

.asis-res-neteo__value[b-eoe7g6xvnd] {
    font-size: .9rem;
    font-weight: 600;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.asis-res-neteo__item--info[b-eoe7g6xvnd] { border-left-color: #94a3b8; }
.asis-res-neteo__item--good[b-eoe7g6xvnd] { background-color: #f0fdf4; border-left-color: #22c55e; }
.asis-res-neteo__item--warn[b-eoe7g6xvnd] { background-color: #fffbeb; border-left-color: #f59e0b; }
.asis-res-neteo__item--bad[b-eoe7g6xvnd] { background-color: #fef2f2; border-left-color: #ef4444; }
.asis-res-neteo__item--destacado[b-eoe7g6xvnd] { box-shadow: 0 0 0 1px #86efac inset; }
/* /Components/Pages/RRHH/Dashboard.razor.rz.scp.css */
.rh-bar-chart[b-brmcthqsyd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 0.75rem;
    align-items: end;
    min-height: 260px;
}

.rh-bar-column[b-brmcthqsyd] {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    gap: 0.4rem;
}

.rh-bar-value[b-brmcthqsyd] {
    font-size: 0.72rem;
    color: #6c757d;
    text-align: center;
    min-height: 2rem;
}

.rh-bar-track[b-brmcthqsyd] {
    width: 100%;
    max-width: 56px;
    height: 190px;
    display: flex;
    align-items: end;
    justify-content: center;
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8f9fa 0%, #edf2f7 100%);
    padding: 0.35rem;
}

.rh-bar[b-brmcthqsyd] {
    width: 100%;
    border-radius: 0.8rem;
    min-height: 18px;
}

.rh-bar-payroll[b-brmcthqsyd] {
    background: linear-gradient(180deg, #68d391 0%, #198754 100%);
    box-shadow: 0 6px 16px rgba(25, 135, 84, 0.2);
}

.rh-bar-label[b-brmcthqsyd] {
    font-size: 0.78rem;
    font-weight: 600;
    text-align: center;
}

.rh-bar-sub[b-brmcthqsyd] {
    font-size: 0.72rem;
    color: #6c757d;
    text-align: center;
}

.rh-ring-card[b-brmcthqsyd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rh-ring[b-brmcthqsyd] {
    --value: 0;
    --ring-color: #0d6efd;
    position: relative;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(var(--ring-color) calc(var(--value) * 1%), #e9ecef 0);
}

.rh-ring[b-brmcthqsyd]::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    background: white;
}

.rh-ring span[b-brmcthqsyd] {
    position: relative;
    z-index: 1;
    font-size: 0.9rem;
    font-weight: 700;
}

.rh-progress[b-brmcthqsyd] {
    width: 100%;
    height: 0.45rem;
    border-radius: 999px;
    overflow: hidden;
    background-color: #e9ecef;
}

.rh-progress-bar[b-brmcthqsyd] {
    height: 100%;
    border-radius: 999px;
}

.rh-trend-card[b-brmcthqsyd] {
    position: relative;
    overflow: hidden;
}

.rh-trend-card[b-brmcthqsyd]::after {
    content: "";
    position: absolute;
    inset: auto -3rem -3rem auto;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(13, 110, 253, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.rh-exec-list[b-brmcthqsyd] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.rh-exec-list > div[b-brmcthqsyd] {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    font-size: .82rem;
    padding-bottom: .35rem;
    border-bottom: 1px dashed #e2e8f0;
}

.rh-exec-list > div:last-child[b-brmcthqsyd] {
    border-bottom: none;
    padding-bottom: 0;
}

.rh-exec-list span[b-brmcthqsyd] {
    color: #64748b;
}

.rh-exec-list strong[b-brmcthqsyd] {
    color: #0f172a;
    text-align: right;
}
/* /Components/Pages/RRHH/EmpleadoPerfil.razor.rz.scp.css */
.ep-perfil .ep-profile-header[b-ks46mdn5xx] {
    background: linear-gradient(135deg, var(--bs-light) 0%, var(--bs-body-bg) 100%);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
}

.ep-perfil .ep-avatar[b-ks46mdn5xx] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-indigo, #6610f2) 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

.ep-perfil .ep-header-meta[b-ks46mdn5xx] {
    font-size: 0.78rem;
    color: var(--bs-secondary);
    white-space: nowrap;
}

.ep-perfil .ep-tabs[b-ks46mdn5xx] {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: var(--bs-body-bg);
    margin-bottom: 0 !important;
}

.ep-perfil .ep-tabs .nav-link[b-ks46mdn5xx] {
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    border-radius: 0.375rem 0.375rem 0 0;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.ep-perfil .ep-tabs .nav-link:hover:not(.active)[b-ks46mdn5xx] {
    background-color: var(--bs-light);
    border-color: var(--bs-border-color);
}

.ep-perfil .ep-tabs .nav-link.active[b-ks46mdn5xx] {
    font-weight: 600;
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
}

.ep-perfil .ep-tab-panel[b-ks46mdn5xx] {
    animation: ep-fade-in 0.2s ease;
}

@@keyframes ep-fade-in {
    from[b-ks46mdn5xx] { opacity: 0; transform: translateY(4px); }
    to[b-ks46mdn5xx] { opacity: 1; transform: translateY(0); }
}

.ep-perfil .ep-kpi-card[b-ks46mdn5xx] {
    border-left: 3px solid var(--bs-border-color) !important;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.ep-perfil .ep-kpi-card:hover[b-ks46mdn5xx] {
    transform: translateY(-1px);
    box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.08) !important;
}

.ep-perfil .ep-kpi-card--vacaciones[b-ks46mdn5xx] { border-left-color: var(--bs-teal, #20c997) !important; }
.ep-perfil .ep-kpi-card--banco[b-ks46mdn5xx] { border-left-color: var(--bs-indigo, #6610f2) !important; }
.ep-perfil .ep-kpi-card--esquema[b-ks46mdn5xx] { border-left-color: var(--bs-purple, #6f42c1) !important; }
.ep-perfil .ep-kpi-card--turno[b-ks46mdn5xx] { border-left-color: var(--bs-orange, #fd7e14) !important; }
.ep-perfil .ep-kpi-card--asistencias[b-ks46mdn5xx] { border-left-color: var(--bs-cyan, #0dcaf0) !important; }
.ep-perfil .ep-kpi-card--estatus[b-ks46mdn5xx] { border-left-color: var(--bs-info, #0dcaf0) !important; }

.ep-perfil .ep-empty-state[b-ks46mdn5xx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    color: var(--bs-secondary);
    text-align: center;
}

.ep-perfil .ep-empty-state i[b-ks46mdn5xx] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    opacity: 0.5;
}

.ep-perfil .ep-empty-state p[b-ks46mdn5xx] {
    margin: 0;
    font-size: 0.85rem;
}

.ep-perfil .ep-note-card[b-ks46mdn5xx] {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: var(--bs-light);
}

.ep-perfil .ep-note-card__body[b-ks46mdn5xx] {
    padding: 1.25rem 1.25rem 0.75rem;
    position: relative;
}

.ep-perfil .ep-note-card__quote-icon[b-ks46mdn5xx] {
    position: absolute;
    top: 0.25rem;
    left: 0.75rem;
    font-size: 2rem;
    color: var(--bs-primary);
    opacity: 0.15;
}

.ep-perfil .ep-note-card__text[b-ks46mdn5xx] {
    margin: 0;
    white-space: pre-wrap;
    font-size: 0.88rem;
    line-height: 1.6;
    position: relative;
    z-index: 1;
}

.ep-perfil .ep-note-card__footer[b-ks46mdn5xx] {
    border-top: 1px solid var(--bs-border-color);
    padding: 0.5rem 1.25rem;
    font-size: 0.72rem;
    color: var(--bs-secondary);
    background-color: var(--bs-tertiary-bg, var(--bs-light));
}

.ep-perfil .ep-seccion-title[b-ks46mdn5xx] {
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--bs-secondary);
    margin-bottom: 0.5rem;
    letter-spacing: 0.03em;
}

.ep-perfil .ep-field-label[b-ks46mdn5xx] {
    font-size: 0.75rem;
    color: var(--bs-secondary);
    margin-bottom: 0.1rem;
}

.ep-perfil .ep-field-value[b-ks46mdn5xx] {
    font-size: 0.88rem;
    font-weight: 500;
}

.ep-perfil table.table-sm th[b-ks46mdn5xx],
.ep-perfil table.table-sm td[b-ks46mdn5xx] {
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
}

.ep-perfil .ep-horario-grid[b-ks46mdn5xx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.ep-perfil .ep-horario-dia[b-ks46mdn5xx] {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: var(--bs-light);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ep-perfil .ep-horario-dia:hover[b-ks46mdn5xx] {
    transform: translateY(-2px);
    box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.08);
}

.ep-perfil .ep-horario-dia--hoy[b-ks46mdn5xx] {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
}

.ep-perfil .ep-horario-dia__header[b-ks46mdn5xx] {
    background-color: var(--bs-secondary-bg);
    padding: 0.35rem 0.5rem;
    text-align: center;
    border-bottom: 1px solid var(--bs-border-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.05rem;
}

.ep-perfil .ep-horario-dia__label[b-ks46mdn5xx] {
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ep-perfil .ep-horario-dia__nombre[b-ks46mdn5xx] {
    font-size: 0.6rem;
    color: var(--bs-secondary);
    font-weight: 400;
}

.ep-perfil .ep-horario-dia__header--hoy[b-ks46mdn5xx] {
    background-color: var(--bs-primary);
    color: white;
}

.ep-perfil .ep-horario-dia__header--hoy .ep-horario-dia__nombre[b-ks46mdn5xx] {
    color: rgba(255,255,255,0.7);
}

.ep-perfil .ep-horario-dia__body[b-ks46mdn5xx] {
    padding: 0.25rem;
    font-size: 0.65rem;
}

.ep-perfil .ep-horario-dia__body--descanso[b-ks46mdn5xx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.25rem;
    color: var(--bs-secondary);
    text-align: center;
}

.ep-perfil .ep-horario-segment[b-ks46mdn5xx] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    margin-bottom: 0.1rem;
}

.ep-perfil .ep-horario-segment i[b-ks46mdn5xx] {
    font-size: 0.6rem;
}

.ep-perfil .ep-horario-segment span[b-ks46mdn5xx] {
    font-size: 0.6rem;
}
/* /Components/Pages/RRHH/Empleados.razor.rz.scp.css */
/* ── Employee list: responsive card view for mobile ── */

/* ── Edit form: collapsible sections (reduce field clutter) ── */
/* Formulario de edición: secciones colapsables para reducir la saturación. */
.empleado-seccion[b-qei0bpf8mj] {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    margin-bottom: 0.75rem;
    background: var(--bs-body-bg);
}

.empleado-seccion > summary[b-qei0bpf8mj] {
    list-style: none;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    font-size: 0.95rem;
    background: var(--bs-tertiary-bg);
    border-radius: calc(0.375rem - 1px);
    display: flex;
    align-items: center;
    user-select: none;
}

.empleado-seccion > summary[b-qei0bpf8mj]::-webkit-details-marker {
    display: none;
}

.empleado-seccion > summary[b-qei0bpf8mj]::before {
    content: "\F282"; /* bi-chevron-right */
    font-family: "bootstrap-icons";
    margin-right: 0.5rem;
    transition: transform 0.15s ease;
    color: var(--bs-secondary);
}

.empleado-seccion[open] > summary[b-qei0bpf8mj]::before {
    transform: rotate(90deg);
}

.empleado-seccion[open] > summary[b-qei0bpf8mj] {
    border-bottom: 1px solid var(--bs-border-color);
    border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0;
}

.empleado-seccion > .row[b-qei0bpf8mj],
.empleado-seccion > div > .row[b-qei0bpf8mj] {
    padding: 0.75rem;
}

.empleado-seccion__hint[b-qei0bpf8mj] {
    margin-left: auto;
    font-weight: 400;
    font-size: 0.8rem;
    color: var(--bs-secondary);
    padding-left: 0.75rem;
    text-align: right;
}


.ep-emp-card[b-qei0bpf8mj] {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
    background: var(--bs-body-bg);
    transition: box-shadow 0.15s ease;
}

.ep-emp-card:hover[b-qei0bpf8mj] {
    box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.08);
}

.ep-emp-card__body[b-qei0bpf8mj] {
    padding: 0.75rem;
    position: relative;
}

.ep-emp-card__check[b-qei0bpf8mj] {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
}

.ep-emp-card__name[b-qei0bpf8mj] {
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
    padding-right: 1.5rem;
}

.ep-emp-card__meta[b-qei0bpf8mj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--bs-secondary);
    margin-bottom: 0.35rem;
}

.ep-emp-card__tags[b-qei0bpf8mj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.35rem;
}

.ep-emp-card__nums[b-qei0bpf8mj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--bs-secondary);
}

.ep-emp-card__actions[b-qei0bpf8mj] {
    display: flex;
    gap: 0.35rem;
    justify-content: flex-end;
    padding: 0.5rem 0.75rem;
    border-top: 1px solid var(--bs-border-color);
}
