/* /Layout/EmptyLayout.razor.rz.scp.css */
.empty-auth-full[b-p3q1ncfzpq] {
    margin: 0;
    width: 100vw;
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(75,85,99,0.72), rgba(55,65,81,0.72)),
        url("https://spiximage.blob.core.windows.net/imgwwwroot/bgCenterImg.jpg?v=20260708-3");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    padding: 1rem;
}

    .empty-auth-full > *[b-p3q1ncfzpq] {
        position: relative;
        z-index: 1;
    }
/* /Layout/LoginLayout.razor.rz.scp.css */
.authFull[b-l5v3p0i4jx] {
    margin: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* El fondo NO va aqui: lo pone .dlabx-atmosphere (index.html), el mismo del splash,
   para que pasar del splash al login no se vea como un corte. */

    .authFull > *[b-l5v3p0i4jx] {
        position: relative;
        z-index: 1;
    }
/* /Layout/MainLayout.razor.rz.scp.css */
.main-content[b-ktxvbr4pt9] {
    position: relative;
    flex: 1;
    min-height: 100vh;
    background:
        radial-gradient(1000px 600px at 80% -10%, rgba(43, 139, 255, .5), transparent 60%),
        radial-gradient(750px 520px at 0% 25%, rgba(34, 193, 232, .24), transparent 55%),
        linear-gradient(160deg, rgba(8, 26, 63, .92), rgba(16, 54, 120, .88) 55%, rgba(11, 35, 80, .9)),
        url('https://spiximage.blob.core.windows.net/imgwwwroot/bgCenterImg.jpg?v=20260708-3');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    color: #333;
}

    .main-content[b-ktxvbr4pt9]::before {
        content: none;
    }

    .main-content > *[b-ktxvbr4pt9] {
        position: relative;
        z-index: 1;
    }

.page[b-ktxvbr4pt9] {
    position: relative;
    display: flex;
    flex-direction: column;
}

/*
 * Los modales son componentes hijos del layout y Bootstrap los posiciona
 * respecto al viewport completo. Estas reglas limitan su capa al espacio de
 * trabajo disponible para evitar que el sidebar cubra formularios anchos.
 */
.page.sidebar-layout-expanded[b-ktxvbr4pt9]  .modal,
.page.sidebar-layout-collapsed[b-ktxvbr4pt9]  .modal {
    right: 0;
    width: auto !important;
    transition: left 0.18s ease, width 0.18s ease;
}

.page.sidebar-layout-expanded[b-ktxvbr4pt9]  .modal {
    left: 280px;
}

.page.sidebar-layout-collapsed[b-ktxvbr4pt9]  .modal {
    left: 58px;
}

main[b-ktxvbr4pt9] {
    flex: 1;
}

.sidebar[b-ktxvbr4pt9] {
    background: linear-gradient(180deg, #0a1a3f, #0e2a5e);
    width: 280px;
    height: 100vh;
    position: sticky;
    top: 0;
    transition: width 0.18s ease;
    overflow: visible;
    z-index: 3500;
}

.sidebar-collapsed[b-ktxvbr4pt9] {
    width: 58px;
}

.sidebar-toggle[b-ktxvbr4pt9] {
    position: absolute;
    top: 1.15rem;
    right: -14px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 50%;
    background: #0a1a3f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 7px 16px rgba(0,0,0,0.3);
    z-index: 5000;
}

    .sidebar-toggle:hover[b-ktxvbr4pt9] {
        background: #10306a;
    }

    .sidebar-toggle i[b-ktxvbr4pt9] {
        font-size: 0.82rem;
    }

.sidebar-collapsed .sidebar-toggle[b-ktxvbr4pt9] {
    right: -15px;
}

.sidebar-collapsed-logo[b-ktxvbr4pt9] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.25rem;
    padding: 0.65rem 0.45rem;
}

    .sidebar-collapsed-logo img[b-ktxvbr4pt9] {
        width: 42px;
        max-height: 42px;
        object-fit: contain;
        filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
    }

.top-row[b-ktxvbr4pt9] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 3000;
}

.setting-dropdown[b-ktxvbr4pt9] {
    display: inline-block;
    position: relative;
    z-index: 4000;
}

.settings-dropdown-menu[b-ktxvbr4pt9] {
    position: absolute;
    right: 0;
    top: 100%;
    min-width: 18rem;
    z-index: 5000;
}

    .top-row[b-ktxvbr4pt9]  a, .top-row[b-ktxvbr4pt9]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-ktxvbr4pt9]  a:hover, .top-row[b-ktxvbr4pt9]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-ktxvbr4pt9]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .page.sidebar-layout-expanded[b-ktxvbr4pt9]  .modal,
    .page.sidebar-layout-collapsed[b-ktxvbr4pt9]  .modal {
        left: 0;
        right: 0;
        width: 100% !important;
    }

    .top-row[b-ktxvbr4pt9] {
        justify-content: space-between;
    }

        .top-row[b-ktxvbr4pt9]  a, .top-row[b-ktxvbr4pt9]  .btn-link {
            margin-left: 0;
        }
}

@media (min-width: 641px) {
    .page[b-ktxvbr4pt9] {
        flex-direction: row;
    }

    .sidebar[b-ktxvbr4pt9] {
        width: 280px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .sidebar.sidebar-collapsed[b-ktxvbr4pt9] {
        width: 58px;
    }

        .top-row.auth[b-ktxvbr4pt9]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-ktxvbr4pt9], article[b-ktxvbr4pt9] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-bxwl8k28oi] {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Grupo principal */
.nav-group[b-bxwl8k28oi] {
    font-weight: 600;
    font-size: 0.96rem;
    padding: 11px 12px;
    background-color: rgba(255,255,255,0.065);
    border: 1px solid rgba(255,255,255,0.035);
    border-radius: 6px;
    margin-bottom: 6px;
    min-height: 42px;
    transition: background-color 0.16s ease, transform 0.16s ease;
}

    .nav-group:hover[b-bxwl8k28oi] {
        background-color: rgba(255,255,255,0.13);
        transform: translateX(1px);
    }

/* Items del submenú */
.nav-subitem[b-bxwl8k28oi] {
    font-weight: 400;
    font-size: 0.92rem;
    margin-left: 1.35rem;
    margin-right: 0.35rem;
    padding-left: 1.1rem !important;
    opacity: 0.86;
    position: relative;
    background-color: transparent !important;
    border: 0 !important;
    border-left: 3px solid rgba(255,255,255,0.18) !important;
}

    .nav-subitem:hover[b-bxwl8k28oi] {
        opacity: 1;
        background-color: rgba(255,255,255,0.055) !important;
        border-left-color: rgba(34,193,232,0.75) !important;
        border-radius: 0 5px 5px 0;
    }

    .nav-subitem.active[b-bxwl8k28oi] {
        opacity: 1;
        border-left-color: #22c1e8 !important;
        background-color: rgba(255,255,255,0.08) !important;
    }

/* Íconos más pequeños para subitems */
.nav-subicon[b-bxwl8k28oi] {
    font-size: 0.75rem;
    width: 16px;
}

.top-row[b-bxwl8k28oi] {
    min-height: 4.25rem;
    background-color: rgba(0,0,0,0.4);
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.top-row .container-fluid[b-bxwl8k28oi] {
    justify-content: center;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.navbar-brand[b-bxwl8k28oi] {
    font-size: 1.1rem;
}

.sidebar-brand[b-bxwl8k28oi] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    max-width: 210px;
    padding: 0.35rem 0.65rem;
    background: rgba(255,255,255,0.96);
    border-radius: 6px;
}

    .sidebar-brand img[b-bxwl8k28oi] {
        width: 164px;
        max-height: 42px;
        object-fit: contain;
        filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
    }

.bi[b-bxwl8k28oi] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-bxwl8k28oi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-bxwl8k28oi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-bxwl8k28oi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-bxwl8k28oi] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-bxwl8k28oi] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-bxwl8k28oi] {
        padding-bottom: 1rem;
    }

    .nav-item[b-bxwl8k28oi]  a {
        color: #d7d7d7;
        border-radius: 6px;
        height: 2.75rem;
        padding: 0 0.75rem;
        display: flex;
        align-items: center;
        line-height: 2.75rem;
        background-color: rgba(255,255,255,0.035);
        border: 1px solid rgba(255,255,255,0.025);
        transition: background-color 0.16s ease, transform 0.16s ease;
    }

    .nav-item[b-bxwl8k28oi]  a.nav-subitem {
        /* Alto MINIMO, no fijo: si un titulo se parte en dos renglones la opcion crece.
           Con height fija el texto se salia de la caja y se montaba sobre la de abajo,
           y el menu se leia como un parrafo corrido. */
        min-height: 2.35rem;
        height: auto;
        line-height: 1.3;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
        margin-bottom: 0.3rem;
        width: calc(100% - 1.7rem);
        margin-left: 1.35rem;
        margin-right: 0.35rem;
        padding-left: 1.1rem !important;
        background-color: transparent !important;
        border: 0 !important;
        border-left: 3px solid rgba(255,255,255,0.18) !important;
        border-radius: 0 !important;
        box-shadow: none;
    }

        .nav-item[b-bxwl8k28oi]  a.nav-subitem:hover {
            background-color: rgba(255,255,255,0.055) !important;
            border-left-color: rgba(34,193,232,0.75) !important;
            border-left-width: 4px !important;
            border-radius: 0 5px 5px 0 !important;
            transform: none;
        }

        .nav-item[b-bxwl8k28oi]  a.nav-subitem.active {
            background-color: rgba(255,255,255,0.08) !important;
            border-left-color: #22c1e8 !important;
            border-left-width: 4px !important;
            font-weight: 600;
        }

.nav-item[b-bxwl8k28oi]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
    font-weight: 700;
}

.nav-item[b-bxwl8k28oi]  a:hover {
    background-color: rgba(255,255,255,0.12);
    color: white;
    transform: translateX(1px);
}

@media (min-width: 641px) {
    .navbar-toggler[b-bxwl8k28oi] {
        display: none;
    }

    .collapse[b-bxwl8k28oi] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-bxwl8k28oi] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 4.25rem);
        overflow-y: auto;
    }
}
/* /Pages/Auth/Login.razor.rz.scp.css */
.authBox[b-yctpc9pg77] {
    position: relative;
    background-color: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
    overflow: hidden; /* 👈 asegura que el ::before no se desborde */
}

    .authBox[b-yctpc9pg77]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 6px;
        height: 100%;
        background-color: #4caf50;
        border-top-left-radius: 12px;
        border-bottom-left-radius: 12px;
    }
/* /Pages/Auth/ResetPassword.razor.rz.scp.css */
/* Campos con el mismo azul gris de los modales (UI nuevo), scopeado a esta pagina. */
.input-group[b-rr9ylnv7sf] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-rr9ylnv7sf] {
    color: #33456b;
    font-size: 13px;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
}

.input-group > .form-control[b-rr9ylnv7sf],
.input-group > .form-select[b-rr9ylnv7sf] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-rr9ylnv7sf],
    .input-group > .form-select:focus[b-rr9ylnv7sf] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }
/* /Pages/ClientDashBoard.razor.rz.scp.css */
.client-dashboard[b-g6op2p72js] {
    min-height: calc(100vh - 2rem);
    padding: 2rem;
    background: transparent;
}

.client-dashboard__header[b-g6op2p72js] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.client-dashboard__eyebrow[b-g6op2p72js] {
    margin: 0 0 .25rem;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.client-dashboard__header h1[b-g6op2p72js] {
    margin: 0;
    color: rgba(255, 255, 255, .94);
    text-shadow: 0 2px 10px rgba(5, 18, 47, .42);
    font-size: 2rem;
    font-weight: 800;
}

.client-dashboard__status[b-g6op2p72js] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .85rem;
    border-radius: 8px;
    background: #e8f7ef;
    color: #157347;
    font-weight: 700;
}

.client-dashboard__grid[b-g6op2p72js] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.client-card[b-g6op2p72js] {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    padding: 1.5rem;
    background: #ffffff;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .18s ease, box-shadow .18s ease;
}

.client-card:hover[b-g6op2p72js] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
}

.client-card__link[b-g6op2p72js] {
    display: block;
    color: #102a43;
    text-decoration: none;
}

.client-card__content[b-g6op2p72js] {
    position: relative;
    z-index: 1;
    max-width: 78%;
}

.client-card__label[b-g6op2p72js] {
    display: block;
    margin-bottom: .75rem;
    font-weight: 700;
    color: #496174;
}

.client-card h2[b-g6op2p72js],
.client-dashboard__panel h2[b-g6op2p72js] {
    margin: 0 0 .5rem;
    color: #0e2a5e;
    font-size: 1.25rem;
    font-weight: 800;
}

.client-card p[b-g6op2p72js],
.client-dashboard__panel p[b-g6op2p72js] {
    margin: 0;
    color: #496174;
    line-height: 1.5;
}

.client-card__icon[b-g6op2p72js] {
    position: absolute;
    right: 1.25rem;
    bottom: 1rem;
    font-size: 4.5rem;
    color: #168bb5;
    opacity: .9;
}

.client-dashboard__panel[b-g6op2p72js] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #eaf7fd;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
}

.client-dashboard__panel i[b-g6op2p72js] {
    color: #0f766e;
    font-size: 2.25rem;
}

@media (max-width: 992px) {
    .client-dashboard__grid[b-g6op2p72js] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .client-dashboard[b-g6op2p72js] {
        padding: 1rem;
    }

    .client-dashboard__header[b-g6op2p72js],
    .client-dashboard__panel[b-g6op2p72js] {
        align-items: flex-start;
        flex-direction: column;
    }

    .client-card__content[b-g6op2p72js] {
        max-width: 100%;
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.general-dashboard[b-pwyptoxnfu] {
    min-height: calc(100vh - 2rem);
    padding: 2rem;
    background: transparent;
}

.general-dashboard__header[b-pwyptoxnfu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.general-dashboard__eyebrow[b-pwyptoxnfu] {
    margin: 0 0 .25rem;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.general-dashboard__header h1[b-pwyptoxnfu] {
    margin: 0;
    color: rgba(255, 255, 255, .94);
    text-shadow: 0 2px 10px rgba(5, 18, 47, .42);
    font-size: 2rem;
    font-weight: 800;
}

.general-dashboard__status[b-pwyptoxnfu] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .85rem;
    border-radius: 8px;
    background: #e2f6fb;
    color: #0b6d8e;
    font-weight: 700;
}

.general-dashboard__insights[b-pwyptoxnfu] {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.insight-card[b-pwyptoxnfu] {
    min-height: 210px;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #eaf7fd;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .18s ease, box-shadow .18s ease;
}

.insight-card:hover[b-pwyptoxnfu] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
}

.insight-card--billing[b-pwyptoxnfu] {
    background: linear-gradient(135deg, #172554, #0f766e);
    color: #fff;
}

.insight-card__header[b-pwyptoxnfu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.insight-card__header h2[b-pwyptoxnfu] {
    margin: .25rem 0 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.insight-card__header i[b-pwyptoxnfu] {
    color: #168bb5;
    font-size: 2rem;
}

.insight-card--billing .insight-card__header i[b-pwyptoxnfu] {
    color: rgba(255, 255, 255, .72);
}

.insight-card__label[b-pwyptoxnfu] {
    display: block;
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
}

.insight-card--billing .insight-card__label[b-pwyptoxnfu] {
    color: rgba(255, 255, 255, .72);
}

.insight-card__loading[b-pwyptoxnfu] {
    display: flex;
    align-items: center;
    min-height: 120px;
    color: #64748b;
    font-weight: 700;
}

.contract-chart[b-pwyptoxnfu] {
    display: grid;
    place-items: center;
    width: 118px;
    height: 118px;
    margin: 1rem auto .75rem;
    border-radius: 50%;
    background: conic-gradient(#198754 0 var(--active), #dc3545 var(--active) 100%);
    box-shadow: inset 0 0 0 17px #fff, 0 10px 24px rgba(15, 23, 42, .16);
}

.contract-chart span[b-pwyptoxnfu] {
    color: #1f2937;
    font-size: 1.45rem;
    font-weight: 900;
}

.insight-card__legend[b-pwyptoxnfu] {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    color: rgba(255, 255, 255, .92);
    font-weight: 700;
}

.legend-dot[b-pwyptoxnfu] {
    display: inline-block;
    width: .65rem;
    height: .65rem;
    margin-right: .35rem;
    border-radius: 50%;
}

.legend-dot--active[b-pwyptoxnfu] {
    background: #198754;
}

.legend-dot--suspended[b-pwyptoxnfu] {
    background: #dc3545;
}

.billing-chart[b-pwyptoxnfu] {
    display: flex;
    height: 18px;
    margin: 2rem 0 1.5rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
}

.billing-chart__bar[b-pwyptoxnfu] {
    min-width: 0;
}

.billing-chart__bar--collected[b-pwyptoxnfu] {
    width: var(--collected);
    background: #22c55e;
}

.billing-chart__bar--pending[b-pwyptoxnfu] {
    width: var(--pending);
    background: #f59e0b;
}

.insight-card__totals[b-pwyptoxnfu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.insight-card__totals div[b-pwyptoxnfu] {
    padding: .85rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
}

.insight-card__totals span[b-pwyptoxnfu],
.insight-card__totals strong[b-pwyptoxnfu] {
    display: block;
}

.insight-card__totals span[b-pwyptoxnfu] {
    margin-bottom: .25rem;
    color: rgba(255, 255, 255, .72);
    font-weight: 700;
}

.insight-card__totals strong[b-pwyptoxnfu] {
    font-size: 1.15rem;
    font-weight: 900;
}

.general-dashboard__sections[b-pwyptoxnfu] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.general-dashboard__section[b-pwyptoxnfu] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.general-dashboard__section-title[b-pwyptoxnfu] {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: #ffffff;
    font-weight: 800;
}

.general-dashboard__section-title[b-pwyptoxnfu]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, .36);
}

.general-dashboard__grid[b-pwyptoxnfu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.general-dashboard__grid--primary[b-pwyptoxnfu] {
    grid-template-columns: 1.35fr 1fr 1fr;
}

.general-dashboard__grid--finance[b-pwyptoxnfu] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.general-card[b-pwyptoxnfu] {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #0e7490;
    color: #fff;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .18s ease, box-shadow .18s ease;
}

.general-card:hover[b-pwyptoxnfu] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
}

.general-card__link[b-pwyptoxnfu] {
    display: block;
    min-height: 190px;
    padding: 1.5rem;
    color: inherit;
    text-decoration: none;
}

.general-card__link:hover[b-pwyptoxnfu] {
    color: inherit;
}

.general-card__link:focus-visible[b-pwyptoxnfu] {
    outline: 3px solid rgba(255, 255, 255, .75);
    outline-offset: -6px;
}

.general-card--clients[b-pwyptoxnfu] { background: linear-gradient(135deg, #0f766e, #0e9f96); }
.general-card--contract-client[b-pwyptoxnfu] { background: linear-gradient(135deg, #1e40af, #2563eb); }
.general-card--network[b-pwyptoxnfu] { background: linear-gradient(135deg, #115e59, #0f8a7a); }
.general-card--nodes[b-pwyptoxnfu] { background: linear-gradient(135deg, #334155, #526477); }
.general-card--inventory[b-pwyptoxnfu] { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.general-card--schedule[b-pwyptoxnfu] { background: linear-gradient(135deg, #6d28d9, #8b5cf6); }
.general-card--contracts[b-pwyptoxnfu] { background: linear-gradient(135deg, #0e7490, #1291b0); }
.general-card--requests[b-pwyptoxnfu] { background: linear-gradient(135deg, #b91c3b, #e23b5c); }
.general-card--technicians[b-pwyptoxnfu] { background: linear-gradient(135deg, #475569, #64748b); }
.general-card--billing[b-pwyptoxnfu] { background: linear-gradient(135deg, #5b21b6, #7c3aed); }
.general-card--finance[b-pwyptoxnfu] { background: linear-gradient(135deg, #a16207, #d68a14); }
.general-card--prepay[b-pwyptoxnfu] { background: linear-gradient(135deg, #15803d, #22a35a); }

.general-card__content[b-pwyptoxnfu] {
    position: relative;
    z-index: 1;
    max-width: 78%;
}

.general-card__label[b-pwyptoxnfu] {
    display: block;
    margin-bottom: .75rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .78);
}

.general-card h2[b-pwyptoxnfu],
.general-dashboard__panel h2[b-pwyptoxnfu] {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
}

.general-card p[b-pwyptoxnfu],
.general-dashboard__panel p[b-pwyptoxnfu] {
    margin: 0;
    color: rgba(255, 255, 255, .84);
    line-height: 1.5;
}

.general-card__icon[b-pwyptoxnfu] {
    position: absolute;
    right: 1.25rem;
    bottom: 1rem;
    font-size: 4.5rem;
    color: rgba(255, 255, 255, .58);
    opacity: .38;
}

.general-dashboard__panel[b-pwyptoxnfu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #eaf7fd;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
}

.general-dashboard__panel i[b-pwyptoxnfu] {
    color: #0f766e;
    font-size: 2.25rem;
}

.general-dashboard__panel h2[b-pwyptoxnfu] {
    color: #0e2a5e;
}

.general-dashboard__panel p[b-pwyptoxnfu] {
    color: #496174;
}

@media (max-width: 992px) {
    .general-dashboard__insights[b-pwyptoxnfu],
    .general-dashboard__grid[b-pwyptoxnfu],
    .general-dashboard__grid--primary[b-pwyptoxnfu],
    .general-dashboard__grid--finance[b-pwyptoxnfu] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .general-dashboard[b-pwyptoxnfu] {
        padding: 1rem;
    }

    .general-dashboard__header[b-pwyptoxnfu],
    .general-dashboard__panel[b-pwyptoxnfu] {
        align-items: flex-start;
        flex-direction: column;
    }

    .insight-card__totals[b-pwyptoxnfu] {
        grid-template-columns: 1fr;
    }

    .general-card__content[b-pwyptoxnfu] {
        max-width: 100%;
    }
}


/* ===== KPI cards (indicadores operativos) ===== */
.kpi-grid[b-pwyptoxnfu] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
    .kpi-grid[b-pwyptoxnfu] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .kpi-grid[b-pwyptoxnfu] {
        grid-template-columns: 1fr;
    }
}

.kpi-card[b-pwyptoxnfu] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 1.15rem 1.25rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .72);
    background: #eaf7fd;
    color: #102a43;
    text-decoration: none;
    border-left: 5px solid #94a3b8;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .15s ease, box-shadow .15s ease;
}

.kpi-card:hover[b-pwyptoxnfu] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
    color: #102a43;
}

.kpi-card__top[b-pwyptoxnfu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.kpi-card__label[b-pwyptoxnfu] {
    font-weight: 700;
    font-size: .9rem;
    color: #52616f;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.kpi-card__top i[b-pwyptoxnfu] {
    font-size: 1.35rem;
    opacity: .85;
}

.kpi-card__value[b-pwyptoxnfu] {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
}

.kpi-card__hint[b-pwyptoxnfu] {
    font-size: .82rem;
    color: #6b7280;
}

.kpi-card--open[b-pwyptoxnfu] { border-left-color: #2563eb; }
.kpi-card--open .kpi-card__top i[b-pwyptoxnfu] { color: #2563eb; }
.kpi-card--progress[b-pwyptoxnfu] { border-left-color: #0d9488; }
.kpi-card--progress .kpi-card__top i[b-pwyptoxnfu] { color: #0d9488; }
.kpi-card--delivery[b-pwyptoxnfu] { border-left-color: #7c3aed; }
.kpi-card--delivery .kpi-card__top i[b-pwyptoxnfu] { color: #7c3aed; }
.kpi-card--urgent[b-pwyptoxnfu] { border-left-color: #dc2626; }
.kpi-card--urgent .kpi-card__top i[b-pwyptoxnfu] { color: #dc2626; }
.kpi-card--tech[b-pwyptoxnfu] { border-left-color: #d97706; }
.kpi-card--tech .kpi-card__top i[b-pwyptoxnfu] { color: #d97706; }
.kpi-card--collect[b-pwyptoxnfu] { border-left-color: #157347; }
.kpi-card--collect .kpi-card__top i[b-pwyptoxnfu] { color: #157347; }
/* /Pages/EntitiesBilling/SellPage/DetailsSell.razor.rz.scp.css */
.sell-detail-label[b-rb9tzollwt] {
    width: 145px;
}
/* /Pages/EntitiesDent/MaterialPage/IndexMaterialCategory.razor.rz.scp.css */
/* Maestro-detalle de Servicios: categorias a la izquierda, servicios de la categoria a la derecha.
   Mismas clases y medidas que Productos. El bloque "Acordeon de dos niveles" de wwwroot/css/app.css
   sigue intacto porque lo usan las otras pantallas de dos niveles. */
.pc-sub[b-16qa199tpi] {
    margin: 0 0 14px;
    color: #5b6784;
    font-size: 13px;
}

.pc-kpis[b-16qa199tpi] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* Mismo realce que los paneles, para que los indicadores no se pierdan sobre el card grande */
.pc-kpi[b-16qa199tpi] {
    padding: 12px 14px;
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

    /* La linea de color dice que es cada numero: verde lo activo, ambar el aviso, rojo el problema */
    .pc-kpi.is-ok[b-16qa199tpi] {
        border-left-color: #198754;
    }

    .pc-kpi.is-warn[b-16qa199tpi] {
        border-left-color: #f59f00;
    }

    .pc-kpi.is-bad[b-16qa199tpi] {
        border-left-color: #dc3545;
    }

    .pc-kpi small[b-16qa199tpi] {
        display: block;
        color: #6b7690;
        font-size: 12px;
    }

    .pc-kpi b[b-16qa199tpi] {
        font-size: 20px;
    }

    .pc-kpi.is-warn b[b-16qa199tpi] {
        color: #c77700;
    }

    .pc-kpi.is-bad b[b-16qa199tpi] {
        color: #dc3545;
    }

.pc-layout[b-16qa199tpi] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* Mismo realce que .card-floating-section del acordeon: asi el panel no se confunde
   con el card grande que lo contiene. */
.pc-panel[b-16qa199tpi] {
    overflow: hidden;
    border: 1px solid rgba(45, 91, 160, .45);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

.pc-panel-head[b-16qa199tpi] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    color: #ffffff;
    background: #0a1a3f;
}

    .pc-panel-head b[b-16qa199tpi] {
        font-size: 14px;
    }

    .pc-panel-head i[b-16qa199tpi] {
        margin-right: 6px;
    }

.pc-search[b-16qa199tpi] {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f7;
    background: #f7f9fd;
}

.pc-panel-foot[b-16qa199tpi] {
    padding: 10px 14px;
    border-top: 1px solid #edf1f7;
}

.pc-count[b-16qa199tpi] {
    color: #6b7690;
    font-size: 12px;
}

/* ---- Categorias ---- */
.pc-cat[b-16qa199tpi] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1f7;
    cursor: pointer;
}

    /* Zebra: fila blanca / fila azul muy suave. Va ANTES del hover para que el hover gane. */
    .pc-cat:nth-child(even)[b-16qa199tpi] {
        background: #e9f0fb;
    }

    .pc-cat:hover[b-16qa199tpi] {
        background: #dae5f7;
    }

    /* Seleccionado: azul mas oscuro que la zebra y que el hover, para que se note cual esta abierto.
       Va de ultimo en la hoja, asi gana sobre :nth-child y :hover (misma especificidad). */
    .pc-cat.is-selected[b-16qa199tpi] {
        padding-left: 10px;
        border-left: 4px solid #0d6efd;
        background: #c9dcf7;
        box-shadow: inset 0 0 0 1px rgba(13, 110, 253, .18);
    }

        .pc-cat.is-selected .pc-cat-name[b-16qa199tpi] {
            color: #0a1a3f;
        }

.pc-cat-name[b-16qa199tpi] {
    font-size: 14px;
    font-weight: 700;
}

.pc-cat-meta[b-16qa199tpi] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-cat-tools[b-16qa199tpi] {
    display: flex;
    gap: 6px;
}

/* ---- Productos ---- */
.pc-toolbar[b-16qa199tpi] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f7;
}

.pc-chips[b-16qa199tpi] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pc-chip[b-16qa199tpi] {
    padding: 5px 10px;
    color: #33405c;
    font-size: 12px;
    border: 1px solid #dfe6f2;
    border-radius: 20px;
    background: #ffffff;
    cursor: pointer;
}

    .pc-chip.is-on[b-16qa199tpi] {
        color: #ffffff;
        border-color: #0a1a3f;
        background: #0a1a3f;
    }

/* Contenedor del buscador de la derecha (AutoCompleteFilter) */
.pc-inline-search[b-16qa199tpi] {
    min-width: 260px;
    flex: 0 1 320px;
}

.pc-table[b-16qa199tpi] {
    width: 100%;
    border-collapse: collapse;
}

    .pc-table thead th[b-16qa199tpi] {
        padding: 10px 14px;
        color: #33405c;
        font-size: 12px;
        text-align: left;
        border-bottom: 1px solid #e3e9f4;
        background: #f4f7fc;
    }

    .pc-table td[b-16qa199tpi] {
        padding: 12px 14px;
        font-size: 13px;
        vertical-align: middle;
        border-bottom: 1px solid #edf1f7;
    }

    /* Zebra con los mismos colores del acordeon anterior */
    .pc-table tbody tr:nth-child(even) td[b-16qa199tpi] {
        background: #e9f0fb;
    }

    .pc-table tbody tr:hover td[b-16qa199tpi] {
        background: #dae5f7;
    }

.pc-item-name[b-16qa199tpi] {
    font-weight: 700;
}

.pc-item-meta[b-16qa199tpi] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-stock[b-16qa199tpi] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

    .pc-stock i[b-16qa199tpi] {
        font-size: 10px;
    }

    .pc-stock.is-ok[b-16qa199tpi] {
        color: #198754;
    }

    .pc-stock.is-low[b-16qa199tpi] {
        color: #c77700;
    }

    .pc-stock.is-none[b-16qa199tpi] {
        color: #dc3545;
    }

.pc-pill[b-16qa199tpi] {
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
}

    .pc-pill.is-on[b-16qa199tpi] {
        color: #198754;
        background: #e6f6ee;
    }

    .pc-pill.is-off[b-16qa199tpi] {
        color: #6b7690;
        background: #f1f2f5;
    }

.pc-actions[b-16qa199tpi] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.pc-empty[b-16qa199tpi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 34px 16px;
    color: #6b7690;
    font-size: 13px;
    text-align: center;
}

.pc-empty-glyph[b-16qa199tpi] {
    font-size: 26px;
    color: #b4c0d6;
}

@media (max-width: 1100px) {
    .pc-layout[b-16qa199tpi] {
        grid-template-columns: 1fr;
    }

    .pc-kpis[b-16qa199tpi] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Pages/EntitiesDent/ShadeScalePage/IndexShadeScale.razor.rz.scp.css */
/* Maestro-detalle de Servicios: categorias a la izquierda, servicios de la categoria a la derecha.
   Mismas clases y medidas que Productos. El bloque "Acordeon de dos niveles" de wwwroot/css/app.css
   sigue intacto porque lo usan las otras pantallas de dos niveles. */
.pc-sub[b-tt3hbudwjh] {
    margin: 0 0 14px;
    color: #5b6784;
    font-size: 13px;
}

.pc-kpis[b-tt3hbudwjh] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* Mismo realce que los paneles, para que los indicadores no se pierdan sobre el card grande */
.pc-kpi[b-tt3hbudwjh] {
    padding: 12px 14px;
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

    /* La linea de color dice que es cada numero: verde lo activo, ambar el aviso, rojo el problema */
    .pc-kpi.is-ok[b-tt3hbudwjh] {
        border-left-color: #198754;
    }

    .pc-kpi.is-warn[b-tt3hbudwjh] {
        border-left-color: #f59f00;
    }

    .pc-kpi.is-bad[b-tt3hbudwjh] {
        border-left-color: #dc3545;
    }

    .pc-kpi small[b-tt3hbudwjh] {
        display: block;
        color: #6b7690;
        font-size: 12px;
    }

    .pc-kpi b[b-tt3hbudwjh] {
        font-size: 20px;
    }

    .pc-kpi.is-warn b[b-tt3hbudwjh] {
        color: #c77700;
    }

    .pc-kpi.is-bad b[b-tt3hbudwjh] {
        color: #dc3545;
    }

.pc-layout[b-tt3hbudwjh] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* Mismo realce que .card-floating-section del acordeon: asi el panel no se confunde
   con el card grande que lo contiene. */
.pc-panel[b-tt3hbudwjh] {
    overflow: hidden;
    border: 1px solid rgba(45, 91, 160, .45);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

.pc-panel-head[b-tt3hbudwjh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    color: #ffffff;
    background: #0a1a3f;
}

    .pc-panel-head b[b-tt3hbudwjh] {
        font-size: 14px;
    }

    .pc-panel-head i[b-tt3hbudwjh] {
        margin-right: 6px;
    }

.pc-search[b-tt3hbudwjh] {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f7;
    background: #f7f9fd;
}

.pc-panel-foot[b-tt3hbudwjh] {
    padding: 10px 14px;
    border-top: 1px solid #edf1f7;
}

.pc-count[b-tt3hbudwjh] {
    color: #6b7690;
    font-size: 12px;
}

/* ---- Categorias ---- */
.pc-cat[b-tt3hbudwjh] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1f7;
    cursor: pointer;
}

    /* Zebra: fila blanca / fila azul muy suave. Va ANTES del hover para que el hover gane. */
    .pc-cat:nth-child(even)[b-tt3hbudwjh] {
        background: #e9f0fb;
    }

    .pc-cat:hover[b-tt3hbudwjh] {
        background: #dae5f7;
    }

    /* Seleccionado: azul mas oscuro que la zebra y que el hover, para que se note cual esta abierto.
       Va de ultimo en la hoja, asi gana sobre :nth-child y :hover (misma especificidad). */
    .pc-cat.is-selected[b-tt3hbudwjh] {
        padding-left: 10px;
        border-left: 4px solid #0d6efd;
        background: #c9dcf7;
        box-shadow: inset 0 0 0 1px rgba(13, 110, 253, .18);
    }

        .pc-cat.is-selected .pc-cat-name[b-tt3hbudwjh] {
            color: #0a1a3f;
        }

.pc-cat-name[b-tt3hbudwjh] {
    font-size: 14px;
    font-weight: 700;
}

.pc-cat-meta[b-tt3hbudwjh] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-cat-tools[b-tt3hbudwjh] {
    display: flex;
    gap: 6px;
}

/* ---- Productos ---- */
.pc-toolbar[b-tt3hbudwjh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f7;
}

.pc-chips[b-tt3hbudwjh] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pc-chip[b-tt3hbudwjh] {
    padding: 5px 10px;
    color: #33405c;
    font-size: 12px;
    border: 1px solid #dfe6f2;
    border-radius: 20px;
    background: #ffffff;
    cursor: pointer;
}

    .pc-chip.is-on[b-tt3hbudwjh] {
        color: #ffffff;
        border-color: #0a1a3f;
        background: #0a1a3f;
    }

/* Contenedor del buscador de la derecha (AutoCompleteFilter) */
.pc-inline-search[b-tt3hbudwjh] {
    min-width: 260px;
    flex: 0 1 320px;
}

.pc-table[b-tt3hbudwjh] {
    width: 100%;
    border-collapse: collapse;
}

    .pc-table thead th[b-tt3hbudwjh] {
        padding: 10px 14px;
        color: #33405c;
        font-size: 12px;
        text-align: left;
        border-bottom: 1px solid #e3e9f4;
        background: #f4f7fc;
    }

    .pc-table td[b-tt3hbudwjh] {
        padding: 12px 14px;
        font-size: 13px;
        vertical-align: middle;
        border-bottom: 1px solid #edf1f7;
    }

    /* Zebra con los mismos colores del acordeon anterior */
    .pc-table tbody tr:nth-child(even) td[b-tt3hbudwjh] {
        background: #e9f0fb;
    }

    .pc-table tbody tr:hover td[b-tt3hbudwjh] {
        background: #dae5f7;
    }

.pc-item-name[b-tt3hbudwjh] {
    font-weight: 700;
}

.pc-item-meta[b-tt3hbudwjh] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-stock[b-tt3hbudwjh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

    .pc-stock i[b-tt3hbudwjh] {
        font-size: 10px;
    }

    .pc-stock.is-ok[b-tt3hbudwjh] {
        color: #198754;
    }

    .pc-stock.is-low[b-tt3hbudwjh] {
        color: #c77700;
    }

    .pc-stock.is-none[b-tt3hbudwjh] {
        color: #dc3545;
    }

.pc-pill[b-tt3hbudwjh] {
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
}

    .pc-pill.is-on[b-tt3hbudwjh] {
        color: #198754;
        background: #e6f6ee;
    }

    .pc-pill.is-off[b-tt3hbudwjh] {
        color: #6b7690;
        background: #f1f2f5;
    }

.pc-actions[b-tt3hbudwjh] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.pc-empty[b-tt3hbudwjh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 34px 16px;
    color: #6b7690;
    font-size: 13px;
    text-align: center;
}

.pc-empty-glyph[b-tt3hbudwjh] {
    font-size: 26px;
    color: #b4c0d6;
}

@media (max-width: 1100px) {
    .pc-layout[b-tt3hbudwjh] {
        grid-template-columns: 1fr;
    }

    .pc-kpis[b-tt3hbudwjh] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Pages/EntitiesDent/WorkOrderPage/DetailsWorkOrder.razor.rz.scp.css */
/* Campos de info con el mismo azul gris de los modales (UI nuevo), scopeado a esta pagina. */
.input-group[b-lvxfwdy8qj] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-lvxfwdy8qj] {
    color: #33456b;
    font-size: 13px;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
}

.input-group > .form-control[b-lvxfwdy8qj] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
/* /Pages/EntitiesDent/WorkOrderPage/FormWorkOrderDetail.razor.rz.scp.css */
/* Mini-etiqueta de seccion para agrupar los campos del modal (Servicio / Especificaciones / Produccion). */
.form-section-label[b-6a40hrasxr] {
    font-size: 10px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8aa0c6;
    font-weight: 700;
    margin-bottom: -4px;
}
/* /Pages/EntitiesDent/WorkOrderPage/TechnicianJobHistory.razor.rz.scp.css */
/* Campos del filtro con el mismo azul gris de los modales (labels + form-control),
   scopeado a esta pagina. Antes salian blancos/planos. */
.input-group[b-m4xq9pvjhi] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-m4xq9pvjhi] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
}

.input-group > .form-control[b-m4xq9pvjhi] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-m4xq9pvjhi] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }
/* /Pages/EntitiesDent/WorkOrderPage/WorkOrderJobHistory.razor.rz.scp.css */
/* Campos del filtro con el mismo azul gris de los modales (labels + form-control/select),
   scopeado a esta pagina. Antes salian blancos/planos y el combo se veia cortado. */
.input-group[b-vm70b20spr] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-vm70b20spr] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    /* Mismo ancho en todos los labels (Tecnico = Fecha Inicio) para que sean simetricos.
       Debe superar al label mas largo ("Fecha Inicio") o ese se expande y rompe la simetria. */
    min-width: 106px;
    justify-content: flex-start;
}

.input-group > .form-control[b-vm70b20spr],
.input-group > .form-select[b-vm70b20spr] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    /* El combo necesita aire para que el nombre del tecnico no quede cortado. */
    min-width: 0;
    text-overflow: ellipsis;
}

    .input-group > .form-control:focus[b-vm70b20spr],
    .input-group > .form-select:focus[b-vm70b20spr] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }
/* /Pages/EntitiesGen/ServicePage/IndexServiceCategory.razor.rz.scp.css */
/* Maestro-detalle de Servicios: categorias a la izquierda, servicios de la categoria a la derecha.
   Mismas clases y medidas que Productos. El bloque "Acordeon de dos niveles" de wwwroot/css/app.css
   sigue intacto porque lo usan las otras pantallas de dos niveles. */
.pc-sub[b-z2kqo9u5lg] {
    margin: 0 0 14px;
    color: #5b6784;
    font-size: 13px;
}

.pc-kpis[b-z2kqo9u5lg] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* Mismo realce que los paneles, para que los indicadores no se pierdan sobre el card grande */
.pc-kpi[b-z2kqo9u5lg] {
    padding: 12px 14px;
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

    /* La linea de color dice que es cada numero: verde lo activo, ambar el aviso, rojo el problema */
    .pc-kpi.is-ok[b-z2kqo9u5lg] {
        border-left-color: #198754;
    }

    .pc-kpi.is-warn[b-z2kqo9u5lg] {
        border-left-color: #f59f00;
    }

    .pc-kpi.is-bad[b-z2kqo9u5lg] {
        border-left-color: #dc3545;
    }

    .pc-kpi small[b-z2kqo9u5lg] {
        display: block;
        color: #6b7690;
        font-size: 12px;
    }

    .pc-kpi b[b-z2kqo9u5lg] {
        font-size: 20px;
    }

    .pc-kpi.is-warn b[b-z2kqo9u5lg] {
        color: #c77700;
    }

    .pc-kpi.is-bad b[b-z2kqo9u5lg] {
        color: #dc3545;
    }

.pc-layout[b-z2kqo9u5lg] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* Mismo realce que .card-floating-section del acordeon: asi el panel no se confunde
   con el card grande que lo contiene. */
.pc-panel[b-z2kqo9u5lg] {
    overflow: hidden;
    border: 1px solid rgba(45, 91, 160, .45);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 5px 6px 0 rgba(44, 95, 173, .24);
}

.pc-panel-head[b-z2kqo9u5lg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    color: #ffffff;
    background: #0a1a3f;
}

    .pc-panel-head b[b-z2kqo9u5lg] {
        font-size: 14px;
    }

    .pc-panel-head i[b-z2kqo9u5lg] {
        margin-right: 6px;
    }

.pc-search[b-z2kqo9u5lg] {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f7;
    background: #f7f9fd;
}

.pc-panel-foot[b-z2kqo9u5lg] {
    padding: 10px 14px;
    border-top: 1px solid #edf1f7;
}

.pc-count[b-z2kqo9u5lg] {
    color: #6b7690;
    font-size: 12px;
}

/* ---- Categorias ---- */
.pc-cat[b-z2kqo9u5lg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1f7;
    cursor: pointer;
}

    /* Zebra: fila blanca / fila azul muy suave. Va ANTES del hover para que el hover gane. */
    .pc-cat:nth-child(even)[b-z2kqo9u5lg] {
        background: #e9f0fb;
    }

    .pc-cat:hover[b-z2kqo9u5lg] {
        background: #dae5f7;
    }

    /* Seleccionado: azul mas oscuro que la zebra y que el hover, para que se note cual esta abierto.
       Va de ultimo en la hoja, asi gana sobre :nth-child y :hover (misma especificidad). */
    .pc-cat.is-selected[b-z2kqo9u5lg] {
        padding-left: 10px;
        border-left: 4px solid #0d6efd;
        background: #c9dcf7;
        box-shadow: inset 0 0 0 1px rgba(13, 110, 253, .18);
    }

        .pc-cat.is-selected .pc-cat-name[b-z2kqo9u5lg] {
            color: #0a1a3f;
        }

.pc-cat-name[b-z2kqo9u5lg] {
    font-size: 14px;
    font-weight: 700;
}

.pc-cat-meta[b-z2kqo9u5lg] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-cat-tools[b-z2kqo9u5lg] {
    display: flex;
    gap: 6px;
}

/* ---- Productos ---- */
.pc-toolbar[b-z2kqo9u5lg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f7;
}

.pc-chips[b-z2kqo9u5lg] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pc-chip[b-z2kqo9u5lg] {
    padding: 5px 10px;
    color: #33405c;
    font-size: 12px;
    border: 1px solid #dfe6f2;
    border-radius: 20px;
    background: #ffffff;
    cursor: pointer;
}

    .pc-chip.is-on[b-z2kqo9u5lg] {
        color: #ffffff;
        border-color: #0a1a3f;
        background: #0a1a3f;
    }

/* Contenedor del buscador de la derecha (AutoCompleteFilter) */
.pc-inline-search[b-z2kqo9u5lg] {
    min-width: 260px;
    flex: 0 1 320px;
}

.pc-table[b-z2kqo9u5lg] {
    width: 100%;
    border-collapse: collapse;
}

    .pc-table thead th[b-z2kqo9u5lg] {
        padding: 10px 14px;
        color: #33405c;
        font-size: 12px;
        text-align: left;
        border-bottom: 1px solid #e3e9f4;
        background: #f4f7fc;
    }

    .pc-table td[b-z2kqo9u5lg] {
        padding: 12px 14px;
        font-size: 13px;
        vertical-align: middle;
        border-bottom: 1px solid #edf1f7;
    }

    /* Zebra con los mismos colores del acordeon anterior */
    .pc-table tbody tr:nth-child(even) td[b-z2kqo9u5lg] {
        background: #e9f0fb;
    }

    .pc-table tbody tr:hover td[b-z2kqo9u5lg] {
        background: #dae5f7;
    }

.pc-item-name[b-z2kqo9u5lg] {
    font-weight: 700;
}

.pc-item-meta[b-z2kqo9u5lg] {
    margin-top: 2px;
    color: #6b7690;
    font-size: 12px;
}

.pc-stock[b-z2kqo9u5lg] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

    .pc-stock i[b-z2kqo9u5lg] {
        font-size: 10px;
    }

    .pc-stock.is-ok[b-z2kqo9u5lg] {
        color: #198754;
    }

    .pc-stock.is-low[b-z2kqo9u5lg] {
        color: #c77700;
    }

    .pc-stock.is-none[b-z2kqo9u5lg] {
        color: #dc3545;
    }

.pc-pill[b-z2kqo9u5lg] {
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 20px;
}

    .pc-pill.is-on[b-z2kqo9u5lg] {
        color: #198754;
        background: #e6f6ee;
    }

    .pc-pill.is-off[b-z2kqo9u5lg] {
        color: #6b7690;
        background: #f1f2f5;
    }

.pc-actions[b-z2kqo9u5lg] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.pc-empty[b-z2kqo9u5lg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 34px 16px;
    color: #6b7690;
    font-size: 13px;
    text-align: center;
}

.pc-empty-glyph[b-z2kqo9u5lg] {
    font-size: 26px;
    color: #b4c0d6;
}

@media (max-width: 1100px) {
    .pc-layout[b-z2kqo9u5lg] {
        grid-template-columns: 1fr;
    }

    .pc-kpis[b-z2kqo9u5lg] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Pages/EntitiesPayment/CxCBillPage/CxCBillPaymentHistory.razor.rz.scp.css */
.payment-history-label[b-uej4kg1nih] {
    width: 150px;
}
/* /Pages/EntitiesReports/ReportBilled.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-jpevlsvyb5] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-jpevlsvyb5] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-jpevlsvyb5] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-jpevlsvyb5] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-jpevlsvyb5] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-jpevlsvyb5] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-jpevlsvyb5] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-jpevlsvyb5] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-jpevlsvyb5] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-jpevlsvyb5] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportOperationSummary.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-z022d2z5nb] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-z022d2z5nb] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-z022d2z5nb],
.input-group > .form-select[b-z022d2z5nb] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-z022d2z5nb],
    .input-group > .form-select:focus[b-z022d2z5nb] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-z022d2z5nb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-z022d2z5nb] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-z022d2z5nb] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-z022d2z5nb] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-z022d2z5nb] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-z022d2z5nb] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportPendingDelivery.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-1g1gos1nyu] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-1g1gos1nyu] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-1g1gos1nyu],
.input-group > .form-select[b-1g1gos1nyu] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-1g1gos1nyu],
    .input-group > .form-select:focus[b-1g1gos1nyu] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-1g1gos1nyu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-1g1gos1nyu] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-1g1gos1nyu] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-1g1gos1nyu] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-1g1gos1nyu] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-1g1gos1nyu] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportReceivables.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-2rnfo4n3y3] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-2rnfo4n3y3] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-2rnfo4n3y3] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-2rnfo4n3y3] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-2rnfo4n3y3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-2rnfo4n3y3] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-2rnfo4n3y3] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-2rnfo4n3y3] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-2rnfo4n3y3] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-2rnfo4n3y3] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportTechnicianPay.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-ripfi4kv7f] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-ripfi4kv7f] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-ripfi4kv7f],
.input-group > .form-select[b-ripfi4kv7f] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-ripfi4kv7f],
    .input-group > .form-select:focus[b-ripfi4kv7f] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-ripfi4kv7f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-ripfi4kv7f] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-ripfi4kv7f] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-ripfi4kv7f] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-ripfi4kv7f] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-ripfi4kv7f] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportWorksByClient.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-vg84yip8ml] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-vg84yip8ml] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-vg84yip8ml],
.input-group > .form-select[b-vg84yip8ml] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-vg84yip8ml],
    .input-group > .form-select:focus[b-vg84yip8ml] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-vg84yip8ml] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-vg84yip8ml] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-vg84yip8ml] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-vg84yip8ml] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-vg84yip8ml] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-vg84yip8ml] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/EntitiesReports/ReportWorksByTechnician.razor.rz.scp.css */
/* Campos del filtro con el azul gris de los modales */
.input-group[b-dvxz9ulzab] {
    border: 1px solid #cfdcef;
    border-radius: 6px;
    overflow: hidden;
}

.input-group-text[b-dvxz9ulzab] {
    color: #33456b;
    font-size: 13px;
    font-weight: 600;
    background: #dbe6f8;
    border: 0;
    border-right: 1px solid #cfdcef;
    border-radius: 0;
    white-space: nowrap;
    min-width: 96px;
    justify-content: flex-start;
}

.input-group > .form-control[b-dvxz9ulzab],
.input-group > .form-select[b-dvxz9ulzab] {
    background: #e9f0fb;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .input-group > .form-control:focus[b-dvxz9ulzab],
    .input-group > .form-select:focus[b-dvxz9ulzab] {
        background: #fff;
        box-shadow: inset 0 0 0 2px #5b8de0;
    }

/* Tarjetas KPI del reporte */
.rp-board[b-dvxz9ulzab] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.rp-tile[b-dvxz9ulzab] {
    border: 1px solid #e6ecf6;
    border-left: 6px solid #16305e;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 4px 5px 0 rgba(44, 95, 173, .18);
    padding: 10px 14px;
}

    .rp-tile.is-money[b-dvxz9ulzab] {
        border-left-color: #198754;
    }

    .rp-tile.is-bad[b-dvxz9ulzab] {
        border-left-color: #dc3545;
    }

.rp-tile-label[b-dvxz9ulzab] {
    color: #6b7690;
    font-size: 12px;
}

.rp-tile-value[b-dvxz9ulzab] {
    color: #152238;
    font-size: 22px;
    font-weight: 700;
}
/* /Pages/Landing.razor.rz.scp.css */
.lp[b-a5x0n3mcaq] {
    /* Paleta Nexxtplanet (tema oscuro + gradiente rosa→púrpura) */
    --bg-0: #050711;
    --bg-1: #070b1a;
    --text: #eaf0ff;
    --muted: #9aa6c7;
    --accent-1: #ec2f7b;
    --accent-2: #b02fff;
    --grad: linear-gradient(135deg, #ec2f7b, #b02fff);
    --card: rgba(255, 255, 255, .03);
    --card-border: rgba(255, 255, 255, .10);
    --card-border-accent: rgba(239, 79, 143, .35);

    min-height: 100vh;
    color: var(--text);
    background:
        radial-gradient(1000px 480px at 85% -8%, rgba(176, 47, 255, .22), transparent 60%),
        radial-gradient(900px 460px at -5% 12%, rgba(236, 47, 123, .16), transparent 55%),
        var(--bg-0);
    font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    overflow-x: hidden;
}

/* ---------- NAV ---------- */
.lp-nav[b-a5x0n3mcaq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem clamp(1rem, 5vw, 4rem);
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(10px);
    background: rgba(5, 7, 17, .6);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.lp-brand[b-a5x0n3mcaq], .lp-footer__brand[b-a5x0n3mcaq] {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.lp-logo[b-a5x0n3mcaq] { height: 36px; width: auto; object-fit: contain; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .5)); }
.lp-logo--sm[b-a5x0n3mcaq] { height: 30px; }

/* Badge DLABX estilo web: borde de color, sin relleno, letra en gradiente */
.lp-brand__mark[b-a5x0n3mcaq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-weight: 900;
    font-size: .95rem;
    border: 2px solid var(--accent-1);
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    box-shadow: 0 0 16px -6px var(--accent-2), inset 0 0 12px -8px var(--accent-2);
}

.lp-brand__tag[b-a5x0n3mcaq] {
    font-size: .74rem;
    color: var(--accent-2);
    letter-spacing: .05em;
    font-weight: 700;
    border-left: 1px solid rgba(255, 255, 255, .18);
    padding-left: .7rem;
}

.lp-nav__links[b-a5x0n3mcaq] { display: flex; align-items: center; gap: 1.4rem; }
.lp-nav__links a[b-a5x0n3mcaq] { color: var(--muted); text-decoration: none; font-weight: 600; }
.lp-nav__links a:hover[b-a5x0n3mcaq] { color: #fff; }

/* ---------- BUTTONS ---------- */
.lp-btn[b-a5x0n3mcaq] {
    display: inline-block;
    padding: .8rem 1.6rem;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.lp-btn--primary[b-a5x0n3mcaq] {
    color: #fff;
    background: var(--grad);
    box-shadow: 0 12px 28px rgba(176, 47, 255, .35);
}
.lp-btn--primary:hover[b-a5x0n3mcaq] { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(236, 47, 123, .45); color: #fff; }
.lp-btn--ghost[b-a5x0n3mcaq] {
    color: var(--text);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .14);
}
.lp-btn--ghost:hover[b-a5x0n3mcaq] { background: rgba(255, 255, 255, .10); color: #fff; }

/* ---------- HERO ---------- */
.lp-hero[b-a5x0n3mcaq] {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: 2rem;
    padding: clamp(2.5rem, 7vw, 6rem) clamp(1rem, 5vw, 4rem);
    max-width: 1240px;
    margin: 0 auto;
}
.lp-eyebrow[b-a5x0n3mcaq] {
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .78rem;
    font-weight: 700;
    color: var(--accent-2);
}
.lp-hero h1[b-a5x0n3mcaq] {
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.02em;
    margin: 1rem 0 1.1rem;
}
.lp-grad[b-a5x0n3mcaq] {
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.lp-lead[b-a5x0n3mcaq] { color: var(--muted); font-size: 1.12rem; max-width: 32rem; }
.lp-hero__cta[b-a5x0n3mcaq] { display: flex; gap: 1rem; margin: 1.8rem 0 1.4rem; flex-wrap: wrap; }
.lp-hero__badges[b-a5x0n3mcaq] { display: flex; gap: .8rem; flex-wrap: wrap; }
.lp-hero__badges span[b-a5x0n3mcaq] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--text);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    padding: .35rem .8rem;
    border-radius: 999px;
}
.lp-hero__badges i[b-a5x0n3mcaq] {
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.lp-hero__art[b-a5x0n3mcaq] { display: flex; justify-content: center; align-items: center; }
.lp-hero-logo[b-a5x0n3mcaq] {
    width: clamp(220px, 32vw, 400px);
    max-width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 18px 50px rgba(176, 47, 255, .4));
    animation: lp-float-b-a5x0n3mcaq 6s ease-in-out infinite;
}

/* Logo grande DLABX (badge) en el hero — mismo estilo de la web */
.lp-hero-badge[b-a5x0n3mcaq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(170px, 28vw, 280px);
    aspect-ratio: 1;
    border-radius: 27%;
    font-weight: 900;
    font-size: clamp(6.5rem, 15vw, 12rem);
    line-height: 1;
    border: 3px solid var(--accent-1);
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    box-shadow: 0 0 70px -24px var(--accent-2), inset 0 0 46px -26px var(--accent-2);
    animation: lp-float-b-a5x0n3mcaq 6s ease-in-out infinite;
}
@keyframes lp-float-b-a5x0n3mcaq {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
}

/* ---------- SECTIONS ---------- */
.lp-section[b-a5x0n3mcaq] {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 5vw, 4rem);
}
.lp-h2[b-a5x0n3mcaq] { text-align: center; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; letter-spacing: -.02em; margin: 0; }
.lp-sub[b-a5x0n3mcaq] { text-align: center; color: var(--muted); margin: .6rem 0 2.4rem; }

.lp-features[b-a5x0n3mcaq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.2rem;
}
.lp-feature[b-a5x0n3mcaq] {
    padding: 1.6rem;
    border-radius: 16px;
    background: var(--card);
    border: 1px solid var(--card-border);
    transition: transform .15s ease, border-color .15s ease;
}
.lp-feature:hover[b-a5x0n3mcaq] { transform: translateY(-4px); border-color: var(--card-border-accent); }
.lp-feature i[b-a5x0n3mcaq] {
    font-size: 1.7rem;
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.lp-feature h3[b-a5x0n3mcaq] { margin: .8rem 0 .4rem; font-size: 1.15rem; font-weight: 700; }
.lp-feature p[b-a5x0n3mcaq] { color: var(--muted); margin: 0; font-size: .95rem; }

/* ---------- PLANS ---------- */
.lp-plans[b-a5x0n3mcaq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
    align-items: stretch;
    max-width: 1080px;
    margin: 0 auto;
}
.lp-plans__msg[b-a5x0n3mcaq] {
    text-align: center;
    color: var(--muted);
    padding: 2rem;
    border: 1px dashed rgba(255, 255, 255, .18);
    border-radius: 14px;
}
.lp-plan[b-a5x0n3mcaq] {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.8rem 1.5rem;
    border-radius: 16px;
    background: var(--card);
    border: 1px solid var(--card-border);
}
.lp-plan--top[b-a5x0n3mcaq] {
    background: linear-gradient(180deg, rgba(176, 47, 255, .14), rgba(255, 255, 255, .03));
    box-shadow: 0 22px 55px rgba(176, 47, 255, .28);
    transform: translateY(-6px);
}
.lp-plan--top[b-a5x0n3mcaq]::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 16px;
    padding: 1px;
    background: var(--grad);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.lp-plan__badge[b-a5x0n3mcaq] {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--grad);
    color: #fff;
    font-weight: 800;
    font-size: .72rem;
    padding: .3rem .85rem;
    border-radius: 999px;
    letter-spacing: .04em;
    box-shadow: 0 6px 16px rgba(236, 47, 123, .4);
}
.lp-plan__name[b-a5x0n3mcaq] { margin: .2rem 0 .3rem; font-size: 1.3rem; font-weight: 700; }
.lp-plan__desc[b-a5x0n3mcaq] { color: var(--muted); font-size: .9rem; min-height: 2.4rem; margin: 0 0 .8rem; }
.lp-plan__price[b-a5x0n3mcaq] { display: flex; align-items: baseline; gap: .4rem; margin-bottom: .3rem; }
.lp-plan__amount[b-a5x0n3mcaq] { font-size: 2rem; font-weight: 800; }
.lp-plan__cycle[b-a5x0n3mcaq] { color: var(--muted); font-size: .9rem; }
.lp-plan__trial[b-a5x0n3mcaq] { color: var(--accent-2); font-size: .85rem; font-weight: 700; margin-bottom: 1rem; }
.lp-plan__trial i[b-a5x0n3mcaq] { margin-right: .3rem; }
.lp-plan__list[b-a5x0n3mcaq] { list-style: none; padding: 0; margin: 0 0 1.4rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.lp-plan__list li[b-a5x0n3mcaq] { color: var(--text); font-size: .92rem; }
.lp-plan__list i[b-a5x0n3mcaq] {
    margin-right: .5rem;
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.lp-plan__cta[b-a5x0n3mcaq] { width: 100%; text-align: center; }

/* ---------- FOOTER ---------- */
.lp-footer[b-a5x0n3mcaq] {
    border-top: 1px solid rgba(255, 255, 255, .06);
    padding: 2rem clamp(1rem, 5vw, 4rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--bg-1);
}
.lp-footer__brand[b-a5x0n3mcaq] { font-weight: 800; letter-spacing: .1em; }
.lp-footer__links[b-a5x0n3mcaq] { display: flex; gap: 1.4rem; flex-wrap: wrap; }
.lp-footer__links a[b-a5x0n3mcaq] { color: var(--muted); text-decoration: none; }
.lp-footer__links a:hover[b-a5x0n3mcaq] { color: #fff; }
.lp-footer__copy[b-a5x0n3mcaq] { width: 100%; text-align: center; color: var(--muted); font-size: .82rem; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 820px) {
    .lp-hero[b-a5x0n3mcaq] { grid-template-columns: 1fr; text-align: center; }
    .lp-hero__content[b-a5x0n3mcaq] { order: 2; }
    .lp-hero__art[b-a5x0n3mcaq] { order: 1; }
    .lp-hero__cta[b-a5x0n3mcaq], .lp-hero__badges[b-a5x0n3mcaq] { justify-content: center; }
    .lp-nav__links a:not(.lp-btn)[b-a5x0n3mcaq] { display: none; }
}

@media (max-width: 680px) {
    .lp-plans[b-a5x0n3mcaq] {
        grid-template-columns: 1fr;
    }

    .lp-plan--top[b-a5x0n3mcaq] {
        transform: none;
    }
}
/* /Pages/SaasDashboard.razor.rz.scp.css */
.saas-dashboard[b-z4jay55530] {
    min-height: calc(100vh - 2rem);
    padding: 2rem;
    background: transparent;
    position: relative;
    z-index: 2;
    isolation: isolate;
}

.saas-dashboard__header[b-z4jay55530] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.saas-dashboard__header h1[b-z4jay55530] {
    margin: 0;
    color: rgba(255, 255, 255, .94);
    text-shadow: 0 2px 10px rgba(5, 18, 47, .42);
    font-size: 2rem;
    font-weight: 800;
}

.saas-dashboard__grid[b-z4jay55530] {
    display: grid;
    grid-template-columns: minmax(0, 440px);
}

.saas-card[b-z4jay55530] {
    position: relative;
    z-index: 3;
    isolation: isolate;
    min-height: 210px;
    padding: 1.25rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .86);
    background-color: #eaf7fd !important;
    background-image: none !important;
    color: #1f2937;
    opacity: 1;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .18s ease, box-shadow .18s ease;
}

.saas-card:hover[b-z4jay55530] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
}

.saas-card__header[b-z4jay55530] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.saas-card__header span[b-z4jay55530] {
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
}

.saas-card__header h2[b-z4jay55530] {
    margin: .25rem 0 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.saas-card__header i[b-z4jay55530] {
    color: #168bb5;
    font-size: 2rem;
}

.saas-card__loading[b-z4jay55530] {
    display: flex;
    align-items: center;
    min-height: 120px;
    color: #64748b;
    font-weight: 700;
}

.saas-card__metrics[b-z4jay55530] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.saas-card__metrics div[b-z4jay55530] {
    border-left: 4px solid #168bb5;
    padding-left: 1rem;
}

.saas-card__metrics span[b-z4jay55530],
.saas-card__metrics strong[b-z4jay55530] {
    display: block;
}

.saas-card__metrics span[b-z4jay55530] {
    color: #0e5f88;
    font-weight: 700;
}

.saas-card__metrics strong[b-z4jay55530] {
    margin-top: .25rem;
    color: #168bb5;
    font-size: 2rem;
    font-weight: 900;
}

@media (max-width: 576px) {
    .saas-dashboard[b-z4jay55530] {
        padding: 1rem;
    }

    .saas-dashboard__grid[b-z4jay55530],
    .saas-card__metrics[b-z4jay55530] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Signup.razor.rz.scp.css */
.rp[b-v3s6082h1o] {
    --navy-0: #050b1f;
    --navy-1: #0a1a3f;
    --blue: #2b8bff;
    --cyan: #22c1e8;
    --text: #eaf1ff;
    --muted: #9fb3d1;
    min-height: 100vh;
    color: var(--text);
    font-family: "Segoe UI", system-ui, sans-serif;
    background:
        radial-gradient(1000px 500px at 80% -10%, rgba(43,139,255,.32), transparent 60%),
        linear-gradient(160deg, var(--navy-0), var(--navy-1) 55%, #0b2350);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 2.5rem 1rem 4rem;
    overflow-x: hidden;
}

.rp-card[b-v3s6082h1o] {
    width: 100%;
    max-width: 680px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 18px;
    padding: 1.8rem 1.8rem 2rem;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .4);
}

.rp-back[b-v3s6082h1o] { color: var(--muted); text-decoration: none; font-size: .88rem; }
.rp-back:hover[b-v3s6082h1o] { color: #fff; }
.rp-back i[b-v3s6082h1o] { margin-right: .35rem; }

.rp-head h2[b-v3s6082h1o] { margin: .9rem 0 .2rem; font-weight: 800; font-size: 1.7rem; }
.rp-grad[b-v3s6082h1o] {
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.rp-planline[b-v3s6082h1o] { color: var(--muted); margin: 0 0 .5rem; }
.rp-trial[b-v3s6082h1o] { color: var(--cyan); font-weight: 600; }

.rp-section[b-v3s6082h1o] {
    margin: 1.5rem 0 .8rem;
    font-size: 1rem;
    color: var(--cyan);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    padding-bottom: .4rem;
}

.rp-grid[b-v3s6082h1o] { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.rp-col2[b-v3s6082h1o] { grid-column: 1 / -1; }
.rp-grid label[b-v3s6082h1o] { display: block; font-size: .8rem; color: var(--muted); margin-bottom: .25rem; }

.rp-input[b-v3s6082h1o] {
    width: 100%;
    padding: .6rem .8rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
}
.rp-input:focus[b-v3s6082h1o] { outline: none; border-color: var(--blue); box-shadow: 0 0 0 2px rgba(43,139,255,.25); }
select.rp-input option[b-v3s6082h1o] { color: #000; }

.rp-btn[b-v3s6082h1o] {
    display: inline-block;
    padding: .85rem 1.5rem;
    border-radius: 10px;
    font-weight: 700;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    color: #fff;
}
.rp-btn--primary[b-v3s6082h1o] {
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    box-shadow: 0 10px 24px rgba(43, 139, 255, .4);
}
.rp-btn--primary:hover[b-v3s6082h1o] { color: #fff; filter: brightness(1.05); }
.rp-btn[disabled][b-v3s6082h1o] { opacity: .7; cursor: default; }
.rp-submit[b-v3s6082h1o] { width: 100%; margin-top: 1.6rem; }
.rp-note[b-v3s6082h1o] { text-align: center; color: var(--muted); font-size: .82rem; margin-top: .6rem; }

.rp-msg[b-v3s6082h1o] { text-align: center; color: var(--muted); padding: 2.5rem 1rem; }
.rp-msg a[b-v3s6082h1o] { color: var(--cyan); }

.rp-success[b-v3s6082h1o] { text-align: center; padding: 1.5rem 0; }
.rp-success i[b-v3s6082h1o] { font-size: 3.2rem; color: #34d399; }
.rp-success h2[b-v3s6082h1o] { margin: .9rem 0 .5rem; font-weight: 800; }
.rp-success p[b-v3s6082h1o] { color: var(--muted); margin: .3rem 0; }
.rp-user[b-v3s6082h1o] { margin: 1rem 0 !important; color: var(--text) !important; }
.rp-success .rp-btn[b-v3s6082h1o] { margin-top: 1.2rem; min-width: 200px; }

[b-v3s6082h1o] .validation-message { color: #ff8a8a; font-size: .78rem; }

@media (max-width: 560px) {
    .rp-grid[b-v3s6082h1o] { grid-template-columns: 1fr; }
}
/* /Pages/TechDashBoard.razor.rz.scp.css */
.tech-dashboard[b-0c4v6d2nzc] {
    min-height: calc(100vh - 2rem);
    padding: 2rem;
    background: transparent;
}

.tech-dashboard__header[b-0c4v6d2nzc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tech-dashboard__eyebrow[b-0c4v6d2nzc] {
    margin: 0 0 .25rem;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.tech-dashboard__header h1[b-0c4v6d2nzc] {
    margin: 0;
    color: rgba(255, 255, 255, .94);
    text-shadow: 0 2px 10px rgba(5, 18, 47, .42);
    font-size: 2rem;
    font-weight: 800;
}

.tech-dashboard__status[b-0c4v6d2nzc] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .85rem;
    border-radius: 8px;
    background: #fff4e5;
    color: #9a5b00;
    font-weight: 700;
}

.tech-dashboard__grid[b-0c4v6d2nzc] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.tech-card[b-0c4v6d2nzc] {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #ffffff;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
    transition: transform .18s ease, box-shadow .18s ease;
}

.tech-card:hover[b-0c4v6d2nzc] {
    transform: translateY(-3px);
    box-shadow: 0 20px 32px rgba(5, 18, 47, .3), 6px 8px 12px rgba(14, 42, 94, .18), 8px 10px 14px rgba(196, 231, 255, .84);
}

.tech-card__link[b-0c4v6d2nzc] {
    display: block;
    min-height: 190px;
    padding: 1.5rem;
    color: #102a43;
    text-decoration: none;
}

.tech-card__link:hover[b-0c4v6d2nzc] {
    color: #102a43;
}

.tech-card__link:focus-visible[b-0c4v6d2nzc] {
    outline: 3px solid rgba(255, 255, 255, .75);
    outline-offset: -6px;
}

.tech-card__content[b-0c4v6d2nzc] {
    position: relative;
    z-index: 1;
    max-width: 78%;
}

.tech-card__label[b-0c4v6d2nzc] {
    display: block;
    margin-bottom: .75rem;
    font-weight: 700;
    color: #496174;
}

.tech-card h2[b-0c4v6d2nzc],
.tech-dashboard__panel h2[b-0c4v6d2nzc] {
    margin: 0 0 .5rem;
    color: #0e2a5e;
    font-size: 1.25rem;
    font-weight: 800;
}

.tech-card p[b-0c4v6d2nzc],
.tech-dashboard__panel p[b-0c4v6d2nzc] {
    margin: 0;
    color: #496174;
    line-height: 1.5;
}

.tech-card__icon[b-0c4v6d2nzc] {
    position: absolute;
    right: 1.25rem;
    bottom: 1rem;
    font-size: 4.5rem;
    color: #168bb5;
    opacity: .9;
}

.tech-dashboard__panel[b-0c4v6d2nzc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    background: #eaf7fd;
    color: #102a43;
    box-shadow: 0 14px 24px rgba(5, 18, 47, .24), 4px 6px 10px rgba(14, 42, 94, .14), 6px 8px 11px rgba(173, 220, 255, .72);
}

.tech-dashboard__panel i[b-0c4v6d2nzc] {
    color: #0f766e;
    font-size: 2.25rem;
}

@media (max-width: 992px) {
    .tech-dashboard__grid[b-0c4v6d2nzc] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .tech-dashboard[b-0c4v6d2nzc] {
        padding: 1rem;
    }

    .tech-dashboard__header[b-0c4v6d2nzc],
    .tech-dashboard__panel[b-0c4v6d2nzc] {
        align-items: flex-start;
        flex-direction: column;
    }

    .tech-card__content[b-0c4v6d2nzc] {
        max-width: 100%;
    }
}
/* /SharedAutoComplete/AutoCompleteFilter.razor.rz.scp.css */
/* Buscador de filtrado en linea: campo limpio con lupa y boton de borrar. */
.ac-filter[b-04jkyzg9q7] {
    position: relative;
    display: flex;
    align-items: center;
}

.ac-filter-icon[b-04jkyzg9q7] {
    position: absolute;
    left: 12px;
    color: #8a93a8;
    font-size: 13px;
    pointer-events: none;
}

.ac-filter-input[b-04jkyzg9q7] {
    width: 100%;
    padding: 8px 34px 8px 34px;
    color: #0a1a3f;
    font-size: 13px;
    border: 1px solid #cfd8ea;
    border-radius: 8px;
    background: #ffffff;
}

    .ac-filter-input:focus[b-04jkyzg9q7] {
        border-color: #0d6efd;
        outline: none;
        box-shadow: 0 0 0 3px rgba(13, 110, 253, .15);
    }

/* Con boton de lupa (modo Enter) el texto deja espacio a la derecha */
.ac-filter-input.has-button[b-04jkyzg9q7] {
    padding-right: 62px;
}

.ac-filter-go[b-04jkyzg9q7] {
    position: absolute;
    right: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: #ffffff;
    border: 0;
    border-radius: 7px;
    background: #0d6efd;
    cursor: pointer;
    font-size: 12px;
}

    .ac-filter-go:hover[b-04jkyzg9q7] {
        background: #0b5ed7;
    }

.ac-filter-clear[b-04jkyzg9q7] {
    position: absolute;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #6b7690;
    border: 0;
    border-radius: 50%;
    background: #eef1f6;
    cursor: pointer;
    font-size: 11px;
}

    .ac-filter-clear:hover[b-04jkyzg9q7] {
        color: #dc3545;
        background: #f6e7e9;
    }

/* Cuando hay lupa, la x se corre para no montarse */
.ac-filter-input.has-button ~ .ac-filter-clear[b-04jkyzg9q7] {
    right: 38px;
}
/* /SharedAutoComplete/AutoCompleteGuidSelect.razor.rz.scp.css */
.autocomplete-container[b-7epu3k86c2] {
    margin-bottom: 1rem;
}
    .autocomplete-container input.form-control:focus[b-7epu3k86c2] {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

.autocomplete-dropdown[b-7epu3k86c2] {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%; /* 🔥 clave */
    z-index: 3000;
    max-height: 260px;
    overflow-y: auto;
    background: white;
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-top: 2px;
    padding: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 3000;
}
    .autocomplete-dropdown .list-group-item[b-7epu3k86c2] {
        padding: 8px 12px;
        font-size: 14px;
        cursor: pointer;
        border: none;
    }

        .autocomplete-dropdown .list-group-item:hover[b-7epu3k86c2] {
            background-color: #f0f4ff;
        }

    .autocomplete-dropdown[b-7epu3k86c2]::-webkit-scrollbar {
        width: 6px;
    }

    .autocomplete-dropdown[b-7epu3k86c2]::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 3px;
    }
/* /SharedButtonTableRow/ButtonRowText.razor.rz.scp.css */
/* Estilo unico del boton de fila con texto. Centralizado aqui: las paginas solo eligen la variante. */
.btn-row-text[b-o6e67ag8ss] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    color: #0a1a3f;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid #cfd8ea;
    border-radius: 7px;
    background: #ffffff;
    cursor: pointer;
}

    .btn-row-text:hover[b-o6e67ag8ss] {
        background: #f2f6fc;
    }

    .btn-row-text.is-primary[b-o6e67ag8ss] {
        color: #0d6efd;
        border-color: #b9d3ff;
    }

    .btn-row-text.is-danger[b-o6e67ag8ss] {
        color: #dc3545;
        border-color: #f1c2c7;
    }

    .btn-row-text:disabled[b-o6e67ag8ss] {
        color: #8a93a8;
        border-color: #e1e6ef;
        background: #eef1f6;
        cursor: not-allowed;
    }
/* /Shared/FilterComponent.razor.rz.scp.css */
.filter-action-button[b-vdda453icr] {
    min-width: 110px;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .filter-action-button[b-vdda453icr] {
        min-width: 105px;
    }
}
/* /Shared/InputImage.razor.rz.scp.css */
.image-preview[b-bkru40gb6p] {
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 2px 4px 10px rgba(0,0,0,0.2);
}
/* /Shared/InputImageGeneral.razor.rz.scp.css */
.camera-container[b-hw0l5g9ayu] {
    position: relative;
    width: 200px; /* Fijo para formularios */
    height: 240px; /* Relación 3:4 vertical */
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #f8f8f8;
}

.camera-layer[b-hw0l5g9ayu] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

    .camera-layer video[b-hw0l5g9ayu],
    .camera-layer img[b-hw0l5g9ayu] {
        object-fit: cover; /* Recorta sin distorsionar */
        width: 100%;
        height: 100%;
    }
/* Silueta de persona cuando no hay foto (evita el blanco vacio). */
.image-placeholder[b-hw0l5g9ayu] {
    align-items: center;
    justify-content: center;
    color: #c3cde0;
    font-size: 5.5rem;
    background-color: #f5f8fd;
}
/* /Shared/InputImageIDBack.razor.rz.scp.css */
.camera-container[b-3wiotllp7z] {
    position: relative;
    width: 100%;
    max-width: 380px; /* límite para que no se deforme */
    height: 240px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #f8f8f8;
}
.placeholder-box[b-3wiotllp7z] {
    width: 100%;
    height: 100%;
    border: 2px dashed #bbb;
    border-radius: 6px;
    background-color: #f0f0f0;
}
.camera-layer[b-3wiotllp7z] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

    .camera-layer video[b-3wiotllp7z],
    .camera-layer img[b-3wiotllp7z] {
        object-fit: cover; /* Recorta sin distorsionar */
        width: 100%;
        height: 100%;
    }
/* /Shared/InputImageIDfront.razor.rz.scp.css */
.camera-container[b-7ze8l3kmc8] {
    position: relative;
    width: 100%;
    max-width: 380px; /* límite para que no se deforme */
    height: 240px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #f8f8f8;
}
.placeholder-box[b-7ze8l3kmc8] {
    width: 100%;
    height: 100%;
    border: 2px dashed #bbb;
    border-radius: 6px;
    background-color: #f0f0f0;
}
.camera-layer[b-7ze8l3kmc8] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

    .camera-layer video[b-7ze8l3kmc8],
    .camera-layer img[b-7ze8l3kmc8] {
        object-fit: cover; /* Recorta sin distorsionar */
        width: 100%;
        height: 100%;
    }
/* /Shared/InputImageWithFrame.razor.rz.scp.css */
.camera-box[b-mxfze3erzl] {
    position: relative;
    width: 100%;
    max-width: 400px;
    aspect-ratio: 4/3;
    overflow: hidden;
}

#camera[b-mxfze3erzl] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.overlay-frame[b-mxfze3erzl] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60%;
    aspect-ratio: 1.59;
    transform: translate(-50%, -50%);
    border: 3px solid white;
    pointer-events: none;
    box-sizing: border-box;
}

.preview-box[b-mxfze3erzl] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 400px;
    aspect-ratio: 4/3;
    overflow: hidden;
    margin-top: 0.5rem;
}

.image-preview[b-mxfze3erzl] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* /Shared/Pagination.razor.rz.scp.css */
/* Estilo general del paginador */
.pagination .page-item .page-link[b-amtsauwf18] {
    color: #6c757d; /* gris elegante */
    border-radius: 8px; /* bordes redondeados */
    border: 1px solid #dee2e6;
    margin: 0 3px;
    transition: all 0.2s ease-in-out;
}

    /* Hover */
    .pagination .page-item .page-link:hover[b-amtsauwf18] {
        background-color: #e9ecef;
        color: #495057;
        border-color: #ced4da;
    }

/* Active */
.pagination .page-item.active .page-link[b-amtsauwf18] {
    background-color: #6c757d;
    border-color: #6c757d;
    color: white;
    font-weight: bold;
}

/* Disabled */
.pagination .page-item.disabled .page-link[b-amtsauwf18] {
    color: #adb5bd;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    cursor: not-allowed;
}

/* Botones especiales (<< < > >>) */
.pagination .page-item.special .page-link[b-amtsauwf18] {
    font-weight: 600;
    padding-left: 14px;
    padding-right: 14px;
}
/* /ShareLoading/FullScreenSpinner.razor.rz.scp.css */
.spinner[b-bi8ssovwjh] {
    position: fixed;
    z-index: 999;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-color: black;
    opacity: 0.3;
}

.center-div[b-bi8ssovwjh] {
    width: 300px;
    height: 300px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -150px;
    margin-top: -150px;
}

.inner-div[b-bi8ssovwjh] {
    background-color: white;
    border-radius: 15px;
    margin: auto;
    padding: 2%;
    width: 150px;
}

.loader[b-bi8ssovwjh] {
    margin: auto;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #15a0ec;
    border-bottom: 16px solid #15a0ec;
    width: 120px;
    height: 120px;
    animation: spin-b-bi8ssovwjh 2s linear infinite;
}

@keyframes spin-b-bi8ssovwjh {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
