/* _content/Rgclouds.Web/Components/Layout/AppLayout.razor.rz.scp.css */
/* ============================================================
   🏗️ AppLayout.razor.css — Layout con Sidebar Claro Elegante
   🎯 Sidebar blanco con iconos de colores + Header cristal
   📱 Responsive: drawer lateral en movil, fijo en desktop
   ============================================================ */

/* ============================================================
   📐 LAYOUT GRID
   ============================================================ */

.app-layout[b-uutl8o7wqp] {
    display: grid;
    grid-template-columns: 310px 1fr;
    grid-template-rows: 1fr;
    min-height: 100vh;
    width: 100%;
    transition: grid-template-columns 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-layout.sidebar-collapsed[b-uutl8o7wqp] {
    grid-template-columns: 72px 1fr;
}

/* ============================================================
   🗂️ SIDEBAR — Fondo claro, limpio y elegante
   ============================================================ */

.app-sidebar[b-uutl8o7wqp] {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    height: 100vh;
    position: sticky;
    top: 0;
    overflow: hidden;
    z-index: 100;
    background: var(--rg-bg-sidebar, #ffffff);
    border-right: 1px solid var(--rg-border, #eef0f4);
    box-shadow: var(--rg-shadow-sidebar, 2px 0 12px rgba(0,0,0,0.04));
}

/* ============================================================
   🏢 SIDEBAR HEADER — Logo premium
   ============================================================ */

.sidebar-header[b-uutl8o7wqp] {
    flex-shrink: 0;
    padding: 1.125rem 1rem;
    border-bottom: 1px solid var(--rg-border, #eef0f4);
}

.sidebar-brand[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Sidebar brand clickeable → dashboard */
.sidebar-brand-clickable[b-uutl8o7wqp] {
    cursor: pointer;
    padding: 0.25rem;
    margin: -0.25rem;
    border-radius: 10px;
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.sidebar-brand-clickable:hover[b-uutl8o7wqp] {
    background-color: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}

.sidebar-brand-clickable:active[b-uutl8o7wqp] {
    transform: translateY(0);
}

/* Sidebar user info clickeable → dashboard */
.sidebar-user-info-clickable[b-uutl8o7wqp] {
    cursor: pointer;
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.sidebar-user-info-clickable:hover[b-uutl8o7wqp] {
    background-color: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}

.sidebar-user-info-clickable:active[b-uutl8o7wqp] {
    transform: translateY(0);
}

.brand-icon[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex-shrink: 0;
}

[b-uutl8o7wqp] .brand-logo-img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.brand-text[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.brand-name[b-uutl8o7wqp] {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.brand-edition[b-uutl8o7wqp] {
    font-size: 0.625rem;
    color: var(--rg-text-faint, #94a3b8);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ============================================================
   📋 SIDEBAR NAV — Area scrollable
   ============================================================ */

.sidebar-nav[b-uutl8o7wqp] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 0.625rem;
    scrollbar-width: thin;
    scrollbar-color: var(--rg-border, #e2e8f0) transparent;
}

.sidebar-nav[b-uutl8o7wqp]::-webkit-scrollbar {
    width: 3px;
}

.sidebar-nav[b-uutl8o7wqp]::-webkit-scrollbar-thumb {
    background: var(--rg-border, #e2e8f0);
    border-radius: 3px;
}

/* 📭 Estado vacio */
.nav-empty[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    color: var(--rg-text-faint, #94a3b8);
    text-align: center;
}

.nav-empty i[b-uutl8o7wqp] { font-size: 2.5rem; opacity: 0.4; }
.nav-empty span[b-uutl8o7wqp] { font-size: 0.8125rem; }

/* 🔄 Esqueletos de carga */
.nav-loading[b-uutl8o7wqp] {
    padding: 1rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.nav-loading-pulse[b-uutl8o7wqp] {
    height: 40px;
    background: var(--rg-bg-subtle, #f1f5f9);
    border-radius: 10px;
    animation: sidebarPulse-b-uutl8o7wqp 1.5s ease-in-out infinite;
}

.nav-loading-pulse.short[b-uutl8o7wqp] {
    width: 70%;
    height: 30px;
    margin-left: 1rem;
}

@keyframes sidebarPulse-b-uutl8o7wqp {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

/* ============================================================
   🎨 COLORES DE MODULOS — 8 colores rotativos para iconos
   ============================================================ */

.nav-icon-box[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 0.9375rem;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

/* 🖼️ Imagen de aplicacion dentro del icon-box */
.nav-module-img[b-uutl8o7wqp] {
    width: 22px;
    height: 22px;
    object-fit: contain;
    border-radius: 4px;
}

/* 🔵 Azul */
.nav-icon-box.mc-0[b-uutl8o7wqp] { background: rgba(59, 130, 246, 0.1); color: #3b82f6; }
/* 🟢 Verde */
.nav-icon-box.mc-1[b-uutl8o7wqp] { background: rgba(16, 185, 129, 0.1); color: #10b981; }
/* 🟣 Violeta */
.nav-icon-box.mc-2[b-uutl8o7wqp] { background: rgba(139, 92, 246, 0.1); color: #8b5cf6; }
/* 🟠 Naranja */
.nav-icon-box.mc-3[b-uutl8o7wqp] { background: rgba(249, 115, 22, 0.1); color: #f97316; }
/* 🔴 Rosa */
.nav-icon-box.mc-4[b-uutl8o7wqp] { background: rgba(244, 63, 94, 0.1); color: #f43f5e; }
/* 🟡 Ambar */
.nav-icon-box.mc-5[b-uutl8o7wqp] { background: rgba(245, 158, 11, 0.1); color: #f59e0b; }
/* 🩵 Cyan */
.nav-icon-box.mc-6[b-uutl8o7wqp] { background: rgba(6, 182, 212, 0.1); color: #06b6d4; }
/* 🟤 Indigo */
.nav-icon-box.mc-7[b-uutl8o7wqp] { background: rgba(99, 102, 241, 0.1); color: #6366f1; }

/* ============================================================
   📂 MODULOS — Items raiz
   ============================================================ */

.nav-module[b-uutl8o7wqp] {
    margin-bottom: 2px;
}

.nav-module-btn[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.5rem 0.625rem;
    border: none;
    background: transparent;
    color: var(--rg-text-secondary, #475569);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
}

.nav-module-btn:hover[b-uutl8o7wqp] {
    background: var(--rg-bg-hover, #f8fafc);
    color: var(--rg-text-primary, #1e293b);
}

/* 🟢 Modulo expandido */
.nav-module-btn.expanded[b-uutl8o7wqp] {
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-subtle, #f1f5f9);
}

.nav-module-btn.expanded .nav-icon-box[b-uutl8o7wqp] {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.nav-label[b-uutl8o7wqp] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 🔽 Chevron */
.nav-chevron[b-uutl8o7wqp] {
    font-size: 0.6rem;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.3;
    flex-shrink: 0;
    color: var(--rg-text-faint, #94a3b8);
}

.nav-module-btn.expanded .nav-chevron[b-uutl8o7wqp],
.nav-group-btn.expanded .nav-chevron[b-uutl8o7wqp] {
    transform: rotate(90deg);
    opacity: 0.6;
}

/* ============================================================
   📁 SUBMENU — Items hijos
   ============================================================ */

.nav-submenu[b-uutl8o7wqp] {
    overflow: hidden;
    animation: submenuOpen-b-uutl8o7wqp 0.2s ease-out;
    margin-left: 0.25rem;
    padding-left: 0.5rem;
    border-left: 2px solid var(--rg-border, #eef0f4);
    margin-top: 2px;
    margin-bottom: 6px;
}

@keyframes submenuOpen-b-uutl8o7wqp {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.nav-item[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    width: 100%;
    padding: 0.4375rem 0.5rem;
    padding-right: 0.375rem;
    border: none;
    background: transparent;
    color: var(--rg-text-muted, #64748b);
    font-size: 0.7875rem;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 8px;
    margin: 1px 0;
}

.nav-item:hover[b-uutl8o7wqp] {
    background: var(--rg-bg-hover, #f8fafc);
    color: var(--rg-primary, #3b82f6);
}

.nav-item i:first-child[b-uutl8o7wqp] {
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
    font-size: 0.8rem;
}

.nav-item span[b-uutl8o7wqp] {
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
}

.nav-group-btn[b-uutl8o7wqp] {
    font-weight: 500;
    color: var(--rg-text-secondary, #475569);
}

.nav-group-btn.expanded[b-uutl8o7wqp] {
    color: var(--rg-text-primary, #1e293b);
}

/* 🎯 Hoja navegable */
.nav-leaf:hover[b-uutl8o7wqp] {
    color: var(--rg-primary, #3b82f6);
    background: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.06);
}

.nav-leaf:hover .nav-leaf-dot[b-uutl8o7wqp] {
    background: var(--rg-primary, #3b82f6);
    box-shadow: 0 0 6px rgba(var(--rg-primary-rgb, 59, 130, 246), 0.4);
}

.nav-leaf-dot[b-uutl8o7wqp] {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rg-text-faint, #d1d5db);
    flex-shrink: 0;
    transition: all 0.2s ease;
}

/* ============================================================
   👤 SIDEBAR FOOTER — Perfil usuario
   ============================================================ */

.sidebar-footer[b-uutl8o7wqp] {
    flex-shrink: 0;
    border-top: 1px solid var(--rg-border, #eef0f4);
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: var(--rg-bg-footer, #fafbfc);
}

.sidebar-user-info[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.5rem;
    border-radius: 10px;
    background: var(--rg-bg-card, #ffffff);
    border: 1px solid var(--rg-border, #eef0f4);
}

.sidebar-user-avatar[b-uutl8o7wqp],
.sidebar-user-avatar-sm[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--rg-gradient, linear-gradient(135deg, #1e3a8a, #3b82f6));
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
    letter-spacing: 0.05em;
}

.sidebar-user-avatar-sm[b-uutl8o7wqp] {
    margin: 0 auto;
}

.sidebar-user-details[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sidebar-user-name[b-uutl8o7wqp] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.sidebar-user-role[b-uutl8o7wqp] {
    font-size: 0.675rem;
    color: var(--rg-text-faint, #94a3b8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

/* 🔧 Boton colapsar */
.sidebar-toggle[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.4375rem;
    border: none;
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-faint, #94a3b8);
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 8px;
    width: 100%;
}

.sidebar-toggle:hover[b-uutl8o7wqp] {
    background: var(--rg-border, #e2e8f0);
    color: var(--rg-text-secondary, #475569);
}

.sidebar-toggle i[b-uutl8o7wqp] {
    font-size: 0.8rem;
}

/* ============================================================
   📦 CONTENIDO PRINCIPAL
   ============================================================ */

.app-main[b-uutl8o7wqp] {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--rg-bg-page, #f4f6fa);
    overflow: hidden;
}

/* ============================================================
   🔝 HEADER — Barra superior cristal
   ============================================================ */

.app-header[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 1.5rem;
    height: 60px;
    min-height: 60px;
    background: var(--rg-bg-header, rgba(255, 255, 255, 0.92));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--rg-border, #eef0f4);
    z-index: 50;
    flex-shrink: 0;
}

.header-menu-btn[b-uutl8o7wqp] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: none;
    background: transparent;
    color: var(--rg-text-secondary, #475569);
    font-size: 1.3rem;
    cursor: pointer;
    border-radius: 10px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.header-menu-btn:hover[b-uutl8o7wqp] {
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-primary, #3b82f6);
}

/* 🏢 Info empresa */
.header-company-info[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
    position: relative;
}

.header-company-info.switchable[b-uutl8o7wqp] {
    cursor: pointer;
    padding: 0.35rem 0.5rem;
    border-radius: 0.5rem;
    transition: all 0.15s;
}

.header-company-info.switchable:hover[b-uutl8o7wqp] {
    background: var(--rg-bg-hover, #f1f5f9);
}

.header-company-chevron[b-uutl8o7wqp] {
    font-size: 0.6rem;
    color: var(--rg-text-muted, #94a3b8);
    transition: transform 0.2s;
    margin-left: 0.25rem;
}

.header-company-chevron.open[b-uutl8o7wqp] {
    transform: rotate(180deg);
}

.header-company-icon[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--rg-gradient-soft, linear-gradient(135deg, #eff6ff, #dbeafe));
    color: var(--rg-primary, #3b82f6);
    font-size: 0.9375rem;
    flex-shrink: 0;
}

.header-company-text[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.header-company-name[b-uutl8o7wqp] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.header-company-branch[b-uutl8o7wqp] {
    font-size: 0.7rem;
    color: var(--rg-text-muted, #64748b);
    display: flex;
    align-items: center;
    gap: 0.25rem;
    line-height: 1.3;
}

.header-company-branch i[b-uutl8o7wqp] {
    font-size: 0.6rem;
    color: var(--rg-primary, #3b82f6);
}

.header-spacer[b-uutl8o7wqp] { flex: 1; }

/* 📱 Boton WhatsApp en header */
.header-wa-btn[b-uutl8o7wqp] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(37, 211, 102, 0.1);
    color: #25d366;
    font-size: 1.15rem;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-left: 0.5rem;
}

.header-wa-btn:hover[b-uutl8o7wqp] {
    background: rgba(37, 211, 102, 0.2);
    transform: scale(1.08);
}

.header-wa-btn.online[b-uutl8o7wqp] {
    background: #25d366;
    color: #fff;
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.35);
}

.header-wa-btn.online:hover[b-uutl8o7wqp] {
    background: #1fb855;
    box-shadow: 0 3px 12px rgba(37, 211, 102, 0.45);
}

.header-wa-dot[b-uutl8o7wqp] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #25d366;
    border: 2px solid var(--rg-bg-header, #fff);
    animation: waPulse-b-uutl8o7wqp 2s ease-in-out infinite;
}

.header-wa-btn.online .header-wa-dot[b-uutl8o7wqp] {
    background: #fff;
    border-color: #25d366;
}

@keyframes waPulse-b-uutl8o7wqp {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* 📦 Secciones header */
.header-section[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    padding: 0 0.625rem;
    position: relative;
}

.header-section + .header-section[b-uutl8o7wqp]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 22px;
    background: var(--rg-border, #e2e8f0);
}

/* 🎨 Temas */
.header-themes[b-uutl8o7wqp] { gap: 0.3125rem; }

.theme-dot[b-uutl8o7wqp] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--dot-color);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    flex-shrink: 0;
}

.theme-dot:hover[b-uutl8o7wqp] { transform: scale(1.3); }

.theme-dot.active[b-uutl8o7wqp] {
    border-color: var(--dot-color);
    background: transparent;
    box-shadow: inset 0 0 0 4px var(--dot-color);
    transform: scale(1.15);
}

/* 🌐 Idioma */
.header-lang[b-uutl8o7wqp] { gap: 0.25rem; }

.lang-btn[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 2px solid transparent;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.05rem;
    transition: all 0.2s ease;
    padding: 0;
}

.lang-btn:hover[b-uutl8o7wqp] { background: var(--rg-bg-subtle, #f1f5f9); }

.lang-btn.active[b-uutl8o7wqp] {
    background: var(--rg-primary-light, #eff6ff);
    border-color: var(--rg-primary, #3b82f6);
}

/* 👤 Usuario */
.header-user-section[b-uutl8o7wqp] { gap: 0.5rem; }

.header-user-pill[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.1875rem;
    padding-right: 0.75rem;
    background: var(--rg-bg-hover, #f8fafc);
    border-radius: 999px;
    border: 1px solid var(--rg-border, #eef0f4);
}

.header-user-avatar[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rg-gradient, linear-gradient(135deg, #1e3a8a, #3b82f6));
    color: #ffffff;
    font-size: 0.625rem;
    font-weight: 700;
    flex-shrink: 0;
    letter-spacing: 0.05em;
}

.header-user-name[b-uutl8o7wqp] {
    font-size: 0.7875rem;
    font-weight: 500;
    color: var(--rg-text-secondary, #334155);
    white-space: nowrap;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.header-logout[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--rg-text-faint, #94a3b8);
    font-size: 1rem;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.header-logout:hover[b-uutl8o7wqp] {
    background: #fef2f2;
    color: #ef4444;
}

/* ============================================================
   🌙 DARK MODE TOGGLE — Boton sol/luna
   ============================================================ */

.header-dark-toggle[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 2px solid transparent;
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-muted, #64748b);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.header-dark-toggle:hover[b-uutl8o7wqp] {
    background: var(--rg-bg-hover, #e2e8f0);
    color: var(--rg-primary, #3b82f6);
    transform: rotate(15deg);
}

.header-dark-toggle.active[b-uutl8o7wqp] {
    background: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.12);
    color: var(--rg-primary, #3b82f6);
    border-color: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.2);
}

/* ============================================================
   📄 AREA DE CONTENIDO
   ============================================================ */

.app-content[b-uutl8o7wqp] {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
    overflow-x: hidden;
}

/* ============================================================
   📱 OVERLAY
   ============================================================ */

.sidebar-overlay[b-uutl8o7wqp] {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 90;
    backdrop-filter: blur(4px);
    animation: overlayIn-b-uutl8o7wqp 0.25s ease;
}

@keyframes overlayIn-b-uutl8o7wqp {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ============================================================
   🎬 ANIMACIONES
   ============================================================ */

[b-uutl8o7wqp] .rg-fade-in { animation: rgFadeIn-b-uutl8o7wqp 0.3s ease; }
[b-uutl8o7wqp] .rg-slide-up { animation: rgSlideUp-b-uutl8o7wqp 0.4s cubic-bezier(0.4, 0, 0.2, 1); }

@keyframes rgFadeIn-b-uutl8o7wqp { from { opacity: 0; } to { opacity: 1; } }
@keyframes rgSlideUp-b-uutl8o7wqp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   📱 RESPONSIVE — Tablet
   ============================================================ */

@media (max-width: 1024px) {
    .app-layout[b-uutl8o7wqp] { grid-template-columns: 240px 1fr; }
    .app-layout.sidebar-collapsed[b-uutl8o7wqp] { grid-template-columns: 72px 1fr; }
    .header-company-branch[b-uutl8o7wqp] { display: none; }
    .header-user-name[b-uutl8o7wqp] { display: none; }
    .header-user-pill[b-uutl8o7wqp] { padding-right: 0.1875rem; }
}

/* ============================================================
   🏢 Company Switcher Dropdown
   ============================================================ */

.company-switcher-backdrop[b-uutl8o7wqp] {
    position: fixed;
    inset: 0;
    z-index: 90;
}

.company-switcher-dropdown[b-uutl8o7wqp] {
    position: absolute;
    top: calc(100% + 4px);
    left: 60px;
    width: 340px;
    max-height: 400px;
    overflow-y: auto;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.75rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    z-index: 100;
    animation: dropIn-b-uutl8o7wqp 0.15s ease-out;
}

@keyframes dropIn-b-uutl8o7wqp {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.company-switcher-header[b-uutl8o7wqp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--rg-text-muted, #94a3b8);
}

.company-switcher-count[b-uutl8o7wqp] {
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.company-switcher-item[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    color: inherit;
    transition: all 0.15s;
    border-left: 3px solid transparent;
}

.company-switcher-item:hover:not(:disabled)[b-uutl8o7wqp] {
    background: var(--rg-bg-hover, #f8fafc);
}

.company-switcher-item.current[b-uutl8o7wqp] {
    background: rgba(79, 70, 229, 0.04);
    border-left-color: var(--rg-accent, #4f46e5);
    cursor: default;
}

.company-switcher-item:disabled[b-uutl8o7wqp] {
    opacity: 0.7;
}

.company-switcher-item-icon[b-uutl8o7wqp] {
    width: 32px;
    height: 32px;
    border-radius: 0.5rem;
    background: var(--rg-bg-hover, #f1f5f9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: var(--rg-text-muted, #94a3b8);
    flex-shrink: 0;
}

.company-switcher-item.current .company-switcher-item-icon[b-uutl8o7wqp] {
    background: rgba(79, 70, 229, 0.1);
    color: var(--rg-accent, #4f46e5);
}

.company-switcher-item-info[b-uutl8o7wqp] {
    flex: 1;
    min-width: 0;
}

.company-switcher-item-name[b-uutl8o7wqp] {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.company-switcher-item-branch[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.68rem;
    color: var(--rg-text-muted, #94a3b8);
}

.company-switcher-item-branch i[b-uutl8o7wqp] {
    font-size: 0.55rem;
}

.company-switcher-current-badge[b-uutl8o7wqp] {
    font-size: 0.6rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
    background: rgba(79, 70, 229, 0.1);
    color: var(--rg-accent, #4f46e5);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}

.company-switcher-loading[b-uutl8o7wqp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
    border-top: 1px solid var(--rg-border, #e2e8f0);
}

/* ============================================================
   📱 RESPONSIVE — Movil (drawer)
   ============================================================ */

@media (max-width: 768px) {
    .app-layout[b-uutl8o7wqp] { grid-template-columns: 1fr; }
    .app-layout.sidebar-collapsed[b-uutl8o7wqp] { grid-template-columns: 1fr; }

    .app-sidebar[b-uutl8o7wqp] {
        position: fixed;
        left: -320px;
        top: 0;
        width: 310px;
        height: 100vh;
        z-index: 200;
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: none;
    }

    .app-layout.sidebar-mobile-open .app-sidebar[b-uutl8o7wqp] {
        left: 0;
        box-shadow: 8px 0 32px rgba(0, 0, 0, 0.15);
    }

    .app-layout.sidebar-mobile-open .sidebar-overlay[b-uutl8o7wqp] { display: block; }
    .app-main[b-uutl8o7wqp] { grid-column: 1; }
    .header-menu-btn[b-uutl8o7wqp] { display: flex; }
    .sidebar-toggle[b-uutl8o7wqp] { display: none; }
    .header-themes[b-uutl8o7wqp] { display: none; }
    .app-content[b-uutl8o7wqp] { padding: 1rem; }
    .app-header[b-uutl8o7wqp] { padding: 0 0.75rem; gap: 0.5rem; }
    .header-section[b-uutl8o7wqp]::before { display: none !important; }
    .header-lang[b-uutl8o7wqp] { padding: 0 0.25rem; }
    .header-user-section[b-uutl8o7wqp] { padding: 0; }
}

@media (max-width: 480px) {
    .header-lang[b-uutl8o7wqp] { display: none; }
    .header-company-text[b-uutl8o7wqp] { display: none; }
    .app-content[b-uutl8o7wqp] { padding: 0.75rem; }
}

/* ============================================================
   ⏳ CONTENT LOADING — Spinner mientras se restaura la sesion
   ============================================================ */

.content-loading[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 40vh;
    gap: 1rem;
    color: var(--rg-text-muted);
    font-size: 0.9rem;
}

.content-loading-spinner[b-uutl8o7wqp] {
    width: 36px;
    height: 36px;
    border: 3px solid var(--rg-border);
    border-top-color: var(--rg-accent);
    border-radius: 50%;
    animation: content-spin-b-uutl8o7wqp 0.7s linear infinite;
}

@keyframes content-spin-b-uutl8o7wqp {
    to { transform: rotate(360deg); }
}

/* ── Acceso Denegado ───────────────────────────────── */
.access-denied[b-uutl8o7wqp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    gap: 0.75rem;
    animation: slideUp-b-uutl8o7wqp 0.3s ease-out;
}
@keyframes slideUp-b-uutl8o7wqp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.access-denied-icon[b-uutl8o7wqp] {
    font-size: 3.5rem;
    color: var(--rg-danger, #dc2626);
    margin-bottom: 0.5rem;
}
.access-denied h2[b-uutl8o7wqp] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0;
}
.access-denied p[b-uutl8o7wqp] {
    font-size: 0.9rem;
    color: var(--rg-text-secondary, #475569);
    margin: 0;
}
.access-denied-hint[b-uutl8o7wqp] {
    font-size: 0.8rem;
    color: var(--rg-text-muted, #94a3b8);
}
/* _content/Rgclouds.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-6vkvhi97q2] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-6vkvhi97q2] {
    flex: 1;
}

.sidebar[b-6vkvhi97q2] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-6vkvhi97q2] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-6vkvhi97q2]  a, .top-row[b-6vkvhi97q2]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-6vkvhi97q2]  a:hover, .top-row[b-6vkvhi97q2]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-6vkvhi97q2]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-6vkvhi97q2] {
        justify-content: space-between;
    }

    .top-row[b-6vkvhi97q2]  a, .top-row[b-6vkvhi97q2]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-6vkvhi97q2] {
        flex-direction: row;
    }

    .sidebar[b-6vkvhi97q2] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-6vkvhi97q2] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-6vkvhi97q2]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-6vkvhi97q2], article[b-6vkvhi97q2] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-6vkvhi97q2] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-6vkvhi97q2] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/Rgclouds.Web/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-b9cyswqrvy] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-b9cyswqrvy] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-b9cyswqrvy] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-b9cyswqrvy] {
    font-size: 1.1rem;
}

.bi[b-b9cyswqrvy] {
    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-b9cyswqrvy] {
    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-b9cyswqrvy] {
    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-b9cyswqrvy] {
    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-b9cyswqrvy] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-b9cyswqrvy] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-b9cyswqrvy] {
        padding-bottom: 1rem;
    }

    .nav-item[b-b9cyswqrvy]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-b9cyswqrvy]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-b9cyswqrvy]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-b9cyswqrvy] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-b9cyswqrvy] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-b9cyswqrvy] {
        display: none;
    }

    .nav-scrollable[b-b9cyswqrvy] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/Rgclouds.Web/Components/Layout/PwaInstallBanner.razor.rz.scp.css */
/* ============================================================
   📱 PwaInstallBanner.razor.css — Banner PWA instalacion
   ============================================================ */

.pwa-banner[b-ki1bvbm0xc] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
    padding: 0.875rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    safe-area-inset-bottom: env(safe-area-inset-bottom, 0);
    padding-bottom: calc(0.875rem + env(safe-area-inset-bottom, 0px));
}

.pwa-slide-in[b-ki1bvbm0xc] {
    animation: pwaSlideIn-b-ki1bvbm0xc 0.35s ease-out;
}

.pwa-slide-out[b-ki1bvbm0xc] {
    animation: pwaSlideOut-b-ki1bvbm0xc 0.3s ease-in forwards;
}

@keyframes pwaSlideIn-b-ki1bvbm0xc {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes pwaSlideOut-b-ki1bvbm0xc {
    from { transform: translateY(0); opacity: 1; }
    to { transform: translateY(100%); opacity: 0; }
}

.pwa-banner-content[b-ki1bvbm0xc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.pwa-banner-icon[b-ki1bvbm0xc] {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.pwa-banner-icon img[b-ki1bvbm0xc] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pwa-banner-text[b-ki1bvbm0xc] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pwa-banner-text strong[b-ki1bvbm0xc] {
    font-size: 0.9rem;
    color: #1e293b;
    line-height: 1.2;
}

.pwa-banner-text span[b-ki1bvbm0xc] {
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.3;
}

.pwa-banner-actions[b-ki1bvbm0xc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.pwa-btn-install[b-ki1bvbm0xc] {
    background: var(--rg-primary, #0B8AD9);
    color: white;
    border: none;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    transition: background 0.2s, transform 0.15s;
    white-space: nowrap;
}

.pwa-btn-install:hover[b-ki1bvbm0xc] {
    background: var(--rg-primary-dark, #0974b8);
}

.pwa-btn-install:active[b-ki1bvbm0xc] {
    transform: scale(0.96);
}

.pwa-btn-dismiss[b-ki1bvbm0xc] {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 1.1rem;
    padding: 0.35rem;
    cursor: pointer;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
}

.pwa-btn-dismiss:hover[b-ki1bvbm0xc] {
    color: #475569;
    background: #f1f5f9;
}

/* En pantallas muy pequeñas, apretar más */
@media (max-width: 360px) {
    .pwa-banner-text span[b-ki1bvbm0xc] {
        display: none;
    }

    .pwa-btn-install[b-ki1bvbm0xc] {
        padding: 0.45rem 0.75rem;
        font-size: 0.8rem;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Auditoria/AuditViewer.razor.rz.scp.css */
/* ============================================================
   AuditViewer.razor.css — Visor de auditoria + logs + resumen
   ✅ Usa SOLO tokens --rg-* (dark mode automatico)
   ✅ Sigue el patron de Frmclientes.razor.css
   ============================================================ */

/* ── Base CRUD (scoped — copiado del design system) ──── */
.crud-container[b-c9belvm8fx] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-c9belvm8fx 0.3s ease-out; }
@keyframes slideUp-b-c9belvm8fx { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.rg-slide-up[b-c9belvm8fx] { animation: slideUp-b-c9belvm8fx 0.3s ease-out; }

.crud-header[b-c9belvm8fx] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-c9belvm8fx] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-c9belvm8fx] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-c9belvm8fx] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-c9belvm8fx] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-c9belvm8fx] { display: flex; gap: 0.5rem; }

.btn-crud[b-c9belvm8fx] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-c9belvm8fx] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-c9belvm8fx] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-c9belvm8fx] { filter: brightness(1.1); }
.btn-outline[b-c9belvm8fx] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-c9belvm8fx] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-c9belvm8fx] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-c9belvm8fx] { filter: brightness(1.1); }

.crud-alert[b-c9belvm8fx] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-c9belvm8fx] { background: rgba(34, 197, 94, 0.1); color: #065f46; border: 1px solid rgba(34, 197, 94, 0.3); }
.crud-alert.error[b-c9belvm8fx] { background: rgba(239, 68, 68, 0.1); color: #991b1b; border: 1px solid rgba(239, 68, 68, 0.3); }
[data-mode="dark"] .crud-alert.success[b-c9belvm8fx] { color: #86efac; }
[data-mode="dark"] .crud-alert.error[b-c9belvm8fx] { color: #fca5a5; }
.crud-alert-close[b-c9belvm8fx] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

.crud-grid-wrapper[b-c9belvm8fx] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 320px); }
.crud-table[b-c9belvm8fx] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-c9belvm8fx] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-c9belvm8fx] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-c9belvm8fx] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-c9belvm8fx] { background: var(--rg-bg-hover, #f8fafc); }

.crud-tabs[b-c9belvm8fx] { display: flex; gap: 0.25rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; overflow-x: auto; }
.crud-tab[b-c9belvm8fx] { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.65rem 1.1rem; border: none; background: transparent; color: var(--rg-text-secondary, #475569); font-size: 0.82rem; font-weight: 600; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.15s; white-space: nowrap; }
.crud-tab:hover[b-c9belvm8fx] { color: var(--rg-accent, #4f46e5); background: var(--rg-bg-hover, #f8fafc); }
.crud-tab.active[b-c9belvm8fx] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }
.crud-tab i[b-c9belvm8fx] { font-size: 1rem; }
.crud-tab-badge[b-c9belvm8fx] { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.25rem; padding: 0 0.4rem; border-radius: 999px; background: var(--rg-border-light, #f1f5f9); color: var(--rg-text-secondary, #475569); font-size: 0.68rem; font-weight: 700; }
.crud-tab.active .crud-tab-badge[b-c9belvm8fx] { background: var(--rg-accent, #4f46e5); color: #fff; }

.font-mono[b-c9belvm8fx] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.crud-loading[b-c9belvm8fx], .crud-empty-state[b-c9belvm8fx] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-c9belvm8fx] { font-size: 2rem; }
.crud-spinner[b-c9belvm8fx] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-c9belvm8fx 0.6s linear infinite; }
@keyframes spin-b-c9belvm8fx { to { transform: rotate(360deg); } }
.spin[b-c9belvm8fx] { animation: spin-b-c9belvm8fx 0.8s linear infinite; }

@media (max-width: 768px) {
    .crud-container[b-c9belvm8fx] { padding: 0.75rem; }
    .crud-header[b-c9belvm8fx] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-c9belvm8fx] { display: none; }
}

/* ── Barra de contexto (Empresa / Sucursal / BD) ────── */
.audit-context-bar[b-c9belvm8fx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.audit-context-item[b-c9belvm8fx] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.audit-context-item i[b-c9belvm8fx] {
    color: var(--rg-accent, #4f46e5);
    font-size: 0.9rem;
}

.audit-context-label[b-c9belvm8fx] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rg-text-muted, #94a3b8);
}

.audit-context-value[b-c9belvm8fx] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
}

.audit-context-sep[b-c9belvm8fx] {
    width: 1px;
    height: 1.25rem;
    background: var(--rg-border, #e2e8f0);
}

@media (max-width: 640px) {
    .audit-context-bar[b-c9belvm8fx] { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
    .audit-context-sep[b-c9belvm8fx] { display: none; }
}

/* ── Filtros ─────────────────────────────────────────── */
.audit-filters[b-c9belvm8fx] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    padding: 0.75rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border: 1px solid var(--rg-border, #eef0f4);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
}

.audit-filter[b-c9belvm8fx] {
    display: flex;
    flex-direction: column;
    min-width: 130px;
}

.audit-filter-wide[b-c9belvm8fx] {
    flex: 1;
    min-width: 200px;
}

.audit-filter label[b-c9belvm8fx] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--rg-text-muted, #64748b);
    margin-bottom: 4px;
}

.audit-filter input[b-c9belvm8fx],
.audit-filter select[b-c9belvm8fx] {
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--rg-border, #eef0f4);
    border-radius: 0.375rem;
    font-size: 0.82rem;
    background: var(--rg-bg-input, #ffffff);
    color: var(--rg-text-primary, #1e293b);
}

.audit-filter input:focus[b-c9belvm8fx],
.audit-filter select:focus[b-c9belvm8fx] {
    outline: none;
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 3px rgba(var(--rg-primary-rgb, 79 70 229) / 0.15);
}

/* ── Filtros rapidos ─────────────────────────────────── */
.audit-quick-filters[b-c9belvm8fx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
}

.audit-quick[b-c9belvm8fx] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--rg-border, #eef0f4);
    background: var(--rg-bg-card, #ffffff);
    color: var(--rg-text-secondary, #475569);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.audit-quick:hover[b-c9belvm8fx] {
    border-color: var(--rg-accent, #4f46e5);
    color: var(--rg-accent, #4f46e5);
    background: var(--rg-bg-hover, #f8fafc);
}

.audit-quick.active[b-c9belvm8fx] {
    background: var(--rg-accent, #4f46e5);
    border-color: var(--rg-accent, #4f46e5);
    color: #ffffff;
}

.audit-quick-danger[b-c9belvm8fx] {
    border-color: rgba(239, 68, 68, 0.4);
    color: #dc2626;
}

.audit-quick-danger:hover[b-c9belvm8fx] {
    background: rgba(239, 68, 68, 0.06);
    border-color: #ef4444;
    color: #b91c1c;
}

.audit-quick-danger.active[b-c9belvm8fx] {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

[data-mode="dark"] .audit-quick-danger[b-c9belvm8fx] {
    color: #fca5a5;
    border-color: rgba(220, 38, 38, 0.5);
}

[data-mode="dark"] .audit-quick-danger:hover[b-c9belvm8fx] {
    background: rgba(220, 38, 38, 0.12);
}

/* ── Tabla: valores truncados ────────────────────────── */
.audit-val[b-c9belvm8fx] {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.76rem;
}

/* ── Accion badges ───────────────────────────────────── */
.audit-accion[b-c9belvm8fx] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.audit-accion-insert[b-c9belvm8fx] { background: rgba(34, 197, 94, 0.15); color: #16a34a; }
.audit-accion-update[b-c9belvm8fx] { background: rgba(59, 130, 246, 0.15); color: #2563eb; }
.audit-accion-delete[b-c9belvm8fx] { background: rgba(239, 68, 68, 0.15); color: #dc2626; }
.audit-accion-error[b-c9belvm8fx]  { background: rgba(239, 68, 68, 0.15); color: #dc2626; border: 1px solid rgba(239, 68, 68, 0.3); }
.audit-accion-ok[b-c9belvm8fx]     { background: rgba(34, 197, 94, 0.15); color: #16a34a; }

[data-mode="dark"] .audit-accion-insert[b-c9belvm8fx] { background: rgba(34, 197, 94, 0.18); color: #86efac; }
[data-mode="dark"] .audit-accion-update[b-c9belvm8fx] { background: rgba(59, 130, 246, 0.18); color: #93c5fd; }
[data-mode="dark"] .audit-accion-delete[b-c9belvm8fx] { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }
[data-mode="dark"] .audit-accion-error[b-c9belvm8fx]  { background: rgba(220, 38, 38, 0.22); color: #fecaca; border-color: rgba(220, 38, 38, 0.5); }
[data-mode="dark"] .audit-accion-ok[b-c9belvm8fx]     { background: rgba(34, 197, 94, 0.18); color: #bbf7d0; }

/* ── 🔴 Filas de error ──────────────────────────────── */
.audit-table tbody tr.audit-row-error td[b-c9belvm8fx] {
    background: rgba(239, 68, 68, 0.06);
}

.audit-table tbody tr.audit-row-error:hover td[b-c9belvm8fx] {
    background: rgba(239, 68, 68, 0.12);
}

.audit-table tbody tr.audit-row-error td:first-child[b-c9belvm8fx] {
    box-shadow: inset 3px 0 0 0 #dc2626;
}

[data-mode="dark"] .audit-table tbody tr.audit-row-error td[b-c9belvm8fx] {
    background: rgba(220, 38, 38, 0.12);
}

[data-mode="dark"] .audit-table tbody tr.audit-row-error:hover td[b-c9belvm8fx] {
    background: rgba(220, 38, 38, 0.22);
}

/* ── Paginacion ──────────────────────────────────────── */
.audit-pager[b-c9belvm8fx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.75rem;
    color: var(--rg-text-muted, #64748b);
    font-size: 0.82rem;
}

/* ── Detalle inline (expand de fila) ─────────────────── */
.audit-row[b-c9belvm8fx] { cursor: pointer; }

.audit-row-detail > td[b-c9belvm8fx] {
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    padding: 1rem 1.25rem;
    border-bottom: 2px solid var(--rg-border, #eef0f4);
}

[data-mode="dark"] .audit-row-detail > td[b-c9belvm8fx] {
    background: #0d1117;
    color: #e5e7eb;
}

.audit-row-detail-error > td[b-c9belvm8fx] {
    border-left: 4px solid #dc2626;
}

[data-mode="dark"] .audit-row-detail-error > td[b-c9belvm8fx] {
    background: #120808;
}

.audit-detail-inline[b-c9belvm8fx] {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.audit-detail-grid[b-c9belvm8fx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.625rem 1.25rem;
}

.audit-detail-grid > div[b-c9belvm8fx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.audit-detail-grid label[b-c9belvm8fx] {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rg-text-muted, #64748b);
}

.audit-detail-grid span[b-c9belvm8fx] {
    font-size: 0.82rem;
    color: var(--rg-text-primary, #1e293b);
    word-break: break-word;
}

[data-mode="dark"] .audit-detail-grid label[b-c9belvm8fx] { color: #64748b; }
[data-mode="dark"] .audit-detail-grid span[b-c9belvm8fx]  { color: #e5e7eb; }

.audit-detail-section label[b-c9belvm8fx] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rg-text-muted, #64748b);
    margin-bottom: 0.375rem;
}

[data-mode="dark"] .audit-detail-section label[b-c9belvm8fx] { color: #64748b; }

/* ── JSON blocks (audit + logs) ──────────────────────── */
.audit-json[b-c9belvm8fx] {
    margin: 0;
    background: var(--rg-bg-input, #ffffff);
    color: var(--rg-text-primary, #1e293b);
    padding: 0.625rem 0.75rem;
    border-radius: 0.375rem;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.76rem;
    white-space: pre-wrap;
    word-break: break-all;
    max-height: 360px;
    overflow: auto;
    border: 1px solid var(--rg-border, #eef0f4);
}

[data-mode="dark"] .audit-json[b-c9belvm8fx] {
    background: rgba(0, 0, 0, 0.4);
    color: #93c5fd;
    border-color: rgba(255, 255, 255, 0.08);
}

.audit-json.audit-json-replay[b-c9belvm8fx] {
    border-left: 3px solid #10b981;
}

[data-mode="dark"] .audit-json.audit-json-replay[b-c9belvm8fx] {
    color: #6ee7b7;
    border-color: rgba(52, 211, 153, 0.5);
}

.audit-json.audit-json-error[b-c9belvm8fx] {
    border-left: 3px solid #dc2626;
}

[data-mode="dark"] .audit-json.audit-json-error[b-c9belvm8fx] {
    background: rgba(220, 38, 38, 0.1);
    color: #fecaca;
}

/* ── Logs ────────────────────────────────────────────── */
.log-row[b-c9belvm8fx] { cursor: pointer; }

.log-row-detail > td[b-c9belvm8fx] {
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    padding: 0.75rem 1rem;
}

[data-mode="dark"] .log-row-detail > td[b-c9belvm8fx] {
    background: #0d1117;
    color: #e5e7eb;
}

.log-json[b-c9belvm8fx] {
    margin: 0;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.76rem;
    white-space: pre-wrap;
    word-break: break-all;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-input, #ffffff);
    padding: 0.625rem 0.75rem;
    border-radius: 0.375rem;
    max-height: 360px;
    overflow: auto;
    border: 1px solid var(--rg-border, #eef0f4);
}

[data-mode="dark"] .log-json[b-c9belvm8fx] {
    background: rgba(0, 0, 0, 0.4);
    color: #93c5fd;
    border-color: rgba(255, 255, 255, 0.08);
}

.log-mensaje[b-c9belvm8fx] {
    white-space: pre-wrap;
    word-break: break-word;
}

[data-mode="dark"] .log-mensaje[b-c9belvm8fx] { color: #fde68a; }

.log-detail-inline[b-c9belvm8fx] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.log-detail-meta[b-c9belvm8fx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    font-size: 0.78rem;
    color: var(--rg-text-secondary, #475569);
}

.log-detail-meta strong[b-c9belvm8fx] {
    font-weight: 600;
    color: var(--rg-text-muted, #64748b);
}

.log-detail-section label[b-c9belvm8fx] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rg-text-muted, #64748b);
    margin-bottom: 0.375rem;
}

.log-level[b-c9belvm8fx] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.log-level-leve[b-c9belvm8fx]        { background: var(--rg-bg-subtle, #f1f5f9); color: var(--rg-text-secondary, #475569); }
.log-level-alto[b-c9belvm8fx]        { background: rgba(245, 158, 11, 0.15); color: #d97706; }
.log-level-prioritario[b-c9belvm8fx] { background: rgba(239, 68, 68, 0.15); color: #dc2626; }

[data-mode="dark"] .log-level-leve[b-c9belvm8fx]        { background: rgba(148, 163, 184, 0.12); color: #94a3b8; }
[data-mode="dark"] .log-level-alto[b-c9belvm8fx]        { background: rgba(245, 158, 11, 0.18); color: #fbbf24; }
[data-mode="dark"] .log-level-prioritario[b-c9belvm8fx] { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }

.log-app[b-c9belvm8fx] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.log-app-api[b-c9belvm8fx] { background: rgba(139, 92, 246, 0.12); color: #7c3aed; }
.log-app-web[b-c9belvm8fx] { background: rgba(6, 182, 212, 0.12); color: #0891b2; }

[data-mode="dark"] .log-app-api[b-c9belvm8fx] { background: rgba(139, 92, 246, 0.18); color: #c4b5fd; }
[data-mode="dark"] .log-app-web[b-c9belvm8fx] { background: rgba(6, 182, 212, 0.18); color: #67e8f9; }

/* ── Resumen (dashboard cards) ───────────────────────── */
.audit-summary[b-c9belvm8fx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0.875rem;
}

.audit-card[b-c9belvm8fx] {
    background: var(--rg-bg-card, #ffffff);
    border: 1px solid var(--rg-border, #eef0f4);
    border-radius: 0.625rem;
    overflow: hidden;
    box-shadow: var(--rg-shadow-sm, 0 1px 3px rgba(0,0,0,0.04));
}

.audit-card-head[b-c9belvm8fx] {
    padding: 0.625rem 0.875rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border-bottom: 1px solid var(--rg-border, #eef0f4);
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.audit-card-body[b-c9belvm8fx] { padding: 0.875rem; }

.audit-card-empty[b-c9belvm8fx] {
    color: var(--rg-text-muted, #64748b);
    font-style: italic;
    text-align: center;
    padding: 1.25rem 0;
}

.audit-big-num[b-c9belvm8fx] {
    font-size: 2rem;
    font-weight: 800;
    color: var(--rg-accent, #4f46e5);
    line-height: 1;
}

.audit-small-muted[b-c9belvm8fx] {
    font-size: 0.76rem;
    color: var(--rg-text-muted, #64748b);
    margin-top: 4px;
}

.audit-rank[b-c9belvm8fx] {
    display: flex;
    justify-content: space-between;
    padding: 0.375rem 0;
    border-bottom: 1px dashed var(--rg-border-light, #f1f5f9);
    font-size: 0.82rem;
}

.audit-rank:last-child[b-c9belvm8fx] { border-bottom: none; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 768px) {
    .audit-filters[b-c9belvm8fx] {
        flex-direction: column;
        align-items: stretch;
    }

    .audit-filter[b-c9belvm8fx],
    .audit-filter-wide[b-c9belvm8fx] {
        min-width: 0;
    }

    .audit-quick-filters[b-c9belvm8fx] {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .audit-summary[b-c9belvm8fx] {
        grid-template-columns: 1fr;
    }

    .audit-detail-grid[b-c9belvm8fx] {
        grid-template-columns: 1fr;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Clientes/Frmall_grupo_empresa.razor.rz.scp.css */
/* Grupo Empresa CRUD */
.crud-container[b-trgub12gar] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-trgub12gar 0.3s ease-out; }
@keyframes slideUp-b-trgub12gar { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-trgub12gar] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-trgub12gar] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-trgub12gar] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-trgub12gar] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-trgub12gar] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-trgub12gar] { display: flex; gap: 0.5rem; }
.btn-crud[b-trgub12gar] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-trgub12gar] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-trgub12gar] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-trgub12gar] { filter: brightness(1.1); }
.btn-outline[b-trgub12gar] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-trgub12gar] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-trgub12gar] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-trgub12gar] { filter: brightness(1.1); }
.btn-icon[b-trgub12gar] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-trgub12gar] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-trgub12gar] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-trgub12gar] { color: #ef4444; }
.btn-delete:hover[b-trgub12gar] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-trgub12gar] { padding: 0.5rem 0.65rem; }
.crud-alert[b-trgub12gar] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-trgub12gar] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-trgub12gar] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-trgub12gar] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-search-bar[b-trgub12gar] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-trgub12gar] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-trgub12gar] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-trgub12gar] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-trgub12gar] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }
.crud-grid-wrapper[b-trgub12gar] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-trgub12gar] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-trgub12gar] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-trgub12gar] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-trgub12gar] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-trgub12gar] { background: var(--rg-bg-hover, #f8fafc); }
.col-id[b-trgub12gar] { width: 120px; }
.col-actions[b-trgub12gar] { width: 80px; text-align: center; white-space: nowrap; }
.crud-cards-wrapper[b-trgub12gar] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-trgub12gar] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-trgub12gar] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-trgub12gar] { display: flex; justify-content: space-between; align-items: center; }
.card-id[b-trgub12gar] { font-size: 0.9rem; font-weight: 700; color: var(--rg-accent, #4f46e5); }
.card-title[b-trgub12gar] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-trgub12gar] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }
.show-on-grid[b-trgub12gar] { display: block; } .hide-on-cards[b-trgub12gar] { display: none !important; } .show-on-cards[b-trgub12gar] { display: grid; } .hide-on-grid[b-trgub12gar] { display: none !important; }
.font-mono[b-trgub12gar] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-trgub12gar] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.crud-loading[b-trgub12gar], .crud-empty-state[b-trgub12gar] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-trgub12gar] { font-size: 2rem; }
.crud-spinner[b-trgub12gar] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-trgub12gar 0.6s linear infinite; }
.crud-spinner-sm[b-trgub12gar] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-trgub12gar 0.6s linear infinite; }
@keyframes spin-b-trgub12gar { to { transform: rotate(360deg); } }
.spin[b-trgub12gar] { animation: spin-b-trgub12gar 0.8s linear infinite; }
.modal-backdrop[b-trgub12gar] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-trgub12gar 0.15s ease-out; }
.modal-container[b-trgub12gar] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-trgub12gar] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 500px; max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-trgub12gar 0.2s ease-out; }
.modal-sm[b-trgub12gar] { max-width: 420px; }
@keyframes fadeIn-b-trgub12gar { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-trgub12gar { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-trgub12gar] { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); }
.modal-header h2[b-trgub12gar] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-trgub12gar] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-trgub12gar] { color: #dc2626; }
.modal-close[b-trgub12gar] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-trgub12gar] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-trgub12gar] { padding: 1.25rem; }
.modal-footer[b-trgub12gar] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.75rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); }
.form-row[b-trgub12gar] { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
.form-group[b-trgub12gar] { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.form-group label[b-trgub12gar] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-trgub12gar] { padding: 0.5rem 0.625rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-trgub12gar] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-trgub12gar] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }

/* ---- Tabs ---- */
.crud-tabs[b-trgub12gar] { display: flex; gap: 0.25rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; overflow-x: auto; }
.crud-tab[b-trgub12gar] { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.65rem 1.1rem; border: none; background: transparent; color: var(--rg-text-secondary, #475569); font-size: 0.82rem; font-weight: 600; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.15s; white-space: nowrap; }
.crud-tab:hover[b-trgub12gar] { color: var(--rg-accent, #4f46e5); background: var(--rg-bg-hover, #f8fafc); }
.crud-tab.active[b-trgub12gar] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }
.crud-tab i[b-trgub12gar] { font-size: 1rem; }
.crud-tab-badge[b-trgub12gar] { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.25rem; padding: 0 0.4rem; border-radius: 999px; background: var(--rg-border-light, #f1f5f9); color: var(--rg-text-secondary, #475569); font-size: 0.68rem; font-weight: 700; }
.crud-tab.active .crud-tab-badge[b-trgub12gar] { background: var(--rg-accent, #4f46e5); color: #fff; }

@media (max-width: 768px) {
    .crud-container[b-trgub12gar] { padding: 0.75rem; } .crud-header[b-trgub12gar] { flex-direction: column; align-items: flex-start; } .btn-text[b-trgub12gar] { display: none; }
    .form-row[b-trgub12gar] { flex-direction: column; } .modal-dialog[b-trgub12gar] { width: 98%; max-height: 90vh; }
    .crud-grid-wrapper.show-on-grid[b-trgub12gar] { display: none !important; } .crud-cards-wrapper.hide-on-grid[b-trgub12gar] { display: grid !important; }
    .crud-cards-wrapper[b-trgub12gar] { grid-template-columns: 1fr; }
}
/* _content/Rgclouds.Web/Components/Pages/Clientes/Frmall_tipo_ncf.razor.rz.scp.css */
/* Grupo Empresa CRUD */
.crud-container[b-ynfrpoqv3d] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-ynfrpoqv3d 0.3s ease-out; }
@keyframes slideUp-b-ynfrpoqv3d { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-ynfrpoqv3d] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-ynfrpoqv3d] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-ynfrpoqv3d] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-ynfrpoqv3d] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-ynfrpoqv3d] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-ynfrpoqv3d] { display: flex; gap: 0.5rem; }
.btn-crud[b-ynfrpoqv3d] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-ynfrpoqv3d] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-ynfrpoqv3d] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-ynfrpoqv3d] { filter: brightness(1.1); }
.btn-outline[b-ynfrpoqv3d] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-ynfrpoqv3d] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-ynfrpoqv3d] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-ynfrpoqv3d] { filter: brightness(1.1); }
.btn-icon[b-ynfrpoqv3d] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-ynfrpoqv3d] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-ynfrpoqv3d] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-ynfrpoqv3d] { color: #ef4444; }
.btn-delete:hover[b-ynfrpoqv3d] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-ynfrpoqv3d] { padding: 0.5rem 0.65rem; }
.crud-alert[b-ynfrpoqv3d] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-ynfrpoqv3d] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-ynfrpoqv3d] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-ynfrpoqv3d] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-search-bar[b-ynfrpoqv3d] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-ynfrpoqv3d] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-ynfrpoqv3d] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-ynfrpoqv3d] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-ynfrpoqv3d] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }
.crud-grid-wrapper[b-ynfrpoqv3d] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-ynfrpoqv3d] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-ynfrpoqv3d] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-ynfrpoqv3d] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-ynfrpoqv3d] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-ynfrpoqv3d] { background: var(--rg-bg-hover, #f8fafc); }
.col-id[b-ynfrpoqv3d] { width: 120px; }
.col-actions[b-ynfrpoqv3d] { width: 80px; text-align: center; white-space: nowrap; }
.crud-cards-wrapper[b-ynfrpoqv3d] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-ynfrpoqv3d] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-ynfrpoqv3d] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-ynfrpoqv3d] { display: flex; justify-content: space-between; align-items: center; }
.card-id[b-ynfrpoqv3d] { font-size: 0.9rem; font-weight: 700; color: var(--rg-accent, #4f46e5); }
.card-title[b-ynfrpoqv3d] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-ynfrpoqv3d] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }
.show-on-grid[b-ynfrpoqv3d] { display: block; } .hide-on-cards[b-ynfrpoqv3d] { display: none !important; } .show-on-cards[b-ynfrpoqv3d] { display: grid; } .hide-on-grid[b-ynfrpoqv3d] { display: none !important; }
.font-mono[b-ynfrpoqv3d] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-ynfrpoqv3d] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.crud-loading[b-ynfrpoqv3d], .crud-empty-state[b-ynfrpoqv3d] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-ynfrpoqv3d] { font-size: 2rem; }
.crud-spinner[b-ynfrpoqv3d] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-ynfrpoqv3d 0.6s linear infinite; }
.crud-spinner-sm[b-ynfrpoqv3d] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-ynfrpoqv3d 0.6s linear infinite; }
@keyframes spin-b-ynfrpoqv3d { to { transform: rotate(360deg); } }
.spin[b-ynfrpoqv3d] { animation: spin-b-ynfrpoqv3d 0.8s linear infinite; }
.modal-backdrop[b-ynfrpoqv3d] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-ynfrpoqv3d 0.15s ease-out; }
.modal-container[b-ynfrpoqv3d] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-ynfrpoqv3d] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 500px; max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-ynfrpoqv3d 0.2s ease-out; }
.modal-sm[b-ynfrpoqv3d] { max-width: 420px; }
@keyframes fadeIn-b-ynfrpoqv3d { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-ynfrpoqv3d { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-ynfrpoqv3d] { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); }
.modal-header h2[b-ynfrpoqv3d] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-ynfrpoqv3d] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-ynfrpoqv3d] { color: #dc2626; }
.modal-close[b-ynfrpoqv3d] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-ynfrpoqv3d] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-ynfrpoqv3d] { padding: 1.25rem; }
.modal-footer[b-ynfrpoqv3d] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.75rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); }
.form-row[b-ynfrpoqv3d] { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
.form-group[b-ynfrpoqv3d] { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.form-group label[b-ynfrpoqv3d] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-ynfrpoqv3d] { padding: 0.5rem 0.625rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-ynfrpoqv3d] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-ynfrpoqv3d] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
@media (max-width: 768px) {
    .crud-container[b-ynfrpoqv3d] { padding: 0.75rem; } .crud-header[b-ynfrpoqv3d] { flex-direction: column; align-items: flex-start; } .btn-text[b-ynfrpoqv3d] { display: none; }
    .form-row[b-ynfrpoqv3d] { flex-direction: column; } .modal-dialog[b-ynfrpoqv3d] { width: 98%; max-height: 90vh; }
    .crud-grid-wrapper.show-on-grid[b-ynfrpoqv3d] { display: none !important; } .crud-cards-wrapper.hide-on-grid[b-ynfrpoqv3d] { display: grid !important; }
    .crud-cards-wrapper[b-ynfrpoqv3d] { grid-template-columns: 1fr; }
}
/* _content/Rgclouds.Web/Components/Pages/Clientes/Frmciudad_y_zona.razor.rz.scp.css */
/* Grupo Empresa CRUD */
.crud-container[b-z7zi6uajep] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-z7zi6uajep 0.3s ease-out; }
@keyframes slideUp-b-z7zi6uajep { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-z7zi6uajep] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-z7zi6uajep] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-z7zi6uajep] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-z7zi6uajep] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-z7zi6uajep] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-z7zi6uajep] { display: flex; gap: 0.5rem; }
.btn-crud[b-z7zi6uajep] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-z7zi6uajep] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-z7zi6uajep] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-z7zi6uajep] { filter: brightness(1.1); }
.btn-outline[b-z7zi6uajep] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-z7zi6uajep] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-z7zi6uajep] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-z7zi6uajep] { filter: brightness(1.1); }
.btn-icon[b-z7zi6uajep] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-z7zi6uajep] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-z7zi6uajep] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-z7zi6uajep] { color: #ef4444; }
.btn-delete:hover[b-z7zi6uajep] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-z7zi6uajep] { padding: 0.5rem 0.65rem; }
.crud-alert[b-z7zi6uajep] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-z7zi6uajep] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-z7zi6uajep] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-z7zi6uajep] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-search-bar[b-z7zi6uajep] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-z7zi6uajep] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-z7zi6uajep] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-z7zi6uajep] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-z7zi6uajep] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }
.crud-grid-wrapper[b-z7zi6uajep] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-z7zi6uajep] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-z7zi6uajep] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-z7zi6uajep] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-z7zi6uajep] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-z7zi6uajep] { background: var(--rg-bg-hover, #f8fafc); }
.col-id[b-z7zi6uajep] { width: 120px; }
.col-actions[b-z7zi6uajep] { width: 80px; text-align: center; white-space: nowrap; }
.crud-cards-wrapper[b-z7zi6uajep] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-z7zi6uajep] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-z7zi6uajep] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-z7zi6uajep] { display: flex; justify-content: space-between; align-items: center; }
.card-id[b-z7zi6uajep] { font-size: 0.9rem; font-weight: 700; color: var(--rg-accent, #4f46e5); }
.card-title[b-z7zi6uajep] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-z7zi6uajep] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }
.show-on-grid[b-z7zi6uajep] { display: block; } .hide-on-cards[b-z7zi6uajep] { display: none !important; } .show-on-cards[b-z7zi6uajep] { display: grid; } .hide-on-grid[b-z7zi6uajep] { display: none !important; }
.font-mono[b-z7zi6uajep] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-z7zi6uajep] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.crud-loading[b-z7zi6uajep], .crud-empty-state[b-z7zi6uajep] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-z7zi6uajep] { font-size: 2rem; }
.crud-spinner[b-z7zi6uajep] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-z7zi6uajep 0.6s linear infinite; }
.crud-spinner-sm[b-z7zi6uajep] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-z7zi6uajep 0.6s linear infinite; }
@keyframes spin-b-z7zi6uajep { to { transform: rotate(360deg); } }
.spin[b-z7zi6uajep] { animation: spin-b-z7zi6uajep 0.8s linear infinite; }
.modal-backdrop[b-z7zi6uajep] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-z7zi6uajep 0.15s ease-out; }
.modal-container[b-z7zi6uajep] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-z7zi6uajep] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 500px; max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-z7zi6uajep 0.2s ease-out; }
.modal-sm[b-z7zi6uajep] { max-width: 420px; }
@keyframes fadeIn-b-z7zi6uajep { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-z7zi6uajep { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-z7zi6uajep] { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); }
.modal-header h2[b-z7zi6uajep] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-z7zi6uajep] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-z7zi6uajep] { color: #dc2626; }
.modal-close[b-z7zi6uajep] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-z7zi6uajep] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-z7zi6uajep] { padding: 1.25rem; }
.modal-footer[b-z7zi6uajep] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.75rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); }
.form-row[b-z7zi6uajep] { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
.form-group[b-z7zi6uajep] { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.form-group label[b-z7zi6uajep] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-z7zi6uajep] { padding: 0.5rem 0.625rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-z7zi6uajep] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-z7zi6uajep] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
@media (max-width: 768px) {
    .crud-container[b-z7zi6uajep] { padding: 0.75rem; } .crud-header[b-z7zi6uajep] { flex-direction: column; align-items: flex-start; } .btn-text[b-z7zi6uajep] { display: none; }
    .form-row[b-z7zi6uajep] { flex-direction: column; } .modal-dialog[b-z7zi6uajep] { width: 98%; max-height: 90vh; }
    .crud-grid-wrapper.show-on-grid[b-z7zi6uajep] { display: none !important; } .crud-cards-wrapper.hide-on-grid[b-z7zi6uajep] { display: grid !important; }
    .crud-cards-wrapper[b-z7zi6uajep] { grid-template-columns: 1fr; }
}
/* _content/Rgclouds.Web/Components/Pages/Clientes/Frmclientes.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-x4gm2gr9sy] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-x4gm2gr9sy 0.3s ease-out; }
@keyframes slideUp-b-x4gm2gr9sy { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-x4gm2gr9sy] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-x4gm2gr9sy] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-x4gm2gr9sy] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-x4gm2gr9sy] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-x4gm2gr9sy] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-x4gm2gr9sy] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-x4gm2gr9sy] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-x4gm2gr9sy] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-x4gm2gr9sy] { filter: brightness(1.1); }
.btn-outline[b-x4gm2gr9sy] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-x4gm2gr9sy] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-x4gm2gr9sy] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-x4gm2gr9sy] { filter: brightness(1.1); }
.btn-icon[b-x4gm2gr9sy] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-x4gm2gr9sy] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-x4gm2gr9sy] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-x4gm2gr9sy] { color: #ef4444; }
.btn-delete:hover[b-x4gm2gr9sy] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-x4gm2gr9sy] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-x4gm2gr9sy] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-x4gm2gr9sy] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-x4gm2gr9sy] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-x4gm2gr9sy] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-x4gm2gr9sy] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-x4gm2gr9sy] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-x4gm2gr9sy] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-x4gm2gr9sy] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-x4gm2gr9sy] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-x4gm2gr9sy] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-x4gm2gr9sy] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-x4gm2gr9sy] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-x4gm2gr9sy] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-x4gm2gr9sy] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-x4gm2gr9sy] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-x4gm2gr9sy] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-x4gm2gr9sy] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-x4gm2gr9sy] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-x4gm2gr9sy] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-x4gm2gr9sy] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-x4gm2gr9sy] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-x4gm2gr9sy] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-x4gm2gr9sy] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-x4gm2gr9sy] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-x4gm2gr9sy] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-x4gm2gr9sy] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-x4gm2gr9sy] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-x4gm2gr9sy] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-x4gm2gr9sy] { display: block; }
.hide-on-cards[b-x4gm2gr9sy] { display: none !important; }
.show-on-cards[b-x4gm2gr9sy] { display: grid; }
.hide-on-grid[b-x4gm2gr9sy] { display: none !important; }

/* Badges */
.badge[b-x4gm2gr9sy] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-x4gm2gr9sy] { background: #ecfdf5; color: #065f46; }
.badge-no[b-x4gm2gr9sy] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-x4gm2gr9sy] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-x4gm2gr9sy] { text-align: center; }
.text-muted[b-x4gm2gr9sy] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-x4gm2gr9sy], .crud-empty-state[b-x4gm2gr9sy] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-x4gm2gr9sy] { font-size: 2rem; }
.crud-spinner[b-x4gm2gr9sy] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-x4gm2gr9sy 0.6s linear infinite; }
.crud-spinner-sm[b-x4gm2gr9sy] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-x4gm2gr9sy 0.6s linear infinite; }
@keyframes spin-b-x4gm2gr9sy { to { transform: rotate(360deg); } }
.spin[b-x4gm2gr9sy] { animation: spin-b-x4gm2gr9sy 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-x4gm2gr9sy] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-x4gm2gr9sy 0.15s ease-out; }
.modal-container[b-x4gm2gr9sy] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-x4gm2gr9sy] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-x4gm2gr9sy 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-x4gm2gr9sy] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-x4gm2gr9sy] { max-width: 420px; }
@keyframes fadeIn-b-x4gm2gr9sy { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-x4gm2gr9sy { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-x4gm2gr9sy] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-x4gm2gr9sy] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-x4gm2gr9sy] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-x4gm2gr9sy] { color: #dc2626; }
.modal-close[b-x4gm2gr9sy] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-x4gm2gr9sy] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-x4gm2gr9sy] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-x4gm2gr9sy] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-x4gm2gr9sy] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-x4gm2gr9sy] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-x4gm2gr9sy] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-x4gm2gr9sy] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-x4gm2gr9sy] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-x4gm2gr9sy] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-x4gm2gr9sy] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-x4gm2gr9sy] { flex: 2; }
.form-group label[b-x4gm2gr9sy] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-x4gm2gr9sy], .form-group select[b-x4gm2gr9sy], .form-textarea[b-x4gm2gr9sy] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-x4gm2gr9sy], .form-group select:focus[b-x4gm2gr9sy], .form-textarea:focus[b-x4gm2gr9sy] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-x4gm2gr9sy] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-x4gm2gr9sy] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-x4gm2gr9sy] { flex: 1; display: flex; align-items: center; }
.form-check[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-x4gm2gr9sy] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-x4gm2gr9sy] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-x4gm2gr9sy] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-x4gm2gr9sy] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-x4gm2gr9sy] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-x4gm2gr9sy] { font-size: 3rem; }
.photo-placeholder span[b-x4gm2gr9sy] { font-size: 0.78rem; }
.photo-actions[b-x4gm2gr9sy] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-x4gm2gr9sy] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-x4gm2gr9sy] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-x4gm2gr9sy] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-x4gm2gr9sy] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-x4gm2gr9sy] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-x4gm2gr9sy] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-x4gm2gr9sy] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-x4gm2gr9sy] { filter: brightness(1.15); transform: scale(1.05); }
[b-x4gm2gr9sy] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-x4gm2gr9sy] { padding: 0.75rem; }
    .crud-header[b-x4gm2gr9sy] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-x4gm2gr9sy] { font-size: 1.1rem; }
    .btn-text[b-x4gm2gr9sy] { display: none; }
    .form-row[b-x4gm2gr9sy] { flex-direction: column; }
    .form-row-4[b-x4gm2gr9sy] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-x4gm2gr9sy] { width: 98%; max-height: 95vh; }
    .modal-lg[b-x4gm2gr9sy] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-x4gm2gr9sy] { padding: 0.75rem; }
    .modal-tabs[b-x4gm2gr9sy] { overflow-x: auto; }
    .modal-tab[b-x4gm2gr9sy] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-x4gm2gr9sy] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-x4gm2gr9sy] { display: grid !important; }
    .crud-cards-wrapper[b-x4gm2gr9sy] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-x4gm2gr9sy] { grid-template-columns: 1fr; }
    .card-details[b-x4gm2gr9sy] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Cobros/FrmReporteGestionCobros.razor.rz.scp.css */
/* ============================================================
   FrmReporteGestionCobros.razor.css
   Reporte Gestión de Cobros — Antigüedad CxC
   Usa únicamente tokens --rg-* para soporte dark/light
   ============================================================ */

.gc-container[b-sthdeckc2u] {
    padding: 1.25rem;
    max-width: 100%;
    animation: gcSlideUp-b-sthdeckc2u 0.3s ease-out;
}
@keyframes gcSlideUp-b-sthdeckc2u {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Header ──────────────────────────────────────────────── */
.gc-header[b-sthdeckc2u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.gc-header-left[b-sthdeckc2u] { display: flex; align-items: center; gap: 0.75rem; }
.gc-header-icon[b-sthdeckc2u] { font-size: 1.75rem; color: var(--rg-accent); }
.gc-title[b-sthdeckc2u]       { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary); margin: 0; }
.gc-subtitle[b-sthdeckc2u]    { font-size: 0.75rem; color: var(--rg-text-muted); }
.gc-header-actions[b-sthdeckc2u] { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* ── Alert reutilizado ───────────────────────────────────── */
.crud-alert[b-sthdeckc2u] { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert > span[b-sthdeckc2u] { white-space: pre-line; line-height: 1.45; flex: 1; }
.crud-alert-success[b-sthdeckc2u] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert-error[b-sthdeckc2u]   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-sthdeckc2u]   { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert-success[b-sthdeckc2u] { background: rgba(34,197,94,0.12);  color: #86efac; border-color: rgba(34,197,94,0.25); }
[data-mode="dark"] .crud-alert-error[b-sthdeckc2u]   { background: rgba(239,68,68,0.12);  color: #fca5a5; border-color: rgba(239,68,68,0.25); }

/* ── Botones ─────────────────────────────────────────────── */
.btn-crud[b-sthdeckc2u] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-sthdeckc2u] { opacity: 0.6; cursor: not-allowed; }
.btn-crud.btn-sm[b-sthdeckc2u]   { padding: 0.3rem 0.65rem; font-size: 0.74rem; }
.btn-primary[b-sthdeckc2u]  { background: var(--rg-accent); color: #fff; }
.btn-primary:hover:not(:disabled)[b-sthdeckc2u] { filter: brightness(1.1); }
.btn-outline[b-sthdeckc2u]  { background: transparent; color: var(--rg-text-secondary); border: 1px solid var(--rg-border); }
.btn-outline:hover:not(:disabled)[b-sthdeckc2u] { background: var(--rg-bg-hover); }
.btn-danger[b-sthdeckc2u]   { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-sthdeckc2u] { filter: brightness(1.1); }

/* ── Panel filtros (acordeón) ────────────────────────────── */
.gc-filters-panel[b-sthdeckc2u] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

/* Cabecera clickeable */
.gc-filters-toggle[b-sthdeckc2u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 1rem;
    cursor: pointer;
    user-select: none;
    gap: 0.5rem;
    transition: background 0.15s;
}
.gc-filters-toggle:hover[b-sthdeckc2u] { background: var(--rg-bg-hover); }

.gc-filters-toggle-left[b-sthdeckc2u] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}
.gc-filters-icon[b-sthdeckc2u]    { color: var(--rg-accent); font-size: 0.85rem; }
.gc-filters-label[b-sthdeckc2u]   { font-size: 0.8rem; font-weight: 700; color: var(--rg-text-primary); white-space: nowrap; }
.gc-filters-summary[b-sthdeckc2u] {
    font-size: 0.74rem;
    color: var(--rg-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gc-filters-chevron[b-sthdeckc2u] { color: var(--rg-text-muted); font-size: 0.75rem; flex-shrink: 0; transition: transform 0.2s; }

/* Cuerpo colapsable */
.gc-filters-body[b-sthdeckc2u] {
    max-height: 200px;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.2s ease, padding 0.2s ease;
    opacity: 1;
    padding: 0 1rem 0.75rem;
    border-top: 1px solid var(--rg-border);
}
.gc-filters-collapsed[b-sthdeckc2u] {
    max-height: 0 !important;
    opacity: 0;
    padding-bottom: 0;
    border-top-color: transparent;
}

.gc-filters-row[b-sthdeckc2u] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: 0.65rem;
}
.gc-filter-group[b-sthdeckc2u] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 160px;
}
.gc-filter-group label[b-sthdeckc2u] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.gc-input[b-sthdeckc2u] {
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 0.375rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.82rem;
    outline: none;
    transition: border-color 0.15s;
}
.gc-input:focus[b-sthdeckc2u] { border-color: var(--rg-accent); box-shadow: 0 0 0 3px rgba(79,70,229,0.12); }
.gc-filter-actions[b-sthdeckc2u] { display: flex; gap: 0.5rem; padding-bottom: 0; }

/* ── Tabs ────────────────────────────────────────────────── */
.gc-tabs[b-sthdeckc2u] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 2px solid var(--rg-border);
    margin-bottom: 0.75rem;
}
.gc-tab[b-sthdeckc2u] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--rg-text-secondary);
    cursor: pointer;
    transition: all 0.15s;
    border-radius: 0.375rem 0.375rem 0 0;
}
.gc-tab:hover[b-sthdeckc2u] { background: var(--rg-bg-hover); color: var(--rg-text-primary); }
.gc-tab.active[b-sthdeckc2u] {
    color: var(--rg-accent);
    border-bottom-color: var(--rg-accent);
    font-weight: 700;
}

/* ── Loading / Empty ────────────────────────────────────── */
.gc-loading[b-sthdeckc2u], .gc-empty[b-sthdeckc2u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 0.75rem;
    color: var(--rg-text-muted);
}
.gc-empty i[b-sthdeckc2u] { font-size: 2rem; }
.gc-spinner[b-sthdeckc2u] {
    width: 2rem; height: 2rem;
    border: 3px solid var(--rg-border);
    border-top-color: var(--rg-accent);
    border-radius: 50%;
    animation: gcSpin-b-sthdeckc2u 0.6s linear infinite;
}
@keyframes gcSpin-b-sthdeckc2u { to { transform: rotate(360deg); } }
.spin[b-sthdeckc2u] { animation: gcSpin-b-sthdeckc2u 0.8s linear infinite; display: inline-block; }

/* ── Toolbar agrupación ─────────────────────────────────── */
.gc-group-toolbar[b-sthdeckc2u] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}
.gc-group-label[b-sthdeckc2u] { font-size: 0.78rem; font-weight: 600; color: var(--rg-text-secondary); }
.gc-select-group[b-sthdeckc2u] {
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 0.375rem;
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
    outline: none;
    cursor: pointer;
}
.gc-expand-btns[b-sthdeckc2u] { display: flex; gap: 0.25rem; }
.gc-count-badge[b-sthdeckc2u] {
    margin-left: auto;
    font-size: 0.72rem;
    color: var(--rg-text-muted);
    background: var(--rg-bg-subtle);
    border: 1px solid var(--rg-border);
    border-radius: 1rem;
    padding: 0.1rem 0.6rem;
}

/* ── Grid wrapper ───────────────────────────────────────── */
.gc-grid-wrapper[b-sthdeckc2u] {
    border: 1px solid var(--rg-border);
    border-radius: 0.5rem;
    overflow: auto;
    background: var(--rg-bg-card);
    max-height: calc(100vh - 320px);
}
.gc-pivot-wrapper[b-sthdeckc2u] { max-height: calc(100vh - 280px); }

/* ── Tabla ──────────────────────────────────────────────── */
.gc-table[b-sthdeckc2u] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.77rem;
}
.gc-table thead[b-sthdeckc2u] {
    position: sticky;
    top: 0;
    z-index: 2;
}
.gc-table th[b-sthdeckc2u] {
    background: var(--rg-bg-subtle);
    color: var(--rg-text-secondary);
    font-weight: 600;
    text-align: left;
    padding: 0.55rem 0.7rem;
    border-bottom: 2px solid var(--rg-border);
    white-space: nowrap;
    font-size: 0.71rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.gc-table tfoot[b-sthdeckc2u] { position: sticky; bottom: 0; z-index: 2; }
.gc-table td[b-sthdeckc2u] {
    padding: 0.42rem 0.7rem;
    border-bottom: 1px solid var(--rg-border);
    color: var(--rg-text-primary);
    vertical-align: middle;
}
.num-col[b-sthdeckc2u]    { text-align: right;  font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.75rem; }
.text-right[b-sthdeckc2u] { text-align: right; }
.text-center[b-sthdeckc2u] { text-align: center; }
.font-mono[b-sthdeckc2u]  { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.73rem; }

/* th con clase num-col/text-center override el text-align:left del th base */
.gc-table th.num-col[b-sthdeckc2u]    { text-align: right;  }
.gc-table th.text-center[b-sthdeckc2u] { text-align: center; }

/* ── Filas especiales ───────────────────────────────────── */
.gc-row-sucursal[b-sthdeckc2u] {
    background: rgba(30, 58, 92, 0.12);
    cursor: pointer;
    user-select: none;
}
.gc-row-sucursal:hover[b-sthdeckc2u] { background: rgba(30, 58, 92, 0.2); }
.gc-row-sucursal td[b-sthdeckc2u] { padding: 0.45rem 0.7rem; color: var(--rg-text-primary); border-bottom: 1px solid var(--rg-border); }
[data-mode="dark"] .gc-row-sucursal[b-sthdeckc2u] { background: rgba(79,107,177,0.2); }
[data-mode="dark"] .gc-row-sucursal:hover[b-sthdeckc2u] { background: rgba(79,107,177,0.32); }

.gc-row-group[b-sthdeckc2u] {
    background: var(--rg-bg-subtle);
    cursor: pointer;
    user-select: none;
}
.gc-row-group:hover[b-sthdeckc2u] { background: var(--rg-bg-hover); }
.gc-row-group td[b-sthdeckc2u] { padding: 0.38rem 0.7rem; border-bottom: 1px solid var(--rg-border); color: var(--rg-text-primary); }

.gc-row-detail:hover td[b-sthdeckc2u] { background: var(--rg-bg-hover); }
.gc-row-detail td[b-sthdeckc2u] { transition: background 0.1s; }

.gc-row-subtotal[b-sthdeckc2u] {
    background: var(--rg-bg-subtle);
    font-size: 0.74rem;
}
.gc-row-subtotal td[b-sthdeckc2u] { padding: 0.3rem 0.7rem; border-bottom: 2px solid var(--rg-border); color: var(--rg-text-secondary); }

.gc-row-grand-total[b-sthdeckc2u] {
    background: rgba(30, 58, 92, 0.08);
}
.gc-row-grand-total td[b-sthdeckc2u] { padding: 0.5rem 0.7rem; border-top: 2px solid var(--rg-border); color: var(--rg-text-primary); }
[data-mode="dark"] .gc-row-grand-total[b-sthdeckc2u] { background: rgba(79,107,177,0.15); }

/* ── Chevron ────────────────────────────────────────────── */
.gc-chevron-cell[b-sthdeckc2u] { width: 30px; color: var(--rg-text-muted); }

/* ── Balance col coloreada ──────────────────────────────── */
.gc-balance-col[b-sthdeckc2u] { color: var(--rg-accent); font-weight: 600; }

/* ── Días vencidos ──────────────────────────────────────── */
.gc-dias-col[b-sthdeckc2u] { color: #ef4444; }
[data-mode="dark"] .gc-dias-col[b-sthdeckc2u] { color: #fca5a5; }

/* ── Sub-total inline (cuando colapsado) ────────────────── */
.gc-inline-subtotal[b-sthdeckc2u] { color: var(--rg-text-secondary); font-size: 0.74rem; white-space: nowrap; }

/* ── Badge de reg count ─────────────────────────────────── */
.gc-reg-badge[b-sthdeckc2u] {
    display: inline-block;
    background: rgba(79,70,229,0.1);
    color: var(--rg-accent);
    border: 1px solid rgba(79,70,229,0.2);
    border-radius: 1rem;
    padding: 0 0.4rem;
    font-size: 0.68rem;
    font-weight: 700;
    margin-left: 0.25rem;
}
[data-mode="dark"] .gc-reg-badge[b-sthdeckc2u] { background: rgba(129,140,248,0.15); color: #818cf8; }

/* ── Pivot table ────────────────────────────────────────── */
.gc-pivot-table th.gc-th-aging[b-sthdeckc2u] {
    background: rgba(30, 58, 92, 0.15);
    color: var(--rg-text-primary);
    font-size: 0.75rem;
    text-transform: none;
    letter-spacing: 0;
    border-bottom: 1px solid var(--rg-border);
}
[data-mode="dark"] .gc-pivot-table th.gc-th-aging[b-sthdeckc2u] { background: rgba(79,107,177,0.25); }
.gc-th-bucket[b-sthdeckc2u] { white-space: nowrap; min-width: 75px; }
.gc-th-total[b-sthdeckc2u]  { min-width: 90px; }
.gc-cell-empty[b-sthdeckc2u] { color: var(--rg-text-muted); font-size: 0.7rem; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px) {
    .gc-container[b-sthdeckc2u] { padding: 0.75rem; }
    .gc-header[b-sthdeckc2u]    { flex-direction: column; align-items: flex-start; }
    .btn-text[b-sthdeckc2u]     { display: none; }
    .gc-filters-row[b-sthdeckc2u] { flex-direction: column; }
    .gc-filter-group[b-sthdeckc2u] { width: 100%; }
}
/* _content/Rgclouds.Web/Components/Pages/Colegio/Frmclgcobrorealizado.razor.rz.scp.css */
/* ============================================================
   Frmclgcobrorealizado.razor.css — Cobros Realizados (Colegio)
   ✅ Usa SOLO tokens --rg-* (dark mode automatico)
   ✅ Patron copiado de Frmclientes.razor.css
   ============================================================ */

/* ── Base CRUD (scoped) ─────────────────────────────── */
.crud-container[b-ye5ujl6j4x] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-ye5ujl6j4x 0.3s ease-out; }
@keyframes slideUp-b-ye5ujl6j4x { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.rg-slide-up[b-ye5ujl6j4x] { animation: slideUp-b-ye5ujl6j4x 0.3s ease-out; }

.crud-header[b-ye5ujl6j4x] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-ye5ujl6j4x] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-ye5ujl6j4x] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-ye5ujl6j4x] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-ye5ujl6j4x] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-ye5ujl6j4x] { display: flex; gap: 0.5rem; }

/* ── Botones ────────────────────────────────────────── */
.btn-crud[b-ye5ujl6j4x] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-ye5ujl6j4x] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-ye5ujl6j4x] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-ye5ujl6j4x] { filter: brightness(1.1); }
.btn-outline[b-ye5ujl6j4x] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-ye5ujl6j4x] { background: var(--rg-bg-hover, #f1f5f9); }

/* ── Barra de contexto (Empresa / Sucursal / BD) ──── */
.ctx-bar[b-ye5ujl6j4x] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.ctx-item[b-ye5ujl6j4x] { display: flex; align-items: center; gap: 0.4rem; }
.ctx-item i[b-ye5ujl6j4x] { color: var(--rg-accent, #4f46e5); font-size: 0.9rem; }
.ctx-label[b-ye5ujl6j4x] { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rg-text-muted, #94a3b8); }
.ctx-value[b-ye5ujl6j4x] { font-size: 0.82rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); }
.ctx-sep[b-ye5ujl6j4x] { width: 1px; height: 1.25rem; background: var(--rg-border, #e2e8f0); }

/* ── Filtros de fecha ───────────────────────────────── */
.filter-bar[b-ye5ujl6j4x] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.filter-group[b-ye5ujl6j4x] { display: flex; flex-direction: column; gap: 0.25rem; }
.filter-group label[b-ye5ujl6j4x] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rg-text-muted, #94a3b8);
}
.filter-group input[type="date"][b-ye5ujl6j4x] {
    background: var(--rg-bg-input, #fff);
    color: var(--rg-text-primary, #1e293b);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    padding: 0.4rem 0.6rem;
    font-size: 0.8rem;
}
.filter-group input[type="date"]:focus[b-ye5ujl6j4x] {
    border-color: var(--rg-accent, #4f46e5);
    outline: none;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

/* ── Resumen rapido ─────────────────────────────────── */
.summary-strip[b-ye5ujl6j4x] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.summary-chip[b-ye5ujl6j4x] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-secondary, #475569);
    border: 1px solid var(--rg-border, #e2e8f0);
}
.summary-chip.accent[b-ye5ujl6j4x] {
    background: rgba(79, 70, 229, 0.08);
    color: var(--rg-accent, #4f46e5);
    border-color: rgba(79, 70, 229, 0.2);
}
[data-mode="dark"] .summary-chip.accent[b-ye5ujl6j4x] {
    background: rgba(129, 120, 255, 0.12);
    color: #a5b4fc;
    border-color: rgba(129, 120, 255, 0.25);
}

/* ── Alerta ─────────────────────────────────────────── */
.crud-alert[b-ye5ujl6j4x] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-ye5ujl6j4x] { background: rgba(34, 197, 94, 0.1); color: #065f46; border: 1px solid rgba(34, 197, 94, 0.3); }
.crud-alert.error[b-ye5ujl6j4x] { background: rgba(239, 68, 68, 0.1); color: #991b1b; border: 1px solid rgba(239, 68, 68, 0.3); }
[data-mode="dark"] .crud-alert.success[b-ye5ujl6j4x] { color: #86efac; }
[data-mode="dark"] .crud-alert.error[b-ye5ujl6j4x] { color: #fca5a5; }
.crud-alert-close[b-ye5ujl6j4x] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* ── Busqueda local ─────────────────────────────────── */
.crud-search-bar[b-ye5ujl6j4x] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-ye5ujl6j4x] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-ye5ujl6j4x] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-ye5ujl6j4x] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-ye5ujl6j4x] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* ── Tabla ──────────────────────────────────────────── */
.crud-grid-wrapper[b-ye5ujl6j4x] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 380px); }
.crud-table[b-ye5ujl6j4x] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-ye5ujl6j4x] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-ye5ujl6j4x] {
    background: var(--rg-bg-sidebar, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    font-weight: 600;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    white-space: nowrap;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.crud-table td[b-ye5ujl6j4x] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    vertical-align: middle;
    white-space: nowrap;
}
.crud-table tbody tr:hover[b-ye5ujl6j4x] { background: var(--rg-bg-hover, #f8fafc); }
.col-row[b-ye5ujl6j4x] { width: 40px; text-align: center; color: var(--rg-text-muted, #94a3b8); }

/* ── Columnas especificas ──────────────────────────── */
.col-money[b-ye5ujl6j4x] { text-align: right; white-space: nowrap; }
.crud-table th.col-money[b-ye5ujl6j4x] { text-align: right; }
.col-cliente[b-ye5ujl6j4x] { font-weight: 600; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.col-concepto[b-ye5ujl6j4x] { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-danger[b-ye5ujl6j4x] { color: var(--rg-danger, #dc2626); }
[data-mode="dark"] .text-danger[b-ye5ujl6j4x] { color: #fca5a5; }

/* ── Fila de totales ───────────────────────────────── */
.totals-row[b-ye5ujl6j4x] {
    background: var(--rg-bg-subtle, #f1f5f9);
    font-weight: 700;
    border-top: 2px solid var(--rg-border, #e2e8f0);
}
.totals-row td[b-ye5ujl6j4x] { padding: 0.625rem 0.75rem; color: var(--rg-text-primary, #1e293b); }
.totals-label[b-ye5ujl6j4x] { text-align: right; text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.03em; color: var(--rg-text-secondary, #475569); }

/* ── Chip danger (mora) ────────────────────────────── */
.summary-chip.danger[b-ye5ujl6j4x] {
    background: rgba(239, 68, 68, 0.1);
    color: var(--rg-danger, #dc2626);
    border-color: rgba(239, 68, 68, 0.25);
}
[data-mode="dark"] .summary-chip.danger[b-ye5ujl6j4x] {
    background: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.3);
}

/* ── Tabs ──────────────────────────────────────────── */
.crud-tabs[b-ye5ujl6j4x] {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    margin-bottom: 1rem;
}
.crud-tab[b-ye5ujl6j4x] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.1rem;
    border: none;
    background: transparent;
    color: var(--rg-text-secondary, #475569);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.15s;
}
.crud-tab:hover[b-ye5ujl6j4x] { color: var(--rg-accent, #4f46e5); background: var(--rg-bg-hover, #f8fafc); }
.crud-tab.active[b-ye5ujl6j4x] {
    color: var(--rg-accent, #4f46e5);
    border-bottom-color: var(--rg-accent, #4f46e5);
}
.crud-tab-badge[b-ye5ujl6j4x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.2rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    background: var(--rg-bg-subtle, #f1f5f9);
    color: var(--rg-text-muted, #94a3b8);
}
.crud-tab.active .crud-tab-badge[b-ye5ujl6j4x] {
    background: rgba(79, 70, 229, 0.1);
    color: var(--rg-accent, #4f46e5);
}
[data-mode="dark"] .crud-tab.active .crud-tab-badge[b-ye5ujl6j4x] {
    background: rgba(129, 120, 255, 0.15);
    color: #a5b4fc;
}

/* ── Resumen sections ──────────────────────────────── */
.resumen-section[b-ye5ujl6j4x] {
    margin-bottom: 1.5rem;
}
.resumen-title[b-ye5ujl6j4x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0 0 0.75rem 0;
}
.resumen-title i[b-ye5ujl6j4x] {
    color: var(--rg-accent, #4f46e5);
    font-size: 1rem;
}

/* ── Cards grid (tipo doc) ─────────────────────────── */
.resumen-cards-grid[b-ye5ujl6j4x] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
}
.resumen-card[b-ye5ujl6j4x] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    padding: 0.85rem;
    transition: box-shadow 0.15s;
}
.resumen-card:hover[b-ye5ujl6j4x] {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
[data-mode="dark"] .resumen-card:hover[b-ye5ujl6j4x] {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.resumen-card-header[b-ye5ujl6j4x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}
.resumen-card-code[b-ye5ujl6j4x] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
}
.resumen-card-badge[b-ye5ujl6j4x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.25rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    background: rgba(79, 70, 229, 0.1);
    color: var(--rg-accent, #4f46e5);
}
[data-mode="dark"] .resumen-card-badge[b-ye5ujl6j4x] {
    background: rgba(129, 120, 255, 0.15);
    color: #a5b4fc;
}
.resumen-card-value[b-ye5ujl6j4x] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--rg-accent, #4f46e5);
    font-family: 'Cascadia Code', 'Fira Code', monospace;
}
[data-mode="dark"] .resumen-card-value[b-ye5ujl6j4x] {
    color: #a5b4fc;
}

/* ── NCF Badge ─────────────────────────────────────── */
.ncf-badge[b-ye5ujl6j4x] {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(79, 70, 229, 0.08);
    color: var(--rg-accent, #4f46e5);
    border: 1px solid rgba(79, 70, 229, 0.2);
}
[data-mode="dark"] .ncf-badge[b-ye5ujl6j4x] {
    background: rgba(129, 120, 255, 0.12);
    color: #a5b4fc;
    border-color: rgba(129, 120, 255, 0.25);
}

/* ── Chart bars (CSS-only horizontal) ──────────────── */
.chart-container[b-ye5ujl6j4x] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}
.chart-bars[b-ye5ujl6j4x] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.chart-bar-row[b-ye5ujl6j4x] {
    display: grid;
    grid-template-columns: 180px 1fr auto auto;
    align-items: center;
    gap: 0.6rem;
}
.chart-bar-label[b-ye5ujl6j4x] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.chart-bar-track[b-ye5ujl6j4x] {
    height: 1.25rem;
    background: var(--rg-bg-subtle, #f1f5f9);
    border-radius: 0.25rem;
    overflow: hidden;
}
.chart-bar-fill[b-ye5ujl6j4x] {
    height: 100%;
    background: var(--rg-accent, #4f46e5);
    border-radius: 0.25rem;
    min-width: 2px;
    transition: width 0.4s ease;
}
.chart-bar-fill.ncf[b-ye5ujl6j4x] {
    background: #0ea5e9;
}
[data-mode="dark"] .chart-bar-fill.ncf[b-ye5ujl6j4x] {
    background: #38bdf8;
}
.chart-bar-fill.doc[b-ye5ujl6j4x] {
    background: #f59e0b;
}
[data-mode="dark"] .chart-bar-fill.doc[b-ye5ujl6j4x] {
    background: #fbbf24;
}
.chart-bar-value[b-ye5ujl6j4x] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    white-space: nowrap;
    min-width: 80px;
    text-align: right;
}
.chart-bar-count[b-ye5ujl6j4x] {
    font-size: 0.7rem;
    color: var(--rg-text-muted, #94a3b8);
    min-width: 30px;
    text-align: center;
}

/* ── Utilidades ─────────────────────────────────────── */
.font-mono[b-ye5ujl6j4x] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-ye5ujl6j4x] { text-align: center; }
.text-right[b-ye5ujl6j4x] { text-align: right; }
.text-muted[b-ye5ujl6j4x] { color: var(--rg-text-muted, #94a3b8); }

/* ── Loading / Empty ────────────────────────────────── */
.crud-loading[b-ye5ujl6j4x], .crud-empty-state[b-ye5ujl6j4x] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-ye5ujl6j4x] { font-size: 2rem; }
.crud-spinner[b-ye5ujl6j4x] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-ye5ujl6j4x 0.6s linear infinite; }
@keyframes spin-b-ye5ujl6j4x { to { transform: rotate(360deg); } }
.spin[b-ye5ujl6j4x] { animation: spin-b-ye5ujl6j4x 0.8s linear infinite; }

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 768px) {
    .crud-container[b-ye5ujl6j4x] { padding: 0.75rem; }
    .crud-header[b-ye5ujl6j4x] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-ye5ujl6j4x] { display: none; }
    .filter-bar[b-ye5ujl6j4x] { flex-direction: column; }
    .ctx-bar[b-ye5ujl6j4x] { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
    .ctx-sep[b-ye5ujl6j4x] { display: none; }
    .crud-tabs[b-ye5ujl6j4x] { overflow-x: auto; }
    .crud-tab[b-ye5ujl6j4x] { padding: 0.5rem 0.75rem; font-size: 0.75rem; white-space: nowrap; }
    .resumen-cards-grid[b-ye5ujl6j4x] { grid-template-columns: 1fr 1fr; }
    .chart-bar-row[b-ye5ujl6j4x] { grid-template-columns: 100px 1fr auto auto; gap: 0.35rem; }
    .chart-bar-label[b-ye5ujl6j4x] { font-size: 0.7rem; }
}
@media (max-width: 480px) {
    .resumen-cards-grid[b-ye5ujl6j4x] { grid-template-columns: 1fr; }
    .chart-bar-row[b-ye5ujl6j4x] { grid-template-columns: 80px 1fr auto; }
    .chart-bar-count[b-ye5ujl6j4x] { display: none; }
}
/* _content/Rgclouds.Web/Components/Pages/Colegio/Frmclg_familias.razor.rz.scp.css */
/* ============================================================
   👨‍👩‍👧 Frmclg_familias — Gestión de Familias
   Estilo base: Frmclientes (grid + modal) + Frmsolicitudpr (tabs)
   100% tokens --rg-* · Dark mode compliant · Responsive iPhone
   NOTA: Duplicamos los estilos base porque Blazor usa CSS scoped
         por componente (no se heredan entre .razor.css).
   ============================================================ */

/* ============================================================
   CONTAINER + HEADER (estándar Clientes)
   ============================================================ */
.crud-container[b-itywdjkwc8] { padding: 1.25rem; max-width: 100%; animation: fam-slideUp-b-itywdjkwc8 0.3s ease-out; }
@keyframes fam-slideUp-b-itywdjkwc8 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.crud-header[b-itywdjkwc8] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-itywdjkwc8] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-itywdjkwc8] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-itywdjkwc8] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-itywdjkwc8] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-itywdjkwc8] { display: flex; gap: 0.5rem; }

/* ============================================================
   BOTONES — estándar Clientes (morado/violeta + outline)
   ============================================================ */
.btn-crud[b-itywdjkwc8] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-itywdjkwc8] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-itywdjkwc8] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-itywdjkwc8] { filter: brightness(1.1); }
.btn-outline[b-itywdjkwc8] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-itywdjkwc8] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-itywdjkwc8] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-itywdjkwc8] { filter: brightness(1.1); }

.btn-icon[b-itywdjkwc8] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-itywdjkwc8] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-itywdjkwc8] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-itywdjkwc8] { color: #ef4444; }
.btn-delete:hover[b-itywdjkwc8] { background: rgba(239, 68, 68, 0.1); }

.btn-sm[b-itywdjkwc8] { padding: 0.3rem 0.75rem; font-size: 0.72rem; }

/* ============================================================
   BARRA DE BÚSQUEDA
   ============================================================ */
.crud-search-bar[b-itywdjkwc8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-itywdjkwc8] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-itywdjkwc8] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-itywdjkwc8] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-itywdjkwc8] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* ============================================================
   GRID — tabla estándar Clientes
   ============================================================ */
.crud-grid-wrapper[b-itywdjkwc8] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-itywdjkwc8] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-itywdjkwc8] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-itywdjkwc8] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-itywdjkwc8] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-itywdjkwc8] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-itywdjkwc8] { width: 90px; text-align: center; white-space: nowrap; }
.text-center[b-itywdjkwc8] { text-align: center; }
.font-mono[b-itywdjkwc8] { font-family: 'Cascadia Code', 'Fira Code', ui-monospace, monospace; font-size: 0.76rem; }

/* Avatar circular para cada familia */
.fam-photo-sm[b-itywdjkwc8] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rg-bg-sidebar, #f1f5f9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rg-accent, #4f46e5);
    font-size: 1rem;
}

[data-mode="dark"] .fam-photo-sm[b-itywdjkwc8] {
    background: rgba(99, 102, 241, 0.15);
    color: #a5b4fc;
}

/* ============================================================
   BADGES — Activa / Inactiva (estándar Clientes)
   ============================================================ */
.badge[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
}
.badge-yes[b-itywdjkwc8] { background: #ecfdf5; color: #065f46; }
.badge-no[b-itywdjkwc8]  { background: #f1f5f9; color: #64748b; }

[data-mode="dark"] .badge-yes[b-itywdjkwc8] { background: rgba(34, 197, 94, 0.15); color: #86efac; }
[data-mode="dark"] .badge-no[b-itywdjkwc8]  { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }

/* ============================================================
   LOADING / EMPTY / SPINNER / ALERT
   ============================================================ */
.crud-loading[b-itywdjkwc8], .crud-empty-state[b-itywdjkwc8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-itywdjkwc8] { font-size: 2rem; }
.crud-spinner[b-itywdjkwc8] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: fam-spin-b-itywdjkwc8 0.6s linear infinite; }
.crud-spinner-sm[b-itywdjkwc8] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: fam-spin-b-itywdjkwc8 0.6s linear infinite; }
@keyframes fam-spin-b-itywdjkwc8 { to { transform: rotate(360deg); } }
.spin[b-itywdjkwc8] { animation: fam-spin-b-itywdjkwc8 0.8s linear infinite; }

.modal-sm[b-itywdjkwc8] { max-width: 480px; }

/* ============================================================
   VISTA TARJETAS (Cards) — alternativa al grid
   ============================================================ */

.view-toggle[b-itywdjkwc8] { padding: 0.5rem 0.65rem; }

.crud-cards-wrapper[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0.75rem;
    padding: 0.25rem;
    max-height: calc(100vh - 280px);
    overflow-y: auto;
}

.crud-card[b-itywdjkwc8] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.875rem;
    transition: all 0.15s;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    cursor: pointer;
}

.crud-card:hover[b-itywdjkwc8] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.fam-card-canceled[b-itywdjkwc8] {
    opacity: 0.55;
    background: var(--rg-bg-subtle);
}

.card-header-row[b-itywdjkwc8] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--rg-border);
}

.card-header-info[b-itywdjkwc8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.card-title[b-itywdjkwc8] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rg-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-id[b-itywdjkwc8] {
    font-size: 0.72rem;
    color: var(--rg-text-muted);
    letter-spacing: 0.02em;
}

.card-badges[b-itywdjkwc8] {
    flex-shrink: 0;
}

.card-details[b-itywdjkwc8] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.card-detail[b-itywdjkwc8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.76rem;
}

.card-label[b-itywdjkwc8] {
    font-weight: 600;
    color: var(--rg-text-muted);
    flex-shrink: 0;
}

.card-value[b-itywdjkwc8] {
    color: var(--rg-text-primary);
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-actions[b-itywdjkwc8] {
    display: flex;
    justify-content: flex-end;
    gap: 0.3rem;
    padding-top: 0.55rem;
    border-top: 1px solid var(--rg-border);
}

/* ============================================================
   CHECKBOX "Mostrar canceladas"
   ============================================================ */

.fam-show-canceled[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: var(--rg-text-muted);
    cursor: pointer;
    margin: 0 0.5rem;
    white-space: nowrap;
}

.fam-show-canceled input[type="checkbox"][b-itywdjkwc8] {
    accent-color: var(--rg-accent, #4f46e5);
    cursor: pointer;
}

/* Modal anidado (confirmación dentro de otro modal) — flota por encima */
.modal-backdrop-nested[b-itywdjkwc8] {
    z-index: 2000 !important;
    background: rgba(0, 0, 0, 0.5) !important;
}
.modal-container-nested[b-itywdjkwc8] {
    z-index: 2001 !important;
}
.modal-header-danger[b-itywdjkwc8] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-itywdjkwc8] { color: #dc2626; }
[data-mode="dark"] .modal-header-danger[b-itywdjkwc8] { border-bottom-color: rgba(220, 38, 38, 0.4); }
[data-mode="dark"] .modal-header-danger h2[b-itywdjkwc8] { color: #fca5a5; }

.modal-sm .modal-body[b-itywdjkwc8] { padding: 1rem 1.25rem; }
.modal-sm .modal-body p[b-itywdjkwc8] { margin: 0.5rem 0; font-size: 0.85rem; color: var(--rg-text-primary); }

.crud-alert[b-itywdjkwc8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-itywdjkwc8] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-itywdjkwc8] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-itywdjkwc8] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* ============================================================
   MODAL — Estándar CRUD (clave: sin esto sale pantalla negra)
   ============================================================ */
.modal-backdrop[b-itywdjkwc8] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    z-index: 1000;
    animation: fam-fadeIn-b-itywdjkwc8 0.15s ease-out;
}
.modal-container[b-itywdjkwc8] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1001;
    pointer-events: none;
}
.modal-dialog[b-itywdjkwc8] {
    pointer-events: auto;
    background: var(--rg-bg-card, #fff);
    border-radius: 0.75rem;
    width: 95%;
    max-width: 640px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    animation: fam-scaleIn-b-itywdjkwc8 0.2s ease-out;
}
.modal-lg[b-itywdjkwc8] {
    max-width: none;
    width: calc(100% - 2rem);
    height: calc(100vh - 60px);
    max-height: calc(100vh - 60px);
    border-radius: 0.5rem;
}

@keyframes fam-fadeIn-b-itywdjkwc8 { from { opacity: 0; } to { opacity: 1; } }
@keyframes fam-scaleIn-b-itywdjkwc8 { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-itywdjkwc8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
    background: var(--rg-bg-card);
}
.modal-header h2[b-itywdjkwc8] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.modal-close[b-itywdjkwc8] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
    font-size: 1rem;
    padding: 0.25rem;
    border-radius: 0.25rem;
}
.modal-close:hover[b-itywdjkwc8] {
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-hover, #f1f5f9);
}
.modal-body[b-itywdjkwc8] {
    padding: 0;
    overflow-y: auto;
    flex: 1;
    background: var(--rg-bg-page);
}
.modal-footer[b-itywdjkwc8] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
    background: var(--rg-bg-card);
}

/* ============================================================
   TABS dentro del Modal (estándar Solicitud)
   ============================================================ */
.sf-tabs-main[b-itywdjkwc8] {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: thin;
    border-bottom: 2px solid var(--rg-border, #eef0f4);
}

.sf-tabs-modal[b-itywdjkwc8] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--rg-bg-card, #ffffff);
    padding: 0 0.5rem;
}

.sf-tab-main[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 0.85rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: var(--rg-text-muted, #64748b);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.sf-tab-main:hover[b-itywdjkwc8] {
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-hover, #f8fafc);
}

.sf-tab-main.active[b-itywdjkwc8] {
    color: var(--rg-primary, #4f46e5);
    border-bottom-color: var(--rg-primary, #4f46e5);
    font-weight: 600;
}

.sf-tab-main i[b-itywdjkwc8] { font-size: 0.85rem; }
.sf-tab-body[b-itywdjkwc8] { min-height: 400px; }

.sf-modal-subtitle[b-itywdjkwc8] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #64748b);
    font-weight: 400;
}

/* ============================================================
   SF-FIELD-ROW — Campos internos del formulario (3 columnas)
   ============================================================ */
.sf-field-row[b-itywdjkwc8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.sf-field-row > label[b-itywdjkwc8] {
    flex: 0 0 105px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary, #475569);
    white-space: nowrap;
    text-align: right;
}

.sf-field-input[b-itywdjkwc8] {
    flex: 1;
    min-width: 0;
}

.sf-field-input input[b-itywdjkwc8],
.sf-field-input select[b-itywdjkwc8],
.sf-field-input textarea[b-itywdjkwc8] {
    width: 100%;
    padding: 0.35rem 0.55rem;
    border: 1px solid var(--rg-border, #eef0f4);
    border-radius: 5px;
    background: var(--rg-bg-input, #ffffff);
    color: var(--rg-text-primary, #1e293b);
    font-size: 0.78rem;
    font-family: inherit;
    transition: border-color 0.15s ease;
}

.sf-field-input input:focus[b-itywdjkwc8],
.sf-field-input select:focus[b-itywdjkwc8],
.sf-field-input textarea:focus[b-itywdjkwc8] {
    outline: none;
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
}

.sf-field-input textarea[b-itywdjkwc8] {
    resize: vertical;
    min-height: 44px;
}


/* ============================================================
   CHIP contador de dependientes en el grid
   ============================================================ */

.fam-count-chip[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.85rem;
    padding: 0.15rem 0.55rem;
    background: rgba(26, 58, 92, 0.08);
    color: var(--rg-primary);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

[data-mode="dark"] .fam-count-chip[b-itywdjkwc8] {
    background: rgba(147, 180, 212, 0.18);
    color: #93b4d4;
}

/* Variante cuando el modal está adentro, la cabecera cambia fondo */
.fam-header-modal[b-itywdjkwc8] {
    margin-bottom: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
}

/* ============================================================
   CABECERA — Id Familia, Fecha Ingreso, Mensualidad
   ============================================================ */

.fam-header-card[b-itywdjkwc8] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.fam-header-row[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: 240px 180px 1fr auto;
    gap: 1rem;
    align-items: end;
}

.fam-header-field[b-itywdjkwc8] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.fam-header-field-wide[b-itywdjkwc8] {
    max-width: 260px;
}

.fam-header-field label[b-itywdjkwc8] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--rg-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.fam-input[b-itywdjkwc8] {
    padding: 0.4rem 0.6rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.82rem;
    width: 100%;
    transition: border-color 0.15s;
}

.fam-input:focus[b-itywdjkwc8] {
    outline: none;
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15);
}

.fam-input:disabled[b-itywdjkwc8] {
    background: var(--rg-bg-subtle);
    color: var(--rg-text-muted);
    cursor: not-allowed;
}

/* Placeholder visual cuando el Id se asigna al guardar */
.fam-input-pending[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.7rem;
    background: repeating-linear-gradient(
        45deg,
        var(--rg-bg-subtle),
        var(--rg-bg-subtle) 6px,
        var(--rg-bg-input) 6px,
        var(--rg-bg-input) 12px
    );
    color: var(--rg-text-muted);
    border: 1px dashed var(--rg-border);
    border-radius: 6px;
    font-size: 0.78rem;
    font-style: italic;
    cursor: help;
}

.fam-input-pending i[b-itywdjkwc8] {
    color: var(--rg-primary);
    font-size: 0.95rem;
}

.fam-input-date[b-itywdjkwc8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
}

.fam-input-money[b-itywdjkwc8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-variant-numeric: tabular-nums;
}

.font-mono[b-itywdjkwc8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fam-input-group[b-itywdjkwc8] {
    position: relative;
    display: flex;
}

.fam-input-group .fam-input[b-itywdjkwc8] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.fam-input-btn[b-itywdjkwc8] {
    padding: 0 0.75rem;
    background: var(--rg-bg-subtle);
    border: 1px solid var(--rg-border);
    border-left: none;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    color: var(--rg-text-secondary);
    cursor: pointer;
    transition: background 0.15s;
}

.fam-input-btn:hover[b-itywdjkwc8] {
    background: var(--rg-bg-hover);
    color: var(--rg-primary);
}

.fam-header-status[b-itywdjkwc8] {
    align-self: end;
    padding-bottom: 0.25rem;
}

.fam-badge-pill[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.75rem;
    background: rgba(34, 197, 94, 0.1);
    color: #166534;
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

[data-mode="dark"] .fam-badge-pill[b-itywdjkwc8] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.3);
}

/* ============================================================
   TABS WRAPPER
   ============================================================ */

.fam-tabs-wrapper[b-itywdjkwc8] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fam-tab-body[b-itywdjkwc8] {
    padding: 1rem;
    min-height: 450px;
    background: var(--rg-bg-page);
}

.fam-tab-badge[b-itywdjkwc8] {
    font-size: 0.68rem;
    padding: 0.1rem 0.45rem;
    background: rgba(26, 58, 92, 0.12);
    color: var(--rg-primary);
    border-radius: 999px;
    font-weight: 700;
    min-width: 20px;
    text-align: center;
}

[data-mode="dark"] .fam-tab-badge[b-itywdjkwc8] {
    background: rgba(147, 180, 212, 0.18);
    color: #93b4d4;
}

/* ============================================================
   SECCIÓN — Tarjeta con encabezado de color
   ============================================================ */

.fam-section[b-itywdjkwc8] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 0.85rem;
}

.fam-section:last-child[b-itywdjkwc8] {
    margin-bottom: 0;
}

.fam-section-header[b-itywdjkwc8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.9rem;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.85rem;
}

.fam-section-title[b-itywdjkwc8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.fam-section-title i[b-itywdjkwc8] {
    font-size: 1rem;
}

/* Headers de sección con colores semánticos */
.fam-header-dad[b-itywdjkwc8]    { background: linear-gradient(135deg, #0369a1, #0284c7); }  /* azul padre */
.fam-header-mom[b-itywdjkwc8]    { background: linear-gradient(135deg, #be185d, #db2777); }  /* rosa madre */
.fam-header-tutor[b-itywdjkwc8]  { background: linear-gradient(135deg, #6d28d9, #7c3aed); }  /* morado tutor */
.fam-header-ref[b-itywdjkwc8]    { background: linear-gradient(135deg, #b45309, #d97706); }  /* ámbar referencia */
.fam-header-student[b-itywdjkwc8]{ background: linear-gradient(135deg, #059669, #10b981); }  /* verde alumno */
.fam-header-grid[b-itywdjkwc8]   { background: linear-gradient(135deg, #475569, #64748b); }  /* gris grid */
.fam-header-assign[b-itywdjkwc8] { background: linear-gradient(135deg, #7c2d12, #c2410c); }  /* terracota asignación */

/* ============================================================
   TOGGLE — "El Padre / La Madre es el tutor"
   ============================================================ */

.fam-tutor-toggle[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.6rem;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 500;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.15s;
}

.fam-tutor-toggle:hover[b-itywdjkwc8] {
    background: rgba(255, 255, 255, 0.3);
}

.fam-tutor-toggle input[type="checkbox"][b-itywdjkwc8] {
    margin: 0;
    accent-color: #ffffff;
    cursor: pointer;
}

/* ============================================================
   HINT BADGE — Texto informativo en header
   ============================================================ */

.fam-hint-badge[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 500;
}

.fam-count-badge[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
}

/* ============================================================
   GRID DE 3 COLUMNAS — Datos de la persona (padre/madre/tutor)
   ============================================================ */

/* Grid plano: 3 columnas × N filas. Cada sf-field-row ocupa UNA celda.
   Ventaja clave: el orden del DOM coincide con el orden visual de filas,
   por lo que TAB navega de izquierda-a-derecha naturalmente. */
.fam-person-grid[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: row;
    gap: 0.55rem 1.25rem;
    padding: 0.9rem 1rem;
    align-items: start;
}

.fam-person-grid .sf-field-row[b-itywdjkwc8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.fam-person-grid .sf-field-row > label[b-itywdjkwc8] {
    flex: 0 0 110px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
    text-align: right;
    white-space: nowrap;
}

.fam-person-grid .sf-field-input[b-itywdjkwc8] {
    flex: 1;
    min-width: 0;
}

.fam-person-grid .sf-field-input input[b-itywdjkwc8],
.fam-person-grid .sf-field-input select[b-itywdjkwc8],
.fam-person-grid .sf-field-input textarea[b-itywdjkwc8] {
    width: 100%;
    padding: 0.35rem 0.55rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 5px;
    font-size: 0.78rem;
    font-family: inherit;
    transition: border-color 0.15s;
}

.fam-person-grid .sf-field-input textarea[b-itywdjkwc8] {
    resize: vertical;
    min-height: 44px;
}

.fam-person-grid .sf-field-input input:focus[b-itywdjkwc8],
.fam-person-grid .sf-field-input select:focus[b-itywdjkwc8],
.fam-person-grid .sf-field-input textarea:focus[b-itywdjkwc8] {
    outline: none;
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
}

.fam-person-grid .sf-field-input input.fam-input-date[b-itywdjkwc8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
}

/* Campo que ocupa las 3 columnas (Lugar Trabajo) */
.fam-person-grid .fam-field-fullrow[b-itywdjkwc8] {
    grid-column: 1 / -1;
    align-items: flex-start;
}

.fam-person-grid .fam-field-fullrow > label[b-itywdjkwc8] {
    padding-top: 0.4rem;
}

.fam-field-textarea[b-itywdjkwc8] {
    align-items: flex-start !important;
}

.fam-field-textarea > label[b-itywdjkwc8] {
    padding-top: 0.35rem;
}

/* ============================================================
   TAB 3 — FORMULARIO DE ALUMNO (grid 3 columnas compacto)
   ============================================================ */

.fam-student-form[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem 1.25rem;
    padding: 0.9rem 1rem;
}

.fam-student-form .sf-field-row > label[b-itywdjkwc8] {
    flex: 0 0 100px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
    text-align: right;
    white-space: nowrap;
}

.fam-student-form .sf-field-input input[b-itywdjkwc8],
.fam-student-form .sf-field-input select[b-itywdjkwc8],
.fam-student-form .sf-field-input textarea[b-itywdjkwc8] {
    width: 100%;
    padding: 0.35rem 0.55rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 5px;
    font-size: 0.78rem;
    font-family: inherit;
}

.fam-student-form .sf-field-input input:focus[b-itywdjkwc8],
.fam-student-form .sf-field-input select:focus[b-itywdjkwc8],
.fam-student-form .sf-field-input textarea:focus[b-itywdjkwc8] {
    outline: none;
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 2px rgba(26, 58, 92, 0.15);
}

.fam-student-form .fam-field-fullspan[b-itywdjkwc8] {
    grid-column: 1 / -1;
}

.fam-field-retiro[b-itywdjkwc8] {
    gap: 0.4rem;
}

.fam-check-label[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--rg-text-secondary);
    cursor: pointer;
    white-space: nowrap;
}

.fam-check-label input[type="checkbox"][b-itywdjkwc8] {
    accent-color: var(--rg-primary);
    cursor: pointer;
}

/* ============================================================
   TAB 3 — SPLIT (grid de alumnos | asignación de curso)
   ============================================================ */

.fam-split[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

.fam-section-split[b-itywdjkwc8] {
    margin-bottom: 0;
}

.fam-grid-wrapper[b-itywdjkwc8] {
    border: none;
    border-radius: 0;
    max-height: 300px;
}

.crud-empty-row td[b-itywdjkwc8] {
    padding: 0 !important;
}

.fam-empty-inner[b-itywdjkwc8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2rem;
    color: var(--rg-text-muted);
    font-size: 0.82rem;
}

.fam-empty-inner i[b-itywdjkwc8] {
    font-size: 1.75rem;
    opacity: 0.5;
}

.fam-assign-form[b-itywdjkwc8] {
    padding: 0.9rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.fam-assign-form .sf-field-row > label[b-itywdjkwc8] {
    flex: 0 0 95px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
    text-align: right;
}

.fam-assign-form .sf-field-input input[b-itywdjkwc8],
.fam-assign-form .sf-field-input select[b-itywdjkwc8] {
    padding: 0.35rem 0.55rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 5px;
    font-size: 0.78rem;
    width: 100%;
}

.fam-curso-row[b-itywdjkwc8] {
    display: grid;
    grid-template-columns: 80px 70px 1fr;
    gap: 0.4rem;
}

.fam-assign-footer[b-itywdjkwc8] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--rg-border);
}

/* ============================================================
   FOOTER — Barra inferior con acciones globales
   ============================================================ */

.fam-footer[b-itywdjkwc8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    background: var(--rg-bg-subtle);
    border-top: 1px solid var(--rg-border);
    flex-wrap: wrap;
}

.fam-footer-left[b-itywdjkwc8] {
    flex: 1;
    min-width: 200px;
}

.fam-status-text[b-itywdjkwc8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: var(--rg-text-muted);
}

.fam-footer-actions[b-itywdjkwc8] {
    display: flex;
    gap: 0.5rem;
}

/* ============================================================
   BOTÓN PEQUEÑO — Variante del btn-crud para headers
   ============================================================ */

.btn-crud.btn-sm[b-itywdjkwc8] {
    padding: 0.3rem 0.75rem;
    font-size: 0.72rem;
}

/* ============================================================
   RESPONSIVE — Tabletas y iPhone
   ============================================================ */

@media (max-width: 1024px) {
    .fam-person-grid[b-itywdjkwc8] {
        grid-template-columns: 1fr 1fr;
    }

    .fam-student-form[b-itywdjkwc8] {
        grid-template-columns: 1fr 1fr;
    }

    .fam-split[b-itywdjkwc8] {
        grid-template-columns: 1fr;
    }

    .fam-header-row[b-itywdjkwc8] {
        grid-template-columns: 1fr 1fr;
    }

    .fam-header-status[b-itywdjkwc8] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .crud-cards-wrapper[b-itywdjkwc8] { grid-template-columns: 1fr; max-height: none; }
    .fam-show-canceled span[b-itywdjkwc8] { display: none; }

    .fam-person-grid[b-itywdjkwc8],
    .fam-student-form[b-itywdjkwc8] {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .fam-header-row[b-itywdjkwc8] {
        grid-template-columns: 1fr;
    }

    .fam-person-grid .sf-field-row > label[b-itywdjkwc8],
    .fam-student-form .sf-field-row > label[b-itywdjkwc8],
    .fam-assign-form .sf-field-row > label[b-itywdjkwc8] {
        flex: 0 0 80px;
        font-size: 0.7rem;
    }

    .sf-tab-text[b-itywdjkwc8] {
        display: none;
    }

    .fam-section-header[b-itywdjkwc8] {
        padding: 0.5rem 0.7rem;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .fam-curso-row[b-itywdjkwc8] {
        grid-template-columns: 70px 60px 1fr;
    }

    .fam-footer[b-itywdjkwc8] {
        flex-direction: column;
        align-items: stretch;
    }

    .fam-footer-actions[b-itywdjkwc8] {
        justify-content: flex-end;
    }
}

@media (max-width: 420px) {
    .fam-tutor-toggle span[b-itywdjkwc8],
    .fam-hint-badge[b-itywdjkwc8] {
        display: none;
    }

    .fam-person-grid .sf-field-input input[b-itywdjkwc8],
    .fam-person-grid .sf-field-input select[b-itywdjkwc8],
    .fam-student-form .sf-field-input input[b-itywdjkwc8],
    .fam-student-form .sf-field-input select[b-itywdjkwc8] {
        font-size: 0.72rem;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Contabilidad/Frmcatalogocuenta.razor.rz.scp.css */
/* ============================================================
   Catalogo de Cuentas — Estilos CRUD + Cards + Responsive
   ============================================================ */

.crud-container[b-u0ayq9bl4i] {
    padding: 1.25rem;
    max-width: 100%;
    animation: slideUp-b-u0ayq9bl4i 0.3s ease-out;
}

@keyframes slideUp-b-u0ayq9bl4i {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Header */
.crud-header[b-u0ayq9bl4i] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.crud-header-left[b-u0ayq9bl4i] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.crud-header-icon[b-u0ayq9bl4i] {
    font-size: 1.75rem;
    color: var(--rg-accent, #4f46e5);
}

.crud-title[b-u0ayq9bl4i] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0;
}

.crud-subtitle[b-u0ayq9bl4i] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
}

.crud-header-actions[b-u0ayq9bl4i] {
    display: flex;
    gap: 0.5rem;
}

/* Buttons */
.btn-crud[b-u0ayq9bl4i] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-crud:disabled[b-u0ayq9bl4i] { opacity: 0.6; cursor: not-allowed; }

.btn-primary[b-u0ayq9bl4i] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-u0ayq9bl4i] { filter: brightness(1.1); }

.btn-outline[b-u0ayq9bl4i] {
    background: transparent;
    color: var(--rg-text-secondary, #475569);
    border: 1px solid var(--rg-border, #e2e8f0);
}
.btn-outline:hover:not(:disabled)[b-u0ayq9bl4i] { background: var(--rg-bg-hover, #f1f5f9); }

.btn-danger[b-u0ayq9bl4i] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-u0ayq9bl4i] { filter: brightness(1.1); }

.btn-icon[b-u0ayq9bl4i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.15s;
    background: transparent;
}
.btn-edit[b-u0ayq9bl4i] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-u0ayq9bl4i] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-u0ayq9bl4i] { color: #ef4444; }
.btn-delete:hover[b-u0ayq9bl4i] { background: rgba(239, 68, 68, 0.1); }

.view-toggle[b-u0ayq9bl4i] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-u0ayq9bl4i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
}
.crud-alert.success[b-u0ayq9bl4i] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-u0ayq9bl4i] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

.crud-alert-close[b-u0ayq9bl4i] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

/* Search */
.crud-search-bar[b-u0ayq9bl4i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    background: var(--rg-bg-card, #fff);
}
.crud-search-bar i[b-u0ayq9bl4i] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-u0ayq9bl4i] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.8rem;
    background: transparent;
    color: var(--rg-text-primary, #1e293b);
}
.crud-search-clear[b-u0ayq9bl4i] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
}
.crud-count[b-u0ayq9bl4i] {
    font-size: 0.7rem;
    color: var(--rg-text-muted, #94a3b8);
    white-space: nowrap;
}

/* ---- Grid (tabla) ---- */
.crud-grid-wrapper[b-u0ayq9bl4i] {
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    overflow: auto;
    background: var(--rg-bg-card, #fff);
    max-height: calc(100vh - 280px);
}

.crud-table[b-u0ayq9bl4i] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}
.crud-table thead[b-u0ayq9bl4i] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-u0ayq9bl4i] {
    background: var(--rg-bg-sidebar, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    font-weight: 600;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    white-space: nowrap;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.crud-table td[b-u0ayq9bl4i] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    vertical-align: middle;
}
.crud-table tbody tr:hover[b-u0ayq9bl4i] { background: var(--rg-bg-hover, #f8fafc); }

.col-cuenta[b-u0ayq9bl4i] { width: 120px; }
.col-desc[b-u0ayq9bl4i] { min-width: 200px; }
.col-sm[b-u0ayq9bl4i] { width: 80px; text-align: center; }
.col-actions[b-u0ayq9bl4i] { width: 80px; text-align: center; white-space: nowrap; }

/* ---- Cards (tarjetas) ---- */
.crud-cards-wrapper[b-u0ayq9bl4i] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.75rem;
    max-height: calc(100vh - 280px);
    overflow-y: auto;
    padding: 0.25rem;
}

.crud-card[b-u0ayq9bl4i] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.875rem;
    transition: all 0.15s;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.crud-card:hover[b-u0ayq9bl4i] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.card-header-row[b-u0ayq9bl4i] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.card-id[b-u0ayq9bl4i] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--rg-accent, #4f46e5);
}
.card-badges[b-u0ayq9bl4i] {
    display: flex;
    gap: 0.35rem;
}
.card-title[b-u0ayq9bl4i] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
}
.card-details[b-u0ayq9bl4i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}
.card-detail[b-u0ayq9bl4i] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.card-label[b-u0ayq9bl4i] {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--rg-text-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.card-value[b-u0ayq9bl4i] {
    font-size: 0.78rem;
    color: var(--rg-text-primary, #1e293b);
}
.card-actions[b-u0ayq9bl4i] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px solid var(--rg-border-light, #f1f5f9);
}

/* View toggle: show/hide */
.show-on-grid[b-u0ayq9bl4i] { display: block; }
.hide-on-cards[b-u0ayq9bl4i] { display: none !important; }
.show-on-cards[b-u0ayq9bl4i] { display: grid; }
.hide-on-grid[b-u0ayq9bl4i] { display: none !important; }

/* Badges */
.badge[b-u0ayq9bl4i] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.68rem;
    font-weight: 600;
}
.badge-yes[b-u0ayq9bl4i] { background: #ecfdf5; color: #065f46; }
.badge-no[b-u0ayq9bl4i] { background: #f1f5f9; color: #64748b; }
.badge-info[b-u0ayq9bl4i] { background: #ecfeff; color: #0e7490; }

/* Utilities */
.font-mono[b-u0ayq9bl4i] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-u0ayq9bl4i] { text-align: center; }
.text-success[b-u0ayq9bl4i] { color: #16a34a; }
.text-info[b-u0ayq9bl4i] { color: #0891b2; }
.text-muted[b-u0ayq9bl4i] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-u0ayq9bl4i], .crud-empty-state[b-u0ayq9bl4i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
}
.crud-empty-state i[b-u0ayq9bl4i] { font-size: 2rem; }

.crud-spinner[b-u0ayq9bl4i] {
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--rg-border, #e2e8f0);
    border-top-color: var(--rg-accent, #4f46e5);
    border-radius: 50%;
    animation: spin-b-u0ayq9bl4i 0.6s linear infinite;
}
.crud-spinner-sm[b-u0ayq9bl4i] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-u0ayq9bl4i 0.6s linear infinite;
}
@keyframes spin-b-u0ayq9bl4i { to { transform: rotate(360deg); } }
.spin[b-u0ayq9bl4i] { animation: spin-b-u0ayq9bl4i 0.8s linear infinite; }

/* ---- Modal (sibling backdrop/container) ---- */
.modal-backdrop[b-u0ayq9bl4i] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(4px);
    z-index: 1000;
    animation: fadeIn-b-u0ayq9bl4i 0.15s ease-out;
}

.modal-container[b-u0ayq9bl4i] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1001;
    pointer-events: none;
}

.modal-dialog[b-u0ayq9bl4i] {
    pointer-events: auto;
    background: var(--rg-bg-card, #fff);
    border-radius: 0.75rem;
    width: 95%;
    max-width: 640px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    animation: scaleIn-b-u0ayq9bl4i 0.2s ease-out;
}
.modal-sm[b-u0ayq9bl4i] { max-width: 420px; }

@keyframes fadeIn-b-u0ayq9bl4i { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-u0ayq9bl4i {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.modal-header[b-u0ayq9bl4i] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
}
.modal-header h2[b-u0ayq9bl4i] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.modal-header-danger[b-u0ayq9bl4i] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-u0ayq9bl4i] { color: #dc2626; }

.modal-close[b-u0ayq9bl4i] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
    font-size: 1rem;
    padding: 0.25rem;
    border-radius: 0.25rem;
}
.modal-close:hover[b-u0ayq9bl4i] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }

.modal-body[b-u0ayq9bl4i] { padding: 1.25rem; }

.modal-footer[b-u0ayq9bl4i] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
}

/* Form */
.form-row[b-u0ayq9bl4i] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
.form-group[b-u0ayq9bl4i] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.form-group.flex-2[b-u0ayq9bl4i] { flex: 2; }
.form-group label[b-u0ayq9bl4i] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.form-group input[b-u0ayq9bl4i],
.form-group select[b-u0ayq9bl4i] {
    padding: 0.5rem 0.625rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    font-size: 0.8rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-card, #fff);
    outline: none;
    transition: border-color 0.15s;
}
.form-group input:focus[b-u0ayq9bl4i],
.form-group select:focus[b-u0ayq9bl4i] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
}
.form-group input.readonly[b-u0ayq9bl4i] {
    background: var(--rg-bg-sidebar, #f8fafc);
    color: var(--rg-text-muted, #94a3b8);
}

.form-check-group[b-u0ayq9bl4i] {
    flex: 1;
    display: flex;
    align-items: center;
}
.form-check[b-u0ayq9bl4i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--rg-text-primary, #1e293b);
}
.form-check input[type="checkbox"][b-u0ayq9bl4i] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--rg-accent, #4f46e5);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .crud-container[b-u0ayq9bl4i] { padding: 0.75rem; }
    .crud-header[b-u0ayq9bl4i] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-u0ayq9bl4i] { font-size: 1.1rem; }
    .btn-text[b-u0ayq9bl4i] { display: none; }
    .form-row[b-u0ayq9bl4i] { flex-direction: column; }
    .modal-dialog[b-u0ayq9bl4i] { width: 98%; max-height: 90vh; }
    .modal-body[b-u0ayq9bl4i] { padding: 1rem; }

    /* En movil: ocultar grid, mostrar cards por defecto */
    .crud-grid-wrapper.show-on-grid[b-u0ayq9bl4i] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-u0ayq9bl4i] { display: grid !important; }

    .crud-cards-wrapper[b-u0ayq9bl4i] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-u0ayq9bl4i] {
        grid-template-columns: 1fr;
    }
    .card-details[b-u0ayq9bl4i] {
        flex-direction: column;
        gap: 0.35rem;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Contabilidad/Frmcentrocosto.razor.rz.scp.css */
/* Centro de Costo CRUD */
.crud-container[b-7b8ds97oi9] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-7b8ds97oi9 0.3s ease-out; }
@keyframes slideUp-b-7b8ds97oi9 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-7b8ds97oi9] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-7b8ds97oi9] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-7b8ds97oi9] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-7b8ds97oi9] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-7b8ds97oi9] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-7b8ds97oi9] { display: flex; gap: 0.5rem; }
.btn-crud[b-7b8ds97oi9] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-7b8ds97oi9] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-7b8ds97oi9] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-7b8ds97oi9] { filter: brightness(1.1); }
.btn-outline[b-7b8ds97oi9] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-7b8ds97oi9] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-7b8ds97oi9] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-7b8ds97oi9] { filter: brightness(1.1); }
.btn-icon[b-7b8ds97oi9] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-7b8ds97oi9] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-7b8ds97oi9] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-7b8ds97oi9] { color: #ef4444; }
.btn-delete:hover[b-7b8ds97oi9] { background: rgba(239, 68, 68, 0.1); }
.crud-alert[b-7b8ds97oi9] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-7b8ds97oi9] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-7b8ds97oi9] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-7b8ds97oi9] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-search-bar[b-7b8ds97oi9] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-7b8ds97oi9] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-7b8ds97oi9] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-7b8ds97oi9] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-7b8ds97oi9] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }
.crud-grid-wrapper[b-7b8ds97oi9] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-7b8ds97oi9] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-7b8ds97oi9] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-7b8ds97oi9] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-7b8ds97oi9] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-7b8ds97oi9] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-7b8ds97oi9] { width: 80px; text-align: center; white-space: nowrap; }
.font-mono[b-7b8ds97oi9] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-7b8ds97oi9] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.crud-loading[b-7b8ds97oi9], .crud-empty-state[b-7b8ds97oi9] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-7b8ds97oi9] { font-size: 2rem; }
.crud-spinner[b-7b8ds97oi9] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-7b8ds97oi9 0.6s linear infinite; }
.crud-spinner-sm[b-7b8ds97oi9] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-7b8ds97oi9 0.6s linear infinite; }
@keyframes spin-b-7b8ds97oi9 { to { transform: rotate(360deg); } }
.spin[b-7b8ds97oi9] { animation: spin-b-7b8ds97oi9 0.8s linear infinite; }
.modal-backdrop[b-7b8ds97oi9] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-7b8ds97oi9 0.15s ease-out; }
.modal-container[b-7b8ds97oi9] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-7b8ds97oi9] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 500px; max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-7b8ds97oi9 0.2s ease-out; }
.modal-sm[b-7b8ds97oi9] { max-width: 420px; }
@keyframes fadeIn-b-7b8ds97oi9 { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-7b8ds97oi9 { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-7b8ds97oi9] { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); }
.modal-header h2[b-7b8ds97oi9] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-7b8ds97oi9] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-7b8ds97oi9] { color: #dc2626; }
.modal-close[b-7b8ds97oi9] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-7b8ds97oi9] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-7b8ds97oi9] { padding: 1.25rem; }
.modal-footer[b-7b8ds97oi9] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.75rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); }
.form-group[b-7b8ds97oi9] { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.form-group label[b-7b8ds97oi9] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-7b8ds97oi9] { padding: 0.5rem 0.625rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-7b8ds97oi9] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-7b8ds97oi9] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
@media (max-width: 768px) {
    .crud-container[b-7b8ds97oi9] { padding: 0.75rem; }
    .crud-header[b-7b8ds97oi9] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-7b8ds97oi9] { display: none; }
    .modal-dialog[b-7b8ds97oi9] { width: 98%; max-height: 90vh; }
}
/* _content/Rgclouds.Web/Components/Pages/Contabilidad/Frmctb_consultacuenta.razor.rz.scp.css */
/* ============================================================
   frmCTB_ConsultaCuenta — Estilos CRUD base + filtros propios
   ============================================================ */

.crud-container[b-m5044etv8u] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-m5044etv8u 0.3s ease-out; }
@keyframes slideUp-b-m5044etv8u { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-m5044etv8u] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-m5044etv8u] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-m5044etv8u] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-m5044etv8u] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-m5044etv8u] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }

/* Buttons */
.btn-crud[b-m5044etv8u] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-m5044etv8u] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-m5044etv8u] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-m5044etv8u] { filter: brightness(1.1); }
.btn-outline[b-m5044etv8u] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-m5044etv8u] { background: var(--rg-bg-hover, #f1f5f9); }

/* Alert */
.crud-alert[b-m5044etv8u] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-m5044etv8u] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-m5044etv8u]   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-m5044etv8u] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-m5044etv8u] { background: rgba(34,197,94,0.12); color: #86efac; border-color: rgba(34,197,94,0.3); }
[data-mode="dark"] .crud-alert.error[b-m5044etv8u]   { background: rgba(239,68,68,0.12);  color: #fca5a5; border-color: rgba(239,68,68,0.3);  }

/* Spinners */
.crud-spinner-sm[b-m5044etv8u] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-m5044etv8u 0.6s linear infinite; }
@keyframes spin-b-m5044etv8u { to { transform: rotate(360deg); } }

/* Search bar */
.crud-search-bar[b-m5044etv8u] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-m5044etv8u] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-m5044etv8u] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-m5044etv8u] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-m5044etv8u] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-table[b-m5044etv8u] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-m5044etv8u] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-m5044etv8u] { background: var(--rg-bg-subtle, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.5rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-m5044etv8u] { padding: 0.45rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-m5044etv8u] { background: var(--rg-bg-hover, #f8fafc); }

/* Modal */
.modal-backdrop[b-m5044etv8u] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); backdrop-filter: blur(4px); z-index: 1000; }
.modal-container[b-m5044etv8u] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-m5044etv8u] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-m5044etv8u 0.2s ease-out; }
.modal-lg[b-m5044etv8u] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 80px); max-height: calc(100vh - 80px); }
.modal-sm[b-m5044etv8u] { max-width: 420px; }
@keyframes scaleIn-b-m5044etv8u { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-m5044etv8u] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-m5044etv8u] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-close[b-m5044etv8u] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-m5044etv8u] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-m5044etv8u] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-m5044etv8u] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Utilities */
.font-mono[b-m5044etv8u] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.75rem; }
.text-center[b-m5044etv8u] { text-align: center; }
.text-muted[b-m5044etv8u] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* ============================================================
   Card de filtros
   ============================================================ */

.cc-card[b-m5044etv8u] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.cc-card-header[b-m5044etv8u] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
}

.cc-card-header i[b-m5044etv8u] { color: var(--rg-accent, #4f46e5); }

.cc-form-body[b-m5044etv8u] {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Filas de campos */
.cc-fields-row[b-m5044etv8u] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
}

.cc-field-group[b-m5044etv8u] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-width: 160px;
}

.cc-label[b-m5044etv8u] {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cc-input[b-m5044etv8u] {
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    font-size: 0.82rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-input, #fff);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.cc-input:focus[b-m5044etv8u] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 3px rgba(79,70,229,0.12);
}

.cc-input[readonly][b-m5044etv8u] {
    background: var(--rg-bg-subtle, #f8fafc);
    cursor: default;
}

/* Picker row */
.cc-picker-group[b-m5044etv8u] { flex: 1; min-width: 280px; }

.cc-picker-row[b-m5044etv8u] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.cc-picker-input[b-m5044etv8u]  { flex: 0 0 110px; }
.cc-picker-desc[b-m5044etv8u]   { flex: 1; }
.cc-btn-picker[b-m5044etv8u]    { flex-shrink: 0; padding: 0.45rem 0.65rem; white-space: nowrap; font-size: 0.75rem; }
.cc-btn-clear[b-m5044etv8u]     { flex-shrink: 0; padding: 0.45rem 0.5rem; color: #ef4444; border-color: #fecaca; }
.cc-btn-clear:hover[b-m5044etv8u] { background: rgba(239,68,68,0.08) !important; }

/* Botón consultar */
.cc-action-row[b-m5044etv8u] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
}

.cc-btn-consultar[b-m5044etv8u] { padding: 0.6rem 1.5rem; font-size: 0.88rem; }

.cc-hint[b-m5044etv8u] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

/* ── Picker modal grid ─────────────────────────────────── */

.cc-modal-picker[b-m5044etv8u] { max-width: 700px; }

.cc-picker-grid[b-m5044etv8u] {
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    overflow: auto;
    max-height: 380px;
    background: var(--rg-bg-card, #fff);
}

/* ── PDF viewer ────────────────────────────────────────── */

.cc-pdf-body[b-m5044etv8u] {
    padding: 0 !important;
    overflow: hidden !important;
}

.cc-pdf-iframe[b-m5044etv8u] {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* ── Grid resultados ───────────────────────────────────── */

.cc-result-card[b-m5044etv8u] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.cc-grid-scroll[b-m5044etv8u] {
    overflow-x: auto;
    max-height: calc(100vh - 380px);
    overflow-y: auto;
}

.cc-mov-table[b-m5044etv8u] { width: 100%; border-collapse: collapse; font-size: 0.76rem; }
.cc-mov-table thead[b-m5044etv8u] { position: sticky; top: 0; z-index: 2; }
.cc-mov-table th[b-m5044etv8u] {
    background: var(--rg-bg-subtle, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    font-weight: 600;
    padding: 0.45rem 0.6rem;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    white-space: nowrap;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.cc-mov-table td[b-m5044etv8u] {
    padding: 0.3rem 0.6rem;
    border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    vertical-align: middle;
    white-space: nowrap;
}
.cc-mov-table tbody tr:hover[b-m5044etv8u] { background: var(--rg-bg-hover, #f8fafc); }

/* Fila BALANCE ANT (primera fila) */
.cc-row-balant td[b-m5044etv8u] {
    background: rgba(254, 240, 138, 0.35) !important;
    font-weight: 600;
}
[data-mode="dark"] .cc-row-balant td[b-m5044etv8u] {
    background: rgba(202, 138, 4, 0.18) !important;
}

/* Footer totales */
.cc-tfoot-row td[b-m5044etv8u] {
    background: var(--rg-bg-subtle, #f8fafc);
    border-top: 2px solid var(--rg-border, #e2e8f0);
    padding: 0.4rem 0.6rem;
    font-size: 0.78rem;
}

/* Balance positivo / negativo */
.cc-bal-pos[b-m5044etv8u] { color: var(--rg-text-primary, #1e293b); }
.cc-bal-neg[b-m5044etv8u] { color: var(--rg-danger, #ef4444) !important; }

/* ID cliente pequeño sobre el nombre */
.cc-cli-id[b-m5044etv8u] {
    display: block;
    font-size: 0.65rem;
    color: var(--rg-text-muted, #94a3b8);
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    line-height: 1;
    margin-bottom: 1px;
}

/* Totales inline en la action row */
.cc-result-count[b-m5044etv8u] {
    font-size: 0.78rem;
    color: var(--rg-text-secondary, #475569);
}
.cc-result-count strong[b-m5044etv8u] { color: var(--rg-text-primary, #1e293b); }

/* Etiqueta opcional */
.cc-optional[b-m5044etv8u] {
    font-weight: 400;
    font-size: 0.62rem;
    color: var(--rg-text-muted, #94a3b8);
    text-transform: none;
    letter-spacing: 0;
}

/* Alineación derecha */
.text-right[b-m5044etv8u] { text-align: right !important; }

/* Celdas drilldown (Documento / Aplicación) */
.cc-drilldown[b-m5044etv8u] {
    cursor: pointer;
    color: var(--rg-accent, #4f46e5);
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.15s, opacity 0.15s;
}
.cc-drilldown:hover[b-m5044etv8u] {
    text-decoration-color: var(--rg-accent, #4f46e5);
    opacity: 0.85;
}

/* ── Responsive ────────────────────────────────────────── */

@media (max-width: 768px) {
    .crud-container[b-m5044etv8u] { padding: 0.75rem; }
    .crud-title[b-m5044etv8u] { font-size: 1.1rem; }
    .cc-fields-row[b-m5044etv8u] { flex-direction: column; }
    .cc-field-group[b-m5044etv8u] { min-width: unset; width: 100%; }
    .cc-picker-row[b-m5044etv8u] { flex-wrap: wrap; }
    .cc-picker-input[b-m5044etv8u], .cc-picker-desc[b-m5044etv8u] { flex: unset; width: 100%; }
    .cc-grid-scroll[b-m5044etv8u] { max-height: 55vh; }
}
/* _content/Rgclouds.Web/Components/Pages/Dashboard.razor.rz.scp.css */
/* ============================================================
   🏠 Dashboard.razor.css — Estilos premium del panel de control
   🎯 Banner gradiente + Stats cards + Acciones rapidas
   📱 Responsive con grid adaptativo
   ============================================================ */

/* 📦 Contenedor principal del dashboard */
.dashboard[b-mmrm7ccala] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

/* ============================================================
   👋 BANNER DE BIENVENIDA — Gradiente con efecto decorativo
   ============================================================ */

.welcome-banner[b-mmrm7ccala] {
    background: var(--rg-gradient, linear-gradient(135deg, #1e3a8a 0%, #3b82f6 50%, #60a5fa 100%));
    border-radius: 16px;
    padding: 2rem 2.5rem;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 10px 15px -3px rgba(var(--rg-primary-rgb, 59, 130, 246), 0.2);
}

.welcome-banner-content[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.welcome-text h1[b-mmrm7ccala] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.375rem 0;
    line-height: 1.3;
}

.welcome-name[b-mmrm7ccala] {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
}

.welcome-text p[b-mmrm7ccala] {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    line-height: 1.5;
}

/* 🎨 Circulos decorativos del banner */
.welcome-illustration[b-mmrm7ccala] {
    position: relative;
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 🎯 Velocímetro clickeable — abre modal de acciones rápidas */
.welcome-illustration-clickable[b-mmrm7ccala] {
    cursor: pointer;
    transition: transform 0.2s ease;
}

.welcome-illustration-clickable:hover[b-mmrm7ccala] {
    transform: scale(1.05);
}

.welcome-illustration-clickable:hover > i[b-mmrm7ccala] {
    color: #ffd93d;
}

.welcome-config-hint[b-mmrm7ccala] {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 28px;
    height: 28px;
    background: #ffd93d;
    color: #1a3a5c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    z-index: 3;
    opacity: 0;
    transform: scale(0.7);
    transition: all 0.2s ease;
}

.welcome-illustration-clickable:hover .welcome-config-hint[b-mmrm7ccala] {
    opacity: 1;
    transform: scale(1);
}

.welcome-illustration > i[b-mmrm7ccala] {
    font-size: 2.5rem;
    color: rgba(255, 255, 255, 0.9);
    z-index: 2;
    position: relative;
}

.welcome-circle[b-mmrm7ccala] {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.welcome-circle.c1[b-mmrm7ccala] {
    width: 120px;
    height: 120px;
    animation: pulseCircle-b-mmrm7ccala 3s ease-in-out infinite;
}

.welcome-circle.c2[b-mmrm7ccala] {
    width: 88px;
    height: 88px;
    border-color: rgba(255, 255, 255, 0.15);
    animation: pulseCircle-b-mmrm7ccala 3s ease-in-out 0.5s infinite;
}

.welcome-circle.c3[b-mmrm7ccala] {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    animation: pulseCircle-b-mmrm7ccala 3s ease-in-out 1s infinite;
}

@keyframes pulseCircle-b-mmrm7ccala {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.7; }
}

/* ============================================================
   📊 TARJETAS DE ESTADO — Grid de 4 columnas
   ============================================================ */

.stats-grid[b-mmrm7ccala] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.stat-card[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 1.125rem 1.25rem;
    background: var(--rg-bg-card, #ffffff);
    border-radius: 14px;
    border: 1px solid var(--rg-border, rgba(0, 0, 0, 0.04));
    box-shadow: var(--rg-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.stat-card:hover[b-mmrm7ccala] {
    transform: translateY(-2px);
    box-shadow: var(--rg-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.stat-card[b-mmrm7ccala]::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 14px 14px 0 0;
}

.stat-icon[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 1.125rem;
    flex-shrink: 0;
}

.stat-icon.modules[b-mmrm7ccala] {
    background: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.1);
    color: var(--rg-primary, #3b82f6);
}
.stat-card:nth-child(1)[b-mmrm7ccala]::after { background: var(--rg-primary, #3b82f6); }

.stat-icon.security[b-mmrm7ccala] {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
}
.stat-card:nth-child(2)[b-mmrm7ccala]::after { background: #10b981; }

.stat-icon.connection[b-mmrm7ccala] {
    background: rgba(139, 92, 246, 0.1);
    color: #8b5cf6;
}
.stat-card:nth-child(3)[b-mmrm7ccala]::after { background: #8b5cf6; }

.stat-icon.session[b-mmrm7ccala] {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
}
.stat-card:nth-child(4)[b-mmrm7ccala]::after { background: #f59e0b; }

.stat-info[b-mmrm7ccala] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.stat-value[b-mmrm7ccala] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    line-height: 1.2;
}

.stat-label[b-mmrm7ccala] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #64748b);
    font-weight: 500;
}

.stat-badge[b-mmrm7ccala] {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0.25rem 0.625rem;
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
}

.stat-badge.success[b-mmrm7ccala] {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
}

/* ============================================================
   🎯 CUERPO DEL DASHBOARD — Dos columnas
   ============================================================ */

.dashboard-body[b-mmrm7ccala] {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 1.5rem;
}

/* 📋 Titulo de seccion */
.section-title[b-mmrm7ccala] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.section-title i[b-mmrm7ccala] {
    color: var(--rg-primary, #3b82f6);
    font-size: 1rem;
}

/* ⚙️ Botón de configuración de acciones rápidas */
.qa-config-btn[b-mmrm7ccala] {
    margin-left: auto;
    background: transparent;
    border: 1px solid var(--rg-border, rgba(0, 0, 0, 0.08));
    color: var(--rg-text-secondary, #64748b);
    width: 30px;
    height: 30px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s ease;
    font-size: 0.85rem;
}

.qa-config-btn:hover[b-mmrm7ccala] {
    background: var(--rg-primary, #3b82f6);
    color: #ffffff;
    border-color: var(--rg-primary, #3b82f6);
    transform: rotate(30deg);
}

/* 💡 Empty state cuando aún no hay acciones rápidas configuradas */
.qa-empty-hint[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border: 2px dashed var(--rg-border, rgba(0, 0, 0, 0.12));
    border-radius: 12px;
    cursor: pointer;
    background: var(--rg-bg-card, #ffffff);
    transition: all 0.2s ease;
}

.qa-empty-hint:hover[b-mmrm7ccala] {
    border-color: var(--rg-primary, #3b82f6);
    background: rgba(59, 130, 246, 0.04);
}

.qa-empty-hint > i[b-mmrm7ccala] {
    font-size: 2rem;
    color: var(--rg-primary, #3b82f6);
    flex-shrink: 0;
}

.qa-empty-hint > div[b-mmrm7ccala] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.qa-empty-hint strong[b-mmrm7ccala] {
    font-size: 0.92rem;
    color: var(--rg-text-primary, #1e293b);
}

.qa-empty-hint span[b-mmrm7ccala] {
    font-size: 0.82rem;
    color: var(--rg-text-secondary, #64748b);
}

/* 🎯 Icono genérico para acciones rápidas del usuario (fallback) */
.qa-icon-user[b-mmrm7ccala] {
    background: rgba(26, 58, 92, 0.1);
    color: #1a3a5c;
}

/* ============================================================
   🎨 Paleta de 8 colores para las tarjetas de acciones rápidas
   ============================================================ */
.qa-card-colored[b-mmrm7ccala] {
    position: relative;
    overflow: hidden;
    border-left: 4px solid transparent;
}

.qa-card-colored[b-mmrm7ccala]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--qa-tint, rgba(59, 130, 246, 0.06)) 0%, transparent 60%);
    pointer-events: none;
    transition: opacity 0.25s ease;
    opacity: 0.9;
}

.qa-card-colored:hover[b-mmrm7ccala]::before {
    opacity: 1;
}

.qa-card-colored .qa-icon-user[b-mmrm7ccala] {
    background: var(--qa-icon-bg, rgba(59, 130, 246, 0.12));
    color: var(--qa-icon-fg, #3b82f6);
    box-shadow: 0 2px 6px var(--qa-icon-shadow, rgba(59, 130, 246, 0.18));
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.qa-card-colored:hover .qa-icon-user[b-mmrm7ccala] {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 4px 12px var(--qa-icon-shadow, rgba(59, 130, 246, 0.3));
}

.qa-card-colored .qa-title[b-mmrm7ccala] {
    color: var(--qa-title-color, var(--rg-text-primary, #1e293b));
    font-weight: 600;
}

.qa-card-colored .qa-arrow[b-mmrm7ccala] {
    color: var(--qa-icon-fg, #3b82f6);
}

/* 0 · Azul */
.qa-color-0[b-mmrm7ccala] {
    border-left-color: #3b82f6;
    --qa-tint: rgba(59, 130, 246, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(59, 130, 246, 0.35);
    --qa-title-color: #1e3a8a;
}

/* 1 · Verde */
.qa-color-1[b-mmrm7ccala] {
    border-left-color: #10b981;
    --qa-tint: rgba(16, 185, 129, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #34d399 0%, #10b981 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(16, 185, 129, 0.35);
    --qa-title-color: #065f46;
}

/* 2 · Violeta */
.qa-color-2[b-mmrm7ccala] {
    border-left-color: #8b5cf6;
    --qa-tint: rgba(139, 92, 246, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(139, 92, 246, 0.35);
    --qa-title-color: #5b21b6;
}

/* 3 · Naranja */
.qa-color-3[b-mmrm7ccala] {
    border-left-color: #f59e0b;
    --qa-tint: rgba(245, 158, 11, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(245, 158, 11, 0.35);
    --qa-title-color: #92400e;
}

/* 4 · Rosa */
.qa-color-4[b-mmrm7ccala] {
    border-left-color: #ec4899;
    --qa-tint: rgba(236, 72, 153, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #f472b6 0%, #ec4899 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(236, 72, 153, 0.35);
    --qa-title-color: #9d174d;
}

/* 5 · Cian */
.qa-color-5[b-mmrm7ccala] {
    border-left-color: #06b6d4;
    --qa-tint: rgba(6, 182, 212, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(6, 182, 212, 0.35);
    --qa-title-color: #155e75;
}

/* 6 · Rojo */
.qa-color-6[b-mmrm7ccala] {
    border-left-color: #ef4444;
    --qa-tint: rgba(239, 68, 68, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(239, 68, 68, 0.35);
    --qa-title-color: #991b1b;
}

/* 7 · Índigo */
.qa-color-7[b-mmrm7ccala] {
    border-left-color: #6366f1;
    --qa-tint: rgba(99, 102, 241, 0.08);
    --qa-icon-bg: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);
    --qa-icon-fg: #ffffff;
    --qa-icon-shadow: rgba(99, 102, 241, 0.35);
    --qa-title-color: #3730a3;
}

/* Asegurar que el contenido quede arriba del ::before */
.qa-card-colored > *[b-mmrm7ccala] {
    position: relative;
    z-index: 1;
}

/* Hover refuerza el borde izquierdo */
.qa-card-colored:hover[b-mmrm7ccala] {
    border-left-width: 5px;
}

/* ============================================================
   🎯 ACCIONES RAPIDAS — Tarjetas de acceso directo
   ============================================================ */

.quick-actions-grid[b-mmrm7ccala] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.quick-action-card[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--rg-bg-card, #ffffff);
    border: 1px solid var(--rg-border, rgba(0, 0, 0, 0.04));
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    width: 100%;
    box-shadow: var(--rg-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.03));
}

.quick-action-card:hover[b-mmrm7ccala] {
    background: var(--rg-bg-hover, #fafbfc);
    border-color: var(--rg-primary, #3b82f6);
    box-shadow: 0 2px 8px rgba(var(--rg-primary-rgb, 59, 130, 246), 0.12);
    transform: translateX(4px);
}

.quick-action-card:hover .qa-arrow[b-mmrm7ccala] {
    opacity: 1;
    transform: translateX(0);
    color: var(--rg-primary, #3b82f6);
}

.qa-icon[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 1.125rem;
    flex-shrink: 0;
}

.qa-icon.clients[b-mmrm7ccala] {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}

.qa-icon.accounting[b-mmrm7ccala] {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
}

.qa-icon.loans[b-mmrm7ccala] {
    background: rgba(139, 92, 246, 0.1);
    color: #8b5cf6;
}

.qa-icon.reports[b-mmrm7ccala] {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
}

.qa-text[b-mmrm7ccala] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.qa-title[b-mmrm7ccala] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    line-height: 1.3;
}

.qa-desc[b-mmrm7ccala] {
    font-size: 0.75rem;
    color: var(--rg-text-faint, #94a3b8);
    line-height: 1.3;
}

.qa-arrow[b-mmrm7ccala] {
    font-size: 0.875rem;
    color: var(--rg-text-faint, #cbd5e1);
    opacity: 0;
    transform: translateX(-8px);
    transition: all 0.2s ease;
    flex-shrink: 0;
}

/* ============================================================
   🏢 INFORMACION DEL SISTEMA — Panel lateral
   ============================================================ */

.system-info-card[b-mmrm7ccala] {
    background: var(--rg-bg-card, #ffffff);
    border-radius: 14px;
    border: 1px solid var(--rg-border, rgba(0, 0, 0, 0.04));
    overflow: hidden;
    box-shadow: var(--rg-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.info-row[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    transition: background 0.15s ease;
}

.info-row:last-child[b-mmrm7ccala] {
    border-bottom: none;
}

.info-row:hover[b-mmrm7ccala] {
    background: var(--rg-bg-hover, #f8fafc);
}

.info-label[b-mmrm7ccala] {
    font-size: 0.8125rem;
    color: var(--rg-text-muted, #64748b);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
}

.info-label i[b-mmrm7ccala] {
    font-size: 0.875rem;
    color: var(--rg-text-faint, #94a3b8);
}

.info-value[b-mmrm7ccala] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    display: flex;
    align-items: center;
    gap: 0.375rem;
    text-align: right;
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 🟢 Punto de estado activo */
.status-dot[b-mmrm7ccala] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot.active[b-mmrm7ccala] {
    background: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
    animation: statusPulse-b-mmrm7ccala 2s ease-in-out infinite;
}

@keyframes statusPulse-b-mmrm7ccala {
    0%, 100% { box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2); }
    50% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.1); }
}

/* 📋 Indicacion de navegacion */
.nav-hint[b-mmrm7ccala] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 1rem 1.25rem;
    background: var(--rg-gradient-soft, linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%));
    border-radius: 12px;
    margin-top: 1rem;
    border: 1px solid rgba(var(--rg-primary-rgb, 59, 130, 246), 0.1);
}

.nav-hint i[b-mmrm7ccala] {
    color: var(--rg-primary, #3b82f6);
    font-size: 1rem;
    margin-top: 0.125rem;
    flex-shrink: 0;
}

.nav-hint span[b-mmrm7ccala] {
    font-size: 0.8125rem;
    color: #475569;
    line-height: 1.5;
}

/* ============================================================
   📝 FOOTER — Version y derechos
   ============================================================ */

.dashboard-footer[b-mmrm7ccala] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
    border-top: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.75rem;
    color: var(--rg-text-faint, #94a3b8);
}

/* ============================================================
   📱 RESPONSIVE — Tablet
   ============================================================ */

@media (max-width: 1024px) {
    .stats-grid[b-mmrm7ccala] {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-body[b-mmrm7ccala] {
        grid-template-columns: 1fr;
    }

    .welcome-banner[b-mmrm7ccala] {
        padding: 1.75rem 2rem;
    }

    .welcome-text h1[b-mmrm7ccala] {
        font-size: 1.25rem;
    }
}

/* ============================================================
   📱 RESPONSIVE — Movil
   ============================================================ */

@media (max-width: 768px) {
    .dashboard[b-mmrm7ccala] {
        gap: 1rem;
    }

    .stats-grid[b-mmrm7ccala] {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .stat-card[b-mmrm7ccala] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.625rem;
        padding: 1rem;
    }

    .stat-badge[b-mmrm7ccala] {
        align-self: flex-end;
    }

    .welcome-banner[b-mmrm7ccala] {
        padding: 1.5rem;
    }

    .welcome-illustration[b-mmrm7ccala] {
        display: none;
    }

    .welcome-text h1[b-mmrm7ccala] {
        font-size: 1.125rem;
    }

    .welcome-text p[b-mmrm7ccala] {
        font-size: 0.8125rem;
    }

    .quick-actions-grid[b-mmrm7ccala] {
        gap: 0.5rem;
    }

    .dashboard-footer[b-mmrm7ccala] {
        flex-direction: column;
        gap: 0.25rem;
        text-align: center;
    }
}

/* ============================================================
   📱 RESPONSIVE — Movil pequeno
   ============================================================ */

@media (max-width: 480px) {
    .stats-grid[b-mmrm7ccala] {
        grid-template-columns: 1fr;
    }

    .stat-card[b-mmrm7ccala] {
        flex-direction: row;
        align-items: center;
    }

    .stat-badge[b-mmrm7ccala] {
        align-self: center;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Login.razor.rz.scp.css */
/* ============================================================
   🔐 Login.razor.css — Estilos aislados de la página de login
   🎯 Diseño profesional, responsivo, con animaciones suaves
   📱 Mobile-first design
   ============================================================ */

/* ============================================================
   🎨 Página completa — fondo con gradiente del tema
   ============================================================ */

.login-page[b-dvmaqkf3ll] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--rg-gradient);
    padding: 1rem;
    position: relative;
}

/* ============================================================
   🔧 Barra superior — tema + idioma
   ============================================================ */

.login-toolbar[b-dvmaqkf3ll] {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    z-index: 10;
}

.toolbar-group[b-dvmaqkf3ll] {
    display: flex;
    gap: 0.25rem;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 2rem;
    padding: 0.25rem;
}

.toolbar-btn[b-dvmaqkf3ll] {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.1rem;
    padding: 0.35rem 0.6rem;
    border-radius: 1.5rem;
    cursor: pointer;
    transition: all 0.2s;
    line-height: 1;
}

.toolbar-btn:hover[b-dvmaqkf3ll] {
    color: white;
    background: rgba(255, 255, 255, 0.15);
}

.toolbar-btn.active[b-dvmaqkf3ll] {
    color: white;
    background: rgba(255, 255, 255, 0.25);
}

/* 🎨 Puntos de color de tema */
.theme-dot[b-dvmaqkf3ll] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.2s;
    padding: 0;
}

.theme-dot:hover[b-dvmaqkf3ll] {
    transform: scale(1.15);
    border-color: rgba(255, 255, 255, 0.5);
}

.theme-dot.active[b-dvmaqkf3ll] {
    border-color: white;
    transform: scale(1.2);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
}

/* ============================================================
   📦 Tarjeta de login
   ============================================================ */

.login-card[b-dvmaqkf3ll] {
    width: 100%;
    max-width: 440px;
    background: white;
    border-radius: 1.5rem;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

/* ============================================================
   🏢 Header — Logo y título
   ============================================================ */

.login-header[b-dvmaqkf3ll] {
    text-align: center;
    padding: 1.5rem 2rem 1rem;
    background: var(--rg-gradient-soft);
    border-bottom: 1px solid rgba(var(--rg-primary-rgb), 0.1);
}

.login-logo[b-dvmaqkf3ll] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.35rem;
}

[b-dvmaqkf3ll] .login-logo-img {
    width: 7rem;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.12));
    transition: transform 0.3s ease;
}

[b-dvmaqkf3ll] .login-logo-img:hover {
    transform: scale(1.04);
}

.login-header p[b-dvmaqkf3ll] {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0.15rem 0 0;
    letter-spacing: 0.02em;
}

/* ============================================================
   📋 Formulario de login
   ============================================================ */

.login-form[b-dvmaqkf3ll] {
    padding: 1.75rem 2rem;
}

.login-form h2[b-dvmaqkf3ll] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 0.25rem;
}

.login-subtitle[b-dvmaqkf3ll] {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0 0 1.25rem;
    line-height: 1.4;
}

/* 👁️ Toggle contraseña */
.password-wrapper[b-dvmaqkf3ll] {
    position: relative;
}

.password-toggle[b-dvmaqkf3ll] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 0.25rem;
    font-size: 1.1rem;
    transition: color 0.2s;
}

.password-toggle:hover[b-dvmaqkf3ll] {
    color: var(--rg-primary);
}

/* ============================================================
   🏢 Lista de empresas (Paso 2)
   ============================================================ */

.company-list[b-dvmaqkf3ll] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 280px;
    overflow-y: auto;
    margin-bottom: 1.25rem;
    padding-right: 0.25rem;
}

/* Scrollbar personalizado */
.company-list[b-dvmaqkf3ll]::-webkit-scrollbar {
    width: 4px;
}

.company-list[b-dvmaqkf3ll]::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.company-list[b-dvmaqkf3ll]::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* 🏢 Tarjeta de empresa */
.company-card[b-dvmaqkf3ll] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border: 2px solid #e2e8f0;
    border-radius: 0.75rem;
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    width: 100%;
}

.company-card:hover:not(:disabled)[b-dvmaqkf3ll] {
    border-color: var(--rg-primary-light);
    background: #f8fafc;
}

.company-card.selected[b-dvmaqkf3ll] {
    border-color: var(--rg-primary);
    background: var(--rg-primary-light);
    box-shadow: 0 2px 8px rgba(var(--rg-primary-rgb), 0.15);
}

.company-card:disabled[b-dvmaqkf3ll] {
    opacity: 0.6;
    cursor: not-allowed;
}

.company-card-icon[b-dvmaqkf3ll] {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--rg-primary-light);
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.company-card-icon i[b-dvmaqkf3ll] {
    font-size: 1.1rem;
    color: var(--rg-primary);
}

.company-card.selected .company-card-icon[b-dvmaqkf3ll] {
    background: var(--rg-primary);
}

.company-card.selected .company-card-icon i[b-dvmaqkf3ll] {
    color: white;
}

.company-card-info[b-dvmaqkf3ll] {
    flex: 1;
    min-width: 0;
}

.company-name[b-dvmaqkf3ll] {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.company-branch[b-dvmaqkf3ll] {
    display: block;
    font-size: 0.8rem;
    color: #64748b;
    margin-top: 0.125rem;
}

.company-branch i[b-dvmaqkf3ll] {
    font-size: 0.75rem;
}

.company-card-check[b-dvmaqkf3ll] {
    flex-shrink: 0;
    color: var(--rg-primary);
    font-size: 1.25rem;
    animation: rg-fadeIn 0.2s ease;
}

/* ============================================================
   🔘 Acciones del Paso 2
   ============================================================ */

.login-actions[b-dvmaqkf3ll] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.btn-back[b-dvmaqkf3ll] {
    background: none;
    border: none;
    color: #64748b;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: color 0.2s;
}

.btn-back:hover[b-dvmaqkf3ll] {
    color: var(--rg-primary);
}

.btn-back:disabled[b-dvmaqkf3ll] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ============================================================
   📋 Footer
   ============================================================ */

.login-footer[b-dvmaqkf3ll] {
    text-align: center;
    padding: 1rem 2rem;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #94a3b8;
}

/* ============================================================
   📱 Responsive
   ============================================================ */

@media (max-width: 480px) {
    .login-card[b-dvmaqkf3ll] {
        border-radius: 1rem;
        margin: 0.5rem;
    }

    .login-form[b-dvmaqkf3ll] {
        padding: 1.25rem 1.5rem;
    }

    .login-header[b-dvmaqkf3ll] {
        padding: 1.25rem 1.5rem 0.75rem;
    }

    [b-dvmaqkf3ll] .login-logo-img {
        width: 5.5rem;
    }

    .login-toolbar[b-dvmaqkf3ll] {
        top: 0.5rem;
        right: 0.75rem;
        flex-direction: column;
        align-items: flex-end;
        gap: 0.5rem;
    }

    .company-list[b-dvmaqkf3ll] {
        max-height: 220px;
    }

    .login-footer[b-dvmaqkf3ll] {
        flex-direction: column;
        gap: 0.15rem;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .login-card[b-dvmaqkf3ll] {
        max-width: 420px;
    }
}

@media (min-height: 900px) {
    .login-page[b-dvmaqkf3ll] {
        padding: 2rem;
    }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmcolores.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-5eukxif1c8] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-5eukxif1c8 0.3s ease-out; }
@keyframes slideUp-b-5eukxif1c8 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-5eukxif1c8] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-5eukxif1c8] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-5eukxif1c8] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-5eukxif1c8] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-5eukxif1c8] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-5eukxif1c8] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-5eukxif1c8] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-5eukxif1c8] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-5eukxif1c8] { filter: brightness(1.1); }
.btn-outline[b-5eukxif1c8] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-5eukxif1c8] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-5eukxif1c8] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-5eukxif1c8] { filter: brightness(1.1); }
.btn-icon[b-5eukxif1c8] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-5eukxif1c8] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-5eukxif1c8] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-5eukxif1c8] { color: #ef4444; }
.btn-delete:hover[b-5eukxif1c8] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-5eukxif1c8] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-5eukxif1c8] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-5eukxif1c8] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-5eukxif1c8] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-5eukxif1c8] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-5eukxif1c8] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-5eukxif1c8] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-5eukxif1c8] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-5eukxif1c8] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-5eukxif1c8] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-5eukxif1c8] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-5eukxif1c8] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-5eukxif1c8] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-5eukxif1c8] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-5eukxif1c8] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-5eukxif1c8] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-5eukxif1c8] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-5eukxif1c8] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-5eukxif1c8] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-5eukxif1c8] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-5eukxif1c8] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-5eukxif1c8] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-5eukxif1c8] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-5eukxif1c8] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-5eukxif1c8] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-5eukxif1c8] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-5eukxif1c8] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-5eukxif1c8] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-5eukxif1c8] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-5eukxif1c8] { display: block; }
.hide-on-cards[b-5eukxif1c8] { display: none !important; }
.show-on-cards[b-5eukxif1c8] { display: grid; }
.hide-on-grid[b-5eukxif1c8] { display: none !important; }

/* Badges */
.badge[b-5eukxif1c8] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-5eukxif1c8] { background: #ecfdf5; color: #065f46; }
.badge-no[b-5eukxif1c8] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-5eukxif1c8] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-5eukxif1c8] { text-align: center; }
.text-muted[b-5eukxif1c8] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-5eukxif1c8], .crud-empty-state[b-5eukxif1c8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-5eukxif1c8] { font-size: 2rem; }
.crud-spinner[b-5eukxif1c8] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-5eukxif1c8 0.6s linear infinite; }
.crud-spinner-sm[b-5eukxif1c8] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-5eukxif1c8 0.6s linear infinite; }
@keyframes spin-b-5eukxif1c8 { to { transform: rotate(360deg); } }
.spin[b-5eukxif1c8] { animation: spin-b-5eukxif1c8 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-5eukxif1c8] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-5eukxif1c8 0.15s ease-out; }
.modal-container[b-5eukxif1c8] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-5eukxif1c8] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-5eukxif1c8 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-5eukxif1c8] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-5eukxif1c8] { max-width: 420px; }
@keyframes fadeIn-b-5eukxif1c8 { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-5eukxif1c8 { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-5eukxif1c8] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-5eukxif1c8] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-5eukxif1c8] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-5eukxif1c8] { color: #dc2626; }
.modal-close[b-5eukxif1c8] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-5eukxif1c8] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-5eukxif1c8] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-5eukxif1c8] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-5eukxif1c8] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-5eukxif1c8] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-5eukxif1c8] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-5eukxif1c8] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-5eukxif1c8] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-5eukxif1c8] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-5eukxif1c8] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-5eukxif1c8] { flex: 2; }
.form-group label[b-5eukxif1c8] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-5eukxif1c8], .form-group select[b-5eukxif1c8], .form-textarea[b-5eukxif1c8] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-5eukxif1c8], .form-group select:focus[b-5eukxif1c8], .form-textarea:focus[b-5eukxif1c8] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-5eukxif1c8] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-5eukxif1c8] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-5eukxif1c8] { flex: 1; display: flex; align-items: center; }
.form-check[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-5eukxif1c8] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-5eukxif1c8] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-5eukxif1c8] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-5eukxif1c8] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-5eukxif1c8] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-5eukxif1c8] { font-size: 3rem; }
.photo-placeholder span[b-5eukxif1c8] { font-size: 0.78rem; }
.photo-actions[b-5eukxif1c8] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-5eukxif1c8] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-5eukxif1c8] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-5eukxif1c8] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-5eukxif1c8] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-5eukxif1c8] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-5eukxif1c8] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-5eukxif1c8] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-5eukxif1c8] { filter: brightness(1.15); transform: scale(1.05); }
[b-5eukxif1c8] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-5eukxif1c8] { padding: 0.75rem; }
    .crud-header[b-5eukxif1c8] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-5eukxif1c8] { font-size: 1.1rem; }
    .btn-text[b-5eukxif1c8] { display: none; }
    .form-row[b-5eukxif1c8] { flex-direction: column; }
    .form-row-4[b-5eukxif1c8] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-5eukxif1c8] { width: 98%; max-height: 95vh; }
    .modal-lg[b-5eukxif1c8] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-5eukxif1c8] { padding: 0.75rem; }
    .modal-tabs[b-5eukxif1c8] { overflow-x: auto; }
    .modal-tab[b-5eukxif1c8] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-5eukxif1c8] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-5eukxif1c8] { display: grid !important; }
    .crud-cards-wrapper[b-5eukxif1c8] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-5eukxif1c8] { grid-template-columns: 1fr; }
    .card-details[b-5eukxif1c8] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmmarcavehiculos.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-an3pfww6eu] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-an3pfww6eu 0.3s ease-out; }
@keyframes slideUp-b-an3pfww6eu { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-an3pfww6eu] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-an3pfww6eu] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-an3pfww6eu] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-an3pfww6eu] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-an3pfww6eu] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-an3pfww6eu] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-an3pfww6eu] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-an3pfww6eu] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-an3pfww6eu] { filter: brightness(1.1); }
.btn-outline[b-an3pfww6eu] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-an3pfww6eu] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-an3pfww6eu] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-an3pfww6eu] { filter: brightness(1.1); }
.btn-icon[b-an3pfww6eu] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-an3pfww6eu] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-an3pfww6eu] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-an3pfww6eu] { color: #ef4444; }
.btn-delete:hover[b-an3pfww6eu] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-an3pfww6eu] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-an3pfww6eu] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-an3pfww6eu] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-an3pfww6eu] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-an3pfww6eu] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-an3pfww6eu] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-an3pfww6eu] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-an3pfww6eu] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-an3pfww6eu] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-an3pfww6eu] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-an3pfww6eu] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-an3pfww6eu] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-an3pfww6eu] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-an3pfww6eu] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-an3pfww6eu] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-an3pfww6eu] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-an3pfww6eu] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-an3pfww6eu] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-an3pfww6eu] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-an3pfww6eu] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-an3pfww6eu] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-an3pfww6eu] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-an3pfww6eu] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-an3pfww6eu] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-an3pfww6eu] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-an3pfww6eu] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-an3pfww6eu] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-an3pfww6eu] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-an3pfww6eu] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-an3pfww6eu] { display: block; }
.hide-on-cards[b-an3pfww6eu] { display: none !important; }
.show-on-cards[b-an3pfww6eu] { display: grid; }
.hide-on-grid[b-an3pfww6eu] { display: none !important; }

/* Badges */
.badge[b-an3pfww6eu] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-an3pfww6eu] { background: #ecfdf5; color: #065f46; }
.badge-no[b-an3pfww6eu] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-an3pfww6eu] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-an3pfww6eu] { text-align: center; }
.text-muted[b-an3pfww6eu] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-an3pfww6eu], .crud-empty-state[b-an3pfww6eu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-an3pfww6eu] { font-size: 2rem; }
.crud-spinner[b-an3pfww6eu] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-an3pfww6eu 0.6s linear infinite; }
.crud-spinner-sm[b-an3pfww6eu] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-an3pfww6eu 0.6s linear infinite; }
@keyframes spin-b-an3pfww6eu { to { transform: rotate(360deg); } }
.spin[b-an3pfww6eu] { animation: spin-b-an3pfww6eu 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-an3pfww6eu] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-an3pfww6eu 0.15s ease-out; }
.modal-container[b-an3pfww6eu] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-an3pfww6eu] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-an3pfww6eu 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-an3pfww6eu] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-an3pfww6eu] { max-width: 420px; }
@keyframes fadeIn-b-an3pfww6eu { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-an3pfww6eu { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-an3pfww6eu] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-an3pfww6eu] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-an3pfww6eu] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-an3pfww6eu] { color: #dc2626; }
.modal-close[b-an3pfww6eu] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-an3pfww6eu] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-an3pfww6eu] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-an3pfww6eu] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-an3pfww6eu] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-an3pfww6eu] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-an3pfww6eu] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-an3pfww6eu] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-an3pfww6eu] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-an3pfww6eu] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-an3pfww6eu] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-an3pfww6eu] { flex: 2; }
.form-group label[b-an3pfww6eu] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-an3pfww6eu], .form-group select[b-an3pfww6eu], .form-textarea[b-an3pfww6eu] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-an3pfww6eu], .form-group select:focus[b-an3pfww6eu], .form-textarea:focus[b-an3pfww6eu] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-an3pfww6eu] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-an3pfww6eu] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-an3pfww6eu] { flex: 1; display: flex; align-items: center; }
.form-check[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-an3pfww6eu] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-an3pfww6eu] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-an3pfww6eu] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-an3pfww6eu] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-an3pfww6eu] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-an3pfww6eu] { font-size: 3rem; }
.photo-placeholder span[b-an3pfww6eu] { font-size: 0.78rem; }
.photo-actions[b-an3pfww6eu] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-an3pfww6eu] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-an3pfww6eu] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-an3pfww6eu] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-an3pfww6eu] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-an3pfww6eu] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-an3pfww6eu] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-an3pfww6eu] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-an3pfww6eu] { filter: brightness(1.15); transform: scale(1.05); }
[b-an3pfww6eu] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-an3pfww6eu] { padding: 0.75rem; }
    .crud-header[b-an3pfww6eu] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-an3pfww6eu] { font-size: 1.1rem; }
    .btn-text[b-an3pfww6eu] { display: none; }
    .form-row[b-an3pfww6eu] { flex-direction: column; }
    .form-row-4[b-an3pfww6eu] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-an3pfww6eu] { width: 98%; max-height: 95vh; }
    .modal-lg[b-an3pfww6eu] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-an3pfww6eu] { padding: 0.75rem; }
    .modal-tabs[b-an3pfww6eu] { overflow-x: auto; }
    .modal-tab[b-an3pfww6eu] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-an3pfww6eu] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-an3pfww6eu] { display: grid !important; }
    .crud-cards-wrapper[b-an3pfww6eu] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-an3pfww6eu] { grid-template-columns: 1fr; }
    .card-details[b-an3pfww6eu] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmminacamiones.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-j8asni6gyc] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-j8asni6gyc 0.3s ease-out; }
@keyframes slideUp-b-j8asni6gyc { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-j8asni6gyc] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-j8asni6gyc] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-j8asni6gyc] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-j8asni6gyc] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-j8asni6gyc] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-j8asni6gyc] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-j8asni6gyc] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-j8asni6gyc] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-j8asni6gyc] { filter: brightness(1.1); }
.btn-outline[b-j8asni6gyc] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-j8asni6gyc] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-j8asni6gyc] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-j8asni6gyc] { filter: brightness(1.1); }
.btn-icon[b-j8asni6gyc] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-j8asni6gyc] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-j8asni6gyc] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-j8asni6gyc] { color: #ef4444; }
.btn-delete:hover[b-j8asni6gyc] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-j8asni6gyc] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-j8asni6gyc] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-j8asni6gyc] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-j8asni6gyc] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-j8asni6gyc] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-j8asni6gyc] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-j8asni6gyc] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-j8asni6gyc] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-j8asni6gyc] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-j8asni6gyc] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-j8asni6gyc] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-j8asni6gyc] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-j8asni6gyc] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-j8asni6gyc] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-j8asni6gyc] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-j8asni6gyc] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-j8asni6gyc] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-j8asni6gyc] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-j8asni6gyc] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-j8asni6gyc] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-j8asni6gyc] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-j8asni6gyc] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-j8asni6gyc] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-j8asni6gyc] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-j8asni6gyc] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-j8asni6gyc] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-j8asni6gyc] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-j8asni6gyc] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-j8asni6gyc] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-j8asni6gyc] { display: block; }
.hide-on-cards[b-j8asni6gyc] { display: none !important; }
.show-on-cards[b-j8asni6gyc] { display: grid; }
.hide-on-grid[b-j8asni6gyc] { display: none !important; }

/* Badges */
.badge[b-j8asni6gyc] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-j8asni6gyc] { background: #ecfdf5; color: #065f46; }
.badge-no[b-j8asni6gyc] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-j8asni6gyc] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-j8asni6gyc] { text-align: center; }
.text-muted[b-j8asni6gyc] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-j8asni6gyc], .crud-empty-state[b-j8asni6gyc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-j8asni6gyc] { font-size: 2rem; }
.crud-spinner[b-j8asni6gyc] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-j8asni6gyc 0.6s linear infinite; }
.crud-spinner-sm[b-j8asni6gyc] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-j8asni6gyc 0.6s linear infinite; }
@keyframes spin-b-j8asni6gyc { to { transform: rotate(360deg); } }
.spin[b-j8asni6gyc] { animation: spin-b-j8asni6gyc 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-j8asni6gyc] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-j8asni6gyc 0.15s ease-out; }
.modal-container[b-j8asni6gyc] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-j8asni6gyc] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-j8asni6gyc 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-j8asni6gyc] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-j8asni6gyc] { max-width: 420px; }
.modal-md[b-j8asni6gyc] { max-width: 720px; }
/* Modal estilo tarjeta para camiones: compacto, 2 columnas */
.truck-card-modal[b-j8asni6gyc] { max-width: 720px; }
.truck-card-modal .modal-body .form-row[b-j8asni6gyc] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 0.75rem; }
.truck-card-modal .form-row:last-child[b-j8asni6gyc] { margin-bottom: 0; }
.truck-card-modal .form-check-wrap[b-j8asni6gyc] { display: flex; flex-direction: column; justify-content: flex-end; }
.truck-card-modal .form-check-wrap .form-check[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0; }
@media (max-width: 640px) {
    .truck-card-modal .modal-body .form-row[b-j8asni6gyc] { grid-template-columns: 1fr; }
}
@keyframes fadeIn-b-j8asni6gyc { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-j8asni6gyc { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-j8asni6gyc] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-j8asni6gyc] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-j8asni6gyc] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-j8asni6gyc] { color: #dc2626; }
.modal-close[b-j8asni6gyc] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-j8asni6gyc] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-j8asni6gyc] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-j8asni6gyc] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-j8asni6gyc] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-j8asni6gyc] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-j8asni6gyc] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-j8asni6gyc] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-j8asni6gyc] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-j8asni6gyc] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-j8asni6gyc] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-j8asni6gyc] { flex: 2; }
.form-group label[b-j8asni6gyc] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-j8asni6gyc], .form-group select[b-j8asni6gyc], .form-textarea[b-j8asni6gyc] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-j8asni6gyc], .form-group select:focus[b-j8asni6gyc], .form-textarea:focus[b-j8asni6gyc] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-j8asni6gyc] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-j8asni6gyc] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-j8asni6gyc] { flex: 1; display: flex; align-items: center; }
.form-check[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-j8asni6gyc] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-j8asni6gyc] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-j8asni6gyc] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-j8asni6gyc] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-j8asni6gyc] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-j8asni6gyc] { font-size: 3rem; }
.photo-placeholder span[b-j8asni6gyc] { font-size: 0.78rem; }
.photo-actions[b-j8asni6gyc] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-j8asni6gyc] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-j8asni6gyc] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-j8asni6gyc] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-j8asni6gyc] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-j8asni6gyc] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-j8asni6gyc] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-j8asni6gyc] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-j8asni6gyc] { filter: brightness(1.15); transform: scale(1.05); }
[b-j8asni6gyc] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-j8asni6gyc] { padding: 0.75rem; }
    .crud-header[b-j8asni6gyc] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-j8asni6gyc] { font-size: 1.1rem; }
    .btn-text[b-j8asni6gyc] { display: none; }
    .form-row[b-j8asni6gyc] { flex-direction: column; }
    .form-row-4[b-j8asni6gyc] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-j8asni6gyc] { width: 98%; max-height: 95vh; }
    .modal-lg[b-j8asni6gyc] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-j8asni6gyc] { padding: 0.75rem; }
    .modal-tabs[b-j8asni6gyc] { overflow-x: auto; }
    .modal-tab[b-j8asni6gyc] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-j8asni6gyc] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-j8asni6gyc] { display: grid !important; }
    .crud-cards-wrapper[b-j8asni6gyc] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-j8asni6gyc] { grid-template-columns: 1fr; }
    .card-details[b-j8asni6gyc] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmminachoferes.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-1rsz2gvzcm] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-1rsz2gvzcm 0.3s ease-out; }
@keyframes slideUp-b-1rsz2gvzcm { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-1rsz2gvzcm] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-1rsz2gvzcm] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-1rsz2gvzcm] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-1rsz2gvzcm] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-1rsz2gvzcm] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-1rsz2gvzcm] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-1rsz2gvzcm] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-1rsz2gvzcm] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-1rsz2gvzcm] { filter: brightness(1.1); }
.btn-outline[b-1rsz2gvzcm] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-1rsz2gvzcm] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-1rsz2gvzcm] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-1rsz2gvzcm] { filter: brightness(1.1); }
.btn-icon[b-1rsz2gvzcm] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-1rsz2gvzcm] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-1rsz2gvzcm] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-1rsz2gvzcm] { color: #ef4444; }
.btn-delete:hover[b-1rsz2gvzcm] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-1rsz2gvzcm] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-1rsz2gvzcm] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-1rsz2gvzcm] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-1rsz2gvzcm] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-1rsz2gvzcm] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-1rsz2gvzcm] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-1rsz2gvzcm] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-1rsz2gvzcm] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-1rsz2gvzcm] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-1rsz2gvzcm] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-1rsz2gvzcm] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-1rsz2gvzcm] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-1rsz2gvzcm] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-1rsz2gvzcm] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-1rsz2gvzcm] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-1rsz2gvzcm] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-1rsz2gvzcm] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-1rsz2gvzcm] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-1rsz2gvzcm] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-1rsz2gvzcm] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-1rsz2gvzcm] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-1rsz2gvzcm] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-1rsz2gvzcm] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-1rsz2gvzcm] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-1rsz2gvzcm] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-1rsz2gvzcm] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-1rsz2gvzcm] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-1rsz2gvzcm] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-1rsz2gvzcm] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-1rsz2gvzcm] { display: block; }
.hide-on-cards[b-1rsz2gvzcm] { display: none !important; }
.show-on-cards[b-1rsz2gvzcm] { display: grid; }
.hide-on-grid[b-1rsz2gvzcm] { display: none !important; }

/* Badges */
.badge[b-1rsz2gvzcm] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-1rsz2gvzcm] { background: #ecfdf5; color: #065f46; }
.badge-no[b-1rsz2gvzcm] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-1rsz2gvzcm] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-1rsz2gvzcm] { text-align: center; }
.text-muted[b-1rsz2gvzcm] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-1rsz2gvzcm], .crud-empty-state[b-1rsz2gvzcm] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-1rsz2gvzcm] { font-size: 2rem; }
.crud-spinner[b-1rsz2gvzcm] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-1rsz2gvzcm 0.6s linear infinite; }
.crud-spinner-sm[b-1rsz2gvzcm] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-1rsz2gvzcm 0.6s linear infinite; }
@keyframes spin-b-1rsz2gvzcm { to { transform: rotate(360deg); } }
.spin[b-1rsz2gvzcm] { animation: spin-b-1rsz2gvzcm 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-1rsz2gvzcm] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-1rsz2gvzcm 0.15s ease-out; }
.modal-container[b-1rsz2gvzcm] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-1rsz2gvzcm] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-1rsz2gvzcm 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-1rsz2gvzcm] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-1rsz2gvzcm] { max-width: 420px; }
@keyframes fadeIn-b-1rsz2gvzcm { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-1rsz2gvzcm { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-1rsz2gvzcm] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-1rsz2gvzcm] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-1rsz2gvzcm] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-1rsz2gvzcm] { color: #dc2626; }
.modal-close[b-1rsz2gvzcm] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-1rsz2gvzcm] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-1rsz2gvzcm] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-1rsz2gvzcm] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-1rsz2gvzcm] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-1rsz2gvzcm] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-1rsz2gvzcm] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-1rsz2gvzcm] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-1rsz2gvzcm] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-1rsz2gvzcm] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-1rsz2gvzcm] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-1rsz2gvzcm] { flex: 2; }
.form-group label[b-1rsz2gvzcm] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-1rsz2gvzcm], .form-group select[b-1rsz2gvzcm], .form-textarea[b-1rsz2gvzcm] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-1rsz2gvzcm], .form-group select:focus[b-1rsz2gvzcm], .form-textarea:focus[b-1rsz2gvzcm] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-1rsz2gvzcm] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-1rsz2gvzcm] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-1rsz2gvzcm] { flex: 1; display: flex; align-items: center; }
.form-check[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-1rsz2gvzcm] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-1rsz2gvzcm] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-1rsz2gvzcm] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-1rsz2gvzcm] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-1rsz2gvzcm] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-1rsz2gvzcm] { font-size: 3rem; }
.photo-placeholder span[b-1rsz2gvzcm] { font-size: 0.78rem; }
.photo-actions[b-1rsz2gvzcm] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-1rsz2gvzcm] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-1rsz2gvzcm] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-1rsz2gvzcm] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-1rsz2gvzcm] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-1rsz2gvzcm] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-1rsz2gvzcm] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-1rsz2gvzcm] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-1rsz2gvzcm] { filter: brightness(1.15); transform: scale(1.05); }
[b-1rsz2gvzcm] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-1rsz2gvzcm] { padding: 0.75rem; }
    .crud-header[b-1rsz2gvzcm] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-1rsz2gvzcm] { font-size: 1.1rem; }
    .btn-text[b-1rsz2gvzcm] { display: none; }
    .form-row[b-1rsz2gvzcm] { flex-direction: column; }
    .form-row-4[b-1rsz2gvzcm] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-1rsz2gvzcm] { width: 98%; max-height: 95vh; }
    .modal-lg[b-1rsz2gvzcm] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-1rsz2gvzcm] { padding: 0.75rem; }
    .modal-tabs[b-1rsz2gvzcm] { overflow-x: auto; }
    .modal-tab[b-1rsz2gvzcm] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-1rsz2gvzcm] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-1rsz2gvzcm] { display: grid !important; }
    .crud-cards-wrapper[b-1rsz2gvzcm] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-1rsz2gvzcm] { grid-template-columns: 1fr; }
    .card-details[b-1rsz2gvzcm] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmminacobrosrealizados.razor.rz.scp.css */
/* ============================================================
   Frmminacobrosrealizados — Cobros Realizados / Reimpresión
   Patrón: copia literal de Frmclientes.razor.css +
           estilos propios del panel de filtros, acordeón y reporte
   ============================================================ */

.crud-container[b-0rmb8kohxr] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-0rmb8kohxr 0.3s ease-out; }
@keyframes slideUp-b-0rmb8kohxr { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-0rmb8kohxr] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-0rmb8kohxr] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-0rmb8kohxr] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-0rmb8kohxr] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-0rmb8kohxr] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-0rmb8kohxr] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-0rmb8kohxr] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-0rmb8kohxr] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-0rmb8kohxr] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-0rmb8kohxr] { filter: brightness(1.1); }
.btn-outline[b-0rmb8kohxr] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-0rmb8kohxr] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-sm[b-0rmb8kohxr] { padding: 0.3rem 0.55rem; font-size: 0.72rem; }
.btn-icon[b-0rmb8kohxr] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-print[b-0rmb8kohxr] { color: var(--rg-accent, #4f46e5); }
.btn-print:hover:not(:disabled)[b-0rmb8kohxr] { background: rgba(79, 70, 229, 0.1); }

/* Alert */
.crud-alert[b-0rmb8kohxr] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-0rmb8kohxr] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-0rmb8kohxr] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-0rmb8kohxr] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-0rmb8kohxr] { background: rgba(16,185,129,0.12); color: #86efac; border-color: rgba(16,185,129,0.3); }
[data-mode="dark"] .crud-alert.error[b-0rmb8kohxr] { background: rgba(239,68,68,0.12); color: #fca5a5; border-color: rgba(239,68,68,0.3); }

/* Grid */
.crud-grid-wrapper[b-0rmb8kohxr] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0 0 0.5rem 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); }
.cr-group-grid[b-0rmb8kohxr] { max-height: 340px; border-top: none; border-radius: 0; }
.crud-table[b-0rmb8kohxr] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-0rmb8kohxr] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-0rmb8kohxr] { background: var(--rg-bg-subtle, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.55rem 0.65rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-0rmb8kohxr] { padding: 0.45rem 0.65rem; border-bottom: 1px solid var(--rg-border, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-0rmb8kohxr] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-0rmb8kohxr] { text-align: center; white-space: nowrap; }
.text-right[b-0rmb8kohxr] { text-align: right; }
.text-center[b-0rmb8kohxr] { text-align: center; }
.font-mono[b-0rmb8kohxr] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-0rmb8kohxr] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-0rmb8kohxr], .crud-empty-state[b-0rmb8kohxr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3.5rem 1rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-spinner[b-0rmb8kohxr] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-0rmb8kohxr 0.6s linear infinite; }
.crud-spinner-sm[b-0rmb8kohxr] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-0rmb8kohxr 0.6s linear infinite; }
@keyframes spin-b-0rmb8kohxr { to { transform: rotate(360deg); } }

/* Badges */
.badge[b-0rmb8kohxr] { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.15rem 0.45rem; border-radius: 1rem; font-size: 0.66rem; font-weight: 600; }
.badge-yes[b-0rmb8kohxr] { background: #ecfdf5; color: #065f46; }
.badge-no[b-0rmb8kohxr]  { background: #f1f5f9; color: #64748b; }
.badge-contado[b-0rmb8kohxr] { background: rgba(16,185,129,0.12); color: #065f46; border: 1px solid rgba(16,185,129,0.25); }
.badge-credito[b-0rmb8kohxr] { background: rgba(14,165,233,0.12); color: #0369a1; border: 1px solid rgba(14,165,233,0.25); }
.badge-cupon[b-0rmb8kohxr]   { background: rgba(245,158,11,0.12); color: #92400e; border: 1px solid rgba(245,158,11,0.3); }
.cr-cupon-text[b-0rmb8kohxr] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.72rem; padding: 0.2rem 0.55rem; white-space: nowrap; }
[data-mode="dark"] .badge-contado[b-0rmb8kohxr] { color: #86efac; }
[data-mode="dark"] .badge-credito[b-0rmb8kohxr] { color: #7dd3fc; }
[data-mode="dark"] .badge-cupon[b-0rmb8kohxr]   { color: #fcd34d; }

/* Modal */
.modal-backdrop[b-0rmb8kohxr] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); backdrop-filter: blur(3px); z-index: 1000; animation: fadeIn-b-0rmb8kohxr 0.15s ease-out; }
.modal-container[b-0rmb8kohxr] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-0rmb8kohxr] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 720px; max-height: 88vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-0rmb8kohxr 0.2s ease-out; border: 1px solid var(--rg-border, #e2e8f0); }
.modal-sm[b-0rmb8kohxr] { max-width: 440px; }
.modal-pdf[b-0rmb8kohxr] { max-width: 960px; width: calc(100% - 2rem); max-height: 92vh; display: flex; flex-direction: column; }
@keyframes fadeIn-b-0rmb8kohxr { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-0rmb8kohxr { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-0rmb8kohxr] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-0rmb8kohxr] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-close[b-0rmb8kohxr] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-0rmb8kohxr] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-0rmb8kohxr] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-0rmb8kohxr] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* ============================================================
   Panel de Filtros
   ============================================================ */
.cr-filtros[b-0rmb8kohxr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.85rem 1rem;
    margin-bottom: 0.85rem;
}

.cr-filtro-group[b-0rmb8kohxr] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    transition: opacity 0.2s;
}

.cr-filtro-group label[b-0rmb8kohxr] {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cr-filtro-group input[type="text"][b-0rmb8kohxr],
.cr-filtro-group input[type="date"][b-0rmb8kohxr] {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    font-size: 0.8rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-input, #fff);
    outline: none;
    transition: border-color 0.15s;
    height: 2.2rem;
}

.cr-filtro-group input:focus[b-0rmb8kohxr] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 2px rgba(79,70,229,0.15);
}

.cr-filtro-group input:disabled[b-0rmb8kohxr] { opacity: 0.45; cursor: not-allowed; }
.cr-disabled[b-0rmb8kohxr] { opacity: 0.45; pointer-events: none; }
.cr-input-orden[b-0rmb8kohxr] { width: 140px; }

.cr-opcional[b-0rmb8kohxr] {
    font-size: 0.6rem;
    font-weight: 400;
    color: var(--rg-text-muted, #94a3b8);
    text-transform: none;
    letter-spacing: 0;
}

.cr-filtro-buscar[b-0rmb8kohxr] { margin-left: auto; }

/* Toggle Todas / Con Cupón */
.cr-toggle-group[b-0rmb8kohxr] {
    display: flex;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.4rem;
    overflow: hidden;
    height: 2.2rem;
}

.cr-toggle-btn[b-0rmb8kohxr] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.75rem;
    border: none;
    background: var(--rg-bg-input, #fff);
    color: var(--rg-text-secondary, #475569);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    border-right: 1px solid var(--rg-border, #e2e8f0);
}

.cr-toggle-btn:last-child[b-0rmb8kohxr] { border-right: none; }
.cr-toggle-btn:hover:not(:disabled)[b-0rmb8kohxr] { background: var(--rg-bg-hover, #f1f5f9); }
.cr-toggle-btn:disabled[b-0rmb8kohxr] { opacity: 0.45; cursor: not-allowed; }
.cr-toggle-active[b-0rmb8kohxr] { background: var(--rg-accent, #4f46e5) !important; color: #fff !important; }
.cr-toggle-cupon[b-0rmb8kohxr]  { background: rgba(245,158,11,0.85) !important; color: #fff !important; }

/* ============================================================
   Barra de resumen
   ============================================================ */
.cr-count-bar[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--rg-text-secondary, #475569);
    margin-bottom: 0.6rem;
    padding: 0 0.25rem;
}
.cr-count-bar strong[b-0rmb8kohxr] { color: var(--rg-text-primary, #1e293b); }

/* ============================================================
   Acordeón de grupos
   ============================================================ */
.cr-accordion[b-0rmb8kohxr] {
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.6rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.cr-accordion-header[b-0rmb8kohxr] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    border: none;
    cursor: pointer;
    transition: filter 0.15s;
    gap: 0.75rem;
    user-select: none;
}

.cr-accordion-header:hover[b-0rmb8kohxr] { filter: brightness(0.94); }

.cr-accordion-sin[b-0rmb8kohxr] {
    background: var(--rg-accent, #4f46e5);
    color: #fff;
}

.cr-accordion-con[b-0rmb8kohxr] {
    background: rgba(245,158,11,0.88);
    color: #fff;
}

.cr-accordion-left[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.cr-accordion-right[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9rem;
    font-weight: 700;
}

.cr-accordion-title[b-0rmb8kohxr] { flex: 1; text-align: left; }

.cr-accordion-badge[b-0rmb8kohxr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 1rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.cr-badge-sin[b-0rmb8kohxr] { background: rgba(255,255,255,0.25); color: #fff; }
.cr-badge-con[b-0rmb8kohxr] { background: rgba(255,255,255,0.25); color: #fff; }

.cr-accordion-total[b-0rmb8kohxr] { font-size: 0.95rem; font-weight: 800; }

.cr-chevron[b-0rmb8kohxr] {
    font-size: 0.85rem;
    transition: transform 0.2s;
    opacity: 0.85;
}

.cr-accordion-body[b-0rmb8kohxr] {
    animation: slideDown-b-0rmb8kohxr 0.2s ease-out;
}

@keyframes slideDown-b-0rmb8kohxr {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   Subtotales de grupo
   ============================================================ */
.cr-group-subtotal[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
}

.cr-subtotal-sin[b-0rmb8kohxr] {
    background: rgba(79,70,229,0.07);
    color: var(--rg-accent, #4f46e5);
    border-top: 1px solid rgba(79,70,229,0.15);
}

.cr-subtotal-sin strong[b-0rmb8kohxr] {
    font-size: 0.95rem;
    color: var(--rg-accent, #4f46e5);
}

.cr-subtotal-con[b-0rmb8kohxr] {
    background: rgba(245,158,11,0.07);
    color: #92400e;
    border-top: 1px solid rgba(245,158,11,0.2);
}

.cr-subtotal-con strong[b-0rmb8kohxr] {
    font-size: 0.95rem;
    color: #92400e;
}

[data-mode="dark"] .cr-subtotal-con[b-0rmb8kohxr] { color: #fcd34d; }
[data-mode="dark"] .cr-subtotal-con strong[b-0rmb8kohxr] { color: #fcd34d; }

/* ============================================================
   Total General
   ============================================================ */
.cr-grand-total[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem;
    padding: 0.85rem 1.25rem;
    background: var(--rg-accent, #4f46e5);
    border-radius: 0.6rem;
    color: #fff;
    box-shadow: 0 4px 14px rgba(79,70,229,0.28);
}

.cr-grand-total-label[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    opacity: 0.95;
}

.cr-grand-total-label span[b-0rmb8kohxr] {
    font-weight: 400;
    opacity: 0.8;
    font-size: 0.82rem;
}

.cr-grand-total-amount[b-0rmb8kohxr] {
    font-size: 1.3rem;
    font-weight: 800;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    letter-spacing: 0.02em;
}

/* ============================================================
   PDF Viewer modal body
   ============================================================ */
.cr-pdf-body[b-0rmb8kohxr] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 0.5rem;
}

.cr-pdf-iframe[b-0rmb8kohxr] {
    flex: 1;
    width: 100%;
    min-height: 580px;
    border: none;
    border-radius: 6px;
    background: var(--rg-bg-subtle, #f8fafc);
}

.cr-pdf-loading[b-0rmb8kohxr] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    color: var(--rg-text-secondary, #475569);
    font-size: 0.875rem;
}

/* Dark mode overrides */
[data-mode="dark"] .cr-toggle-btn[b-0rmb8kohxr] { background: var(--rg-bg-input, #1e293b); }
[data-mode="dark"] .cr-toggle-btn:hover:not(:disabled)[b-0rmb8kohxr] { background: var(--rg-bg-hover, #334155); }
[data-mode="dark"] .cr-accordion[b-0rmb8kohxr] { border-color: var(--rg-border, #334155); }
[data-mode="dark"] .cr-grand-total[b-0rmb8kohxr] { box-shadow: 0 4px 14px rgba(79,70,229,0.4); }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-0rmb8kohxr] { padding: 0.75rem; }
    .crud-header[b-0rmb8kohxr] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-0rmb8kohxr] { display: none; }
    .cr-filtros[b-0rmb8kohxr] { flex-direction: column; align-items: stretch; }
    .cr-filtro-buscar[b-0rmb8kohxr] { margin-left: 0; }
    .cr-input-orden[b-0rmb8kohxr] { width: 100%; }
    .cr-toggle-group[b-0rmb8kohxr] { width: 100%; }
    .cr-toggle-btn[b-0rmb8kohxr] { flex: 1; justify-content: center; }
    .modal-dialog[b-0rmb8kohxr] { width: 98%; max-height: 94vh; }
    .cr-accordion-right[b-0rmb8kohxr] { display: none; }
    .cr-grand-total-amount[b-0rmb8kohxr] { font-size: 1rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/FrmMinaControlTicketsMedioAmbiente.razor.rz.scp.css */
/* ============================================================
   Control Tickets Medio Ambiente — CRUD base + estilos propios
   ============================================================ */

.crud-container[b-x6ltj50wl9] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-x6ltj50wl9 0.3s ease-out; }
@keyframes slideUp-b-x6ltj50wl9 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-x6ltj50wl9] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-x6ltj50wl9] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-x6ltj50wl9] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-x6ltj50wl9] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-x6ltj50wl9] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-x6ltj50wl9] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-x6ltj50wl9] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-x6ltj50wl9] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-x6ltj50wl9] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-x6ltj50wl9] { filter: brightness(1.1); }
.btn-outline[b-x6ltj50wl9] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-x6ltj50wl9] { background: var(--rg-bg-hover, #f1f5f9); }

/* Alert */
.crud-alert[b-x6ltj50wl9] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-x6ltj50wl9] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-x6ltj50wl9]   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-x6ltj50wl9] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

[data-mode="dark"] .crud-alert.success[b-x6ltj50wl9] { background: rgba(34,197,94,0.12); color: #86efac; border-color: rgba(34,197,94,0.3); }
[data-mode="dark"] .crud-alert.error[b-x6ltj50wl9]   { background: rgba(239,68,68,0.12); color: #fca5a5; border-color: rgba(239,68,68,0.3); }

/* Spinner */
.crud-spinner[b-x6ltj50wl9] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-x6ltj50wl9 0.6s linear infinite; }
.crud-spinner-sm[b-x6ltj50wl9] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-x6ltj50wl9 0.6s linear infinite; }
@keyframes spin-b-x6ltj50wl9 { to { transform: rotate(360deg); } }
.font-mono[b-x6ltj50wl9] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }

/* ============================================================
   Card de ingreso
   ============================================================ */

.tk-card[b-x6ltj50wl9] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.tk-card-header[b-x6ltj50wl9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
}

.tk-card-header i[b-x6ltj50wl9] { color: var(--rg-accent, #4f46e5); font-size: 1rem; }

.tk-form-body[b-x6ltj50wl9] {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ============================================================
   Fila de campos
   ============================================================ */

.tk-fields-row[b-x6ltj50wl9] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.tk-field-group[b-x6ltj50wl9] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 200px;
    flex: 1;
}

.tk-field-summary[b-x6ltj50wl9] {
    flex: 0 0 auto;
    min-width: 130px;
    justify-content: flex-end;
}

.tk-label[b-x6ltj50wl9] {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.tk-input[b-x6ltj50wl9] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    font-size: 0.85rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-input, #fff);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.tk-input:focus[b-x6ltj50wl9] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 3px rgba(79,70,229,0.12);
}

.tk-input-error[b-x6ltj50wl9] {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.12) !important;
}

.tk-field-error[b-x6ltj50wl9] {
    font-size: 0.68rem;
    color: #ef4444;
    font-weight: 500;
}

/* Resumen de cantidad */
.tk-summary-badge[b-x6ltj50wl9] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    background: rgba(79,70,229,0.1);
    border: 1px solid rgba(79,70,229,0.25);
    border-radius: 0.5rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--rg-accent, #4f46e5);
    font-family: 'Cascadia Code', 'Fira Code', monospace;
}

.tk-summary-badge span[b-x6ltj50wl9] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary, #475569);
    font-family: inherit;
}

[data-mode="dark"] .tk-summary-badge[b-x6ltj50wl9] {
    background: rgba(99,102,241,0.18);
    border-color: rgba(99,102,241,0.35);
    color: #a5b4fc;
}

/* ============================================================
   Estado de validación
   ============================================================ */

.tk-validating[b-x6ltj50wl9] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.82rem;
    color: var(--rg-text-secondary, #475569);
}

.tk-spinner-inline[b-x6ltj50wl9] {
    width: 1.1rem;
    height: 1.1rem;
    border-width: 2px;
}

/* Status banners */
.tk-status[b-x6ltj50wl9] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: 0.625rem;
    border: 1.5px solid;
}

.tk-status-ok[b-x6ltj50wl9] {
    background: rgba(16,185,129,0.08);
    border-color: rgba(16,185,129,0.3);
}

.tk-status-error[b-x6ltj50wl9] {
    background: rgba(239,68,68,0.08);
    border-color: rgba(239,68,68,0.3);
}

.tk-status-icon[b-x6ltj50wl9] {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.tk-status-ok .tk-status-icon[b-x6ltj50wl9]    { color: #10b981; }
.tk-status-error .tk-status-icon[b-x6ltj50wl9] { color: #ef4444; }

.tk-status-body[b-x6ltj50wl9] {
    flex: 1;
    font-size: 0.82rem;
    color: var(--rg-text-primary, #1e293b);
    line-height: 1.5;
}

.tk-status-ok .tk-status-body[b-x6ltj50wl9]    { color: #065f46; }
.tk-status-error .tk-status-body[b-x6ltj50wl9] { color: #991b1b; }

[data-mode="dark"] .tk-status-ok[b-x6ltj50wl9]    { background: rgba(16,185,129,0.12); border-color: rgba(16,185,129,0.35); }
[data-mode="dark"] .tk-status-error[b-x6ltj50wl9] { background: rgba(239,68,68,0.12);  border-color: rgba(239,68,68,0.35);  }
[data-mode="dark"] .tk-status-ok .tk-status-body[b-x6ltj50wl9]    { color: #6ee7b7; }
[data-mode="dark"] .tk-status-error .tk-status-body[b-x6ltj50wl9] { color: #fca5a5; }

.tk-ticket-count[b-x6ltj50wl9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.5rem;
    background: rgba(16,185,129,0.15);
    border-radius: 1rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #065f46;
    margin-left: 0.5rem;
}

[data-mode="dark"] .tk-ticket-count[b-x6ltj50wl9] { background: rgba(16,185,129,0.2); color: #6ee7b7; }

/* Botón guardar dentro del status-ok */
.tk-btn-guardar[b-x6ltj50wl9] {
    flex-shrink: 0;
    align-self: center;
    white-space: nowrap;
}

/* ============================================================
   Chips de números conflictivos
   ============================================================ */

.tk-chips-section[b-x6ltj50wl9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.tk-chips-label[b-x6ltj50wl9] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tk-chips-wrapper[b-x6ltj50wl9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.tk-chip[b-x6ltj50wl9] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 0.375rem;
    background: rgba(239,68,68,0.1);
    border: 1px solid rgba(239,68,68,0.25);
    color: #b91c1c;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.tk-chip-more[b-x6ltj50wl9] {
    background: rgba(239,68,68,0.18);
    border-color: rgba(239,68,68,0.4);
    font-family: inherit;
    font-style: italic;
}

[data-mode="dark"] .tk-chip[b-x6ltj50wl9]      { background: rgba(239,68,68,0.15); border-color: rgba(239,68,68,0.35); color: #fca5a5; }
[data-mode="dark"] .tk-chip-more[b-x6ltj50wl9] { background: rgba(239,68,68,0.22); border-color: rgba(239,68,68,0.45); }

/* ============================================================
   Detalle de lotes conflictivos
   ============================================================ */

.tk-conflicto-detalle[b-x6ltj50wl9] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-top: 0.25rem;
}

.tk-conflicto-label[b-x6ltj50wl9] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.tk-conflicto-lote[b-x6ltj50wl9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border-light, #f1f5f9);
    border-radius: 0.375rem;
    font-size: 0.78rem;
    color: var(--rg-text-primary, #1e293b);
    flex-wrap: wrap;
}

.tk-conflicto-lote i[b-x6ltj50wl9] {
    color: #ef4444;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.tk-conflicto-count[b-x6ltj50wl9] {
    color: var(--rg-text-muted, #94a3b8);
    font-size: 0.72rem;
}

.tk-conflicto-fecha[b-x6ltj50wl9] {
    margin-left: auto;
    font-size: 0.72rem;
    color: var(--rg-text-muted, #94a3b8);
    font-weight: 600;
    white-space: nowrap;
}

[data-mode="dark"] .tk-conflicto-detalle[b-x6ltj50wl9] { background: var(--rg-bg-subtle, #1e293b); }
[data-mode="dark"] .tk-conflicto-lote[b-x6ltj50wl9]    { background: var(--rg-bg-card, #0f172a); border-color: var(--rg-border, #334155); }

/* ============================================================
   Responsive
   ============================================================ */

@media (max-width: 768px) {
    .crud-container[b-x6ltj50wl9] { padding: 0.75rem; }
    .crud-title[b-x6ltj50wl9] { font-size: 1.1rem; }
    .tk-fields-row[b-x6ltj50wl9] { flex-direction: column; }
    .tk-field-group[b-x6ltj50wl9] { min-width: unset; flex: unset; width: 100%; }
    .tk-field-summary[b-x6ltj50wl9] { min-width: unset; width: 100%; }
    .tk-status[b-x6ltj50wl9] { flex-wrap: wrap; }
    .tk-btn-guardar[b-x6ltj50wl9] { width: 100%; justify-content: center; }
    .tk-conflicto-fecha[b-x6ltj50wl9] { margin-left: 0; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmminaemisionordenes.razor.rz.scp.css */
/* ============================================================
   Frmminaemisionordenes — Emisión de Órdenes Minería
   v2: condición coloreada, placa filtrable, chofer picker,
       botón emitir inferior, tarjetas con vida
   ============================================================ */

.crud-container[b-g9rg9yafop] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-g9rg9yafop 0.3s ease-out; }
@keyframes slideUp-b-g9rg9yafop { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* ============ Header ============ */
.crud-header[b-g9rg9yafop] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-g9rg9yafop] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-g9rg9yafop] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-g9rg9yafop] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-g9rg9yafop] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-g9rg9yafop] { display: flex; gap: 0.5rem; }

/* ============ Buttons ============ */
.btn-crud[b-g9rg9yafop] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-g9rg9yafop] { opacity: 0.5; cursor: not-allowed; }
.btn-primary[b-g9rg9yafop] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-g9rg9yafop] { filter: brightness(1.12); }
.btn-outline[b-g9rg9yafop] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-g9rg9yafop] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-outline.active[b-g9rg9yafop] { background: var(--rg-accent, #4f46e5); color: #fff; border-color: var(--rg-accent, #4f46e5); }
.btn-sm[b-g9rg9yafop] { padding: 0.3rem 0.55rem; font-size: 0.72rem; }

/* ============ Alert ============ */
.crud-alert[b-g9rg9yafop] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-g9rg9yafop] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-g9rg9yafop] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-g9rg9yafop] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-g9rg9yafop] { background: rgba(16,185,129,0.12); color: #86efac; border-color: rgba(16,185,129,0.3); }
[data-mode="dark"] .crud-alert.error[b-g9rg9yafop] { background: rgba(239,68,68,0.12); color: #fca5a5; border-color: rgba(239,68,68,0.3); }

/* ============ Secciones ============ */
.em-grid[b-g9rg9yafop] { display: flex; flex-direction: column; gap: 0.85rem; }
.em-section[b-g9rg9yafop] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.85rem 1rem;
}
.em-section-title[b-g9rg9yafop] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin-bottom: 0.7rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
}
.em-section-title i[b-g9rg9yafop] { color: var(--rg-accent, #4f46e5); }
.em-view-toggle[b-g9rg9yafop] { margin-left: auto; display: flex; gap: 0.25rem; }

/* ============ Form ============ */
.form-row[b-g9rg9yafop] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; align-items: flex-end; }
.form-row:last-child[b-g9rg9yafop] { margin-bottom: 0; }
.form-group[b-g9rg9yafop] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-g9rg9yafop] { flex: 2; }
.form-group label[b-g9rg9yafop] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-g9rg9yafop], .form-group select[b-g9rg9yafop] {
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    font-size: 0.82rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-input, #fff);
    outline: none;
    transition: border-color 0.15s;
    height: 34px;
}
.form-group input:focus[b-g9rg9yafop], .form-group select:focus[b-g9rg9yafop] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 3px rgba(79,70,229,0.12);
}
.form-group input.readonly[b-g9rg9yafop], .form-group input[readonly][b-g9rg9yafop] {
    background: var(--rg-bg-subtle, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    cursor: default;
}

/* ============ Productos Grid ============ */
.em-productos-wrapper[b-g9rg9yafop] {
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    overflow: auto;
    max-height: 340px;
}
.crud-table[b-g9rg9yafop] { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.crud-table thead[b-g9rg9yafop] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-g9rg9yafop] {
    background: var(--rg-bg-subtle, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    font-weight: 600;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    white-space: nowrap;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.crud-table td[b-g9rg9yafop] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--rg-border, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    vertical-align: middle;
}
.crud-table tbody tr:hover[b-g9rg9yafop] { background: var(--rg-bg-hover, #f8fafc); }
.em-row-selected[b-g9rg9yafop] { background: rgba(79,70,229,0.08) !important; }
.em-row-selected td[b-g9rg9yafop] { font-weight: 600; }

/* ============================================================
   Punto 5: Tarjetas de productos con color, hover glass, sunken
   ============================================================ */
.em-productos-cards[b-g9rg9yafop] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 0.65rem;
    max-height: 380px;
    overflow-y: auto;
    padding: 0.25rem;
}

/* Paleta de 10 colores (fondo sutil + borde + stripe) */
.em-product-card[b-g9rg9yafop] {
    position: relative;
    border-radius: 0.625rem;
    border: 1.5px solid transparent;
    padding: 0;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--rg-bg-card, #fff);
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

/* Hover: translucent glass lift */
.em-product-card:hover[b-g9rg9yafop] {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    backdrop-filter: blur(4px);
}

/* Selected: sunken press effect */
.em-card-selected[b-g9rg9yafop] {
    transform: scale(0.97) !important;
    box-shadow: inset 0 3px 8px rgba(0,0,0,0.18), 0 1px 4px rgba(0,0,0,0.08) !important;
}

/* Stripe lateral (barra de color arriba) */
.em-card-stripe[b-g9rg9yafop] {
    height: 5px;
    width: 100%;
    flex-shrink: 0;
    border-radius: 0.625rem 0.625rem 0 0;
    transition: height 0.18s;
}
.em-product-card:hover .em-card-stripe[b-g9rg9yafop],
.em-card-selected .em-card-stripe[b-g9rg9yafop] { height: 7px; }

.em-card-body[b-g9rg9yafop] { padding: 0.6rem 0.75rem 0.65rem; display: flex; flex-direction: column; gap: 0.25rem; flex: 1; }
.em-card-id[b-g9rg9yafop] { font-family: 'Cascadia Code','Fira Code',monospace; font-size: 0.68rem; font-weight: 700; opacity: 0.6; }
.em-card-desc[b-g9rg9yafop] { font-size: 0.82rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); line-height: 1.3; }
.em-card-price[b-g9rg9yafop] { font-size: 1rem; font-weight: 800; margin-top: 0.15rem; }
.em-card-check[b-g9rg9yafop] {
    position: absolute; top: 0.4rem; right: 0.4rem;
    font-size: 1.1rem;
    animation: popIn-b-g9rg9yafop 0.2s ease-out;
}
@keyframes popIn-b-g9rg9yafop { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* 10 colores — fondo, borde, stripe, precio, id, check */
.em-card-color-0[b-g9rg9yafop] { background: rgba(99,102,241,0.06); border-color: rgba(99,102,241,0.3); }
.em-card-color-0 .em-card-stripe[b-g9rg9yafop] { background: #6366f1; }
.em-card-color-0 .em-card-price[b-g9rg9yafop] { color: #6366f1; }
.em-card-color-0 .em-card-check[b-g9rg9yafop] { color: #6366f1; }
.em-card-color-0.em-card-selected[b-g9rg9yafop] { border-color: #6366f1; background: rgba(99,102,241,0.12); }

.em-card-color-1[b-g9rg9yafop] { background: rgba(14,165,233,0.06); border-color: rgba(14,165,233,0.3); }
.em-card-color-1 .em-card-stripe[b-g9rg9yafop] { background: #0ea5e9; }
.em-card-color-1 .em-card-price[b-g9rg9yafop] { color: #0ea5e9; }
.em-card-color-1 .em-card-check[b-g9rg9yafop] { color: #0ea5e9; }
.em-card-color-1.em-card-selected[b-g9rg9yafop] { border-color: #0ea5e9; background: rgba(14,165,233,0.12); }

.em-card-color-2[b-g9rg9yafop] { background: rgba(16,185,129,0.06); border-color: rgba(16,185,129,0.3); }
.em-card-color-2 .em-card-stripe[b-g9rg9yafop] { background: #10b981; }
.em-card-color-2 .em-card-price[b-g9rg9yafop] { color: #10b981; }
.em-card-color-2 .em-card-check[b-g9rg9yafop] { color: #10b981; }
.em-card-color-2.em-card-selected[b-g9rg9yafop] { border-color: #10b981; background: rgba(16,185,129,0.12); }

.em-card-color-3[b-g9rg9yafop] { background: rgba(245,158,11,0.06); border-color: rgba(245,158,11,0.3); }
.em-card-color-3 .em-card-stripe[b-g9rg9yafop] { background: #f59e0b; }
.em-card-color-3 .em-card-price[b-g9rg9yafop] { color: #d97706; }
.em-card-color-3 .em-card-check[b-g9rg9yafop] { color: #f59e0b; }
.em-card-color-3.em-card-selected[b-g9rg9yafop] { border-color: #f59e0b; background: rgba(245,158,11,0.12); }

.em-card-color-4[b-g9rg9yafop] { background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.3); }
.em-card-color-4 .em-card-stripe[b-g9rg9yafop] { background: #ef4444; }
.em-card-color-4 .em-card-price[b-g9rg9yafop] { color: #ef4444; }
.em-card-color-4 .em-card-check[b-g9rg9yafop] { color: #ef4444; }
.em-card-color-4.em-card-selected[b-g9rg9yafop] { border-color: #ef4444; background: rgba(239,68,68,0.12); }

.em-card-color-5[b-g9rg9yafop] { background: rgba(139,92,246,0.06); border-color: rgba(139,92,246,0.3); }
.em-card-color-5 .em-card-stripe[b-g9rg9yafop] { background: #8b5cf6; }
.em-card-color-5 .em-card-price[b-g9rg9yafop] { color: #8b5cf6; }
.em-card-color-5 .em-card-check[b-g9rg9yafop] { color: #8b5cf6; }
.em-card-color-5.em-card-selected[b-g9rg9yafop] { border-color: #8b5cf6; background: rgba(139,92,246,0.12); }

.em-card-color-6[b-g9rg9yafop] { background: rgba(236,72,153,0.06); border-color: rgba(236,72,153,0.3); }
.em-card-color-6 .em-card-stripe[b-g9rg9yafop] { background: #ec4899; }
.em-card-color-6 .em-card-price[b-g9rg9yafop] { color: #ec4899; }
.em-card-color-6 .em-card-check[b-g9rg9yafop] { color: #ec4899; }
.em-card-color-6.em-card-selected[b-g9rg9yafop] { border-color: #ec4899; background: rgba(236,72,153,0.12); }

.em-card-color-7[b-g9rg9yafop] { background: rgba(20,184,166,0.06); border-color: rgba(20,184,166,0.3); }
.em-card-color-7 .em-card-stripe[b-g9rg9yafop] { background: #14b8a6; }
.em-card-color-7 .em-card-price[b-g9rg9yafop] { color: #14b8a6; }
.em-card-color-7 .em-card-check[b-g9rg9yafop] { color: #14b8a6; }
.em-card-color-7.em-card-selected[b-g9rg9yafop] { border-color: #14b8a6; background: rgba(20,184,166,0.12); }

.em-card-color-8[b-g9rg9yafop] { background: rgba(249,115,22,0.06); border-color: rgba(249,115,22,0.3); }
.em-card-color-8 .em-card-stripe[b-g9rg9yafop] { background: #f97316; }
.em-card-color-8 .em-card-price[b-g9rg9yafop] { color: #f97316; }
.em-card-color-8 .em-card-check[b-g9rg9yafop] { color: #f97316; }
.em-card-color-8.em-card-selected[b-g9rg9yafop] { border-color: #f97316; background: rgba(249,115,22,0.12); }

.em-card-color-9[b-g9rg9yafop] { background: rgba(132,204,22,0.06); border-color: rgba(132,204,22,0.3); }
.em-card-color-9 .em-card-stripe[b-g9rg9yafop] { background: #84cc16; }
.em-card-color-9 .em-card-price[b-g9rg9yafop] { color: #65a30d; }
.em-card-color-9 .em-card-check[b-g9rg9yafop] { color: #84cc16; }
.em-card-color-9.em-card-selected[b-g9rg9yafop] { border-color: #84cc16; background: rgba(132,204,22,0.12); }

/* ============================================================
   Punto 1: Footer bar — Condición prominente + Emitir inferior
   ============================================================ */
.em-footer-bar[b-g9rg9yafop] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.85rem 1.25rem;
    flex-wrap: wrap;
}

.em-condicion-group[b-g9rg9yafop] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.em-condicion-label[b-g9rg9yafop] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

/* Botones toggle de condición */
.em-cond-btn[b-g9rg9yafop] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.25rem;
    border-radius: 2rem;
    border: 2px solid transparent;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
    background: var(--rg-bg-subtle, #f8fafc);
    color: var(--rg-text-secondary, #64748b);
    letter-spacing: 0.02em;
}
.em-cond-btn:hover[b-g9rg9yafop] { filter: brightness(0.95); }

/* Contado — verde */
.em-cond-contado[b-g9rg9yafop] { border-color: rgba(16,185,129,0.3); }
.em-cond-contado.em-cond-active[b-g9rg9yafop] {
    background: #10b981;
    color: #fff;
    border-color: #10b981;
    box-shadow: 0 4px 14px rgba(16,185,129,0.35);
}
.em-cond-contado:not(.em-cond-active):hover[b-g9rg9yafop] { border-color: #10b981; color: #10b981; background: rgba(16,185,129,0.08); }

/* Crédito — azul */
.em-cond-credito[b-g9rg9yafop] { border-color: rgba(14,165,233,0.3); }
.em-cond-credito.em-cond-active[b-g9rg9yafop] {
    background: #0ea5e9;
    color: #fff;
    border-color: #0ea5e9;
    box-shadow: 0 4px 14px rgba(14,165,233,0.35);
}
.em-cond-credito:not(.em-cond-active):hover[b-g9rg9yafop] { border-color: #0ea5e9; color: #0ea5e9; background: rgba(14,165,233,0.08); }

/* Botón emitir en footer — más grande */
.em-btn-emitir-footer[b-g9rg9yafop] {
    padding: 0.65rem 1.75rem;
    font-size: 0.9rem;
    border-radius: 2rem;
    box-shadow: 0 4px 14px rgba(79,70,229,0.3);
    letter-spacing: 0.02em;
}
.em-btn-emitir-footer:hover:not(:disabled)[b-g9rg9yafop] {
    box-shadow: 0 6px 20px rgba(79,70,229,0.45);
    transform: translateY(-1px);
}

/* ============ Cupón badge ============ */
.em-cupon-badge[b-g9rg9yafop] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 0.375rem;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}
.em-cupon-ok[b-g9rg9yafop] { background: rgba(34,197,94,0.15); color: #166534; border: 1px solid rgba(34,197,94,0.3); }
.em-cupon-bad[b-g9rg9yafop] { background: rgba(239,68,68,0.12); color: #991b1b; border: 1px solid rgba(239,68,68,0.3); }
[data-mode="dark"] .em-cupon-ok[b-g9rg9yafop] { color: #86efac; }
[data-mode="dark"] .em-cupon-bad[b-g9rg9yafop] { color: #fca5a5; }

/* ============ Search bar ============ */
.crud-search-bar[b-g9rg9yafop] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-input, #fff); }
.crud-search-bar i[b-g9rg9yafop] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-g9rg9yafop] { flex: 1; border: none; outline: none; font-size: 0.82rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-g9rg9yafop] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }

/* ============ Loading ============ */
.crud-spinner-sm[b-g9rg9yafop] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(79,70,229,0.25); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-g9rg9yafop 0.6s linear infinite; }
.crud-spinner-sm.white[b-g9rg9yafop] { border-color: rgba(255,255,255,0.3); border-top-color: #fff; }
@keyframes spin-b-g9rg9yafop { to { transform: rotate(360deg); } }

/* ============ Utilities ============ */
.font-mono[b-g9rg9yafop] { font-family: 'Cascadia Code','Fira Code',monospace; font-size: 0.78rem; }
.text-center[b-g9rg9yafop] { text-align: center; }
.text-right[b-g9rg9yafop] { text-align: right; }
.text-muted[b-g9rg9yafop] { color: var(--rg-text-muted, #94a3b8); }

/* ============ Modal ============ */
.modal-backdrop[b-g9rg9yafop] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); backdrop-filter: blur(3px); z-index: 1000; animation: fadeIn-b-g9rg9yafop 0.15s ease-out; }
.modal-container[b-g9rg9yafop] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-g9rg9yafop] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 720px; max-height: 85vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-g9rg9yafop 0.2s ease-out; border: 1px solid var(--rg-border, #e2e8f0); }
.modal-sm[b-g9rg9yafop] { max-width: 440px; }
@keyframes fadeIn-b-g9rg9yafop { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-g9rg9yafop { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-g9rg9yafop] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-g9rg9yafop] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-g9rg9yafop] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-g9rg9yafop] { color: #dc2626; }
.modal-close[b-g9rg9yafop] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-g9rg9yafop] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-g9rg9yafop] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-g9rg9yafop] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

.em-picker-grid[b-g9rg9yafop] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; max-height: 420px; }

/* ============================================================
   Modal preview grande (comprobante)
   ============================================================ */
.modal-preview[b-g9rg9yafop] {
    max-width: 680px;
    width: calc(100% - 2rem);
    max-height: 90vh;
}

/* ============================================================
   Comprobante / Orden Preview
   ============================================================ */
.orden-preview[b-g9rg9yafop] {
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: #1e293b;
    font-size: 0.82rem;
    background: #fff;
    padding: 1rem 0;
}

/* Encabezado empresa */
.op-header[b-g9rg9yafop] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}
.op-empresa-nombre[b-g9rg9yafop] {
    font-size: 1.1rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 0.25rem;
}
.op-empresa-dato[b-g9rg9yafop] {
    font-size: 0.75rem;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-bottom: 0.1rem;
}
.op-orden-box[b-g9rg9yafop] {
    text-align: right;
    flex-shrink: 0;
}
.op-orden-label[b-g9rg9yafop] {
    font-size: 0.65rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.op-orden-num[b-g9rg9yafop] {
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 2rem;
    font-weight: 900;
    color: #4f46e5;
    letter-spacing: 0.15em;
    line-height: 1.1;
}
.op-orden-fecha[b-g9rg9yafop] {
    font-size: 0.72rem;
    color: #64748b;
    margin-top: 0.15rem;
}

/* Divisor */
.op-divider[b-g9rg9yafop] {
    border: none;
    border-top: 2px solid #e2e8f0;
    margin: 0.75rem 0;
}

/* Secciones */
.op-section-title[b-g9rg9yafop] {
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #4f46e5;
    margin: 0.65rem 0 0.35rem;
    padding-bottom: 0.2rem;
    border-bottom: 1px solid #e0e7ff;
}

/* Filas de campos */
.op-row-2[b-g9rg9yafop], .op-row-3[b-g9rg9yafop], .op-row-4[b-g9rg9yafop] {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}
.op-row-2[b-g9rg9yafop] { grid-template-columns: repeat(2, 1fr); }
.op-row-3[b-g9rg9yafop] { grid-template-columns: repeat(3, 1fr); }
.op-row-4[b-g9rg9yafop] { grid-template-columns: repeat(4, 1fr); }

.op-field[b-g9rg9yafop] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    padding: 0.35rem 0.5rem;
}
.op-label[b-g9rg9yafop] {
    font-size: 0.6rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.op-value[b-g9rg9yafop] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
}

/* Totales */
.op-totales[b-g9rg9yafop] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-bottom: 1rem;
}
.op-totales-row[b-g9rg9yafop] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.82rem;
    color: #475569;
}
.op-totales-row:last-child[b-g9rg9yafop] { border-bottom: none; }
.op-total-final[b-g9rg9yafop] {
    background: #4f46e5;
    color: #fff !important;
    font-weight: 800;
    font-size: 1rem;
    padding: 0.6rem 0.75rem;
}
.op-total-final span[b-g9rg9yafop] { color: #fff !important; }

/* Firmas */
.op-firmas[b-g9rg9yafop] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.op-firma-box[b-g9rg9yafop] { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; }
.op-firma-line[b-g9rg9yafop] { width: 100%; border-top: 1.5px solid #cbd5e1; }
.op-firma-label[b-g9rg9yafop] { font-size: 0.7rem; color: #64748b; font-weight: 600; }

/* Footer */
.op-footer-text[b-g9rg9yafop] {
    text-align: center;
    font-size: 0.65rem;
    color: #94a3b8;
    margin-top: 0.5rem;
}

/* ============ PDF Viewer ============ */
.modal-pdf[b-g9rg9yafop] {
    max-width: 920px;
    width: calc(100% - 2rem);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
}

.em-pdf-body[b-g9rg9yafop] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 0.5rem;
}

.em-pdf-iframe[b-g9rg9yafop] {
    flex: 1;
    width: 100%;
    min-height: 580px;
    border: none;
    border-radius: 6px;
    background: var(--rg-bg-subtle, #f8fafc);
}

.em-pdf-loading[b-g9rg9yafop] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    color: var(--rg-text-secondary, #475569);
    font-size: 0.875rem;
}

/* ============ Responsive ============ */
@media (max-width: 768px) {
    .crud-container[b-g9rg9yafop] { padding: 0.75rem; }
    .crud-header[b-g9rg9yafop] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-g9rg9yafop] { display: none; }
    .form-row[b-g9rg9yafop] { flex-direction: column; align-items: stretch; }
    .form-group[b-g9rg9yafop] { flex: 1 1 auto !important; }
    .em-productos-cards[b-g9rg9yafop] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-g9rg9yafop] { width: 98%; max-height: 92vh; }
    .em-footer-bar[b-g9rg9yafop] { flex-direction: column; align-items: stretch; }
    .em-btn-emitir-footer[b-g9rg9yafop] { width: 100%; justify-content: center; }
}

@media (max-width: 480px) {
    .em-productos-cards[b-g9rg9yafop] { grid-template-columns: 1fr; }
}
/* _content/Rgclouds.Web/Components/Pages/Mina/Frmmina_productos.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-v93ee9skxr] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-v93ee9skxr 0.3s ease-out; }
@keyframes slideUp-b-v93ee9skxr { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-v93ee9skxr] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-v93ee9skxr] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-v93ee9skxr] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-v93ee9skxr] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-v93ee9skxr] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-v93ee9skxr] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-v93ee9skxr] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-v93ee9skxr] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-v93ee9skxr] { filter: brightness(1.1); }
.btn-outline[b-v93ee9skxr] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-v93ee9skxr] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-v93ee9skxr] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-v93ee9skxr] { filter: brightness(1.1); }
.btn-icon[b-v93ee9skxr] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-v93ee9skxr] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-v93ee9skxr] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-v93ee9skxr] { color: #ef4444; }
.btn-delete:hover[b-v93ee9skxr] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-v93ee9skxr] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-v93ee9skxr] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-v93ee9skxr] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-v93ee9skxr] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-v93ee9skxr] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-v93ee9skxr] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-v93ee9skxr] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-v93ee9skxr] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-v93ee9skxr] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-v93ee9skxr] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-v93ee9skxr] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-v93ee9skxr] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-v93ee9skxr] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-v93ee9skxr] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-v93ee9skxr] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-v93ee9skxr] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-v93ee9skxr] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-v93ee9skxr] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-v93ee9skxr] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-v93ee9skxr] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-v93ee9skxr] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-v93ee9skxr] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-v93ee9skxr] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-v93ee9skxr] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-v93ee9skxr] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-v93ee9skxr] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-v93ee9skxr] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-v93ee9skxr] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-v93ee9skxr] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-v93ee9skxr] { display: block; }
.hide-on-cards[b-v93ee9skxr] { display: none !important; }
.show-on-cards[b-v93ee9skxr] { display: grid; }
.hide-on-grid[b-v93ee9skxr] { display: none !important; }

/* Badges */
.badge[b-v93ee9skxr] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-v93ee9skxr] { background: #ecfdf5; color: #065f46; }
.badge-no[b-v93ee9skxr] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-v93ee9skxr] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-v93ee9skxr] { text-align: center; }
.text-muted[b-v93ee9skxr] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-v93ee9skxr], .crud-empty-state[b-v93ee9skxr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-v93ee9skxr] { font-size: 2rem; }
.crud-spinner[b-v93ee9skxr] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-v93ee9skxr 0.6s linear infinite; }
.crud-spinner-sm[b-v93ee9skxr] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-v93ee9skxr 0.6s linear infinite; }
@keyframes spin-b-v93ee9skxr { to { transform: rotate(360deg); } }
.spin[b-v93ee9skxr] { animation: spin-b-v93ee9skxr 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-v93ee9skxr] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-v93ee9skxr 0.15s ease-out; }
.modal-container[b-v93ee9skxr] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-v93ee9skxr] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-v93ee9skxr 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-v93ee9skxr] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-v93ee9skxr] { max-width: 420px; }
@keyframes fadeIn-b-v93ee9skxr { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-v93ee9skxr { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-v93ee9skxr] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-v93ee9skxr] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-v93ee9skxr] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-v93ee9skxr] { color: #dc2626; }
.modal-close[b-v93ee9skxr] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-v93ee9skxr] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-v93ee9skxr] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-v93ee9skxr] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-v93ee9skxr] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-v93ee9skxr] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-v93ee9skxr] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-v93ee9skxr] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-v93ee9skxr] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-v93ee9skxr] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-v93ee9skxr] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-v93ee9skxr] { flex: 2; }
.form-group label[b-v93ee9skxr] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-v93ee9skxr], .form-group select[b-v93ee9skxr], .form-textarea[b-v93ee9skxr] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-v93ee9skxr], .form-group select:focus[b-v93ee9skxr], .form-textarea:focus[b-v93ee9skxr] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-v93ee9skxr] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-v93ee9skxr] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-v93ee9skxr] { flex: 1; display: flex; align-items: center; }
.form-check[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-v93ee9skxr] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-v93ee9skxr] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-v93ee9skxr] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-v93ee9skxr] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-v93ee9skxr] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-v93ee9skxr] { font-size: 3rem; }
.photo-placeholder span[b-v93ee9skxr] { font-size: 0.78rem; }
.photo-actions[b-v93ee9skxr] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-v93ee9skxr] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-v93ee9skxr] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-v93ee9skxr] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-v93ee9skxr] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-v93ee9skxr] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-v93ee9skxr] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-v93ee9skxr] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-v93ee9skxr] { filter: brightness(1.15); transform: scale(1.05); }
[b-v93ee9skxr] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-v93ee9skxr] { padding: 0.75rem; }
    .crud-header[b-v93ee9skxr] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-v93ee9skxr] { font-size: 1.1rem; }
    .btn-text[b-v93ee9skxr] { display: none; }
    .form-row[b-v93ee9skxr] { flex-direction: column; }
    .form-row-4[b-v93ee9skxr] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-v93ee9skxr] { width: 98%; max-height: 95vh; }
    .modal-lg[b-v93ee9skxr] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-v93ee9skxr] { padding: 0.75rem; }
    .modal-tabs[b-v93ee9skxr] { overflow-x: auto; }
    .modal-tab[b-v93ee9skxr] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-v93ee9skxr] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-v93ee9skxr] { display: grid !important; }
    .crud-cards-wrapper[b-v93ee9skxr] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-v93ee9skxr] { grid-template-columns: 1fr; }
    .card-details[b-v93ee9skxr] { flex-direction: column; gap: 0.35rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Prestamos/Frmsolicitudpr.razor.rz.scp.css */
/* ============================================================
   Solicitud Financiamiento — CRUD completo + Modal con Tabs
   Replica el estándar de Frmclientes.razor.css
   ============================================================ */

.crud-container[b-fwcrx9jk46] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-fwcrx9jk46 0.3s ease-out; }
@keyframes slideUp-b-fwcrx9jk46 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-fwcrx9jk46] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-fwcrx9jk46] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-fwcrx9jk46] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-fwcrx9jk46] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-fwcrx9jk46] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-fwcrx9jk46] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-fwcrx9jk46] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-fwcrx9jk46] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-fwcrx9jk46] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-fwcrx9jk46] { filter: brightness(1.1); }
.btn-outline[b-fwcrx9jk46] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-fwcrx9jk46] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-fwcrx9jk46] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-fwcrx9jk46] { filter: brightness(1.1); }
.btn-icon[b-fwcrx9jk46] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-fwcrx9jk46] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-fwcrx9jk46] { background: rgba(79, 70, 229, 0.1); }

/* Alert */
.crud-alert[b-fwcrx9jk46] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-fwcrx9jk46] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-fwcrx9jk46] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-fwcrx9jk46] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-fwcrx9jk46] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-fwcrx9jk46] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-fwcrx9jk46] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-fwcrx9jk46] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-fwcrx9jk46] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-fwcrx9jk46] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-fwcrx9jk46] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-fwcrx9jk46] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-fwcrx9jk46] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-fwcrx9jk46] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-fwcrx9jk46] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-fwcrx9jk46] { width: 80px; text-align: center; white-space: nowrap; }
.col-id[b-fwcrx9jk46] { width: 120px; }

/* Badges */
.font-mono[b-fwcrx9jk46] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }

/* Estado badge */
.sf-estado-badge[b-fwcrx9jk46] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--estado-color);
    padding: 0.2rem 0.55rem;
    border-radius: 100px;
    background: color-mix(in srgb, var(--estado-color) 10%, transparent);
    white-space: nowrap;
}
.sf-estado-badge[b-fwcrx9jk46]::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--estado-color);
}

/* Loading / Empty */
.crud-loading[b-fwcrx9jk46], .crud-empty-state[b-fwcrx9jk46] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-fwcrx9jk46] { font-size: 2rem; }
.crud-spinner[b-fwcrx9jk46] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-fwcrx9jk46 0.6s linear infinite; }
@keyframes spin-b-fwcrx9jk46 { to { transform: rotate(360deg); } }
.spin[b-fwcrx9jk46] { animation: spin-b-fwcrx9jk46 0.8s linear infinite; }

/* ============================================================
   MODAL — Estándar CRUD
   ============================================================ */

.modal-backdrop[b-fwcrx9jk46] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-fwcrx9jk46 0.15s ease-out; }
.modal-container[b-fwcrx9jk46] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-fwcrx9jk46] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-fwcrx9jk46 0.2s ease-out; }
.modal-lg[b-fwcrx9jk46] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
@keyframes fadeIn-b-fwcrx9jk46 { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-fwcrx9jk46 { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-fwcrx9jk46] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-fwcrx9jk46] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-close[b-fwcrx9jk46] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-fwcrx9jk46] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-fwcrx9jk46] { padding: 0; overflow-y: auto; flex: 1; }
.modal-footer[b-fwcrx9jk46] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* ============================================================
   TABS dentro del Modal
   ============================================================ */

.sf-tabs-main[b-fwcrx9jk46] {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: thin;
    border-bottom: 2px solid var(--rg-border, #eef0f4);
}

.sf-tabs-modal[b-fwcrx9jk46] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--rg-bg-card, #ffffff);
    padding: 0 0.5rem;
}

.sf-tab-main[b-fwcrx9jk46] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 0.85rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: var(--rg-text-muted, #64748b);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.sf-tab-main:hover[b-fwcrx9jk46] {
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-hover, #f8fafc);
}

.sf-tab-main.active[b-fwcrx9jk46] {
    color: var(--rg-primary, #0B8AD9);
    border-bottom-color: var(--rg-primary, #0B8AD9);
    font-weight: 600;
}

.sf-tab-main i[b-fwcrx9jk46] { font-size: 0.85rem; }

.sf-tab-body[b-fwcrx9jk46] { min-height: 400px; }

.sf-modal-subtitle[b-fwcrx9jk46] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #64748b);
    font-weight: 400;
}

.sf-readonly-badge[b-fwcrx9jk46] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.65rem;
    font-weight: 600;
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
    padding: 0.15rem 0.5rem;
    border-radius: 100px;
    margin-left: 0.5rem;
    vertical-align: middle;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 768px) {
    .crud-container[b-fwcrx9jk46] { padding: 0.75rem; }
    .crud-header[b-fwcrx9jk46] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-fwcrx9jk46] { font-size: 1.1rem; }
    .btn-text[b-fwcrx9jk46] { display: none; }
    .modal-dialog[b-fwcrx9jk46] { width: 98%; max-height: 95vh; }
    .modal-lg[b-fwcrx9jk46] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .sf-tab-main[b-fwcrx9jk46] { padding: 0.55rem 0.5rem; font-size: 0.7rem; }
    .sf-tab-text[b-fwcrx9jk46] { display: none; }
}
/* _content/Rgclouds.Web/Components/Pages/Prestamos/Frmtablaamortizacion.razor.rz.scp.css */
/* ============================================================
   Clientes — Estilos CRUD + Cards + Tabs + Foto + Responsive
   ============================================================ */

.crud-container[b-1bfqx9p9pt] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-1bfqx9p9pt 0.3s ease-out; }
@keyframes slideUp-b-1bfqx9p9pt { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-1bfqx9p9pt] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-1bfqx9p9pt] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-1bfqx9p9pt] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-1bfqx9p9pt] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-1bfqx9p9pt] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-1bfqx9p9pt] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-1bfqx9p9pt] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-1bfqx9p9pt] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-1bfqx9p9pt] { filter: brightness(1.1); }
.btn-outline[b-1bfqx9p9pt] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-1bfqx9p9pt] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-1bfqx9p9pt] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-1bfqx9p9pt] { filter: brightness(1.1); }
.btn-icon[b-1bfqx9p9pt] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-1bfqx9p9pt] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-1bfqx9p9pt] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-1bfqx9p9pt] { color: #ef4444; }
.btn-delete:hover[b-1bfqx9p9pt] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-1bfqx9p9pt] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-1bfqx9p9pt] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-1bfqx9p9pt] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-1bfqx9p9pt] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }

/* Search */
.crud-search-bar[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-1bfqx9p9pt] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-1bfqx9p9pt] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-1bfqx9p9pt] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-1bfqx9p9pt] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-1bfqx9p9pt] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-1bfqx9p9pt] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-1bfqx9p9pt] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-1bfqx9p9pt] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-1bfqx9p9pt] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-1bfqx9p9pt] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-1bfqx9p9pt] { width: 80px; text-align: center; white-space: nowrap; }

/* Client photo mini */
.client-photo-sm[b-1bfqx9p9pt] { width: 32px; height: 32px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-text-muted, #94a3b8); font-size: 1.25rem; }
.client-card-photo[b-1bfqx9p9pt] { width: 40px; height: 40px; border-radius: 50%; background: var(--rg-bg-sidebar, #f1f5f9); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1.5rem; flex-shrink: 0; }

/* Cards */
.crud-cards-wrapper[b-1bfqx9p9pt] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.75rem; max-height: calc(100vh - 280px); overflow-y: auto; padding: 0.25rem; }
.crud-card[b-1bfqx9p9pt] { background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.625rem; padding: 0.875rem; transition: all 0.15s; display: flex; flex-direction: column; gap: 0.5rem; }
.crud-card:hover[b-1bfqx9p9pt] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.75rem; }
.card-header-info[b-1bfqx9p9pt] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.card-id[b-1bfqx9p9pt] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); }
.card-badges[b-1bfqx9p9pt] { display: flex; gap: 0.35rem; flex-shrink: 0; }
.card-title[b-1bfqx9p9pt] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-details[b-1bfqx9p9pt] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.card-detail[b-1bfqx9p9pt] { display: flex; flex-direction: column; gap: 0.1rem; }
.card-label[b-1bfqx9p9pt] { font-size: 0.65rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.03em; }
.card-value[b-1bfqx9p9pt] { font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-1bfqx9p9pt] { display: flex; justify-content: flex-end; gap: 0.25rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid var(--rg-border-light, #f1f5f9); }

/* View toggle */
.show-on-grid[b-1bfqx9p9pt] { display: block; }
.hide-on-cards[b-1bfqx9p9pt] { display: none !important; }
.show-on-cards[b-1bfqx9p9pt] { display: grid; }
.hide-on-grid[b-1bfqx9p9pt] { display: none !important; }

/* Badges */
.badge[b-1bfqx9p9pt] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-yes[b-1bfqx9p9pt] { background: #ecfdf5; color: #065f46; }
.badge-no[b-1bfqx9p9pt] { background: #f1f5f9; color: #64748b; }

/* Utilities */
.font-mono[b-1bfqx9p9pt] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-1bfqx9p9pt] { text-align: center; }
.text-muted[b-1bfqx9p9pt] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-1bfqx9p9pt], .crud-empty-state[b-1bfqx9p9pt] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-1bfqx9p9pt] { font-size: 2rem; }
.crud-spinner[b-1bfqx9p9pt] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-1bfqx9p9pt 0.6s linear infinite; }
.crud-spinner-sm[b-1bfqx9p9pt] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-1bfqx9p9pt 0.6s linear infinite; }
@keyframes spin-b-1bfqx9p9pt { to { transform: rotate(360deg); } }
.spin[b-1bfqx9p9pt] { animation: spin-b-1bfqx9p9pt 0.8s linear infinite; }

/* Modal (sibling pattern) */
.modal-backdrop[b-1bfqx9p9pt] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-1bfqx9p9pt 0.15s ease-out; }
.modal-container[b-1bfqx9p9pt] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-1bfqx9p9pt] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-1bfqx9p9pt 0.2s ease-out; }
/* modal-lg: ocupa toda el area del body — se ajusta automaticamente */
.modal-lg[b-1bfqx9p9pt] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 100px); max-height: calc(100vh - 100px); border-radius: 0.5rem; }
.modal-sm[b-1bfqx9p9pt] { max-width: 420px; }
@keyframes fadeIn-b-1bfqx9p9pt { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-1bfqx9p9pt { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-1bfqx9p9pt] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-1bfqx9p9pt] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger[b-1bfqx9p9pt] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-1bfqx9p9pt] { color: #dc2626; }
.modal-close[b-1bfqx9p9pt] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-1bfqx9p9pt] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-1bfqx9p9pt] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-1bfqx9p9pt] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* Tabs */
.modal-tabs[b-1bfqx9p9pt] { display: flex; gap: 0; border-bottom: 2px solid var(--rg-border, #e2e8f0); margin-bottom: 1rem; }
.modal-tab[b-1bfqx9p9pt] { background: none; border: none; padding: 0.5rem 1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.modal-tab:hover[b-1bfqx9p9pt] { color: var(--rg-text-primary, #1e293b); }
.modal-tab.active[b-1bfqx9p9pt] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); }

/* Form */
.form-row[b-1bfqx9p9pt] { display: flex; gap: 0.6rem; margin-bottom: 0.5rem; }
.form-row-4[b-1bfqx9p9pt] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 0.5rem; }
.form-group[b-1bfqx9p9pt] { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.form-group.flex-2[b-1bfqx9p9pt] { flex: 2; }
.form-group label[b-1bfqx9p9pt] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-1bfqx9p9pt], .form-group select[b-1bfqx9p9pt], .form-textarea[b-1bfqx9p9pt] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-card, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-1bfqx9p9pt], .form-group select:focus[b-1bfqx9p9pt], .form-textarea:focus[b-1bfqx9p9pt] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-1bfqx9p9pt] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
.form-textarea[b-1bfqx9p9pt] { width: 100%; resize: vertical; font-family: inherit; }
.form-check-group[b-1bfqx9p9pt] { flex: 1; display: flex; align-items: center; }
.form-check[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.form-check input[type="checkbox"][b-1bfqx9p9pt] { width: 1rem; height: 1rem; accent-color: var(--rg-accent, #4f46e5); }

/* Photo Section */
.photo-section[b-1bfqx9p9pt] { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 0.75rem 0; }
.photo-preview[b-1bfqx9p9pt] { width: 160px; height: 160px; border-radius: 0.75rem; border: 2px dashed var(--rg-border, #e2e8f0); overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-sidebar, #f8fafc); }
.photo-preview img[b-1bfqx9p9pt] { width: 100%; height: 100%; object-fit: cover; }
.photo-placeholder[b-1bfqx9p9pt] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--rg-text-muted, #94a3b8); }
.photo-placeholder i[b-1bfqx9p9pt] { font-size: 3rem; }
.photo-placeholder span[b-1bfqx9p9pt] { font-size: 0.78rem; }
.photo-actions[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.75rem; justify-content: center; }
.photo-hint[b-1bfqx9p9pt] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); text-align: center; }

/* Botones redondos de foto — solo icono */
.btn-icon-round[b-1bfqx9p9pt] { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: none; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.15s; }
.btn-photo-select[b-1bfqx9p9pt] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-photo-select:hover[b-1bfqx9p9pt] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-camera[b-1bfqx9p9pt] { background: #10b981; color: #fff; }
.btn-photo-camera:hover[b-1bfqx9p9pt] { filter: brightness(1.15); transform: scale(1.05); }
.btn-photo-remove[b-1bfqx9p9pt] { background: #ef4444; color: #fff; }
.btn-photo-remove:hover[b-1bfqx9p9pt] { filter: brightness(1.15); transform: scale(1.05); }
[b-1bfqx9p9pt] .file-input-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-1bfqx9p9pt] { padding: 0.75rem; }
    .crud-header[b-1bfqx9p9pt] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-1bfqx9p9pt] { font-size: 1.1rem; }
    .btn-text[b-1bfqx9p9pt] { display: none; }
    .form-row[b-1bfqx9p9pt] { flex-direction: column; }
    .form-row-4[b-1bfqx9p9pt] { grid-template-columns: repeat(2, 1fr); }
    .modal-dialog[b-1bfqx9p9pt] { width: 98%; max-height: 95vh; }
    .modal-lg[b-1bfqx9p9pt] { max-width: 98vw; width: 98vw; height: 95vh; max-height: 95vh; }
    .modal-body[b-1bfqx9p9pt] { padding: 0.75rem; }
    .modal-tabs[b-1bfqx9p9pt] { overflow-x: auto; }
    .modal-tab[b-1bfqx9p9pt] { font-size: 0.72rem; padding: 0.5rem 0.65rem; white-space: nowrap; }

    .crud-grid-wrapper.show-on-grid[b-1bfqx9p9pt] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-1bfqx9p9pt] { display: grid !important; }
    .crud-cards-wrapper[b-1bfqx9p9pt] { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-1bfqx9p9pt] { grid-template-columns: 1fr; }
    .card-details[b-1bfqx9p9pt] { flex-direction: column; gap: 0.35rem; }
}

/* ============================================================
   Cotización Tabla de Amortización — extras
   ============================================================ */

/* Modal de tamaño fijo, sin alto forzado */
.modal-amort[b-1bfqx9p9pt] { max-width: 1100px; width: calc(100% - 2rem); max-height: calc(100vh - 80px); border-radius: 0.5rem; }

/* Fila compacta con todos los parámetros en línea */
.amort-compact-row[b-1bfqx9p9pt] { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: flex-end; margin-bottom: 0.5rem; padding: 0.5rem 0.6rem; background: var(--rg-bg-subtle, #f8fafc); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; }
.amort-compact-row .form-group[b-1bfqx9p9pt] { flex: 1; min-width: 80px; }
.amort-compact-row .form-group label[b-1bfqx9p9pt] { font-size: 0.64rem; }
.amort-compact-row .form-group input[b-1bfqx9p9pt],
.amort-compact-row .form-group select[b-1bfqx9p9pt] { padding: 0.3rem 0.4rem; font-size: 0.75rem; }

.amort-preview[b-1bfqx9p9pt] { margin-top: 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: hidden; }
.amort-preview-header[b-1bfqx9p9pt] { background: var(--rg-bg-sidebar, #f8fafc); padding: 0.5rem 0.75rem; display: flex; gap: 1rem; font-size: 0.75rem; color: var(--rg-text-secondary, #475569); border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-wrap: wrap; }
.amort-preview-header strong[b-1bfqx9p9pt] { color: var(--rg-text-primary, #1e293b); margin-left: 0.35rem; font-variant-numeric: tabular-nums; }
.amort-grid-wrapper[b-1bfqx9p9pt] { max-height: 360px; overflow: auto; }
.amort-grid[b-1bfqx9p9pt] { width: 100%; border-collapse: collapse; font-size: 0.76rem; font-variant-numeric: tabular-nums; }
.amort-grid thead[b-1bfqx9p9pt] { position: sticky; top: 0; z-index: 10; }
.amort-grid th[b-1bfqx9p9pt] { background: var(--rg-bg-sidebar, #f8fafc); padding: 0.45rem 0.5rem; text-align: right; font-weight: 600; font-size: 0.7rem; text-transform: uppercase; color: var(--rg-text-secondary, #475569); border-bottom: 2px solid var(--rg-border, #e2e8f0); }
.amort-grid th.num-center[b-1bfqx9p9pt] { text-align: center; }
.amort-grid th.num-left[b-1bfqx9p9pt]   { text-align: left;   }
.amort-grid td[b-1bfqx9p9pt] { padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); text-align: right; color: var(--rg-text-primary, #1e293b); }
.amort-grid td.num-center[b-1bfqx9p9pt] { text-align: center; }
.amort-grid td.num-left[b-1bfqx9p9pt]   { text-align: left;   }
.amort-grid tr.total-row td[b-1bfqx9p9pt] { background: var(--rg-bg-sidebar, #f8fafc); font-weight: 700; border-top: 2px solid var(--rg-border, #e2e8f0); }

.amort-empty[b-1bfqx9p9pt] { padding: 2rem; text-align: center; color: var(--rg-text-muted, #94a3b8); font-size: 0.8rem; }

.cliente-lookup[b-1bfqx9p9pt] { position: relative; }
.cliente-suggestions[b-1bfqx9p9pt] { position: absolute; top: 100%; left: 0; right: 0; background: var(--rg-bg-card, #fff); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; max-height: 240px; overflow-y: auto; z-index: 50; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.cliente-suggestion[b-1bfqx9p9pt] { padding: 0.45rem 0.65rem; cursor: pointer; font-size: 0.78rem; display: flex; gap: 0.5rem; align-items: center; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); }
.cliente-suggestion:hover[b-1bfqx9p9pt] { background: var(--rg-bg-hover, #f1f5f9); }
.cliente-suggestion .cli-id[b-1bfqx9p9pt] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.72rem; color: var(--rg-text-muted, #94a3b8); min-width: 90px; }
.cliente-suggestion .cli-name[b-1bfqx9p9pt] { color: var(--rg-text-primary, #1e293b); flex: 1; }

[data-mode="dark"] .crud-alert.success[b-1bfqx9p9pt] { background: rgba(34,197,94,0.12); color: #86efac; border-color: rgba(34,197,94,0.3); }
[data-mode="dark"] .crud-alert.error[b-1bfqx9p9pt]   { background: rgba(239,68,68,0.12); color: #fca5a5; border-color: rgba(239,68,68,0.3); }
[data-mode="dark"] .badge-yes[b-1bfqx9p9pt] { background: rgba(34,197,94,0.15); color: #86efac; }
[data-mode="dark"] .badge-no[b-1bfqx9p9pt]  { background: rgba(148,163,184,0.15); color: #cbd5e1; }

/* ── Acordeón de parámetros ── */
.amort-panels[b-1bfqx9p9pt] { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 0.6rem; }
.amort-panel[b-1bfqx9p9pt]  { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: hidden; }
.amort-panel-hdr[b-1bfqx9p9pt] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; background: var(--rg-bg-subtle, #f8fafc); cursor: pointer; font-size: 0.8rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); user-select: none; }
.amort-panel-hdr:hover[b-1bfqx9p9pt] { background: var(--rg-bg-hover, #f1f5f9); }
.amort-panel-hdr i[b-1bfqx9p9pt] { color: var(--rg-accent, #4f46e5); }
.amort-panel-hdr .ms-auto[b-1bfqx9p9pt] { margin-left: auto; font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.amort-panel-body[b-1bfqx9p9pt] { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.6rem 0.75rem; background: var(--rg-bg-card, #fff); }
.amort-panel-body .form-group[b-1bfqx9p9pt] { flex: 1; min-width: 130px; }

/* ── Tarjeta de resultados ── */
.amort-card[b-1bfqx9p9pt] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: hidden; }

/* ── Fila de totales dentro del <thead> — se alinea automáticamente con las columnas ── */
.amort-stat-row td[b-1bfqx9p9pt] { padding: 0.45rem 0.5rem; text-align: center; vertical-align: middle; border-bottom: 1px solid var(--rg-border, #e2e8f0); border-right: 2px solid var(--rg-bg-card, #fff); }
.amort-stat-row td:last-child[b-1bfqx9p9pt] { border-right: none; }
.stat-label[b-1bfqx9p9pt] { display: block; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; margin-bottom: 0.1rem; }
.stat-value[b-1bfqx9p9pt] { display: block; font-size: 0.88rem; font-weight: 700; font-variant-numeric: tabular-nums; }

/* Fondos SÓLIDOS — crítico para que las filas no se vean al hacer scroll detrás del sticky */
.stat-cuotas[b-1bfqx9p9pt]  { background: #eef2ff; }
.stat-cuotas  .stat-label[b-1bfqx9p9pt]  { color: #4f46e5; }
.stat-cuotas  .stat-value[b-1bfqx9p9pt]  { color: #3730a3; font-size: 1rem; letter-spacing: 0.05em; }

.stat-capital[b-1bfqx9p9pt] { background: #f0fdf4; }
.stat-capital .stat-label[b-1bfqx9p9pt]  { color: #16a34a; }
.stat-capital .stat-value[b-1bfqx9p9pt]  { color: #15803d; }

.stat-interes[b-1bfqx9p9pt] { background: #fff7ed; }
.stat-interes .stat-label[b-1bfqx9p9pt]  { color: #ea580c; }
.stat-interes .stat-value[b-1bfqx9p9pt]  { color: #c2410c; }

.stat-total[b-1bfqx9p9pt]   { background: #faf5ff; }
.stat-total   .stat-label[b-1bfqx9p9pt]  { color: #9333ea; }
.stat-total   .stat-value[b-1bfqx9p9pt]  { color: #7e22ce; }

.stat-blank[b-1bfqx9p9pt]   { background: #f8fafc; }

.stat-comision[b-1bfqx9p9pt]{ background: #f0fdfa; }
.stat-comision .stat-label[b-1bfqx9p9pt] { color: #0d9488; }
.stat-comision .stat-value[b-1bfqx9p9pt] { color: #0f766e; }

.stat-seguro[b-1bfqx9p9pt]  { background: #e0e7ff; }
.stat-seguro  .stat-label[b-1bfqx9p9pt]  { color: #4f46e5; }
.stat-seguro  .stat-value[b-1bfqx9p9pt]  { color: #4338ca; }

/* ── Número de cuota ── */
.cuota-num[b-1bfqx9p9pt] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); }

/* ── Utilidades ── */
.w-100[b-1bfqx9p9pt] { width: 100%; }
.ms-auto[b-1bfqx9p9pt] { margin-left: auto; }

/* ── Spinner pequeño para botón Calcular ── */
.crud-spinner-sm[b-1bfqx9p9pt] { display: inline-block; width: 0.85rem; height: 0.85rem; border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff; border-radius: 50%; animation: spin-b-1bfqx9p9pt 0.7s linear infinite; }
@keyframes spin-b-1bfqx9p9pt { to { transform: rotate(360deg); } }

/* ── Nota textarea — ocupa todo el ancho del panel ── */
.form-group-full[b-1bfqx9p9pt] { flex: 0 0 100%; min-width: 100%; }
.amort-panel-body textarea[b-1bfqx9p9pt] { width: 100%; background: var(--rg-bg-input, #fff); color: var(--rg-text-primary, #1e293b); border: 1px solid var(--rg-border, #e2e8f0); border-radius: 6px; padding: 0.4rem 0.6rem; font-size: 0.8rem; resize: vertical; }
.amort-panel-body textarea:focus[b-1bfqx9p9pt] { border-color: var(--rg-primary, #1a3a5c); outline: none; box-shadow: 0 0 0 3px rgba(26,58,92,0.12); }

/* ── Dark mode acordeón y tarjeta ── */
[data-mode="dark"] .amort-panel-hdr[b-1bfqx9p9pt]  { background: var(--rg-bg-subtle, #1e2a38); }
[data-mode="dark"] .amort-panel-body[b-1bfqx9p9pt] { background: var(--rg-bg-card, #16202e); }
[data-mode="dark"] .amort-card[b-1bfqx9p9pt]       { border-color: var(--rg-border, #2d3a4a); }
[data-mode="dark"] .amort-stat-row td[b-1bfqx9p9pt] { border-right-color: #16202e; }
[data-mode="dark"] .stat-cuotas[b-1bfqx9p9pt]   { background: #1e1b4b; }
[data-mode="dark"] .stat-cuotas   .stat-label[b-1bfqx9p9pt] { color: #818cf8; }
[data-mode="dark"] .stat-cuotas   .stat-value[b-1bfqx9p9pt] { color: #a5b4fc; }
[data-mode="dark"] .stat-capital[b-1bfqx9p9pt]  { background: #052e16; }
[data-mode="dark"] .stat-capital  .stat-label[b-1bfqx9p9pt] { color: #4ade80; }
[data-mode="dark"] .stat-capital  .stat-value[b-1bfqx9p9pt] { color: #86efac; }
[data-mode="dark"] .stat-interes[b-1bfqx9p9pt]  { background: #431407; }
[data-mode="dark"] .stat-interes  .stat-label[b-1bfqx9p9pt] { color: #fb923c; }
[data-mode="dark"] .stat-interes  .stat-value[b-1bfqx9p9pt] { color: #fdba74; }
[data-mode="dark"] .stat-total[b-1bfqx9p9pt]    { background: #2e1065; }
[data-mode="dark"] .stat-total    .stat-label[b-1bfqx9p9pt] { color: #c084fc; }
[data-mode="dark"] .stat-total    .stat-value[b-1bfqx9p9pt] { color: #e9d5ff; }
[data-mode="dark"] .stat-blank[b-1bfqx9p9pt]    { background: #1e2a38; }
[data-mode="dark"] .stat-comision[b-1bfqx9p9pt] { background: #042f2e; }
[data-mode="dark"] .stat-comision .stat-label[b-1bfqx9p9pt] { color: #2dd4bf; }
[data-mode="dark"] .stat-comision .stat-value[b-1bfqx9p9pt] { color: #5eead4; }
[data-mode="dark"] .stat-seguro[b-1bfqx9p9pt]   { background: #1e1b4b; }
[data-mode="dark"] .stat-seguro   .stat-label[b-1bfqx9p9pt] { color: #818cf8; }
[data-mode="dark"] .stat-seguro   .stat-value[b-1bfqx9p9pt] { color: #a5b4fc; }
[data-mode="dark"] .amort-panel-body textarea[b-1bfqx9p9pt]  { background: var(--rg-bg-input, #1e2a38); color: var(--rg-text-primary, #e2e8f0); border-color: var(--rg-border, #2d3a4a); }

/* ── Impresión / PDF ── */
@media print {
    body > *[b-1bfqx9p9pt] { display: none !important; }
    .modal-backdrop[b-1bfqx9p9pt] { display: none !important; }
    .modal-container[b-1bfqx9p9pt] { display: block !important; position: static !important; width: 100% !important; overflow: visible !important; }
    .modal-dialog[b-1bfqx9p9pt] { box-shadow: none !important; max-width: 100% !important; max-height: none !important; border-radius: 0 !important; }
    .modal-body[b-1bfqx9p9pt] { overflow: visible !important; flex: 1 !important; }
    .modal-footer[b-1bfqx9p9pt], .modal-close[b-1bfqx9p9pt], .amort-panels[b-1bfqx9p9pt], .crud-alert[b-1bfqx9p9pt] { display: none !important; }
    .amort-grid-wrapper[b-1bfqx9p9pt] { max-height: none !important; overflow: visible !important; }
    .amort-stat-row .stat-cuotas[b-1bfqx9p9pt]  { background: #ede9fe !important; -webkit-print-color-adjust: exact; }
    .amort-stat-row .stat-capital[b-1bfqx9p9pt] { background: #dcfce7 !important; -webkit-print-color-adjust: exact; }
    .amort-stat-row .stat-interes[b-1bfqx9p9pt] { background: #fff7ed !important; -webkit-print-color-adjust: exact; }
    .amort-stat-row .stat-total[b-1bfqx9p9pt]   { background: #faf5ff !important; -webkit-print-color-adjust: exact; }
    .amort-grid tr.total-row td[b-1bfqx9p9pt]   { background: #f1f5f9 !important; -webkit-print-color-adjust: exact; }
}
/* _content/Rgclouds.Web/Components/Pages/Reportes/Frmimpresionreportedinamicov3.razor.rz.scp.css */
/* ============================================================
   📊 Frmimpresionreportedinamicov3.razor.css
   Tokens --rg-* exclusivamente. Dark mode compliant.
   ============================================================ */

/* ── Contenedor principal ── */
.rd-container[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 80px);
    padding: 1rem 1.25rem;
    gap: 0.75rem;
    background: var(--rg-bg-page);
    color: var(--rg-text-primary);
}

/* ── Header ── */
.rd-header[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-shrink: 0;
}

.rd-header-left[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rd-header-icon[b-txnf7jd4pq] {
    font-size: 1.75rem;
    color: var(--rg-primary);
}

.rd-title[b-txnf7jd4pq] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rg-text-primary);
    margin: 0;
}

.rd-subtitle[b-txnf7jd4pq] {
    font-size: 0.8rem;
    color: var(--rg-text-muted);
    margin: 0;
}

.rd-header-actions[b-txnf7jd4pq] {
    display: flex;
    gap: 0.5rem;
}

/* ── Layout principal ── */
.rd-layout[b-txnf7jd4pq] {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 0.75rem;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ── Sidebar (lista de reportes) ── */
.rd-sidebar[b-txnf7jd4pq] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rd-search-box[b-txnf7jd4pq] {
    position: relative;
    padding: 0.75rem;
    border-bottom: 1px solid var(--rg-border);
    flex-shrink: 0;
}

.rd-search-icon[b-txnf7jd4pq] {
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rg-text-muted);
    font-size: 0.85rem;
}

.rd-search-input[b-txnf7jd4pq] {
    width: 100%;
    padding: 0.45rem 0.65rem 0.45rem 2rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.85rem;
}

.rd-search-input:focus[b-txnf7jd4pq] {
    outline: none;
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15);
}

.rd-loading-list[b-txnf7jd4pq],
.rd-empty-list[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--rg-text-muted);
    font-size: 0.85rem;
}

.rd-empty-list i[b-txnf7jd4pq] {
    font-size: 2rem;
}

/* ── Grupos de reportes (acordeón) ── */
.rd-group[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--rg-border);
}

.rd-group:last-child[b-txnf7jd4pq] {
    border-bottom: none;
}

.rd-group-title[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.6rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--rg-text-primary);
    background: var(--rg-bg-subtle);
    border: none;
    border-bottom: 1px solid var(--rg-border);
    text-align: left;
    cursor: pointer;
    transition: background 0.15s;
    position: sticky;
    top: 0;
    z-index: 1;
}

.rd-group-title:hover[b-txnf7jd4pq] {
    background: var(--rg-bg-hover);
}

.rd-group-collapsed .rd-group-title[b-txnf7jd4pq] {
    border-bottom: none;
}

.rd-group-icon[b-txnf7jd4pq] {
    font-size: 1rem;
    color: var(--rg-primary);
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

[data-mode="dark"] .rd-group-icon[b-txnf7jd4pq] {
    color: #93b4d4;
}

.rd-group-label[b-txnf7jd4pq] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rd-group-count[b-txnf7jd4pq] {
    font-size: 0.68rem;
    padding: 0.1rem 0.45rem;
    background: rgba(26, 58, 92, 0.12);
    color: var(--rg-primary);
    border-radius: 999px;
    font-weight: 600;
    flex-shrink: 0;
}

[data-mode="dark"] .rd-group-count[b-txnf7jd4pq] {
    background: rgba(147, 180, 212, 0.18);
    color: #93b4d4;
}

.rd-group-chevron[b-txnf7jd4pq] {
    color: var(--rg-text-muted);
    font-size: 0.8rem;
    flex-shrink: 0;
    transition: transform 0.2s;
}

.rd-group-items[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    animation: rd-slide-down-b-txnf7jd4pq 0.18s ease-out;
}

@keyframes rd-slide-down-b-txnf7jd4pq {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.rd-report-item[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.55rem 0.85rem 0.55rem 2rem;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rg-border);
    color: var(--rg-text-primary);
    text-align: left;
    cursor: pointer;
    transition: background 0.15s;
    font-size: 0.83rem;
}

.rd-report-item:last-child[b-txnf7jd4pq] {
    border-bottom: none;
}

.rd-report-item:hover[b-txnf7jd4pq] {
    background: var(--rg-bg-hover);
}

.rd-report-active[b-txnf7jd4pq] {
    background: rgba(26, 58, 92, 0.1);
    color: var(--rg-primary);
    font-weight: 600;
    box-shadow: inset 3px 0 0 var(--rg-primary);
}

[data-mode="dark"] .rd-report-active[b-txnf7jd4pq] {
    background: rgba(99, 146, 198, 0.15);
    color: #93b4d4;
    box-shadow: inset 3px 0 0 #93b4d4;
}

.rd-report-icon[b-txnf7jd4pq] {
    color: var(--rg-text-muted);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.rd-report-active .rd-report-icon[b-txnf7jd4pq] {
    color: var(--rg-primary);
}

.rd-report-name[b-txnf7jd4pq] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rd-param-badge[b-txnf7jd4pq] {
    font-size: 0.68rem;
    min-width: 22px;
    text-align: center;
    padding: 0.1rem 0.45rem;
    background: rgba(26, 58, 92, 0.08);
    color: var(--rg-text-muted);
    border-radius: 999px;
    flex-shrink: 0;
    font-weight: 600;
}

[data-mode="dark"] .rd-param-badge[b-txnf7jd4pq] {
    background: rgba(255, 255, 255, 0.08);
}

/* ── Panel principal ── */
.rd-main[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-y: auto;
    min-height: 0;
}

/* ── Welcome state ── */
.rd-welcome[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 0.75rem;
    color: var(--rg-text-muted);
    text-align: center;
    padding: 3rem;
}

.rd-welcome-icon[b-txnf7jd4pq] {
    font-size: 4rem;
    color: var(--rg-border);
}

.rd-welcome h3[b-txnf7jd4pq] {
    color: var(--rg-text-secondary);
    font-size: 1.1rem;
    margin: 0;
}

.rd-welcome p[b-txnf7jd4pq] {
    font-size: 0.85rem;
    margin: 0;
    max-width: 300px;
}

/* ── Tarjeta de parámetros ── */
.rd-params-card[b-txnf7jd4pq] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    overflow: hidden;
}

.rd-params-header[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--rg-bg-subtle);
    border-bottom: 1px solid var(--rg-border);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--rg-text-primary);
}

/* Header clicable para acordeón */
.rd-params-header-toggle[b-txnf7jd4pq] {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}
.rd-params-header-toggle:hover[b-txnf7jd4pq] {
    background: var(--rg-bg-hover);
}

/* Botón chevron — empujado al extremo derecho */
.rd-collapse-toggle[b-txnf7jd4pq] {
    margin-left: auto;
    background: none;
    border: none;
    color: var(--rg-text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 5px;
    font-size: 0.85rem;
    transition: background 0.15s, color 0.15s, transform 0.25s;
    flex-shrink: 0;
}
.rd-collapse-toggle:hover[b-txnf7jd4pq] {
    background: var(--rg-bg-subtle);
    color: var(--rg-text-primary);
}

/* ── Cuerpo acordeón ── */
.rd-params-body[b-txnf7jd4pq] {
    max-height: 800px;       /* valor mayor que el contenido real */
    overflow: hidden;
    transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                opacity     0.25s ease;
    opacity: 1;
}

.rd-params-body.rd-collapsed[b-txnf7jd4pq] {
    max-height: 0;
    opacity: 0;
}

.rd-module-badge[b-txnf7jd4pq] {
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    background: rgba(26, 58, 92, 0.12);
    color: var(--rg-primary);
    border-radius: 999px;
    font-weight: 500;
}

[data-mode="dark"] .rd-module-badge[b-txnf7jd4pq] {
    background: rgba(147, 180, 212, 0.15);
    color: #93b4d4;
}

/* ── Grid fijo 3 columnas ── */
.rd-params-grid[b-txnf7jd4pq] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    padding: 1rem;
}

.rd-param-field[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.rd-param-label[b-txnf7jd4pq] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
}

/* Input standalone (sin botón lookup) */
.rd-param-input[b-txnf7jd4pq] {
    padding: 0.45rem 0.65rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.rd-param-input:focus[b-txnf7jd4pq] {
    outline: none;
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15);
}

/* ── Input-group: input + botón 🔍 fusionados en un único borde ── */
.rd-param-input-row[b-txnf7jd4pq] {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--rg-bg-input);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.rd-param-input-row:focus-within[b-txnf7jd4pq] {
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15);
}

/* El input dentro del grupo cede el borde al contenedor */
.rd-param-input-row .rd-param-input[b-txnf7jd4pq] {
    flex: 1;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
    min-width: 0;
    width: auto;
}

.rd-param-input-row .rd-param-input:focus[b-txnf7jd4pq] {
    outline: none;
    border: none;
    box-shadow: none;
}

/* Separador visual antes del botón (solo cuando hay hit) */
.rd-param-input-row.rd-has-hit .rd-param-input[b-txnf7jd4pq] {
    border-right: 1px solid var(--rg-border);
}

/* Botón 🔍 fusionado — sin borde propio, sin border-radius */
.rd-hit-btn[b-txnf7jd4pq] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    background: var(--rg-primary);
    color: #fff;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 0.82rem;
    transition: opacity 0.15s;
}

.rd-hit-btn:hover[b-txnf7jd4pq] { opacity: 0.82; }

/* Input de fecha con máscara MM-DD-YYYY */
.rd-param-date[b-txnf7jd4pq] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.rd-param-date[b-txnf7jd4pq]::placeholder {
    color: var(--rg-text-muted);
    opacity: 0.6;
    font-family: inherit;
}

.rd-no-params[b-txnf7jd4pq] {
    padding: 1rem;
    color: var(--rg-text-muted);
    font-size: 0.85rem;
    font-style: italic;
}

.rd-params-actions[b-txnf7jd4pq] {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--rg-border);
    background: var(--rg-bg-subtle);
}

.rd-error-banner[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 1rem 0.75rem;
    padding: 0.6rem 0.85rem;
    background: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.25);
    border-radius: 6px;
    color: var(--rg-danger);
    font-size: 0.83rem;
}

[data-mode="dark"] .rd-error-banner[b-txnf7jd4pq] {
    background: rgba(220, 38, 38, 0.15);
    border-color: rgba(220, 38, 38, 0.3);
    color: #fca5a5;
}

/* ── Tarjeta de resultados ── */
.rd-results-card[b-txnf7jd4pq] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.rd-results-header[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 1rem;
    background: var(--rg-bg-subtle);
    border-bottom: 1px solid var(--rg-border);
    flex-shrink: 0;
}

.rd-results-title[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--rg-text-primary);
}

.rd-results-count[b-txnf7jd4pq] {
    font-size: 0.78rem;
    padding: 0.15rem 0.6rem;
    background: rgba(34, 197, 94, 0.12);
    color: #166534;
    border-radius: 999px;
    font-weight: 600;
}

[data-mode="dark"] .rd-results-count[b-txnf7jd4pq] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.15);
}

.rd-empty-results[b-txnf7jd4pq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: var(--rg-text-muted);
    font-size: 0.85rem;
}

.rd-empty-results i[b-txnf7jd4pq] {
    font-size: 2rem;
}

/* ── Tabla de resultados ── */
.rd-table[b-txnf7jd4pq] {
    width: 100%;
    font-size: 0.82rem;
}

/* ── Spinner ── */
.rd-spinner[b-txnf7jd4pq] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: rd-spin-b-txnf7jd4pq 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes rd-spin-b-txnf7jd4pq {
    to { transform: rotate(360deg); }
}

/* ── Responsive (iPhone / tabletas) ── */
@media (max-width: 1024px) {
    .rd-layout[b-txnf7jd4pq] {
        grid-template-columns: 300px 1fr;
    }
}

@media (max-width: 768px) {
    .rd-layout[b-txnf7jd4pq] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .rd-sidebar[b-txnf7jd4pq] {
        max-height: 260px;
    }

    .rd-params-grid[b-txnf7jd4pq] {
        grid-template-columns: 1fr 1fr;
    }

    .rd-container[b-txnf7jd4pq] {
        padding: 0.75rem;
        height: auto;
        min-height: calc(100vh - 80px);
    }
}

@media (max-width: 480px) {
    .rd-params-grid[b-txnf7jd4pq] {
        grid-template-columns: 1fr;
    }

    .rd-header[b-txnf7jd4pq] {
        flex-wrap: wrap;
    }
}

/* ── Modal Visor PDF ──────────────────────────────────────── */

.rd-modal-backdrop[b-txnf7jd4pq] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1000;
}

.rd-modal-container[b-txnf7jd4pq] {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.rd-modal-dialog[b-txnf7jd4pq] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1100px;
    height: 90vh;
    overflow: hidden;
}

.rd-modal-header[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.25rem;
    background: var(--rg-bg-subtle);
    border-bottom: 1px solid var(--rg-border);
    flex-shrink: 0;
}

.rd-modal-title-row[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.rd-modal-title-row h2[b-txnf7jd4pq] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--rg-text-primary);
    margin: 0;
}

.rd-pdf-icon[b-txnf7jd4pq] {
    font-size: 1.25rem;
    color: #dc2626;
}

[data-mode="dark"] .rd-pdf-icon[b-txnf7jd4pq] {
    color: #f87171;
}

.rd-modal-close[b-txnf7jd4pq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    color: var(--rg-text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.rd-modal-close:hover[b-txnf7jd4pq] {
    background: var(--rg-bg-hover);
    color: var(--rg-text-primary);
}

.rd-modal-body[b-txnf7jd4pq] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
}

.rd-pdf-loading[b-txnf7jd4pq] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--rg-text-secondary);
    font-size: 0.9rem;
    background: var(--rg-bg-card);
    z-index: 1;
}

.rd-pdf-loading .rd-spinner[b-txnf7jd4pq] {
    width: 24px;
    height: 24px;
    border-width: 3px;
    border-color: var(--rg-border);
    border-top-color: var(--rg-primary);
}

.rd-pdf-iframe[b-txnf7jd4pq] {
    flex: 1;
    width: 100%;
    height: 100%;
    border: none;
    background: #525659;
}

.rd-iframe-hidden[b-txnf7jd4pq] {
    visibility: hidden;
}

.rd-modal-footer[b-txnf7jd4pq] {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--rg-border);
    background: var(--rg-bg-subtle);
    flex-shrink: 0;
}
/* _content/Rgclouds.Web/Components/Pages/Reportes/Frmreporteplantillas.razor.rz.scp.css */
/* ============================================================
   Frmreporteplantillas — Estilos CRUD + Editor Monaco + Preview
   ============================================================ */

.crud-container[b-2283ghuadn] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-2283ghuadn 0.3s ease-out; }
@keyframes slideUp-b-2283ghuadn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.crud-header[b-2283ghuadn] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-2283ghuadn] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-2283ghuadn] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-2283ghuadn] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-2283ghuadn] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-2283ghuadn] { display: flex; gap: 0.5rem; }

/* Buttons */
.btn-crud[b-2283ghuadn] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-2283ghuadn] { opacity: 0.6; cursor: not-allowed; }
.btn-crud.btn-sm[b-2283ghuadn] { padding: 0.3rem 0.65rem; font-size: 0.74rem; }
.btn-primary[b-2283ghuadn] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-2283ghuadn] { filter: brightness(1.1); }
.btn-outline[b-2283ghuadn] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-2283ghuadn] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-2283ghuadn] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-2283ghuadn] { filter: brightness(1.1); }
.btn-icon[b-2283ghuadn] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; background: transparent; }
.btn-edit[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-2283ghuadn] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-2283ghuadn] { color: #ef4444; }
.btn-delete:hover[b-2283ghuadn] { background: rgba(239, 68, 68, 0.1); }

/* Alert */
.crud-alert[b-2283ghuadn] { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert > span[b-2283ghuadn] { white-space: pre-line; line-height: 1.45; flex: 1; }
.crud-alert.success[b-2283ghuadn] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-2283ghuadn] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-2283ghuadn] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-2283ghuadn] { background: rgba(34,197,94,0.12); color: #86efac; border-color: rgba(34,197,94,0.25); }
[data-mode="dark"] .crud-alert.error[b-2283ghuadn] { background: rgba(239,68,68,0.12); color: #fca5a5; border-color: rgba(239,68,68,0.25); }

/* Search */
.crud-search-bar[b-2283ghuadn] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card, #fff); }
.crud-search-bar i[b-2283ghuadn] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-2283ghuadn] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-2283ghuadn] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-2283ghuadn] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }

/* Grid */
.crud-grid-wrapper[b-2283ghuadn] { border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card, #fff); max-height: calc(100vh - 280px); }
.crud-table[b-2283ghuadn] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-2283ghuadn] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-2283ghuadn] { background: var(--rg-bg-subtle, #f8fafc); color: var(--rg-text-secondary, #475569); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border, #e2e8f0); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-2283ghuadn] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); color: var(--rg-text-primary, #1e293b); vertical-align: middle; }
.crud-table tbody tr:hover[b-2283ghuadn] { background: var(--rg-bg-hover, #f8fafc); }
.col-actions[b-2283ghuadn] { width: 80px; text-align: center; white-space: nowrap; }

/* Template icon */
.tpl-icon[b-2283ghuadn] { width: 32px; height: 32px; border-radius: 6px; background: rgba(79,70,229,0.1); display: flex; align-items: center; justify-content: center; color: var(--rg-accent, #4f46e5); font-size: 1rem; }

/* Badges */
.badge[b-2283ghuadn] { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.5rem; border-radius: 1rem; font-size: 0.68rem; font-weight: 600; }
.badge-report[b-2283ghuadn] { background: rgba(79,70,229,0.1); color: var(--rg-accent, #4f46e5); }
.badge-version[b-2283ghuadn] { background: var(--rg-bg-subtle, #f1f5f9); color: var(--rg-text-muted, #64748b); }
[data-mode="dark"] .badge-report[b-2283ghuadn] { background: rgba(129,140,248,0.15); color: #818cf8; }
[data-mode="dark"] .badge-version[b-2283ghuadn] { color: var(--rg-text-muted); }

/* Utilities */
.font-mono[b-2283ghuadn] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-center[b-2283ghuadn] { text-align: center; }
.text-muted[b-2283ghuadn] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }

/* Loading / Empty */
.crud-loading[b-2283ghuadn], .crud-empty-state[b-2283ghuadn] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-empty-state i[b-2283ghuadn] { font-size: 2rem; }
.crud-spinner[b-2283ghuadn] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-2283ghuadn 0.6s linear infinite; }
.crud-spinner-sm[b-2283ghuadn] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: spin-b-2283ghuadn 0.6s linear infinite; }
@keyframes spin-b-2283ghuadn { to { transform: rotate(360deg); } }
.spin[b-2283ghuadn] { animation: spin-b-2283ghuadn 0.8s linear infinite; display: inline-block; }

/* ── Modal base ─────────────────────────────────────────────── */
.modal-backdrop[b-2283ghuadn] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-2283ghuadn 0.15s ease-out; }
.modal-container[b-2283ghuadn] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-2283ghuadn] { pointer-events: auto; background: var(--rg-bg-card, #fff); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); animation: scaleIn-b-2283ghuadn 0.2s ease-out; }
.modal-sm[b-2283ghuadn] { max-width: 420px; }
@keyframes fadeIn-b-2283ghuadn { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-2283ghuadn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.modal-header[b-2283ghuadn] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.modal-header h2[b-2283ghuadn] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger h2[b-2283ghuadn] { color: #dc2626; }
.modal-close[b-2283ghuadn] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-2283ghuadn] { color: var(--rg-text-primary); background: var(--rg-bg-hover); }
.modal-body[b-2283ghuadn] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.modal-footer[b-2283ghuadn] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }

/* ── Modal Editor (grande, ocupa casi toda la pantalla) ─────── */
.modal-editor[b-2283ghuadn] {
    max-width: none;
    width: calc(100vw - 2rem);
    height: calc(100vh - 80px);
    max-height: calc(100vh - 80px);
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
}

/* ── Tabs del editor ────────────────────────────────────────── */
.editor-tabs[b-2283ghuadn] { display: flex; border-bottom: 2px solid var(--rg-border, #e2e8f0); flex-shrink: 0; background: var(--rg-bg-subtle, #f8fafc); }
.editor-tab[b-2283ghuadn] { background: none; border: none; padding: 0.6rem 1.1rem; font-size: 0.78rem; font-weight: 600; color: var(--rg-text-muted, #94a3b8); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; display: flex; align-items: center; gap: 0.35rem; }
.editor-tab:hover[b-2283ghuadn] { color: var(--rg-text-primary); }
.editor-tab.active[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); border-bottom-color: var(--rg-accent, #4f46e5); background: var(--rg-bg-card); }

/* Editor body (tab contenido) */
.editor-body[b-2283ghuadn] { flex: 1; overflow: hidden; display: flex; flex-direction: column; padding: 0; }

/* ── TAB 0: Propiedades ──────────────────────────────────────── */
.props-panel[b-2283ghuadn] { padding: 1rem 1.25rem; overflow-y: auto; flex: 1; }
.form-row[b-2283ghuadn] { display: flex; gap: 0.6rem; margin-bottom: 0.6rem; }
.form-group[b-2283ghuadn] { flex: 1; display: flex; flex-direction: column; gap: 0.2rem; }
.form-group.flex-2[b-2283ghuadn] { flex: 2; }
.form-group label[b-2283ghuadn] { font-size: 0.68rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-2283ghuadn], .form-group select[b-2283ghuadn] { padding: 0.375rem 0.5rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.375rem; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-input, #fff); outline: none; transition: border-color 0.15s; }
.form-group input:focus[b-2283ghuadn], .form-group select:focus[b-2283ghuadn] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79,70,229,0.15); }

/* Panel de campos disponibles */
.fields-panel[b-2283ghuadn] { margin-top: 1rem; border: 1px solid var(--rg-border, #e2e8f0); border-radius: 0.5rem; padding: 0.875rem; background: var(--rg-bg-subtle, #f8fafc); }
.fields-title[b-2283ghuadn] { font-size: 0.72rem; font-weight: 700; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.4rem; }
.fields-grid[b-2283ghuadn] { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.field-chip[b-2283ghuadn] { display: flex; flex-direction: column; align-items: flex-start; gap: 0.1rem; padding: 0.3rem 0.5rem; border: 1px solid var(--rg-border); border-radius: 0.375rem; background: var(--rg-bg-card); cursor: pointer; transition: all 0.15s; font-size: 0; }
.field-chip:hover[b-2283ghuadn] { border-color: var(--rg-accent, #4f46e5); background: rgba(79,70,229,0.06); }
.field-chip i[b-2283ghuadn] { font-size: 0.75rem; color: var(--rg-accent, #4f46e5); }
.field-chip span[b-2283ghuadn] { font-size: 0.75rem; font-weight: 600; color: var(--rg-text-primary); font-family: 'Cascadia Code', 'Fira Code', monospace; }
.field-chip small[b-2283ghuadn] { font-size: 0.65rem; color: var(--rg-text-muted); font-family: monospace; }
.field-chip-global[b-2283ghuadn] { border-style: dashed; }
.field-chip-global i[b-2283ghuadn] { color: #059669; }
.fields-hint[b-2283ghuadn] { margin-top: 0.5rem; font-size: 0.7rem; color: var(--rg-text-muted); display: flex; align-items: center; gap: 0.35rem; }
.fields-hint code[b-2283ghuadn] { background: var(--rg-bg-subtle); padding: 0.1rem 0.3rem; border-radius: 0.25rem; }

/* ── TAB 1: JSON Editor ──────────────────────────────────────── */
.editor-split[b-2283ghuadn] { display: flex; flex: 1; overflow: hidden; height: 100%; }
.editor-monaco-wrap[b-2283ghuadn] { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.editor-toolbar[b-2283ghuadn] { display: flex; gap: 0.4rem; padding: 0.5rem 0.75rem; background: var(--rg-bg-subtle, #f8fafc); border-bottom: 1px solid var(--rg-border); flex-shrink: 0; flex-wrap: wrap; }
.monaco-container[b-2283ghuadn] { flex: 1; min-height: 0; }
.editor-fields-sidebar[b-2283ghuadn] { width: 180px; border-left: 1px solid var(--rg-border); background: var(--rg-bg-subtle); overflow: hidden; display: flex; flex-direction: column; flex-shrink: 0; }
.fields-list-scroll[b-2283ghuadn] { flex: 1; overflow-y: auto; padding: 0.5rem; display: flex; flex-direction: column; gap: 0.25rem; }
.field-chip-sm[b-2283ghuadn] { display: block; text-align: left; background: none; border: 1px solid var(--rg-border); border-radius: 0.25rem; padding: 0.2rem 0.4rem; cursor: pointer; transition: background 0.1s; width: 100%; }
.field-chip-sm:hover[b-2283ghuadn] { background: rgba(79,70,229,0.08); border-color: var(--rg-accent); }
.field-chip-sm code[b-2283ghuadn] { font-size: 0.65rem; color: var(--rg-accent, #4f46e5); word-break: break-all; }
.field-chip-sm-global code[b-2283ghuadn] { color: #059669; }

/* ── TAB 2: Preview ──────────────────────────────────────────── */
.preview-panel[b-2283ghuadn] { display: flex; flex-direction: column; flex: 1; overflow: hidden; }
.preview-toolbar[b-2283ghuadn] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: var(--rg-bg-subtle); border-bottom: 1px solid var(--rg-border); flex-shrink: 0; flex-wrap: wrap; }
.preview-image-wrap[b-2283ghuadn] { flex: 1; overflow: auto; display: flex; align-items: flex-start; justify-content: center; padding: 1rem; background: var(--rg-bg-subtle); }
.preview-img[b-2283ghuadn] { max-width: 100%; box-shadow: 0 4px 20px rgba(0,0,0,0.15); border-radius: 4px; }

/* ── TAB 3: Ayuda ────────────────────────────────────────────── */
.help-panel[b-2283ghuadn] { padding: 1.25rem; overflow-y: auto; flex: 1; }
.help-h3[b-2283ghuadn] { font-size: 1.05rem; font-weight: 700; color: var(--rg-text-primary); margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.5rem; }
.help-step[b-2283ghuadn] { display: flex; gap: 1rem; margin-bottom: 1.25rem; }
.help-step-num[b-2283ghuadn] { width: 28px; height: 28px; border-radius: 50%; background: var(--rg-accent, #4f46e5); color: #fff; font-size: 0.8rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.1rem; }
.help-step-body[b-2283ghuadn] { flex: 1; }
.help-step-body strong[b-2283ghuadn] { display: block; font-size: 0.85rem; color: var(--rg-text-primary); margin-bottom: 0.25rem; }
.help-step-body p[b-2283ghuadn] { font-size: 0.78rem; color: var(--rg-text-secondary); margin: 0 0 0.5rem; }
.help-step-body ol[b-2283ghuadn] { font-size: 0.78rem; color: var(--rg-text-secondary); padding-left: 1.25rem; margin: 0; }
.help-step-body ol li[b-2283ghuadn] { margin-bottom: 0.25rem; }
.help-code[b-2283ghuadn] { background: var(--rg-bg-subtle, #f8fafc); border: 1px solid var(--rg-border); border-radius: 0.375rem; padding: 0.65rem 0.85rem; font-size: 0.72rem; color: var(--rg-text-primary); font-family: 'Cascadia Code', 'Fira Code', monospace; white-space: pre-wrap; margin: 0.4rem 0; overflow-x: auto; }
.help-comp-grid[b-2283ghuadn] { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.35rem 0; }
.help-comp[b-2283ghuadn] { background: var(--rg-bg-subtle); border: 1px solid var(--rg-border); border-radius: 0.375rem; padding: 0.3rem 0.6rem; font-size: 0.72rem; color: var(--rg-text-secondary); }
.help-comp code[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); font-family: monospace; margin-right: 0.3rem; }
.help-table[b-2283ghuadn] { width: 100%; border-collapse: collapse; font-size: 0.75rem; margin: 0.4rem 0; }
.help-table th[b-2283ghuadn] { background: var(--rg-bg-subtle); color: var(--rg-text-secondary); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.03em; padding: 0.35rem 0.6rem; border: 1px solid var(--rg-border); text-align: left; }
.help-table td[b-2283ghuadn] { padding: 0.3rem 0.6rem; border: 1px solid var(--rg-border); color: var(--rg-text-primary); }
.help-table td code[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); font-size: 0.72rem; }

/* Dark mode overrides */
[data-mode="dark"] .editor-tabs[b-2283ghuadn] { background: var(--rg-bg-subtle); }
[data-mode="dark"] .editor-tab.active[b-2283ghuadn] { background: var(--rg-bg-card); }
[data-mode="dark"] .fields-panel[b-2283ghuadn] { background: var(--rg-bg-subtle); }
[data-mode="dark"] .help-code[b-2283ghuadn] { background: rgba(255,255,255,0.05); }
[data-mode="dark"] .help-comp[b-2283ghuadn] { background: rgba(255,255,255,0.05); }
[data-mode="dark"] .crud-table th[b-2283ghuadn] { background: var(--rg-bg-subtle); }
[data-mode="dark"] .crud-table tbody tr:hover[b-2283ghuadn] { background: var(--rg-bg-hover); }
[data-mode="dark"] .preview-image-wrap[b-2283ghuadn] { background: var(--rg-bg-subtle); }

/* ── Overrides para el nuevo editor de scripts ─────────────── */

/* Badge variants usadas por el grid */
.badge-yes[b-2283ghuadn] { background: rgba(34,197,94,0.15); color: #166534; border: 1px solid rgba(34,197,94,0.3); }
.badge-no[b-2283ghuadn]  { background: rgba(239,68,68,0.15); color: #991b1b; border: 1px solid rgba(239,68,68,0.3); }
[data-mode="dark"] .badge-yes[b-2283ghuadn] { color: #86efac; }
[data-mode="dark"] .badge-no[b-2283ghuadn]  { color: #fca5a5; }

.badge-app[b-2283ghuadn]   { display: inline-flex; padding: 0.12rem 0.5rem; border-radius: 0.3rem; background: rgba(79,70,229,0.12); color: var(--rg-accent, #4f46e5); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.03em; }
.badge-count[b-2283ghuadn] { background: var(--rg-bg-subtle, #f1f5f9); color: var(--rg-text-secondary, #475569); font-family: monospace; }
[data-mode="dark"] .badge-app[b-2283ghuadn] { background: rgba(129,140,248,0.18); color: #a5b4fc; }

.subtle-text[b-2283ghuadn] { font-size: 0.76rem; color: var(--rg-text-secondary, #64748b); }

.filter-inactive[b-2283ghuadn] { display: flex; align-items: center; gap: 0.35rem; margin-left: 1rem; font-size: 0.78rem; color: var(--rg-text-secondary); cursor: pointer; }
.filter-inactive input[b-2283ghuadn] { accent-color: var(--rg-accent, #4f46e5); }

.help-hint[b-2283ghuadn] { font-size: 0.78rem; color: var(--rg-text-secondary, #64748b); background: var(--rg-bg-subtle, #f8fafc); border-left: 3px solid var(--rg-accent, #4f46e5); padding: 0.5rem 0.75rem; border-radius: 0 0.375rem 0.375rem 0; margin-bottom: 0.75rem; }
.help-hint code[b-2283ghuadn] { background: var(--rg-bg-card); padding: 0.05rem 0.35rem; border-radius: 0.25rem; font-size: 0.75rem; color: var(--rg-accent, #4f46e5); }
.empty-hint[b-2283ghuadn] { font-size: 0.76rem; color: var(--rg-text-muted); font-style: italic; padding: 0.25rem 0; }

.spinner-inline[b-2283ghuadn] { display: inline-block; width: 12px; height: 12px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: spin-b-2283ghuadn 0.6s linear infinite; margin-right: 0.25rem; vertical-align: middle; }

/* Params / Hits editable table */
.params-table[b-2283ghuadn] { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.params-table th[b-2283ghuadn] { background: var(--rg-bg-subtle, #f8fafc); padding: 0.5rem 0.65rem; border: 1px solid var(--rg-border, #e2e8f0); text-align: left; font-size: 0.7rem; text-transform: uppercase; color: var(--rg-text-secondary); letter-spacing: 0.03em; }
.params-table td[b-2283ghuadn] { padding: 0.35rem 0.45rem; border: 1px solid var(--rg-border, #e2e8f0); }
.params-table input[b-2283ghuadn], .params-table select[b-2283ghuadn] { width: 100%; padding: 0.35rem 0.45rem; border: 1px solid transparent; background: transparent; font-size: 0.8rem; color: var(--rg-text-primary); outline: none; border-radius: 0.25rem; }
.params-table input:focus[b-2283ghuadn], .params-table select:focus[b-2283ghuadn] { border-color: var(--rg-accent, #4f46e5); background: var(--rg-bg-input, #fff); }

/* ── Botones Hit — nuevo diseño ── */
.hit-help[b-2283ghuadn] { display: flex; align-items: flex-start; gap: 0.6rem; }
.hit-help i[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); margin-top: 2px; flex-shrink: 0; }
.hit-help div[b-2283ghuadn] { line-height: 1.55; }
.hit-contract[b-2283ghuadn] { background: var(--rg-bg-card); color: var(--rg-accent, #4f46e5); font-family: monospace; font-size: 0.72rem; padding: 0.05rem 0.4rem; border-radius: 4px; border: 1px solid var(--rg-border); margin-left: 0.35rem; }

.hit-param-cell[b-2283ghuadn] { vertical-align: middle; padding: 0.45rem !important; }
.hit-param-badge[b-2283ghuadn] { display: inline-flex; align-items: center; gap: 0.3rem; background: rgba(79,70,229,0.1); color: var(--rg-accent, #4f46e5); border-radius: 5px; padding: 0.2rem 0.5rem; font-size: 0.75rem; font-weight: 600; font-family: monospace; }
.hit-param-empty[b-2283ghuadn] { font-size: 0.72rem; color: var(--rg-text-muted); font-style: italic; }
.hit-row-disabled[b-2283ghuadn] { opacity: 0.45; pointer-events: none; }

.hit-sql-area[b-2283ghuadn] { width: 100%; padding: 0.35rem 0.5rem; font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.75rem; border: 1px solid transparent; background: transparent; color: var(--rg-text-primary); outline: none; resize: none; border-radius: 4px; line-height: 1.4; }
.hit-sql-area:focus[b-2283ghuadn] { border-color: var(--rg-accent, #4f46e5); background: var(--rg-bg-input); }
.hit-sql-area:disabled[b-2283ghuadn] { opacity: 0.4; cursor: not-allowed; }

.btn-hit-test[b-2283ghuadn] { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: none; background: var(--rg-primary); color: #fff; border-radius: 5px; cursor: pointer; font-size: 0.78rem; transition: opacity 0.15s; }
.btn-hit-test:hover[b-2283ghuadn] { opacity: 0.82; }

/* Overrides field-chip: el nuevo panel usa texto directo */
.fields-panel[b-2283ghuadn] { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.75rem; margin: 0; border-radius: 0; border: none; border-right: 1px solid var(--rg-border); background: var(--rg-bg-subtle); width: 220px; min-width: 220px; overflow-y: auto; }
.fields-section[b-2283ghuadn] { display: flex; flex-direction: column; gap: 0.3rem; }
.fields-section h4[b-2283ghuadn] { margin: 0 0 0.15rem 0; font-size: 0.7rem; font-weight: 700; color: var(--rg-text-secondary); text-transform: uppercase; letter-spacing: 0.04em; display: flex; align-items: center; gap: 0.35rem; }
.fields-section h4 i[b-2283ghuadn] { color: var(--rg-accent, #4f46e5); }

/* field-chip en el nuevo editor: simples etiquetas con texto */
.fields-panel .field-chip[b-2283ghuadn],
.fields-panel .field-chip-global[b-2283ghuadn],
.fields-panel .field-chip-sm[b-2283ghuadn] {
    display: inline-block;
    font-size: 0.72rem;
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-weight: 600;
    color: var(--rg-accent, #4f46e5);
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 0.3rem;
    padding: 0.25rem 0.5rem;
    margin: 0 0.25rem 0.25rem 0;
    cursor: pointer;
    transition: all 0.1s;
    text-align: left;
    width: auto;
}
.fields-panel .field-chip-global[b-2283ghuadn] { color: #059669; border-style: dashed; }
.fields-panel .field-chip-sm[b-2283ghuadn] { font-size: 0.7rem; font-family: inherit; font-weight: 500; color: var(--rg-text-secondary); }
.fields-panel .field-chip:hover[b-2283ghuadn] { background: rgba(79,70,229,0.08); border-color: var(--rg-accent); }
.fields-panel .field-chip-global:hover[b-2283ghuadn] { background: rgba(5,150,105,0.08); border-color: #059669; }
.fields-panel .field-chip-sm:hover[b-2283ghuadn] { background: var(--rg-bg-hover); color: var(--rg-text-primary); }
[data-mode="dark"] .fields-panel .field-chip-global[b-2283ghuadn] { color: #6ee7b7; }

/* Monaco wrapper ocupa todo el resto */
.editor-split[b-2283ghuadn] { height: calc(100vh - 220px); }

/* ── TAB Test ─────────────────────────────────────────────── */
.test-layout[b-2283ghuadn] { display: flex; gap: 1rem; height: calc(100vh - 220px); min-height: 400px; }
.test-params[b-2283ghuadn] { width: 320px; min-width: 320px; overflow-y: auto; padding-right: 0.5rem; border-right: 1px solid var(--rg-border); display: flex; flex-direction: column; gap: 0.5rem; }
.test-params h4[b-2283ghuadn] { margin: 0 0 0.3rem; font-size: 0.78rem; font-weight: 700; color: var(--rg-text-primary); display: flex; align-items: center; gap: 0.35rem; }
.test-params h4 i[b-2283ghuadn] { color: var(--rg-accent); }
.test-param-row[b-2283ghuadn] { display: flex; flex-direction: column; gap: 0.2rem; }
.test-param-row label[b-2283ghuadn] { display: flex; justify-content: space-between; align-items: baseline; font-size: 0.7rem; }
.test-param-name[b-2283ghuadn] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-weight: 700; color: var(--rg-accent, #4f46e5); }
.test-param-type[b-2283ghuadn] { font-size: 0.62rem; color: var(--rg-text-muted); text-transform: uppercase; letter-spacing: 0.04em; }

/* ── Input-group Test tab: input + botón 🔍 fusionados ── */
.test-input-row[b-2283ghuadn] { display: flex; align-items: stretch; border: 1px solid var(--rg-border); border-radius: 6px; overflow: hidden; background: var(--rg-bg-input); transition: border-color 0.15s, box-shadow 0.15s; }
.test-input-row:focus-within[b-2283ghuadn] { border-color: var(--rg-primary); box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15); }
.test-input-row .form-control[b-2283ghuadn] { flex: 1; border: none !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; min-width: 0; font-size: 0.82rem; padding: 0.38rem 0.55rem; color: var(--rg-text-primary); }
.test-input-row .form-control:focus[b-2283ghuadn] { outline: none !important; box-shadow: none !important; }
.test-input-row.test-has-hit .form-control[b-2283ghuadn] { border-right: 1px solid var(--rg-border) !important; }
.test-hit-btn[b-2283ghuadn] { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 34px; background: var(--rg-primary); color: #fff; border: none; border-radius: 0; cursor: pointer; font-size: 0.8rem; transition: opacity 0.15s; }
.test-hit-btn:hover[b-2283ghuadn] { opacity: 0.82; }

.test-actions[b-2283ghuadn] { margin-top: 0.75rem; }

.test-result[b-2283ghuadn] { flex: 1; overflow: hidden; display: flex; flex-direction: column; }
.test-placeholder[b-2283ghuadn] { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--rg-text-muted); text-align: center; gap: 0.5rem; padding: 2rem; }
.test-placeholder i[b-2283ghuadn] { font-size: 2.5rem; opacity: 0.4; }
.test-placeholder p[b-2283ghuadn] { margin: 0; font-size: 0.85rem; }

.test-error[b-2283ghuadn] { border: 1px solid rgba(239,68,68,0.3); background: rgba(239,68,68,0.06); border-radius: 0.5rem; overflow: hidden; display: flex; flex-direction: column; }
.test-error-header[b-2283ghuadn] { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 0.85rem; background: rgba(239,68,68,0.12); color: #991b1b; font-weight: 700; font-size: 0.8rem; border-bottom: 1px solid rgba(239,68,68,0.2); }
.test-error-header .test-duration[b-2283ghuadn] { margin-left: auto; font-weight: 500; font-size: 0.7rem; color: var(--rg-text-muted); }
.test-error pre[b-2283ghuadn] { margin: 0; padding: 0.85rem; font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.78rem; color: var(--rg-text-primary); white-space: pre-wrap; word-break: break-word; max-height: 300px; overflow-y: auto; }
[data-mode="dark"] .test-error-header[b-2283ghuadn] { color: #fca5a5; }

.test-success[b-2283ghuadn] { display: flex; flex-direction: column; flex: 1; gap: 0.5rem; min-height: 0; }
.test-summary[b-2283ghuadn] { display: flex; align-items: center; gap: 0.85rem; padding: 0.5rem 0.75rem; background: var(--rg-bg-subtle, #f8fafc); border: 1px solid var(--rg-border); border-radius: 0.375rem; font-size: 0.78rem; color: var(--rg-text-secondary); flex-wrap: wrap; }
.test-summary strong[b-2283ghuadn] { color: var(--rg-text-primary); }
.test-duration[b-2283ghuadn] { color: var(--rg-text-muted); display: inline-flex; align-items: center; gap: 0.25rem; }
.test-clip[b-2283ghuadn] { color: var(--rg-text-muted); font-style: italic; font-size: 0.72rem; }

/* Sub-pestañas por resultset (tbEmpresa, dtdatos, dtdatos1, ...) */
.test-rs-tabs[b-2283ghuadn] { display: flex; gap: 0.25rem; flex-wrap: wrap; border-bottom: 1px solid var(--rg-border); padding-bottom: 0; margin-top: 0.25rem; }
.test-rs-tab[b-2283ghuadn] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.75rem; background: transparent; border: 1px solid transparent; border-bottom: none; border-radius: 0.375rem 0.375rem 0 0; color: var(--rg-text-secondary); font-size: 0.75rem; cursor: pointer; font-weight: 500; transition: background 0.15s, color 0.15s; margin-bottom: -1px; }
.test-rs-tab:hover[b-2283ghuadn] { background: var(--rg-bg-hover); color: var(--rg-text-primary); }
.test-rs-tab.active[b-2283ghuadn] { background: var(--rg-bg-card); border-color: var(--rg-border); color: var(--rg-primary); border-bottom-color: var(--rg-bg-card); }
.test-rs-name[b-2283ghuadn] { font-family: var(--rg-font-mono, ui-monospace, monospace); }
.test-rs-count[b-2283ghuadn] { background: var(--rg-bg-subtle); color: var(--rg-text-muted); font-size: 0.65rem; padding: 0.1rem 0.4rem; border-radius: 999px; font-weight: 600; }
.test-rs-tab.active .test-rs-count[b-2283ghuadn] { background: var(--rg-primary); color: #fff; }

.test-rs-summary[b-2283ghuadn] { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0.65rem; font-size: 0.72rem; color: var(--rg-text-secondary); background: var(--rg-bg-subtle); border-radius: 0.25rem; flex-wrap: wrap; }
.test-rs-summary strong[b-2283ghuadn] { color: var(--rg-text-primary); font-family: var(--rg-font-mono, ui-monospace, monospace); }

.test-grid-wrap[b-2283ghuadn] { flex: 1; overflow: auto; border: 1px solid var(--rg-border); border-radius: 0.375rem; background: var(--rg-bg-card); min-height: 0; }
.test-grid[b-2283ghuadn] { width: 100%; border-collapse: collapse; font-size: 0.74rem; }
.test-grid thead[b-2283ghuadn] { position: sticky; top: 0; z-index: 1; }
.test-grid th[b-2283ghuadn] { background: var(--rg-bg-subtle, #f8fafc); padding: 0.4rem 0.65rem; border-bottom: 2px solid var(--rg-border); text-align: left; color: var(--rg-text-secondary); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; }
.test-grid td[b-2283ghuadn] { padding: 0.35rem 0.65rem; border-bottom: 1px solid var(--rg-border); color: var(--rg-text-primary); white-space: nowrap; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.test-grid tbody tr:hover[b-2283ghuadn] { background: var(--rg-bg-hover); }

/* ── Grupo Inactivos (acordeón) ───────────────────────────────── */
.rpt-group[b-2283ghuadn] {
    border: 1px solid var(--rg-border);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    overflow: hidden;
    background: var(--rg-bg-card);
}

.rpt-group-header[b-2283ghuadn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.55rem 0.85rem;
    background: rgba(239, 68, 68, 0.07);
    border: none;
    cursor: pointer;
    color: var(--rg-text-secondary);
    font-size: 0.78rem;
    font-weight: 600;
    transition: background 0.15s;
    text-align: left;
}
.rpt-group-header:hover[b-2283ghuadn] { background: rgba(239, 68, 68, 0.12); }
[data-mode="dark"] .rpt-group-header[b-2283ghuadn] { background: rgba(239, 68, 68, 0.1); }
[data-mode="dark"] .rpt-group-header:hover[b-2283ghuadn] { background: rgba(239, 68, 68, 0.18); }

.rpt-group-header-left[b-2283ghuadn] { display: flex; align-items: center; gap: 0.5rem; }
.rpt-group-icon[b-2283ghuadn] { color: #ef4444; font-size: 0.85rem; }
.rpt-group-title[b-2283ghuadn] { color: #ef4444; }
.rpt-group-count[b-2283ghuadn] {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.25);
    padding: 0.1rem 0.45rem;
    border-radius: 1rem;
    font-size: 0.68rem;
    font-weight: 700;
}
[data-mode="dark"] .rpt-group-count[b-2283ghuadn] { background: rgba(239,68,68,0.2); color: #fca5a5; }

.rpt-group-chevron[b-2283ghuadn] { color: var(--rg-text-muted); transition: transform 0.2s; font-size: 0.75rem; }

.rpt-group-body[b-2283ghuadn] {
    max-height: 600px;
    overflow: hidden;
    opacity: 1;
    transition: max-height 0.3s ease, opacity 0.25s ease;
}
.rpt-group-collapsed[b-2283ghuadn] {
    max-height: 0 !important;
    opacity: 0;
}

/* Filas inactivas con opacidad reducida */
.rpt-row-inactive td[b-2283ghuadn] { opacity: 0.65; }
.rpt-row-inactive:hover td[b-2283ghuadn] { opacity: 1; }
.rpt-table-inactive thead th[b-2283ghuadn] { background: rgba(239, 68, 68, 0.05); }

/* Botón reactivar */
.btn-reactivate[b-2283ghuadn] { color: #16a34a; }
.btn-reactivate:hover[b-2283ghuadn] { background: rgba(22, 163, 74, 0.1); }
[data-mode="dark"] .btn-reactivate[b-2283ghuadn] { color: #86efac; }

/* Responsive */
@media (max-width: 768px) {
    .crud-container[b-2283ghuadn] { padding: 0.75rem; }
    .crud-header[b-2283ghuadn] { flex-direction: column; align-items: flex-start; }
    .btn-text[b-2283ghuadn] { display: none; }
    .modal-editor[b-2283ghuadn] { width: 100vw; height: 100vh; border-radius: 0; }
    .editor-split[b-2283ghuadn] { flex-direction: column; }
    .editor-fields-sidebar[b-2283ghuadn] { width: 100%; height: 120px; border-left: none; border-top: 1px solid var(--rg-border); }
    .fields-list-scroll[b-2283ghuadn] { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; }
    .field-chip-sm[b-2283ghuadn] { flex-shrink: 0; }
    .help-step[b-2283ghuadn] { flex-direction: column; gap: 0.5rem; }
}
/* _content/Rgclouds.Web/Components/Pages/Sac/Sac_boardconfig.razor.rz.scp.css */
/* ============================================================
   ⚙️ Sac_boardconfig — Admin de DataSources (estándar CRUD)
   ============================================================ */

.crud-container[b-7o8128roo8] { padding: 1.25rem; animation: d2SlideUp-b-7o8128roo8 0.3s ease-out; }
@keyframes d2SlideUp-b-7o8128roo8 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.crud-header[b-7o8128roo8] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-7o8128roo8] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-7o8128roo8] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-7o8128roo8] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary); margin: 0; }
.crud-subtitle[b-7o8128roo8] { font-size: 0.75rem; color: var(--rg-text-muted); }
.crud-header-actions[b-7o8128roo8] { display: flex; gap: 0.5rem; }

.btn-crud[b-7o8128roo8] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-7o8128roo8] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-7o8128roo8] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-7o8128roo8] { filter: brightness(1.1); }
.btn-outline[b-7o8128roo8] { background: transparent; color: var(--rg-text-secondary); border: 1px solid var(--rg-border); }
.btn-outline:hover:not(:disabled)[b-7o8128roo8] { background: var(--rg-bg-hover); }
.btn-danger[b-7o8128roo8] { background: #ef4444; color: #fff; }
.btn-icon[b-7o8128roo8] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; border-radius: 0.375rem; cursor: pointer; background: transparent; }
.btn-edit[b-7o8128roo8] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-7o8128roo8] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-7o8128roo8] { color: #ef4444; }
.btn-delete:hover[b-7o8128roo8] { background: rgba(239, 68, 68, 0.1); }

/* Alerts + search */
.crud-alert[b-7o8128roo8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-7o8128roo8] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-7o8128roo8] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-7o8128roo8] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-7o8128roo8] { background: rgba(34,197,94,0.15); color: #86efac; border-color: rgba(34,197,94,0.3); }
[data-mode="dark"] .crud-alert.error[b-7o8128roo8]   { background: rgba(220,38,38,0.15); color: #fca5a5; border-color: rgba(220,38,38,0.3); }

.crud-search-bar[b-7o8128roo8] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--rg-border); border-radius: 0.5rem; margin-bottom: 0.75rem; background: var(--rg-bg-card); }
.crud-search-bar i[b-7o8128roo8] { color: var(--rg-text-muted); }
.crud-search-bar input[b-7o8128roo8] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary); }
.crud-count[b-7o8128roo8] { font-size: 0.7rem; color: var(--rg-text-muted); white-space: nowrap; }

/* Loading / Empty */
.crud-loading[b-7o8128roo8], .crud-empty-state[b-7o8128roo8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.75rem; color: var(--rg-text-muted); }
.crud-empty-state i[b-7o8128roo8] { font-size: 2rem; }
.crud-spinner[b-7o8128roo8] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: dsSpin-b-7o8128roo8 0.6s linear infinite; }
.crud-spinner-sm[b-7o8128roo8] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: dsSpin-b-7o8128roo8 0.6s linear infinite; }
@keyframes dsSpin-b-7o8128roo8 { to { transform: rotate(360deg); } }
.spin[b-7o8128roo8] { animation: dsSpin-b-7o8128roo8 0.8s linear infinite; }

/* Tabla */
.crud-grid-wrapper[b-7o8128roo8] { border: 1px solid var(--rg-border); border-radius: 0.5rem; overflow: auto; background: var(--rg-bg-card); max-height: calc(100vh - 280px); }
.crud-table[b-7o8128roo8] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-7o8128roo8] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-7o8128roo8] { background: var(--rg-bg-subtle); color: var(--rg-text-secondary); font-weight: 600; text-align: left; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--rg-border); white-space: nowrap; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; }
.crud-table td[b-7o8128roo8] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rg-border); color: var(--rg-text-primary); vertical-align: middle; }
.crud-table tbody tr:hover[b-7o8128roo8] { background: var(--rg-bg-hover); }
.col-actions[b-7o8128roo8] { width: 120px; text-align: center; white-space: nowrap; }

/* Badges */
.badge[b-7o8128roo8] { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; }
.badge-yes[b-7o8128roo8] { background: #ecfdf5; color: #065f46; }
.badge-no[b-7o8128roo8]  { background: #f1f5f9; color: #64748b; }
[data-mode="dark"] .badge-yes[b-7o8128roo8] { background: rgba(34, 197, 94, 0.15); color: #86efac; }
[data-mode="dark"] .badge-no[b-7o8128roo8]  { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }

.font-mono[b-7o8128roo8] { font-family: 'Cascadia Code', 'Fira Code', ui-monospace, monospace; font-size: 0.76rem; }

.fam-count-chip[b-7o8128roo8] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 1.85rem;
    padding: 0.15rem 0.55rem;
    background: rgba(26, 58, 92, 0.08);
    color: var(--rg-primary, #0B8AD9);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}
[data-mode="dark"] .fam-count-chip[b-7o8128roo8] { background: rgba(147, 180, 212, 0.18); color: #93b4d4; }

/* ── Icono de tipo de DataSource en la fila ── */
.ds-icon[b-7o8128roo8] {
    width: 32px; height: 32px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.ds-icon-sql[b-7o8128roo8] { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.ds-icon-service[b-7o8128roo8] { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }

.ds-tipo-badge[b-7o8128roo8] {
    display: inline-flex; align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.ds-tipo-sql[b-7o8128roo8]     { background: rgba(59, 130, 246, 0.15); color: #1d4ed8; }
.ds-tipo-service[b-7o8128roo8] { background: rgba(139, 92, 246, 0.15); color: #6d28d9; }
[data-mode="dark"] .ds-tipo-sql[b-7o8128roo8]     { color: #93c5fd; }
[data-mode="dark"] .ds-tipo-service[b-7o8128roo8] { color: #c4b5fd; }

/* ── Modal ── */
.modal-backdrop[b-7o8128roo8] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; }
.modal-container[b-7o8128roo8] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-7o8128roo8] { pointer-events: auto; background: var(--rg-bg-card); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); }
.modal-lg[b-7o8128roo8] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 60px); max-height: calc(100vh - 60px); }
.modal-sm[b-7o8128roo8] { max-width: 480px; }
.modal-header[b-7o8128roo8] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border); flex-shrink: 0; }
.modal-header h2[b-7o8128roo8] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger h2[b-7o8128roo8] { color: #dc2626; }
.modal-close[b-7o8128roo8] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-7o8128roo8] { color: var(--rg-text-primary); background: var(--rg-bg-hover); }
.modal-body[b-7o8128roo8] { padding: 0; overflow-y: auto; flex: 1; background: var(--rg-bg-page); }
.modal-footer[b-7o8128roo8] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border); flex-shrink: 0; }
.modal-backdrop-nested[b-7o8128roo8] { z-index: 2000 !important; background: rgba(0,0,0,0.5) !important; }
.modal-container-nested[b-7o8128roo8] { z-index: 2001 !important; }
.modal-sm .modal-body[b-7o8128roo8] { padding: 1rem 1.25rem; }
.modal-sm .modal-body p[b-7o8128roo8] { margin: 0.5rem 0; font-size: 0.85rem; color: var(--rg-text-primary); }

/* Form del modal */
.ds-form-grid[b-7o8128roo8] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.ds-full[b-7o8128roo8] { grid-column: 1 / -1; }

.d2-field[b-7o8128roo8] { display: flex; flex-direction: column; gap: 0.3rem; }
.d2-field label[b-7o8128roo8] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary); }
.d2-field input[b-7o8128roo8], .d2-field select[b-7o8128roo8], .d2-field textarea[b-7o8128roo8] {
    padding: 0.45rem 0.6rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.82rem;
    font-family: inherit;
}
.d2-field textarea[b-7o8128roo8] { resize: vertical; }

.ds-sql[b-7o8128roo8] { font-family: 'Cascadia Code', 'Fira Code', ui-monospace, monospace !important; font-size: 0.8rem !important; }

.ds-section-title[b-7o8128roo8] {
    font-size: 0.85rem; font-weight: 700; color: var(--rg-text-primary);
    margin: 1rem 0 0.5rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid var(--rg-border);
}

.ds-tipo-selector[b-7o8128roo8] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 1rem; }
.ds-tipo-btn[b-7o8128roo8] {
    display: flex; align-items: flex-start; gap: 0.65rem;
    padding: 0.85rem;
    background: var(--rg-bg-card);
    border: 1.5px solid var(--rg-border);
    border-radius: 6px;
    cursor: pointer; text-align: left;
    transition: all 0.15s;
}
.ds-tipo-btn:hover[b-7o8128roo8] { border-color: var(--rg-accent, #4f46e5); }
.ds-tipo-btn.selected[b-7o8128roo8] { border-color: var(--rg-accent, #4f46e5); background: rgba(79, 70, 229, 0.06); }
.ds-tipo-btn i[b-7o8128roo8] { font-size: 1.4rem; color: var(--rg-accent, #4f46e5); flex-shrink: 0; }
.ds-tipo-btn strong[b-7o8128roo8] { display: block; font-size: 0.82rem; color: var(--rg-text-primary); margin-bottom: 0.2rem; }
.ds-tipo-btn small[b-7o8128roo8] { font-size: 0.72rem; color: var(--rg-text-muted); line-height: 1.4; }

.ds-checkbox[b-7o8128roo8] { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.8rem; color: var(--rg-text-secondary); cursor: pointer; padding-top: 0.4rem; }
.ds-checkbox input[b-7o8128roo8] { accent-color: var(--rg-accent, #4f46e5); }

.ds-hint[b-7o8128roo8] { font-size: 0.72rem; color: var(--rg-text-muted); margin-top: 0.3rem; }
.ds-hint code[b-7o8128roo8] { background: var(--rg-bg-subtle); padding: 0.1rem 0.3rem; border-radius: 3px; font-size: 0.7rem; }

.ds-preview-bar[b-7o8128roo8] {
    display: flex; align-items: center; gap: 0.75rem;
    margin-top: 1rem; padding-top: 0.75rem;
    border-top: 1px dashed var(--rg-border);
}

.ds-preview-result[b-7o8128roo8] {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: var(--rg-bg-subtle);
    border-radius: 6px;
}
.ds-preview-meta[b-7o8128roo8] { font-size: 0.78rem; color: var(--rg-text-secondary); margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.35rem; }
.ds-preview-error[b-7o8128roo8] { color: var(--rg-danger, #ef4444); font-size: 0.82rem; display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem; }

/* ── Tabs dentro del modal ── */
.ds-tabs[b-7o8128roo8] {
    display: flex;
    gap: 0;
    background: var(--rg-bg-card);
    border-bottom: 2px solid var(--rg-border);
    padding: 0 1rem;
    overflow-x: auto;
    position: sticky;
    top: 0;
    z-index: 2;
}
.ds-tab[b-7o8128roo8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 1rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: var(--rg-text-muted);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}
.ds-tab:hover[b-7o8128roo8] { color: var(--rg-text-primary); background: var(--rg-bg-hover); }
.ds-tab.active[b-7o8128roo8] {
    color: var(--rg-accent, #4f46e5);
    border-bottom-color: var(--rg-accent, #4f46e5);
    font-weight: 600;
}
.ds-tab i[b-7o8128roo8] { font-size: 0.95rem; }
.ds-tab-body[b-7o8128roo8] { padding: 1.25rem; }

/* ── Tabla de columnas detectadas ── */
.ds-detected-table[b-7o8128roo8] { border: 1px solid var(--rg-border); border-radius: 6px; overflow: hidden; }
.ds-detected-table .crud-table[b-7o8128roo8] { margin: 0; }
.ds-detected-table .crud-table th[b-7o8128roo8] { background: var(--rg-bg-subtle); }

.ds-tipo-string[b-7o8128roo8] { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.ds-tipo-number[b-7o8128roo8] { background: rgba(16, 185, 129, 0.12); color: #047857; }
.ds-tipo-date[b-7o8128roo8]   { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.ds-tipo-bool[b-7o8128roo8]   { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
[data-mode="dark"] .ds-tipo-string[b-7o8128roo8] { color: #93c5fd; }
[data-mode="dark"] .ds-tipo-number[b-7o8128roo8] { color: #6ee7b7; }
[data-mode="dark"] .ds-tipo-date[b-7o8128roo8]   { color: #fcd34d; }
[data-mode="dark"] .ds-tipo-bool[b-7o8128roo8]   { color: #c4b5fd; }

/* ── Preview empty state ── */
.ds-preview-empty[b-7o8128roo8] {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--rg-text-muted);
}
.ds-preview-empty p[b-7o8128roo8] { margin: 0.5rem 0 0; font-size: 0.8rem; }

.ds-preview-title[b-7o8128roo8] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--rg-text-primary);
    margin: 0.75rem 0 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ds-json-preview[b-7o8128roo8] {
    background: #0f172a;
    color: #e2e8f0;
    padding: 1rem;
    border-radius: 6px;
    font-family: 'Cascadia Code', 'Fira Code', ui-monospace, monospace;
    font-size: 0.78rem;
    line-height: 1.5;
    overflow-x: auto;
    max-height: 280px;
    overflow-y: auto;
    margin: 0;
}

[data-mode="dark"] .ds-json-preview[b-7o8128roo8] {
    background: #020617;
    border: 1px solid var(--rg-border);
}

@media (max-width: 640px) {
    .ds-form-grid[b-7o8128roo8], .ds-tipo-selector[b-7o8128roo8] { grid-template-columns: 1fr; }
    .ds-tab span[b-7o8128roo8] { display: none; }
}

/* ============================================================
   Selector IdOpción — picker inline + modal anidado con tarjetas
   ============================================================ */

.mo-picker[b-7o8128roo8] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.mo-picker-input[b-7o8128roo8] {
    flex: 1;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    padding: 0.45rem 0.65rem;
    cursor: pointer;
}

.mo-picker-input:hover[b-7o8128roo8] {
    border-color: var(--rg-primary);
}

/* Barra de búsqueda dentro del modal */
.mo-search[b-7o8128roo8] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--rg-bg-input);
    border: 1px solid var(--rg-border);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1rem;
}

.mo-search > i.bi-search[b-7o8128roo8] {
    color: var(--rg-text-muted);
}

.mo-search input[b-7o8128roo8] {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    color: var(--rg-text-primary);
    font-size: 0.9rem;
}

.mo-search-clear[b-7o8128roo8] {
    background: transparent;
    border: none;
    color: var(--rg-text-muted);
    cursor: pointer;
    padding: 0 0.3rem;
    font-size: 1rem;
}

.mo-search-clear:hover[b-7o8128roo8] { color: var(--rg-text-primary); }

.mo-count[b-7o8128roo8] {
    font-size: 0.78rem;
    color: var(--rg-text-muted);
    white-space: nowrap;
}

/* Grid de tarjetas */
.mo-grid[b-7o8128roo8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.75rem;
    max-height: calc(100vh - 320px);
    overflow-y: auto;
    padding: 0.25rem;
}

.mo-card[b-7o8128roo8] {
    position: relative;
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    padding: 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.mo-card:hover[b-7o8128roo8] {
    border-color: var(--rg-primary);
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.1);
    transform: translateY(-1px);
}

.mo-card.selected[b-7o8128roo8] {
    border-color: var(--rg-primary);
    background: rgba(26, 58, 92, 0.06);
    box-shadow: 0 0 0 2px var(--rg-primary);
}

[data-mode="dark"] .mo-card.selected[b-7o8128roo8] {
    background: rgba(59, 130, 246, 0.12);
}

.mo-card-icon[b-7o8128roo8],
.mo-card-avatar[b-7o8128roo8] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(26, 58, 92, 0.1);
    color: var(--rg-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    overflow: hidden;
    border: 1px solid var(--rg-border);
}

.mo-card-avatar img[b-7o8128roo8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

[data-mode="dark"] .mo-card-icon[b-7o8128roo8],
[data-mode="dark"] .mo-card-avatar[b-7o8128roo8] {
    background: rgba(59, 130, 246, 0.15);
}

.mo-card-body[b-7o8128roo8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.mo-card-title[b-7o8128roo8] {
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--rg-text-primary);
    line-height: 1.25;
    word-break: break-word;
}

.mo-card-form[b-7o8128roo8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.72rem;
    color: var(--rg-text-secondary);
    word-break: break-all;
}

.mo-card-app[b-7o8128roo8] {
    font-size: 0.72rem;
    color: var(--rg-text-muted);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: var(--rg-bg-subtle);
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    align-self: flex-start;
    margin-top: 0.2rem;
}

.mo-card-check[b-7o8128roo8] {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    color: var(--rg-primary);
    font-size: 1rem;
}
/* _content/Rgclouds.Web/Components/Pages/Sac/Sac_boardview.razor.rz.scp.css */
/* ============================================================
   📊 Sac_boardview — Dashboard configurable · dark-mode compliant
   ============================================================ */

/* Container + Header (reutiliza estilos crud-* pero con prefijo propio) */
.d2-container[b-ar77hnqz97] { padding: 1.25rem; animation: d2SlideUp-b-ar77hnqz97 0.3s ease-out; }
@keyframes d2SlideUp-b-ar77hnqz97 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.d2-header[b-ar77hnqz97] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; flex-wrap: wrap; gap: 0.75rem; }
.d2-header-left[b-ar77hnqz97] { display: flex; align-items: center; gap: 0.75rem; }
.d2-header-icon[b-ar77hnqz97] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.d2-title[b-ar77hnqz97] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary); margin: 0; }
.d2-subtitle[b-ar77hnqz97] { font-size: 0.75rem; color: var(--rg-text-muted); }
.d2-header-actions[b-ar77hnqz97] { display: flex; gap: 0.5rem; }

/* Botones reutilizados */
.btn-crud[b-ar77hnqz97] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 1rem; border: none; border-radius: 0.5rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.btn-crud:disabled[b-ar77hnqz97] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-ar77hnqz97] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-ar77hnqz97] { filter: brightness(1.1); }
.btn-outline[b-ar77hnqz97] { background: transparent; color: var(--rg-text-secondary); border: 1px solid var(--rg-border); }
.btn-outline:hover:not(:disabled)[b-ar77hnqz97] { background: var(--rg-bg-hover); }
.btn-danger[b-ar77hnqz97] { background: #ef4444; color: #fff; }
.btn-icon[b-ar77hnqz97] { display: inline-flex; align-items: center; justify-content: center; width: 1.85rem; height: 1.85rem; border: none; border-radius: 0.375rem; cursor: pointer; background: transparent; transition: background 0.15s; }
.btn-edit[b-ar77hnqz97] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-ar77hnqz97] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-ar77hnqz97] { color: #ef4444; }
.btn-delete:hover[b-ar77hnqz97] { background: rgba(239, 68, 68, 0.1); }

/* Alerts */
.crud-alert[b-ar77hnqz97] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-ar77hnqz97] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-ar77hnqz97] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-ar77hnqz97] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
[data-mode="dark"] .crud-alert.success[b-ar77hnqz97] { background: rgba(34,197,94,0.15); color: #86efac; border-color: rgba(34,197,94,0.3); }
[data-mode="dark"] .crud-alert.error[b-ar77hnqz97]   { background: rgba(220,38,38,0.15); color: #fca5a5; border-color: rgba(220,38,38,0.3); }

/* Empty / loading */
.crud-loading[b-ar77hnqz97], .crud-empty-state[b-ar77hnqz97] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem; gap: 0.5rem; color: var(--rg-text-muted); }
.crud-empty-state i[b-ar77hnqz97] { font-size: 2rem; }
.crud-spinner[b-ar77hnqz97] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: d2Spin-b-ar77hnqz97 0.6s linear infinite; }
.crud-spinner-sm[b-ar77hnqz97] { display: inline-block; width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: d2Spin-b-ar77hnqz97 0.6s linear infinite; }
@keyframes d2Spin-b-ar77hnqz97 { to { transform: rotate(360deg); } }
.spin[b-ar77hnqz97] { animation: d2Spin-b-ar77hnqz97 0.8s linear infinite; }

/* ── Grid 12-col de widgets ── */
.d2-grid[b-ar77hnqz97] { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.size-3x1[b-ar77hnqz97] { grid-column: span 3; }
.size-4x1[b-ar77hnqz97] { grid-column: span 4; }
.size-6x1[b-ar77hnqz97] { grid-column: span 6; }
.size-6x2[b-ar77hnqz97] { grid-column: span 6; grid-row: span 2; }
.size-12x1[b-ar77hnqz97] { grid-column: span 12; }
.size-12x2[b-ar77hnqz97] { grid-column: span 12; grid-row: span 2; }

@media (max-width: 900px) {
    .size-3x1[b-ar77hnqz97], .size-4x1[b-ar77hnqz97], .size-6x1[b-ar77hnqz97] { grid-column: span 6; }
    .size-6x2[b-ar77hnqz97], .size-12x1[b-ar77hnqz97], .size-12x2[b-ar77hnqz97] { grid-column: span 12; }
}
@media (max-width: 640px) {
    .d2-grid[b-ar77hnqz97] { grid-template-columns: 1fr; }
    .size-3x1[b-ar77hnqz97], .size-4x1[b-ar77hnqz97], .size-6x1[b-ar77hnqz97], .size-6x2[b-ar77hnqz97], .size-12x1[b-ar77hnqz97], .size-12x2[b-ar77hnqz97] { grid-column: span 1; grid-row: auto; }
}

/* NOTA: Los estilos de widgets (.d2-card, .d2-kpi-*, .d2-bar-*, .d2-donut-*,
   .d2-line-*, .d2-gauge-*, .d2-mini-table) viven en wwwroot/css/dashboard2-widgets.css
   porque deben ser GLOBALES (no scoped). Los renders usan MarkupContent y el CSS
   scoped de Blazor no alcanza a los elementos inyectados. */

/* Acciones flotantes en card (esto sí puede estar scoped, está en el Razor directamente) */
.d2-card-actions[b-ar77hnqz97] {
    position: absolute;
    top: 0.4rem; right: 0.4rem;
    display: flex;
    gap: 0.15rem;
    opacity: 0;
    transition: opacity 0.15s;
    background: var(--rg-bg-card);
    border-radius: 0.4rem;
    padding: 0.15rem;
}
.d2-card:hover .d2-card-actions[b-ar77hnqz97] { opacity: 1; }

/* ── Modal reutilizado ── */
.modal-backdrop[b-ar77hnqz97] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; }
.modal-container[b-ar77hnqz97] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-ar77hnqz97] { pointer-events: auto; background: var(--rg-bg-card); border-radius: 0.75rem; width: 95%; max-width: 640px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.2); }
.modal-lg[b-ar77hnqz97] { max-width: none; width: calc(100% - 2rem); height: calc(100vh - 60px); max-height: calc(100vh - 60px); }
.modal-sm[b-ar77hnqz97] { max-width: 480px; }
.modal-header[b-ar77hnqz97] { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--rg-border); flex-shrink: 0; }
.modal-header h2[b-ar77hnqz97] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--rg-text-primary); display: flex; align-items: center; gap: 0.5rem; }
.modal-header-danger h2[b-ar77hnqz97] { color: #dc2626; }
.modal-close[b-ar77hnqz97] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted); font-size: 1rem; padding: 0.25rem; border-radius: 0.25rem; }
.modal-close:hover[b-ar77hnqz97] { color: var(--rg-text-primary); background: var(--rg-bg-hover); }
.modal-body[b-ar77hnqz97] { padding: 0; overflow-y: auto; flex: 1; background: var(--rg-bg-page); }
.modal-footer[b-ar77hnqz97] { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--rg-border); flex-shrink: 0; }
.modal-backdrop-nested[b-ar77hnqz97] { z-index: 2000 !important; background: rgba(0,0,0,0.5) !important; }
.modal-container-nested[b-ar77hnqz97] { z-index: 2001 !important; }

.modal-sm .modal-body[b-ar77hnqz97] { padding: 1rem 1.25rem; }
.modal-sm .modal-body p[b-ar77hnqz97] { margin: 0.5rem 0; font-size: 0.85rem; color: var(--rg-text-primary); }

.font-mono[b-ar77hnqz97] { font-family: 'Cascadia Code', 'Fira Code', ui-monospace, monospace; }

/* ── Modal config: steps ── */
.d2-step[b-ar77hnqz97] { margin-bottom: 1.25rem; padding: 0.9rem 1rem; background: var(--rg-bg-card); border: 1px solid var(--rg-border); border-radius: 0.5rem; }
.d2-step-header[b-ar77hnqz97] { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 700; color: var(--rg-text-primary); margin-bottom: 0.75rem; }
.d2-step-num[b-ar77hnqz97] { display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem; background: var(--rg-accent, #4f46e5); color: #fff; border-radius: 50%; font-size: 0.72rem; font-weight: 700; }

.d2-select[b-ar77hnqz97], .d2-step input[b-ar77hnqz97], .d2-step select[b-ar77hnqz97], .d2-step textarea[b-ar77hnqz97] {
    width: 100%; padding: 0.45rem 0.6rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border); border-radius: 6px;
    font-size: 0.82rem;
}

.d2-type-grid[b-ar77hnqz97] { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.5rem; }
.d2-type-btn[b-ar77hnqz97] {
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    padding: 0.75rem 0.5rem;
    background: var(--rg-bg-card);
    border: 1.5px solid var(--rg-border);
    border-radius: 6px; cursor: pointer; transition: all 0.15s;
    color: var(--rg-text-secondary); font-size: 0.72rem; font-weight: 500;
}
.d2-type-btn i[b-ar77hnqz97] { font-size: 1.3rem; }
.d2-type-btn:hover[b-ar77hnqz97] { border-color: var(--rg-accent, #4f46e5); }
.d2-type-btn.selected[b-ar77hnqz97] { border-color: var(--rg-accent, #4f46e5); background: rgba(79,70,229,0.08); color: var(--rg-accent, #4f46e5); font-weight: 600; }

.d2-field-grid[b-ar77hnqz97] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.75rem; }
.d2-field[b-ar77hnqz97] { display: flex; flex-direction: column; gap: 0.3rem; }
.d2-field label[b-ar77hnqz97] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary); }

.d2-color-row[b-ar77hnqz97] { display: flex; gap: 0.4rem; }
.d2-color-dot[b-ar77hnqz97] {
    width: 1.75rem; height: 1.75rem;
    border: 2px solid transparent;
    border-radius: 50%;
    cursor: pointer;
}
.d2-color-dot.selected[b-ar77hnqz97] { border-color: var(--rg-text-primary); box-shadow: 0 0 0 2px var(--rg-bg-card); }

.d2-hint[b-ar77hnqz97] { font-size: 0.75rem; color: var(--rg-text-muted); display: flex; align-items: center; gap: 0.35rem; margin-top: 0.5rem; }

/* ============================================================
   WIZARD LAYOUT (modal 2 columnas: config + preview)
   ============================================================ */
.d2-wizard-body[b-ar77hnqz97] { padding: 0 !important; overflow: hidden !important; }

.d2-wizard-layout[b-ar77hnqz97] {
    display: grid;
    grid-template-columns: 50% 50%;
    height: 100%;
    overflow: hidden;
}

.d2-wizard-left[b-ar77hnqz97] {
    overflow-y: auto;
    padding: 1rem;
    border-right: 1px solid var(--rg-border);
    background: var(--rg-bg-page);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.d2-wizard-right[b-ar77hnqz97] {
    overflow-y: auto;
    padding: 1rem;
    background: var(--rg-bg-page);
}

/* ── Paneles de la columna izquierda ── */
.d2-panel[b-ar77hnqz97] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
}

.d2-panel-title[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--rg-text-primary);
    margin-bottom: 0.75rem;
}

.d2-step-num[b-ar77hnqz97] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.3rem; height: 1.3rem;
    background: var(--rg-accent, #4f46e5); color: #fff;
    border-radius: 50%;
    font-size: 0.68rem; font-weight: 700;
}

/* ── DataSources como tarjetas ── */
.d2-ds-cards[b-ar77hnqz97] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.5rem;
}

.d2-ds-card[b-ar77hnqz97] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem;
    background: var(--rg-bg-card);
    border: 1.5px solid var(--rg-border);
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
    transition: all 0.15s;
    position: relative;
}

.d2-ds-card:hover[b-ar77hnqz97] {
    border-color: var(--rg-accent, #4f46e5);
    background: rgba(79, 70, 229, 0.04);
}

.d2-ds-card.selected[b-ar77hnqz97] {
    border-color: var(--rg-accent, #4f46e5);
    background: rgba(79, 70, 229, 0.08);
    box-shadow: 0 0 0 1px var(--rg-accent, #4f46e5);
}

.d2-ds-card-icon[b-ar77hnqz97] {
    width: 2rem; height: 2rem;
    border-radius: 0.375rem;
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-size: 1rem;
}

.d2-ds-card-body[b-ar77hnqz97] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.d2-ds-card-name[b-ar77hnqz97] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--rg-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.d2-ds-card-desc[b-ar77hnqz97] {
    font-size: 0.7rem;
    color: var(--rg-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.d2-ds-card-fields[b-ar77hnqz97] {
    font-size: 0.65rem;
    color: var(--rg-accent, #4f46e5);
    font-weight: 600;
    margin-top: 0.15rem;
}

.d2-ds-card-check[b-ar77hnqz97] {
    position: absolute;
    top: 0.4rem; right: 0.4rem;
    color: var(--rg-accent, #4f46e5);
    font-size: 0.9rem;
}

/* ── Tipo de visualización — fila horizontal ── */
.d2-type-row[b-ar77hnqz97] {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.d2-type-btn[b-ar77hnqz97] {
    display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
    padding: 0.55rem 0.4rem;
    background: var(--rg-bg-card);
    border: 1.5px solid var(--rg-border);
    border-radius: 6px;
    cursor: pointer;
    min-width: 72px;
    flex-shrink: 0;
    transition: all 0.15s;
    color: var(--rg-text-secondary);
    font-size: 0.68rem;
    font-weight: 500;
}

.d2-type-btn i[b-ar77hnqz97] { font-size: 1.15rem; }
.d2-type-btn:hover[b-ar77hnqz97] { border-color: var(--rg-accent, #4f46e5); }
.d2-type-btn.selected[b-ar77hnqz97] {
    border-color: var(--rg-accent, #4f46e5);
    background: rgba(79, 70, 229, 0.08);
    color: var(--rg-accent, #4f46e5);
    font-weight: 600;
}

/* ── Filas label-input (Configuración + Apariencia) ── */
.d2-rows[b-ar77hnqz97] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.d2-row[b-ar77hnqz97] {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: center;
    gap: 0.6rem;
}

.d2-row > label[b-ar77hnqz97] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--rg-text-secondary);
    text-align: right;
}

.d2-row input[b-ar77hnqz97], .d2-row select[b-ar77hnqz97] {
    width: 100%;
    padding: 0.4rem 0.55rem;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 5px;
    font-size: 0.8rem;
}

.d2-row input:focus[b-ar77hnqz97], .d2-row select:focus[b-ar77hnqz97] {
    outline: none;
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
}

/* Multi-check (selección de series) */
.d2-row-multi[b-ar77hnqz97] {
    align-items: start;
}

.d2-hint[b-ar77hnqz97] {
    font-weight: 400;
    color: var(--rg-text-muted);
    font-size: 0.7rem;
}

.d2-multi-list[b-ar77hnqz97] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-height: 140px;
    overflow-y: auto;
    padding: 0.3rem;
    background: var(--rg-bg-input);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
}

.d2-check-item[b-ar77hnqz97] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    font-size: 0.75rem;
    color: var(--rg-text-primary);
    cursor: pointer;
    user-select: none;
    transition: background 0.15s, border-color 0.15s;
}

.d2-check-item:hover[b-ar77hnqz97] {
    background: var(--rg-bg-hover);
}

.d2-check-item.active[b-ar77hnqz97] {
    background: rgba(79, 70, 229, 0.12);
    border-color: var(--rg-primary, #4f46e5);
}

.d2-check-item input[type="checkbox"][b-ar77hnqz97] {
    margin: 0;
    accent-color: var(--rg-primary, #4f46e5);
}

/* Leyenda multi-serie */
.d2-multi-legend[b-ar77hnqz97] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    padding: 0.3rem 0.5rem;
    font-size: 0.72rem;
    color: var(--rg-text-secondary);
}

.d2-multi-legend-item[b-ar77hnqz97] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.d2-multi-swatch[b-ar77hnqz97] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

/* ─────────────────────────────────────
   Multi-Serie Bar (Tarjetas por grupo)
   ───────────────────────────────────── */
.d2-bar-multi-wrap[b-ar77hnqz97] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.5rem 0;
}

.d2-bar-section[b-ar77hnqz97] {
    border: 1px solid var(--rg-border);
    border-radius: 8px;
    background: var(--rg-bg-card);
    padding: 0.75rem;
    overflow: hidden;
}

.d2-bar-section-title[b-ar77hnqz97] {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--rg-text-primary);
    margin-bottom: 0.55rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--rg-border);
}

.d2-bar-card[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.4rem 0.5rem;
    margin: 0.2rem 0;
    background: var(--rg-bg-subtle);
    border-radius: 6px;
    font-size: 0.75rem;
}

.d2-bar-card-name[b-ar77hnqz97] {
    font-weight: 500;
    color: var(--rg-text-primary);
    min-width: 100px;
    white-space: nowrap;
}

.d2-bar-card-content[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
}

.d2-bar-card-bar[b-ar77hnqz97] {
    flex: 1;
    min-width: 80px;
    height: 18px;
    background: var(--rg-bg-input);
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--rg-border);
    cursor: pointer;
}

.d2-bar-card-track[b-ar77hnqz97] {
    height: 100%;
    width: 100%;
    position: relative;
}

.d2-bar-card-fill[b-ar77hnqz97] {
    height: 100%;
    transition: width 0.3s ease;
}

.d2-bar-card-value[b-ar77hnqz97] {
    font-weight: 600;
    color: var(--rg-text-primary);
    text-align: right;
    min-width: 70px;
}

/* ─────────────────────────────────────
   Multi-Serie Line (Leyenda lateral)
   ───────────────────────────────────── */
.d2-line-multi-wrap[b-ar77hnqz97] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.d2-line-legend-cards[b-ar77hnqz97] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 140px;
    max-width: 160px;
}

.d2-legend-card[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.6rem;
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.72rem;
}

.d2-legend-card-color[b-ar77hnqz97] {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    flex-shrink: 0;
}

.d2-legend-card-info[b-ar77hnqz97] {
    flex: 1;
}

.d2-legend-card-name[b-ar77hnqz97] {
    font-weight: 600;
    color: var(--rg-text-primary);
    margin-bottom: 0.15rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.d2-legend-card-value[b-ar77hnqz97] {
    color: var(--rg-text-secondary);
    font-size: 0.65rem;
}

.d2-line-chart-container[b-ar77hnqz97] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

/* ─────────────────────────────────────
   Donut (Tarjetas de leyenda)
   ───────────────────────────────────── */
.d2-donut-legend-cards[b-ar77hnqz97] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.6rem;
    margin-top: 1rem;
}

.d2-donut-card[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    font-size: 0.72rem;
}

.d2-donut-card-color[b-ar77hnqz97] {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    flex-shrink: 0;
}

.d2-donut-card-info[b-ar77hnqz97] {
    flex: 1;
    min-width: 0;
}

.d2-donut-card-name[b-ar77hnqz97] {
    font-weight: 600;
    color: var(--rg-text-primary);
    margin-bottom: 0.1rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.d2-donut-card-stats[b-ar77hnqz97] {
    color: var(--rg-text-secondary);
    font-size: 0.65rem;
}

.d2-donut-card-pct[b-ar77hnqz97] {
    color: var(--rg-text-muted);
}

/* ===== Campo multi-check tipo tarjetas (config panel) ===== */
.d2-field-block[b-ar77hnqz97] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0;
}
.d2-field-header[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.d2-field-label[b-ar77hnqz97] {
    font-weight: 600;
    color: var(--rg-text-primary);
    font-size: 0.8rem;
}
.d2-field-hint[b-ar77hnqz97] {
    color: var(--rg-text-muted);
    font-size: 0.7rem;
    font-style: italic;
}
.d2-field-badge[b-ar77hnqz97] {
    margin-left: auto;
    background: var(--rg-bg-subtle);
    color: var(--rg-text-secondary);
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 600;
    border: 1px solid var(--rg-border);
}
.d2-check-grid[b-ar77hnqz97] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 0.5rem;
}
.d2-check-card[b-ar77hnqz97] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.7rem;
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
    overflow: hidden;
}
.d2-check-card:hover[b-ar77hnqz97] {
    background: var(--rg-bg-hover);
    border-color: var(--rg-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.d2-check-card.active[b-ar77hnqz97] {
    background: var(--rg-bg-subtle);
    font-weight: 500;
}
.d2-check-input[b-ar77hnqz97] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.d2-check-mark[b-ar77hnqz97] {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    border: 2px solid var(--rg-border);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rg-bg-input);
    flex-shrink: 0;
    font-size: 0.75rem;
    transition: all 0.15s;
}
.d2-check-card.active .d2-check-mark[b-ar77hnqz97] {
    background: var(--rg-primary);
    border-color: var(--rg-primary);
    color: #fff;
}
.d2-check-text[b-ar77hnqz97] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.d2-check-alias[b-ar77hnqz97] {
    font-weight: 600;
    color: var(--rg-text-primary);
    font-size: 0.76rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.d2-check-type[b-ar77hnqz97] {
    color: var(--rg-text-muted);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.d2-color-row[b-ar77hnqz97] {
    display: flex;
    gap: 0.4rem;
}

.d2-color-dot[b-ar77hnqz97] {
    width: 1.75rem; height: 1.75rem;
    border: 2px solid transparent;
    border-radius: 50%;
    cursor: pointer;
}
.d2-color-dot.selected[b-ar77hnqz97] { border-color: var(--rg-text-primary); box-shadow: 0 0 0 2px var(--rg-bg-card); }

.d2-hint[b-ar77hnqz97] {
    font-size: 0.75rem;
    color: var(--rg-text-muted);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0;
}

/* ── Panel de preview (columna derecha) ── */
.d2-preview-panel[b-ar77hnqz97] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 0.5rem;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.d2-preview-header[b-ar77hnqz97] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    background: var(--rg-bg-subtle);
    border-bottom: 1px solid var(--rg-border);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--rg-text-primary);
}

.d2-preview-content[b-ar77hnqz97] {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
}

.d2-preview-empty[b-ar77hnqz97] {
    text-align: center;
    color: var(--rg-text-muted);
    padding: 3rem 1rem;
}

.d2-preview-empty p[b-ar77hnqz97] {
    font-size: 0.82rem;
    margin: 0.5rem 0 0;
}

.d2-preview-card[b-ar77hnqz97] {
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.d2-preview-error[b-ar77hnqz97] {
    color: #dc2626;
    font-size: 0.82rem;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .d2-wizard-layout[b-ar77hnqz97] { grid-template-columns: 1fr; }
    .d2-wizard-left[b-ar77hnqz97] { border-right: none; border-bottom: 1px solid var(--rg-border); max-height: 55vh; }
}

@media (max-width: 500px) {
    .d2-row[b-ar77hnqz97] { grid-template-columns: 90px 1fr; }
    .d2-row > label[b-ar77hnqz97] { font-size: 0.7rem; }
}

/* ── Animaciones ── */
@keyframes d2FadeIn-b-ar77hnqz97     { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes d2CountUp-b-ar77hnqz97    { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }
@keyframes d2FillBar-b-ar77hnqz97    { from { width: 0; } }
/* _content/Rgclouds.Web/Components/Pages/Seguridad/Frmregistraaplicaciones.razor.rz.scp.css */
/* ============================================================
   Registro de Aplicaciones — Estilos CRUD + Cards + Responsive
   ============================================================ */

.crud-container[b-gxxjrqcdqv] {
    padding: 1.25rem;
    max-width: 100%;
    animation: slideUp-b-gxxjrqcdqv 0.3s ease-out;
}

@keyframes slideUp-b-gxxjrqcdqv {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Header */
.crud-header[b-gxxjrqcdqv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.crud-header-left[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.crud-header-icon[b-gxxjrqcdqv] {
    font-size: 1.75rem;
    color: var(--rg-accent, #4f46e5);
}
.crud-title[b-gxxjrqcdqv] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0;
}
.crud-subtitle[b-gxxjrqcdqv] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
}
.crud-header-actions[b-gxxjrqcdqv] {
    display: flex;
    gap: 0.5rem;
}

/* Buttons */
.btn-crud[b-gxxjrqcdqv] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-crud:disabled[b-gxxjrqcdqv] { opacity: 0.6; cursor: not-allowed; }

.btn-primary[b-gxxjrqcdqv] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-gxxjrqcdqv] { filter: brightness(1.1); }

.btn-outline[b-gxxjrqcdqv] {
    background: transparent;
    color: var(--rg-text-secondary, #475569);
    border: 1px solid var(--rg-border, #e2e8f0);
}
.btn-outline:hover:not(:disabled)[b-gxxjrqcdqv] { background: var(--rg-bg-hover, #f1f5f9); }

.btn-danger[b-gxxjrqcdqv] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-gxxjrqcdqv] { filter: brightness(1.1); }

.btn-icon[b-gxxjrqcdqv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.15s;
    background: transparent;
}
.btn-edit[b-gxxjrqcdqv] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-gxxjrqcdqv] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-gxxjrqcdqv] { color: #ef4444; }
.btn-delete:hover[b-gxxjrqcdqv] { background: rgba(239, 68, 68, 0.1); }

.view-toggle[b-gxxjrqcdqv] { padding: 0.5rem 0.65rem; }

/* Alert */
.crud-alert[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
}
.crud-alert.success[b-gxxjrqcdqv] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-gxxjrqcdqv] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-gxxjrqcdqv] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

/* Search */
.crud-search-bar[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
    background: var(--rg-bg-card, #fff);
}
.crud-search-bar i[b-gxxjrqcdqv] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-gxxjrqcdqv] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.8rem;
    background: transparent;
    color: var(--rg-text-primary, #1e293b);
}
.crud-search-clear[b-gxxjrqcdqv] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
}
.crud-count[b-gxxjrqcdqv] {
    font-size: 0.7rem;
    color: var(--rg-text-muted, #94a3b8);
    white-space: nowrap;
}

/* ---- Grid (tabla) ---- */
.crud-grid-wrapper[b-gxxjrqcdqv] {
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    overflow: auto;
    background: var(--rg-bg-card, #fff);
    max-height: calc(100vh - 320px);
}

.crud-table[b-gxxjrqcdqv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}
.crud-table thead[b-gxxjrqcdqv] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-gxxjrqcdqv] {
    background: var(--rg-bg-sidebar, #f8fafc);
    color: var(--rg-text-secondary, #475569);
    font-weight: 600;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border-bottom: 2px solid var(--rg-border, #e2e8f0);
    white-space: nowrap;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.crud-table td[b-gxxjrqcdqv] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
    vertical-align: middle;
}
.crud-table tbody tr[b-gxxjrqcdqv] { cursor: pointer; transition: background 0.1s; }
.crud-table tbody tr:hover[b-gxxjrqcdqv] { background: var(--rg-bg-hover, #f8fafc); }

.row-selected[b-gxxjrqcdqv] {
    background: rgba(79, 70, 229, 0.06) !important;
    border-left: 3px solid var(--rg-accent, #4f46e5);
}

.col-id[b-gxxjrqcdqv] { width: 50px; text-align: center; }
.col-appid[b-gxxjrqcdqv] { width: 120px; }
.col-desc[b-gxxjrqcdqv] { min-width: 200px; }
.col-aux[b-gxxjrqcdqv] { width: 80px; text-align: center; }
.col-exe[b-gxxjrqcdqv] { min-width: 150px; }
.col-img[b-gxxjrqcdqv] { width: 120px; text-align: center; }
.col-actions[b-gxxjrqcdqv] { width: 80px; text-align: center; white-space: nowrap; }

/* ---- Cards (tarjetas) ---- */
.crud-cards-wrapper[b-gxxjrqcdqv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0.75rem;
    max-height: calc(100vh - 320px);
    overflow-y: auto;
    padding: 0.25rem;
}

.crud-card[b-gxxjrqcdqv] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.875rem;
    transition: all 0.15s;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    cursor: pointer;
}
.crud-card:hover[b-gxxjrqcdqv] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.card-selected[b-gxxjrqcdqv] {
    border-color: var(--rg-accent, #4f46e5);
    background: rgba(79, 70, 229, 0.04);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.12);
}

.card-header-row[b-gxxjrqcdqv] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}
.card-app-info[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}
.card-app-icon[b-gxxjrqcdqv] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
}
.card-app-placeholder[b-gxxjrqcdqv] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--rg-bg-sidebar, #f8fafc);
    border: 1px solid var(--rg-border, #e2e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rg-text-muted, #94a3b8);
    flex-shrink: 0;
}
.card-id[b-gxxjrqcdqv] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--rg-accent, #4f46e5);
    display: block;
}
.card-title[b-gxxjrqcdqv] {
    font-size: 0.78rem;
    color: var(--rg-text-primary, #1e293b);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.card-details[b-gxxjrqcdqv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding-top: 0.25rem;
}
.card-detail[b-gxxjrqcdqv] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.card-label[b-gxxjrqcdqv] {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--rg-text-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.card-value[b-gxxjrqcdqv] {
    font-size: 0.78rem;
    color: var(--rg-text-primary, #1e293b);
}
.card-actions[b-gxxjrqcdqv] {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px solid var(--rg-border-light, #f1f5f9);
}

/* View toggle: show/hide */
.show-on-grid[b-gxxjrqcdqv] { display: block; }
.hide-on-cards[b-gxxjrqcdqv] { display: none !important; }
.show-on-cards[b-gxxjrqcdqv] { display: grid; }
.hide-on-grid[b-gxxjrqcdqv] { display: none !important; }

/* Badges */
.badge[b-gxxjrqcdqv] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.68rem;
    font-weight: 600;
    white-space: nowrap;
}
.badge-yes[b-gxxjrqcdqv] { background: #ecfdf5; color: #065f46; }
.badge-no[b-gxxjrqcdqv] { background: #f1f5f9; color: #64748b; }

/* Detail panel */
.detail-panel[b-gxxjrqcdqv] {
    margin-top: 0.75rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    background: var(--rg-bg-card, #fff);
    overflow: hidden;
}
.detail-header[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: var(--rg-bg-sidebar, #f8fafc);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    font-size: 0.8rem;
    color: var(--rg-text-secondary, #475569);
}
.detail-grid[b-gxxjrqcdqv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75rem;
    padding: 1rem;
}
.detail-field[b-gxxjrqcdqv] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.detail-label[b-gxxjrqcdqv] {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--rg-text-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.detail-value[b-gxxjrqcdqv] {
    font-size: 0.82rem;
    color: var(--rg-text-primary, #1e293b);
}

/* Avatar images */
[b-gxxjrqcdqv] .img-avatar {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid var(--rg-border, #e2e8f0);
    background: var(--rg-bg-subtle, #f1f5f9);
}
[b-gxxjrqcdqv] .img-avatar-lg {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--rg-border, #e2e8f0);
    background: var(--rg-bg-subtle, #f1f5f9);
    margin-top: 0.25rem;
}

/* Utilities */
.font-mono[b-gxxjrqcdqv] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.fw-bold[b-gxxjrqcdqv] { font-weight: 600; }
.text-center[b-gxxjrqcdqv] { text-align: center; }
.text-muted[b-gxxjrqcdqv] { color: var(--rg-text-muted, #94a3b8); }
.text-sm[b-gxxjrqcdqv] { font-size: 0.72rem; }

/* Loading / Empty */
.crud-loading[b-gxxjrqcdqv], .crud-empty-state[b-gxxjrqcdqv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
}
.crud-empty-state i[b-gxxjrqcdqv] { font-size: 2rem; }

.crud-spinner[b-gxxjrqcdqv] {
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--rg-border, #e2e8f0);
    border-top-color: var(--rg-accent, #4f46e5);
    border-radius: 50%;
    animation: spin-b-gxxjrqcdqv 0.6s linear infinite;
}
.crud-spinner-sm[b-gxxjrqcdqv] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-gxxjrqcdqv 0.6s linear infinite;
}
@keyframes spin-b-gxxjrqcdqv { to { transform: rotate(360deg); } }
.spin[b-gxxjrqcdqv] { animation: spin-b-gxxjrqcdqv 0.8s linear infinite; }

/* ---- Modal (sibling backdrop/container — no event bubbling) ---- */
.modal-backdrop[b-gxxjrqcdqv] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(4px);
    z-index: 1000;
    animation: fadeIn-b-gxxjrqcdqv 0.15s ease-out;
}

.modal-container[b-gxxjrqcdqv] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1001;
    pointer-events: none;
}

.modal-dialog[b-gxxjrqcdqv] {
    pointer-events: auto;
    background: var(--rg-bg-card, #fff);
    border-radius: 0.75rem;
    width: 95%;
    max-width: 600px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    animation: scaleIn-b-gxxjrqcdqv 0.2s ease-out;
}
.modal-sm[b-gxxjrqcdqv] { max-width: 420px; }

@keyframes fadeIn-b-gxxjrqcdqv { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-gxxjrqcdqv {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.modal-header[b-gxxjrqcdqv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
}
.modal-header h2[b-gxxjrqcdqv] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.modal-header-danger[b-gxxjrqcdqv] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-gxxjrqcdqv] { color: #dc2626; }

.modal-close[b-gxxjrqcdqv] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
    font-size: 1rem;
    padding: 0.25rem;
    border-radius: 0.25rem;
}
.modal-close:hover[b-gxxjrqcdqv] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }

.modal-body[b-gxxjrqcdqv] { padding: 1.25rem; }

.modal-footer[b-gxxjrqcdqv] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
}

/* Form */
.form-row[b-gxxjrqcdqv] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
.form-group[b-gxxjrqcdqv] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.form-group.flex-2[b-gxxjrqcdqv] { flex: 2; }
.form-group label[b-gxxjrqcdqv] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rg-text-secondary, #475569);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.form-group input[b-gxxjrqcdqv],
.form-group select[b-gxxjrqcdqv] {
    padding: 0.5rem 0.625rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    font-size: 0.8rem;
    color: var(--rg-text-primary, #1e293b);
    background: var(--rg-bg-card, #fff);
    outline: none;
    transition: border-color 0.15s;
}
.form-group input:focus[b-gxxjrqcdqv],
.form-group select:focus[b-gxxjrqcdqv] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
}
.form-group input.readonly[b-gxxjrqcdqv] {
    background: var(--rg-bg-sidebar, #f8fafc);
    color: var(--rg-text-muted, #94a3b8);
}

/* ---- File Input Hidden ---- */
[b-gxxjrqcdqv] .file-input-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---- Image Upload ---- */
.image-upload-box[b-gxxjrqcdqv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem;
    border: 1px dashed var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    background: var(--rg-bg-sidebar, #f8fafc);
    min-height: 64px;
}

.image-preview[b-gxxjrqcdqv] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--rg-border, #e2e8f0);
    background: var(--rg-bg-card, #fff);
    flex-shrink: 0;
}

.image-placeholder[b-gxxjrqcdqv] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--rg-text-muted, #94a3b8);
    flex-shrink: 0;
}
.image-placeholder i[b-gxxjrqcdqv] { font-size: 1.1rem; }
.image-placeholder span[b-gxxjrqcdqv] { font-size: 0.55rem; text-transform: uppercase; }

.image-upload-actions[b-gxxjrqcdqv] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

label.btn-upload[b-gxxjrqcdqv] {
    margin: 0;
}

.btn-upload[b-gxxjrqcdqv] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.375rem;
    background: var(--rg-bg-card, #fff);
    color: var(--rg-accent, #4f46e5);
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    user-select: none;
}
.btn-upload:hover[b-gxxjrqcdqv] {
    background: var(--rg-accent, #4f46e5);
    color: #fff;
    border-color: var(--rg-accent, #4f46e5);
}

.btn-upload-remove[b-gxxjrqcdqv] {
    color: #ef4444;
    border-color: transparent;
    background: transparent;
    padding: 0.2rem 0.4rem;
}
.btn-upload-remove:hover[b-gxxjrqcdqv] {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-color: transparent;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .crud-container[b-gxxjrqcdqv] { padding: 0.75rem; }
    .crud-header[b-gxxjrqcdqv] { flex-direction: column; align-items: flex-start; }
    .crud-title[b-gxxjrqcdqv] { font-size: 1.1rem; }
    .btn-text[b-gxxjrqcdqv] { display: none; }
    .form-row[b-gxxjrqcdqv] { flex-direction: column; }
    .detail-grid[b-gxxjrqcdqv] { grid-template-columns: 1fr 1fr; }
    .modal-dialog[b-gxxjrqcdqv] { width: 98%; max-height: 90vh; }
    .modal-body[b-gxxjrqcdqv] { padding: 1rem; }

    /* En movil: ocultar grid, mostrar cards por defecto */
    .crud-grid-wrapper.show-on-grid[b-gxxjrqcdqv] { display: none !important; }
    .crud-cards-wrapper.hide-on-grid[b-gxxjrqcdqv] { display: grid !important; }

    .crud-cards-wrapper[b-gxxjrqcdqv] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .crud-cards-wrapper[b-gxxjrqcdqv] {
        grid-template-columns: 1fr;
    }
    .card-details[b-gxxjrqcdqv] {
        flex-direction: column;
        gap: 0.35rem;
    }
}
/* _content/Rgclouds.Web/Components/Pages/WhatsApp/FrmWhatsAppChat.razor.rz.scp.css */
/* ============================================================
   WhatsApp Chat — Design system RG Clouds (variables + patrones CRUD)
   Replica funcional de APPCITAS adaptada al stack visual
   ============================================================ */

/* ─── Page layout ─── */
.wa-page[b-qtlgw9gccd] { display: flex; flex-direction: column; height: calc(100vh - 60px); overflow: hidden; margin: -1rem; }
@media (min-width: 1024px) { .wa-page[b-qtlgw9gccd] { margin: -1.5rem; } }

/* ─── Header ─── */
.wa-header[b-qtlgw9gccd] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.6rem 1.25rem;
    background: var(--rg-bg-card, #fff);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
}
.wa-header-left[b-qtlgw9gccd] { display: flex; align-items: center; gap: 0.75rem; }
.wa-header-icon[b-qtlgw9gccd] { font-size: 1.5rem; color: #25d366; }
.wa-header h1[b-qtlgw9gccd] { margin: 0; font-size: 1.1rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); }
.wa-header-sub[b-qtlgw9gccd] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); }
.wa-header-right[b-qtlgw9gccd] { display: flex; align-items: center; gap: 0.75rem; }

.wa-connected-badge[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    font-size: 0.75rem; font-weight: 600; color: #25d366;
    background: rgba(37, 211, 102, 0.08);
    padding: 0.25rem 0.65rem;
    border-radius: 1rem;
    border: 1px solid rgba(37, 211, 102, 0.2);
}
.wa-dot-pulse[b-qtlgw9gccd] {
    width: 8px; height: 8px; border-radius: 50%; background: #25d366;
    animation: pulse-b-qtlgw9gccd 2s ease-in-out infinite;
}

/* ─── Body layout ─── */
.wa-body[b-qtlgw9gccd] { display: flex; flex: 1; overflow: hidden; background: var(--rg-bg-main, #f1f5f9); }

/* ─── Sidebar (lista de chats) ─── */
.wa-sidebar[b-qtlgw9gccd] {
    display: flex; flex-direction: column;
    width: 360px; min-width: 300px;
    background: var(--rg-bg-card, #fff);
    border-right: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
}

/* Activity tabs */
.wa-activity-tabs[b-qtlgw9gccd] { display: flex; border-bottom: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0; }
.wa-activity-tab[b-qtlgw9gccd] {
    flex: 1; padding: 0.6rem; border: none; background: transparent;
    cursor: pointer; font-size: 0.72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.03em;
    color: var(--rg-text-muted, #94a3b8);
    display: flex; align-items: center; justify-content: center; gap: 0.35rem;
    border-bottom: 2px solid transparent; transition: all 0.2s;
}
.wa-activity-tab:hover[b-qtlgw9gccd] { color: var(--rg-text-secondary, #475569); background: var(--rg-bg-hover, #f8fafc); }
.wa-activity-tab.active[b-qtlgw9gccd] { color: #25d366; border-bottom-color: #25d366; background: rgba(37,211,102,0.04); }
.wa-activity-tab.active-gray[b-qtlgw9gccd] { color: var(--rg-text-secondary, #475569); border-bottom-color: var(--rg-text-muted, #94a3b8); background: var(--rg-bg-hover, #f8fafc); }

.wa-tab-badge[b-qtlgw9gccd] {
    font-size: 0.6rem; padding: 1px 6px; border-radius: 1rem;
    font-weight: 700; color: #fff; margin-left: 0.25rem;
}
.wa-tab-badge.green[b-qtlgw9gccd] { background: #25d366; }
.wa-tab-badge.gray[b-qtlgw9gccd] { background: var(--rg-text-muted, #94a3b8); }

/* Search section */
.wa-search-section[b-qtlgw9gccd] { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--rg-border-light, #f1f5f9); flex-shrink: 0; }
.wa-search-box[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    background: var(--rg-bg-hover, #f1f5f9);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem; padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
}
.wa-search-box i[b-qtlgw9gccd] { color: var(--rg-text-muted, #94a3b8); font-size: 0.85rem; }
.wa-search-box input[b-qtlgw9gccd] { flex: 1; border: none; background: transparent; outline: none; font-size: 0.8rem; color: var(--rg-text-primary, #1e293b); }
.wa-search-clear[b-qtlgw9gccd] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); padding: 2px; }

.btn-nuevo-chat[b-qtlgw9gccd] {
    width: 100%; display: flex; align-items: center; justify-content: center; gap: 0.4rem;
    padding: 0.45rem; margin-top: 0.5rem;
    background: rgba(37,211,102,0.08); color: #25d366;
    border: 1px solid rgba(37,211,102,0.25); border-radius: 0.5rem;
    cursor: pointer; font-size: 0.78rem; font-weight: 600; transition: all 0.15s;
}
.btn-nuevo-chat:hover[b-qtlgw9gccd] { background: rgba(37,211,102,0.15); }

.btn-nuevo-chat-sm[b-qtlgw9gccd] {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.4rem 0.75rem; margin-top: 0.75rem;
    background: rgba(37,211,102,0.08); color: #25d366;
    border: 1px solid rgba(37,211,102,0.25); border-radius: 0.375rem;
    cursor: pointer; font-size: 0.72rem; font-weight: 600;
}

/* Chat list */
.wa-chat-list[b-qtlgw9gccd] { flex: 1; overflow-y: auto; }

.wa-chat-item[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.75rem;
    width: 100%; padding: 0.6rem 0.85rem;
    border: none; background: transparent; cursor: pointer;
    text-align: left; border-bottom: 1px solid var(--rg-border-light, #f1f5f9);
    transition: all 0.15s; color: inherit; border-left: 3px solid transparent;
}
.wa-chat-item:hover[b-qtlgw9gccd] { background: var(--rg-bg-hover, #f8fafc); }
.wa-chat-item.selected[b-qtlgw9gccd] { background: rgba(79,70,229,0.06); border-left-color: var(--rg-accent, #4f46e5); }
.wa-chat-item.sin-responder[b-qtlgw9gccd] { border-left-color: #ef4444; background: rgba(239,68,68,0.03); }
.wa-chat-item.abierto[b-qtlgw9gccd] { background: rgba(37,211,102,0.04); border-left-color: #86efac; }

.wa-avatar-wrapper[b-qtlgw9gccd] { position: relative; flex-shrink: 0; }
.wa-avatar[b-qtlgw9gccd] {
    width: 42px; height: 42px; border-radius: 50%;
    background: var(--rg-bg-hover, #f1f5f9); color: var(--rg-text-muted, #94a3b8);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 0.78rem;
    box-shadow: 0 0 0 2px var(--rg-bg-card, #fff);
}
.wa-avatar.danger[b-qtlgw9gccd] { background: #fee2e2; color: #ef4444; box-shadow: 0 0 0 2px #fecaca; }
.wa-avatar.indigo[b-qtlgw9gccd] { background: rgba(79,70,229,0.1); color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px var(--rg-bg-card, #fff); }

.wa-unread-dot[b-qtlgw9gccd] {
    position: absolute; top: -3px; right: -3px;
    width: 18px; height: 18px; border-radius: 50%;
    background: #f59e0b; color: #fff; font-size: 0.5rem;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.wa-unread-dot.danger[b-qtlgw9gccd] { background: #ef4444; }
.wa-unread-dot.pulse[b-qtlgw9gccd] { animation: pulse-b-qtlgw9gccd 2s ease-in-out infinite; }

.wa-open-dot[b-qtlgw9gccd] {
    position: absolute; bottom: 0; right: 0;
    width: 12px; height: 12px; border-radius: 50%;
    background: #86efac; border: 2px solid var(--rg-bg-card, #fff);
}

.wa-chat-info[b-qtlgw9gccd] { flex: 1; min-width: 0; }
.wa-chat-top[b-qtlgw9gccd] { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.wa-chat-name[b-qtlgw9gccd] { font-weight: 600; font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--rg-text-primary, #1e293b); }
.wa-chat-name.text-danger[b-qtlgw9gccd] { color: #ef4444; }
.wa-chat-time[b-qtlgw9gccd] { font-size: 0.65rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; flex-shrink: 0; }
.wa-chat-time.text-danger[b-qtlgw9gccd] { color: #ef4444; }
.wa-chat-jid[b-qtlgw9gccd] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); font-family: monospace; }
.wa-chat-preview[b-qtlgw9gccd] { margin: 0.15rem 0 0; font-size: 0.72rem; color: var(--rg-text-secondary, #475569); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wa-chat-preview.text-danger[b-qtlgw9gccd] { color: #ef4444; }
.wa-chat-preview.fw-bold[b-qtlgw9gccd] { font-weight: 700; color: var(--rg-text-primary, #1e293b); }
.wa-chat-arrow[b-qtlgw9gccd] { color: var(--rg-border, #e2e8f0); font-size: 0.85rem; }

.wa-search-warning[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 0.85rem; background: #fffbeb; border-bottom: 1px solid #fde68a;
    font-size: 0.7rem; color: #92400e;
}

/* Load more */
.wa-load-more-section[b-qtlgw9gccd] { padding: 0.5rem; text-align: center; }
.wa-load-more-btn[b-qtlgw9gccd] {
    width: 100%; padding: 0.45rem; background: rgba(79,70,229,0.06);
    border: 1px solid rgba(79,70,229,0.15); border-radius: 0.5rem; cursor: pointer;
    font-size: 0.72rem; font-weight: 600; color: var(--rg-accent, #4f46e5);
    display: flex; align-items: center; justify-content: center; gap: 0.35rem;
}
.wa-load-more-btn:hover[b-qtlgw9gccd] { background: rgba(79,70,229,0.12); }

/* ─── Main panel (tabs + messages) ─── */
.wa-main[b-qtlgw9gccd] { display: flex; flex-direction: column; flex: 1; min-width: 0; }

/* Tabs bar */
.wa-tabs-bar[b-qtlgw9gccd] {
    display: flex; align-items: center;
    background: var(--rg-bg-card, #fff);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0; overflow-x: auto;
}
.wa-tab[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 0.65rem; cursor: pointer;
    border-bottom: 2px solid transparent;
    max-width: 180px; flex-shrink: 0; transition: all 0.2s;
}
.wa-tab:hover[b-qtlgw9gccd] { background: var(--rg-bg-hover, #f8fafc); }
.wa-tab.active[b-qtlgw9gccd] { border-bottom-color: var(--rg-accent, #4f46e5); background: rgba(79,70,229,0.04); }
.wa-tab.sin-responder[b-qtlgw9gccd] { border-bottom-color: #ef4444; background: rgba(239,68,68,0.04); }

.wa-tab:hover .wa-tab-close[b-qtlgw9gccd] { opacity: 1; }
.wa-tab-close[b-qtlgw9gccd] {
    opacity: 0; width: 18px; height: 18px; border-radius: 50%;
    border: none; background: transparent; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--rg-text-muted, #94a3b8); font-size: 0.7rem; margin-left: auto; transition: all 0.15s;
}
.wa-tab-close:hover[b-qtlgw9gccd] { background: #fee2e2; color: #ef4444; }
.wa-tab.active .wa-tab-close[b-qtlgw9gccd] { opacity: 0.7; }

.wa-tab-avatar-wrapper[b-qtlgw9gccd] { position: relative; flex-shrink: 0; }
.wa-tab-avatar[b-qtlgw9gccd] {
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--rg-bg-hover, #f1f5f9); color: var(--rg-text-muted, #94a3b8);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 0.6rem;
}
.wa-tab-avatar.active[b-qtlgw9gccd] { background: rgba(79,70,229,0.1); color: var(--rg-accent, #4f46e5); }
.wa-tab-avatar.danger[b-qtlgw9gccd] { background: #fee2e2; color: #ef4444; }

.wa-tab-dot[b-qtlgw9gccd] {
    position: absolute; top: -2px; right: -2px;
    width: 14px; height: 14px; border-radius: 50%;
    background: #f59e0b; display: flex; align-items: center; justify-content: center;
    font-size: 0.45rem; color: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.wa-tab-dot.danger[b-qtlgw9gccd] { background: #ef4444; }
.wa-tab-dot.pulse[b-qtlgw9gccd] { animation: pulse-b-qtlgw9gccd 2s ease-in-out infinite; }

.wa-tab-name[b-qtlgw9gccd] {
    font-size: 0.72rem; font-weight: 500; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis; color: var(--rg-text-primary, #1e293b);
}
.wa-tabs-spacer[b-qtlgw9gccd] { flex: 1; }
.wa-tabs-count[b-qtlgw9gccd] { font-size: 0.6rem; color: var(--rg-text-muted, #94a3b8); padding: 0 0.75rem; flex-shrink: 0; }

/* Conv header */
.wa-conv-header[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.75rem;
    padding: 0.5rem 1rem;
    background: var(--rg-bg-card, #fff);
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    flex-shrink: 0;
}
.wa-conv-avatar[b-qtlgw9gccd] {
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(79,70,229,0.1); color: var(--rg-accent, #4f46e5);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 0.7rem; flex-shrink: 0;
}
.wa-conv-info[b-qtlgw9gccd] { flex: 1; min-width: 0; }
.wa-conv-info strong[b-qtlgw9gccd] { display: block; font-size: 0.88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--rg-text-primary, #1e293b); }
.wa-conv-info small[b-qtlgw9gccd] { color: var(--rg-text-muted, #94a3b8); font-size: 0.7rem; }

/* Messages */
.wa-messages[b-qtlgw9gccd] {
    flex: 1; overflow-y: auto; padding: 1rem;
    display: flex; flex-direction: column; gap: 0.25rem;
    background: linear-gradient(135deg, var(--rg-bg-main, #f1f5f9) 25%, var(--rg-bg-hover, #e8ecf1) 100%);
}
.wa-msg[b-qtlgw9gccd] { max-width: 75%; padding: 0.5rem 0.65rem 0.25rem; border-radius: 0.75rem; word-wrap: break-word; box-shadow: 0 1px 1px rgba(0,0,0,0.06); }
.wa-msg-in[b-qtlgw9gccd] { align-self: flex-start; background: var(--rg-bg-card, #fff); border-top-left-radius: 3px; }
.wa-msg-out[b-qtlgw9gccd] { align-self: flex-end; background: #d1fae5; border-top-right-radius: 3px; }
.wa-msg-text[b-qtlgw9gccd] { margin: 0; font-size: 0.82rem; line-height: 1.4; white-space: pre-wrap; color: var(--rg-text-primary, #1e293b); }
.wa-msg-meta[b-qtlgw9gccd] { display: flex; justify-content: flex-end; align-items: center; gap: 0.2rem; margin-top: 0.1rem; }
.wa-msg-time[b-qtlgw9gccd] { font-size: 0.6rem; color: #8696a0; }
.wa-msg-meta i[b-qtlgw9gccd] { font-size: 0.7rem; color: #8696a0; }
.wa-msg-meta .text-info[b-qtlgw9gccd] { color: #53bdeb; }

/* Media buttons */
.wa-media-load-btn[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.4rem 0.65rem; background: rgba(79,70,229,0.08);
    border: none; border-radius: 0.5rem; cursor: pointer;
    font-size: 0.72rem; color: var(--rg-accent, #4f46e5); margin-bottom: 0.25rem; transition: all 0.15s;
}
.wa-media-load-btn:hover[b-qtlgw9gccd] { background: rgba(79,70,229,0.15); }

.wa-media-img-wrap[b-qtlgw9gccd] { margin-bottom: 0.25rem; cursor: pointer; }
.wa-media-img[b-qtlgw9gccd] { max-width: 280px; max-height: 300px; border-radius: 0.5rem; display: block; }
.wa-media-img:hover[b-qtlgw9gccd] { opacity: 0.9; }
.wa-media-audio-wrap[b-qtlgw9gccd] { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.25rem; }
.wa-media-doc[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.65rem;
    padding: 0.5rem 0.65rem; background: var(--rg-bg-hover, #f9fafb); border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem; text-decoration: none; color: inherit;
    margin-bottom: 0.25rem; transition: all 0.15s;
}
.wa-media-doc:hover[b-qtlgw9gccd] { background: var(--rg-bg-main, #f1f5f9); }
.wa-doc-icon[b-qtlgw9gccd] {
    width: 40px; height: 40px; border-radius: 0.5rem;
    background: #fee2e2; color: #ef4444;
    display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.wa-doc-info[b-qtlgw9gccd] { flex: 1; min-width: 0; }
.wa-doc-info span[b-qtlgw9gccd] { display: block; font-size: 0.78rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wa-doc-info small[b-qtlgw9gccd] { font-size: 0.65rem; color: var(--rg-text-muted, #94a3b8); text-transform: uppercase; }

/* Attach preview */
.wa-attach-preview[b-qtlgw9gccd] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.5rem 1rem; background: var(--rg-bg-card, #fff);
    border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0;
}
.wa-attach-info[b-qtlgw9gccd] { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; color: var(--rg-text-primary, #1e293b); }
.wa-attach-info small[b-qtlgw9gccd] { color: var(--rg-text-muted, #94a3b8); }
.wa-attach-btn[b-qtlgw9gccd] {
    padding: 0.5rem; border-radius: 50%; cursor: pointer;
    color: var(--rg-text-secondary, #475569); display: flex; align-items: center;
    font-size: 1.1rem; transition: all 0.15s;
}
.wa-attach-btn:hover[b-qtlgw9gccd] { background: var(--rg-bg-hover, #f1f5f9); }

/* Input bar */
.wa-input-bar[b-qtlgw9gccd] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 0.75rem;
    background: var(--rg-bg-card, #fff);
    border-top: 1px solid var(--rg-border, #e2e8f0); flex-shrink: 0;
}
.wa-msg-input[b-qtlgw9gccd] {
    flex: 1; border: 1px solid var(--rg-border, #e2e8f0); background: var(--rg-bg-hover, #f1f5f9);
    border-radius: 1.5rem; padding: 0.6rem 1rem;
    font-size: 0.82rem; outline: none; color: var(--rg-text-primary, #1e293b);
}
.wa-msg-input:focus[b-qtlgw9gccd] { border-color: #25d366; background: var(--rg-bg-card, #fff); box-shadow: 0 0 0 2px rgba(37,211,102,0.15); }

.wa-send-btn[b-qtlgw9gccd] {
    width: 42px; height: 42px; border-radius: 50%; border: none;
    background: #25d366; color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; flex-shrink: 0; box-shadow: 0 2px 6px rgba(37,211,102,0.3);
    transition: all 0.15s;
}
.wa-send-btn:hover:not(:disabled)[b-qtlgw9gccd] { background: #1fb855; }
.wa-send-btn:disabled[b-qtlgw9gccd] { background: var(--rg-border, #d1d5db); box-shadow: none; cursor: not-allowed; }

/* Center panels */
.wa-center-panel[b-qtlgw9gccd] { flex: 1; display: flex; align-items: center; justify-content: center; background: var(--rg-bg-main, #f1f5f9); }
.wa-center-content[b-qtlgw9gccd] { text-align: center; max-width: 400px; color: var(--rg-text-secondary, #475569); }
.wa-center-content h2[b-qtlgw9gccd], .wa-center-content h3[b-qtlgw9gccd] { color: var(--rg-text-primary, #1e293b); margin: 0.5rem 0; }
.wa-center-content p[b-qtlgw9gccd] { font-size: 0.82rem; margin: 0.25rem 0 1rem; }

.wa-disconnected-icon[b-qtlgw9gccd] {
    width: 80px; height: 80px; border-radius: 50%; background: #fee2e2;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem; font-size: 2rem; color: #ef4444;
}

.btn-wa-connect[b-qtlgw9gccd] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.5rem 1rem; background: #25d366; color: #fff;
    border: none; border-radius: 0.5rem; cursor: pointer;
    font-size: 0.82rem; font-weight: 600; box-shadow: 0 2px 8px rgba(37,211,102,0.25);
    transition: all 0.15s;
}
.btn-wa-connect:hover[b-qtlgw9gccd] { background: #1fb855; }
.btn-wa-connect:disabled[b-qtlgw9gccd] { opacity: 0.5; cursor: not-allowed; }

/* QR Modal */
.wa-qr-modal-header[b-qtlgw9gccd] {
    padding: 1rem 1.25rem; background: #25d366; color: #fff;
    display: flex; align-items: center; justify-content: space-between;
    border-radius: 0.75rem 0.75rem 0 0;
}
.wa-qr-modal-header h3[b-qtlgw9gccd] { margin: 0; font-size: 1rem; display: flex; align-items: center; gap: 0.5rem; }
.wa-qr-container[b-qtlgw9gccd] { display: inline-block; background: #fff; padding: 0.75rem; border-radius: 0.75rem; box-shadow: inset 0 2px 6px rgba(0,0,0,0.06); margin-bottom: 1rem; }
.wa-qr-img[b-qtlgw9gccd] { width: 224px; height: 224px; object-fit: contain; }
.wa-pairing-code[b-qtlgw9gccd] {
    display: inline-flex; flex-direction: column; gap: 0.25rem;
    padding: 0.75rem 1.25rem; background: var(--rg-bg-hover, #f8fafc); border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem; margin-bottom: 1rem;
}
.wa-pairing-code span[b-qtlgw9gccd] { font-size: 0.72rem; color: var(--rg-text-muted, #94a3b8); }
.wa-pairing-code strong[b-qtlgw9gccd] { font-family: monospace; font-size: 1.4rem; letter-spacing: 3px; color: var(--rg-accent, #4f46e5); }
.wa-qr-polling[b-qtlgw9gccd] { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 0.72rem; color: var(--rg-text-muted, #94a3b8); margin-top: 0.5rem; }

/* Media overlay */
.wa-media-overlay[b-qtlgw9gccd] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.85); z-index: 9999;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.wa-media-close[b-qtlgw9gccd] {
    position: absolute; top: 1rem; right: 1rem;
    background: rgba(255,255,255,0.1); border: none;
    color: #fff; font-size: 1.4rem; cursor: pointer; padding: 0.5rem; border-radius: 0.5rem;
}
.wa-media-full[b-qtlgw9gccd] { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 0.5rem; }

/* Empty & Loading states */
.wa-loading[b-qtlgw9gccd] { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 2rem; color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.wa-loading-sm[b-qtlgw9gccd] { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.5rem; color: var(--rg-text-muted, #94a3b8); font-size: 0.72rem; }
.wa-empty-search[b-qtlgw9gccd] { padding: 2rem 1rem; text-align: center; color: var(--rg-text-muted, #94a3b8); }
.wa-empty-search i[b-qtlgw9gccd] { font-size: 2.5rem; display: block; margin-bottom: 0.5rem; }
.wa-empty-search p[b-qtlgw9gccd] { font-size: 0.82rem; margin: 0; }

/* Icons & Buttons shared */
.wa-icon-btn[b-qtlgw9gccd] {
    background: transparent; border: none; cursor: pointer;
    padding: 0.4rem; border-radius: 0.375rem; color: var(--rg-text-secondary, #475569);
    font-size: 1rem; display: flex; align-items: center; transition: all 0.15s;
}
.wa-icon-btn:hover[b-qtlgw9gccd] { background: var(--rg-bg-hover, #f1f5f9); color: var(--rg-text-primary, #1e293b); }

.wa-back-btn[b-qtlgw9gccd] {
    display: none; background: none; border: none; cursor: pointer;
    font-size: 1.2rem; color: var(--rg-text-secondary, #475569); padding: 0.4rem;
}

/* Modal shared */
.modal-backdrop[b-qtlgw9gccd] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4);
    backdrop-filter: blur(4px); z-index: 999;
}
.modal-panel[b-qtlgw9gccd] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: var(--rg-bg-card, #fff); border-radius: 0.75rem;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15); z-index: 1000;
    width: min(600px, 92vw); max-height: 90vh; overflow-y: auto;
}
.modal-close[b-qtlgw9gccd] {
    background: none; border: none; cursor: pointer; font-size: 1rem;
    color: rgba(255,255,255,0.7); padding: 0.25rem;
}
.modal-close:hover[b-qtlgw9gccd] { color: #fff; }
.modal-body[b-qtlgw9gccd] { padding: 1.25rem; }
.modal-footer[b-qtlgw9gccd] {
    padding: 0.75rem 1.25rem; border-top: 1px solid var(--rg-border, #e2e8f0);
    display: flex; justify-content: flex-end; gap: 0.5rem;
}

/* btn-crud reuse from design system */
.btn-crud[b-qtlgw9gccd] {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 1rem; border: none; border-radius: 0.5rem;
    font-size: 0.78rem; font-weight: 600; cursor: pointer; transition: all 0.15s;
}
.btn-crud:disabled[b-qtlgw9gccd] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-qtlgw9gccd] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-qtlgw9gccd] { filter: brightness(1.1); }
.btn-outline[b-qtlgw9gccd] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-qtlgw9gccd] { background: var(--rg-bg-hover, #f1f5f9); }

/* Animations */
@keyframes pulse-b-qtlgw9gccd { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
@keyframes spin-b-qtlgw9gccd { to { transform: rotate(360deg); } }
.spin[b-qtlgw9gccd] { animation: spin-b-qtlgw9gccd 0.8s linear infinite; }

.rg-spinner-sm[b-qtlgw9gccd] {
    display: inline-block; width: 14px; height: 14px;
    border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff;
    border-radius: 50%; animation: spin-b-qtlgw9gccd 0.6s linear infinite;
}

/* ─── RESPONSIVE ─── */
.show-mobile[b-qtlgw9gccd] { display: none !important; }

@media (max-width: 768px) {
    .wa-sidebar[b-qtlgw9gccd] { width: 100%; }
    .wa-sidebar.hide-mobile[b-qtlgw9gccd] { display: none; }
    .wa-main.hide-mobile[b-qtlgw9gccd] { display: none; }
    .show-mobile[b-qtlgw9gccd] { display: flex !important; }
    .wa-msg[b-qtlgw9gccd] { max-width: 85%; }
    .wa-media-img[b-qtlgw9gccd] { max-width: 220px; }
}

@media (max-width: 480px) {
    .wa-chat-item[b-qtlgw9gccd] { padding: 0.5rem 0.65rem; }
    .wa-avatar[b-qtlgw9gccd] { width: 38px; height: 38px; font-size: 0.7rem; }
}
/* _content/Rgclouds.Web/Components/Pages/WhatsApp/FrmWhatsAppConfig.razor.rz.scp.css */
/* ============================================================
   WhatsApp Config — Estilos (alineados al design system RG Clouds)
   ============================================================ */

/* --- Buttons (design system — requerido en cada CSS scoped) --- */
.btn-crud[b-72596x3jpb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-crud:disabled[b-72596x3jpb] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-72596x3jpb] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-72596x3jpb] { filter: brightness(1.1); }
.btn-outline[b-72596x3jpb] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-72596x3jpb] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-72596x3jpb] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-72596x3jpb] { filter: brightness(1.1); }

/* --- CRUD shared (header, alerts, loading, empty) --- */
.crud-container[b-72596x3jpb] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-72596x3jpb 0.3s ease-out; }
@keyframes slideUp-b-72596x3jpb { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-72596x3jpb] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-72596x3jpb] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-72596x3jpb] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-72596x3jpb] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-72596x3jpb] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-72596x3jpb] { display: flex; gap: 0.5rem; }
.crud-alert[b-72596x3jpb] { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border-radius: 0.5rem; margin-bottom: 0.75rem; font-size: 0.8rem; font-weight: 500; }
.crud-alert.success[b-72596x3jpb] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-72596x3jpb] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-72596x3jpb] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-loading[b-72596x3jpb] { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 3rem 1rem; color: var(--rg-text-muted, #94a3b8); font-size: 0.85rem; }
.crud-spinner[b-72596x3jpb] { width: 24px; height: 24px; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-72596x3jpb 0.6s linear infinite; }

/* --- Status Bar --- */
.wa-status-bar[b-72596x3jpb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.5rem;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    gap: 1rem;
    flex-wrap: wrap;
}

.wa-status-info[b-72596x3jpb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--rg-text-primary, #1e293b);
}

.wa-status-dot[b-72596x3jpb] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.wa-status-dot.online[b-72596x3jpb] {
    background: #25d366;
    box-shadow: 0 0 6px rgba(37, 211, 102, 0.5);
}

.wa-status-dot.offline[b-72596x3jpb] {
    background: #ef4444;
    box-shadow: 0 0 6px rgba(239, 68, 68, 0.3);
}

.wa-status-text[b-72596x3jpb] {
    color: var(--rg-text-muted, #94a3b8);
}

.wa-status-actions[b-72596x3jpb] {
    display: flex;
    gap: 0.5rem;
}

/* --- WhatsApp Green Button (design system compliant) --- */
.btn-wa-green[b-72596x3jpb] {
    background: #25d366;
    color: #fff;
}
.btn-wa-green:hover:not(:disabled)[b-72596x3jpb] {
    background: #1fb855;
    filter: brightness(1.05);
}

/* --- QR Panel Inline --- */
.wa-qr-panel[b-72596x3jpb] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid #25d366;
    border-radius: 0.625rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.wa-qr-panel-header[b-72596x3jpb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    background: rgba(37, 211, 102, 0.06);
    border-bottom: 1px solid rgba(37, 211, 102, 0.15);
}

.wa-qr-panel-header h3[b-72596x3jpb] {
    margin: 0;
    color: #166534;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wa-qr-panel-body[b-72596x3jpb] {
    padding: 1.5rem;
    text-align: center;
}

.wa-qr-container[b-72596x3jpb] {
    display: inline-block;
    background: #fff;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    margin-bottom: 1rem;
    border: 1px solid var(--rg-border, #e2e8f0);
}

.wa-qr-img[b-72596x3jpb] {
    width: 260px;
    height: 260px;
    image-rendering: pixelated;
}

.wa-pairing-code[b-72596x3jpb] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 0.5rem;
    padding: 0.75rem 1.5rem;
    margin-bottom: 1rem;
    display: inline-flex;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.wa-pairing-code strong[b-72596x3jpb] {
    font-family: monospace;
    font-size: 1.1rem;
    letter-spacing: 2px;
    color: #166534;
}

.wa-qr-hint[b-72596x3jpb] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
    margin: 0.5rem 0 0;
}

/* --- Config List --- */
.wa-config-list[b-72596x3jpb] {
    display: grid;
    gap: 0.75rem;
}

.wa-config-card[b-72596x3jpb] {
    background: var(--rg-bg-card, #fff);
    border: 1px solid var(--rg-border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.875rem 1.25rem;
    transition: all 0.15s;
}

.wa-config-card:hover[b-72596x3jpb] {
    border-color: var(--rg-accent, #4f46e5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.wa-config-card.active[b-72596x3jpb] {
    border-color: #25d366;
    border-left: 4px solid #25d366;
}

.wa-config-header[b-72596x3jpb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.wa-config-title[b-72596x3jpb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--rg-text-primary, #1e293b);
}

.wa-badge-active[b-72596x3jpb] {
    background: #dcfce7;
    color: #166534;
    font-size: 0.68rem;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wa-config-actions[b-72596x3jpb] {
    display: flex;
    gap: 0.25rem;
}

/* Icon buttons — same as Frmclientes */
.btn-icon[b-72596x3jpb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.15s;
    background: transparent;
}

.btn-edit[b-72596x3jpb] {
    color: var(--rg-accent, #4f46e5);
}
.btn-edit:hover[b-72596x3jpb] {
    background: rgba(79, 70, 229, 0.1);
}

.btn-test[b-72596x3jpb] {
    color: #25d366;
}
.btn-test:hover[b-72596x3jpb] {
    background: rgba(37, 211, 102, 0.1);
}

.btn-delete[b-72596x3jpb] {
    color: #ef4444;
}
.btn-delete:hover[b-72596x3jpb] {
    background: rgba(239, 68, 68, 0.1);
}

.wa-config-details[b-72596x3jpb] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.wa-config-detail[b-72596x3jpb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--rg-text-secondary, #475569);
}

.wa-config-detail i[b-72596x3jpb] {
    font-size: 0.75rem;
    color: var(--rg-text-muted, #94a3b8);
}

.wa-url-text[b-72596x3jpb] {
    font-family: monospace;
    font-size: 0.75rem;
}

/* --- Form --- */
.form-grid[b-72596x3jpb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.full-width[b-72596x3jpb] {
    grid-column: 1 / -1;
}

.form-hint[b-72596x3jpb] {
    font-size: 0.7rem;
    color: var(--rg-text-muted, #94a3b8);
    margin-top: 0.25rem;
}

.password-wrapper[b-72596x3jpb] {
    position: relative;
}

.password-wrapper .rg-input[b-72596x3jpb] {
    padding-right: 2.5rem;
}

.password-toggle[b-72596x3jpb] {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted, #94a3b8);
    padding: 0.25rem;
}

.password-toggle:hover[b-72596x3jpb] {
    color: var(--rg-text-primary, #1e293b);
}

/* --- Toggle Switch --- */
.toggle-switch[b-72596x3jpb] {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

.toggle-switch input[b-72596x3jpb] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider[b-72596x3jpb] {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #d1d5db;
    border-radius: 24px;
    transition: 0.3s;
}

.toggle-slider[b-72596x3jpb]::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: 0.3s;
}

.toggle-switch input:checked + .toggle-slider[b-72596x3jpb] {
    background: #25d366;
}

.toggle-switch input:checked + .toggle-slider[b-72596x3jpb]::before {
    transform: translateX(20px);
}

/* --- Test Section --- */
.wa-test-section[b-72596x3jpb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
}

.wa-test-result[b-72596x3jpb] {
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.wa-test-result.ok[b-72596x3jpb] {
    color: #25d366;
}

.wa-test-result.fail[b-72596x3jpb] {
    color: #ef4444;
}

/* --- Modal (reutilizando patron CRUD) --- */
.modal-backdrop[b-72596x3jpb] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    z-index: 999;
}

.modal-panel[b-72596x3jpb] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--rg-bg-card, #fff);
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    width: min(600px, 92vw);
    max-height: 90vh;
    overflow-y: auto;
}

.modal-sm[b-72596x3jpb] {
    width: min(420px, 90vw);
}

.modal-header[b-72596x3jpb] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--rg-border, #e2e8f0);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.modal-header h2[b-72596x3jpb] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.modal-close[b-72596x3jpb] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    color: var(--rg-text-muted, #94a3b8);
    padding: 0.25rem;
    border-radius: 0.375rem;
}

.modal-close:hover[b-72596x3jpb] {
    background: var(--rg-bg-hover, #f1f5f9);
    color: var(--rg-text-primary, #1e293b);
}

.modal-body[b-72596x3jpb] {
    padding: 1.25rem;
}

.modal-footer[b-72596x3jpb] {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--rg-border, #e2e8f0);
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* --- Spinner small --- */
.rg-spinner-sm[b-72596x3jpb] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-72596x3jpb 0.6s linear infinite;
}

@keyframes spin-b-72596x3jpb {
    to { transform: rotate(360deg); }
}

.spin[b-72596x3jpb] {
    animation: spin-b-72596x3jpb 0.8s linear infinite;
}

/* --- Empty state (patron CRUD) --- */
.crud-empty-state[b-72596x3jpb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    text-align: center;
}
.crud-empty-state i[b-72596x3jpb] {
    font-size: 3rem;
    margin-bottom: 0.75rem;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .form-grid[b-72596x3jpb] {
        grid-template-columns: 1fr;
    }

    .wa-status-bar[b-72596x3jpb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .wa-config-details[b-72596x3jpb] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .wa-qr-img[b-72596x3jpb] {
        width: 200px;
        height: 200px;
    }

    .btn-text[b-72596x3jpb] {
        display: none;
    }
}
/* _content/Rgclouds.Web/Components/Shared/ClientAutocomplete.razor.rz.scp.css */
/* ============================================================
   🔎 ClientAutocomplete.razor.css
   ============================================================ */

.ca-wrapper[b-bwjkdinm3t] {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.ca-input[b-bwjkdinm3t] {
    flex: 1;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    font-size: 0.9rem;
    background: #ffffff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.ca-input:focus[b-bwjkdinm3t] {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.12);
}

.ca-input:disabled[b-bwjkdinm3t] {
    background: rgba(0, 0, 0, 0.04);
    cursor: not-allowed;
}

/* ---------- Ícono de estado (spinner / check / plus) ---------- */
.ca-status-icon[b-bwjkdinm3t] {
    font-size: 1rem;
    flex-shrink: 0;
}

.ca-status-icon.ca-ok[b-bwjkdinm3t] {
    color: #16a34a;
}

.ca-status-icon.ca-new[b-bwjkdinm3t] {
    color: #2563eb;
}

.ca-spin[b-bwjkdinm3t] {
    animation: ca-rotate-b-bwjkdinm3t 0.9s linear infinite;
    color: #1a3a5c;
}

/* ---------- Botón limpiar ---------- */
.ca-clear-btn[b-bwjkdinm3t] {
    background: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.25);
    color: #dc2626;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.18s ease;
    font-size: 0.75rem;
    padding: 0;
}

.ca-clear-btn:hover[b-bwjkdinm3t] {
    background: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
    transform: scale(1.05);
}

@keyframes ca-rotate-b-bwjkdinm3t {
    to { transform: rotate(360deg); }
}

/* ---------- Dropdown flotante ---------- */
.ca-dropdown[b-bwjkdinm3t] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    max-height: 340px;
    overflow-y: auto;
    z-index: 1200;
    animation: ca-fade-slide-b-bwjkdinm3t 0.15s ease-out;
}

@keyframes ca-fade-slide-b-bwjkdinm3t {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Ítems ---------- */
.ca-item[b-bwjkdinm3t] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: background-color 0.12s;
}

.ca-item:last-child[b-bwjkdinm3t] {
    border-bottom: none;
}

.ca-item:hover[b-bwjkdinm3t],
.ca-item.active[b-bwjkdinm3t] {
    background: linear-gradient(135deg, #e8f1f9 0%, #f4f8fc 100%);
}

.ca-item-icon[b-bwjkdinm3t] {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    color: #ffffff;
    font-size: 1rem;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.25);
}

.ca-item-body[b-bwjkdinm3t] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ca-item-name[b-bwjkdinm3t] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ca-item-meta[b-bwjkdinm3t] {
    font-size: 0.76rem;
    color: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.ca-item-id[b-bwjkdinm3t] {
    font-family: "SFMono-Regular", Consolas, monospace;
    background: rgba(26, 58, 92, 0.08);
    color: #1a3a5c;
    padding: 0.05rem 0.4rem;
    border-radius: 4px;
    font-weight: 600;
}

.ca-item-sep[b-bwjkdinm3t] {
    color: rgba(0, 0, 0, 0.25);
}

/* ---------- Hint de más resultados ---------- */
.ca-more[b-bwjkdinm3t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    background: rgba(0, 0, 0, 0.02);
    color: rgba(0, 0, 0, 0.55);
    font-size: 0.78rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    font-style: italic;
}

/* ---------- Empty state ---------- */
.ca-empty[b-bwjkdinm3t] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 0.85rem;
    color: rgba(0, 0, 0, 0.5);
    font-size: 0.85rem;
    justify-content: center;
}

.ca-empty i[b-bwjkdinm3t] {
    font-size: 1.1rem;
}

/* ---------- Dark mode ---------- */
:root[data-bs-theme="dark"] .ca-input[b-bwjkdinm3t],
.dark-mode .ca-input[b-bwjkdinm3t] {
    background: #243247;
    border-color: rgba(255, 255, 255, 0.12);
    color: #e8eaed;
}

:root[data-bs-theme="dark"] .ca-dropdown[b-bwjkdinm3t],
.dark-mode .ca-dropdown[b-bwjkdinm3t] {
    background: #1a2332;
    border-color: rgba(255, 255, 255, 0.1);
}

:root[data-bs-theme="dark"] .ca-item:hover[b-bwjkdinm3t],
:root[data-bs-theme="dark"] .ca-item.active[b-bwjkdinm3t],
.dark-mode .ca-item:hover[b-bwjkdinm3t],
.dark-mode .ca-item.active[b-bwjkdinm3t] {
    background: #2d3e58;
}

:root[data-bs-theme="dark"] .ca-item-name[b-bwjkdinm3t],
.dark-mode .ca-item-name[b-bwjkdinm3t] {
    color: #e8eaed;
}

:root[data-bs-theme="dark"] .ca-item-id[b-bwjkdinm3t],
.dark-mode .ca-item-id[b-bwjkdinm3t] {
    background: rgba(255, 255, 255, 0.08);
    color: #93c5fd;
}
/* _content/Rgclouds.Web/Components/Shared/HitLookupModal.razor.rz.scp.css */
/* HitLookupModal.razor.css — Modal de búsqueda lookup (ButonHit) */

/* ── Backdrop ── */
.hit-backdrop[b-zcjinbmpfl] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: hitFadeIn-b-zcjinbmpfl 0.15s ease;
}

@keyframes hitFadeIn-b-zcjinbmpfl {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ── Modal contenedor ── */
.hit-modal[b-zcjinbmpfl] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    width: min(680px, 95vw);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: hitSlideUp-b-zcjinbmpfl 0.18s ease;
}

@keyframes hitSlideUp-b-zcjinbmpfl {
    from { transform: translateY(16px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ── Header ── */
.hit-header[b-zcjinbmpfl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.1rem;
    border-bottom: 1px solid var(--rg-border);
}

.hit-header-left[b-zcjinbmpfl] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--rg-text-primary);
}

.hit-header-left i[b-zcjinbmpfl] {
    color: var(--rg-primary);
    font-size: 1rem;
}

.hit-close[b-zcjinbmpfl] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted);
    font-size: 1rem;
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}
.hit-close:hover[b-zcjinbmpfl] { color: var(--rg-text-primary); background: var(--rg-bg-hover); }

/* ── Barra de búsqueda ── */
.hit-search-bar[b-zcjinbmpfl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--rg-border);
    background: var(--rg-bg-subtle);
}

.hit-search-icon[b-zcjinbmpfl] { color: var(--rg-text-muted); font-size: 0.85rem; }

.hit-search-input[b-zcjinbmpfl] {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--rg-text-primary);
    font-size: 0.88rem;
}
.hit-search-input[b-zcjinbmpfl]::placeholder { color: var(--rg-text-muted); }

.hit-search-clear[b-zcjinbmpfl] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rg-text-muted);
    padding: 0;
    font-size: 0.8rem;
}
.hit-search-clear:hover[b-zcjinbmpfl] { color: var(--rg-text-primary); }

/* ── Contador ── */
.hit-count[b-zcjinbmpfl] {
    padding: 0.3rem 1rem;
    font-size: 0.72rem;
    color: var(--rg-text-muted);
    border-bottom: 1px solid var(--rg-border);
}

/* ── Grid de resultados ── */
.hit-grid-wrap[b-zcjinbmpfl] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.hit-grid[b-zcjinbmpfl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.83rem;
}

.hit-grid thead th[b-zcjinbmpfl] {
    position: sticky;
    top: 0;
    background: var(--rg-bg-subtle);
    color: var(--rg-text-secondary);
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.45rem 0.85rem;
    border-bottom: 1px solid var(--rg-border);
    text-align: left;
}

.hit-grid tbody td[b-zcjinbmpfl] {
    padding: 0.45rem 0.85rem;
    border-bottom: 1px solid var(--rg-border);
    color: var(--rg-text-primary);
    vertical-align: middle;
}

.hit-row[b-zcjinbmpfl] {
    cursor: pointer;
    transition: background 0.1s;
}
.hit-row:hover[b-zcjinbmpfl] { background: var(--rg-bg-hover); }
.hit-row-selected td[b-zcjinbmpfl] { background: rgba(26, 58, 92, 0.12) !important; }

[data-mode="dark"] .hit-row-selected td[b-zcjinbmpfl] {
    background: rgba(96, 165, 250, 0.15) !important;
}

.hit-empty[b-zcjinbmpfl] {
    text-align: center;
    padding: 2rem 1rem !important;
    color: var(--rg-text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}
.hit-empty i[b-zcjinbmpfl] { font-size: 1.5rem; }

/* ── Estados loading / error ── */
.hit-loading[b-zcjinbmpfl] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 2rem;
    color: var(--rg-text-secondary);
    font-size: 0.85rem;
}

.hit-spinner[b-zcjinbmpfl] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--rg-border);
    border-top-color: var(--rg-primary);
    border-radius: 50%;
    animation: hitSpin-b-zcjinbmpfl 0.7s linear infinite;
}

@keyframes hitSpin-b-zcjinbmpfl {
    to { transform: rotate(360deg); }
}

.hit-error[b-zcjinbmpfl] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0.75rem 1rem;
    padding: 0.6rem 0.85rem;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 6px;
    color: #991b1b;
    font-size: 0.8rem;
    white-space: pre-line;
}
.hit-error i[b-zcjinbmpfl] { margin-top: 2px; flex-shrink: 0; }
[data-mode="dark"] .hit-error[b-zcjinbmpfl] { color: #fca5a5; }

/* ── Footer ── */
.hit-footer[b-zcjinbmpfl] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--rg-border);
}

/* ── Botones ── */
.btn-hit[b-zcjinbmpfl] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s;
}

.btn-hit-outline[b-zcjinbmpfl] {
    background: transparent;
    border-color: var(--rg-border);
    color: var(--rg-text-secondary);
}
.btn-hit-outline:hover[b-zcjinbmpfl] {
    background: var(--rg-bg-hover);
    color: var(--rg-text-primary);
}

.btn-hit-primary[b-zcjinbmpfl] {
    background: var(--rg-primary);
    border-color: var(--rg-primary);
    color: #fff;
}
.btn-hit-primary:hover[b-zcjinbmpfl] { opacity: 0.88; }
.btn-hit-primary:disabled[b-zcjinbmpfl] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* font-mono helper */
.font-mono[b-zcjinbmpfl] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.78rem; }
/* _content/Rgclouds.Web/Components/Shared/NotFoundPage.razor.rz.scp.css */
/* ============================================================
   🚫 NotFoundPage.razor.css — Pagina 404 elegante
   ============================================================ */

.nf-container[b-en5ofnjha9] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 120px);
    padding: 2rem;
}

.nf-card[b-en5ofnjha9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 440px;
    width: 100%;
    padding: 3rem 2.5rem;
    background: var(--rg-bg-card, #ffffff);
    border-radius: 20px;
    border: 1px solid var(--rg-border, #eef0f4);
    box-shadow: var(--rg-shadow-md, 0 4px 24px rgba(0, 0, 0, 0.06));
}

/* ============================================================
   🧭 ICONO — Brujula animada
   ============================================================ */

.nf-icon-area[b-en5ofnjha9] {
    position: relative;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.nf-circle[b-en5ofnjha9] {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(245, 158, 11, 0.15);
}

.nf-circle.c1[b-en5ofnjha9] {
    width: 90px;
    height: 90px;
    animation: nfPulse-b-en5ofnjha9 3s ease-in-out infinite;
}

.nf-circle.c2[b-en5ofnjha9] {
    width: 60px;
    height: 60px;
    background: rgba(245, 158, 11, 0.06);
    border-color: rgba(245, 158, 11, 0.2);
    animation: nfPulse-b-en5ofnjha9 3s ease-in-out 0.5s infinite;
}

.nf-compass[b-en5ofnjha9] {
    font-size: 1.75rem;
    color: #f59e0b;
    z-index: 2;
    position: relative;
    animation: nfSpin-b-en5ofnjha9 4s ease-in-out infinite alternate;
}

@keyframes nfPulse-b-en5ofnjha9 {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.06); opacity: 0.6; }
}

@keyframes nfSpin-b-en5ofnjha9 {
    0% { transform: rotate(-15deg); }
    100% { transform: rotate(15deg); }
}

/* ============================================================
   📝 TEXTO
   ============================================================ */

.nf-text-area[b-en5ofnjha9] {
    margin-bottom: 1.5rem;
}

.nf-code[b-en5ofnjha9] {
    font-size: 3rem;
    font-weight: 800;
    color: rgba(245, 158, 11, 0.2);
    line-height: 1;
    letter-spacing: -0.02em;
}

.nf-title[b-en5ofnjha9] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0.5rem 0 0.5rem 0;
    line-height: 1.3;
}

.nf-subtitle[b-en5ofnjha9] {
    font-size: 0.875rem;
    color: var(--rg-text-muted, #64748b);
    margin: 0;
    line-height: 1.6;
}

/* ============================================================
   🔗 RUTA ACTUAL
   ============================================================ */

.nf-route-info[b-en5ofnjha9] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border-radius: 8px;
    border: 1px solid var(--rg-border, #eef0f4);
    font-size: 0.75rem;
    color: var(--rg-text-faint, #94a3b8);
    font-family: 'Consolas', 'Courier New', monospace;
    margin-bottom: 2rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nf-route-info i[b-en5ofnjha9] {
    font-size: 0.875rem;
    color: var(--rg-text-faint, #94a3b8);
    flex-shrink: 0;
}

/* ============================================================
   🔘 BOTONES
   ============================================================ */

.nf-actions[b-en5ofnjha9] {
    display: flex;
    gap: 0.75rem;
    width: 100%;
}

.nf-btn-primary[b-en5ofnjha9] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: var(--rg-primary, #3b82f6);
    border: 2px solid var(--rg-primary, #3b82f6);
    color: #ffffff;
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nf-btn-primary:hover[b-en5ofnjha9] {
    background: var(--rg-primary-hover, #2563eb);
    border-color: var(--rg-primary-hover, #2563eb);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--rg-primary-rgb, 59, 130, 246), 0.3);
}

.nf-btn-secondary[b-en5ofnjha9] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: transparent;
    border: 2px solid var(--rg-border, #e2e8f0);
    color: var(--rg-text-secondary, #475569);
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nf-btn-secondary:hover[b-en5ofnjha9] {
    border-color: var(--rg-text-faint, #94a3b8);
    background: var(--rg-bg-hover, #f8fafc);
}

/* ============================================================
   📱 RESPONSIVE
   ============================================================ */

@media (max-width: 480px) {
    .nf-card[b-en5ofnjha9] {
        padding: 2rem 1.5rem;
    }

    .nf-actions[b-en5ofnjha9] {
        flex-direction: column;
    }

    .nf-code[b-en5ofnjha9] {
        font-size: 2.5rem;
    }
}
/* _content/Rgclouds.Web/Components/Shared/PdfViewerModal.razor.rz.scp.css */
/* PdfViewerModal.razor.css — Visor de PDF reutilizable para todo el sistema */

.pvm-backdrop[b-wp8kziccue] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    animation: pvm-fade-in-b-wp8kziccue 0.15s ease;
}

@keyframes pvm-fade-in-b-wp8kziccue {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.pvm-dialog[b-wp8kziccue] {
    background: var(--rg-bg-card);
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    width: min(960px, 95vw);
    height: min(90vh, 860px);
    overflow: hidden;
    animation: pvm-slide-in-b-wp8kziccue 0.18s ease;
}

@keyframes pvm-slide-in-b-wp8kziccue {
    from { transform: translateY(-20px); opacity: 0; }
    to   { transform: translateY(0);     opacity: 1; }
}

/* ── Header ─────────────────────────────────────────── */
.pvm-header[b-wp8kziccue] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rg-border);
    background: var(--rg-bg-subtle);
    flex-shrink: 0;
}

.pvm-header-left[b-wp8kziccue] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.pvm-icon[b-wp8kziccue] {
    font-size: 1.25rem;
    color: #e53e3e;
    flex-shrink: 0;
}

.pvm-title[b-wp8kziccue] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--rg-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pvm-header-actions[b-wp8kziccue] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.pvm-btn-download[b-wp8kziccue] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    background: var(--rg-primary);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s;
}

.pvm-btn-download:hover:not(:disabled)[b-wp8kziccue] {
    opacity: 0.88;
}

.pvm-btn-download:disabled[b-wp8kziccue] {
    opacity: 0.45;
    cursor: not-allowed;
}

.pvm-close[b-wp8kziccue] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    color: var(--rg-text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.pvm-close:hover[b-wp8kziccue] {
    background: var(--rg-danger);
    color: #fff;
    border-color: var(--rg-danger);
}

/* ── Body ────────────────────────────────────────────── */
.pvm-body[b-wp8kziccue] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--rg-bg-page);
}

.pvm-iframe[b-wp8kziccue] {
    flex: 1;
    width: 100%;
    border: none;
    background: var(--rg-bg-page);
}

/* ── Estado (loading / error) ───────────────────────── */
.pvm-state[b-wp8kziccue] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--rg-text-secondary);
    font-size: 0.9rem;
}

.pvm-error[b-wp8kziccue] {
    color: var(--rg-danger);
}

.pvm-error i[b-wp8kziccue] {
    font-size: 2rem;
}

.pvm-spinner[b-wp8kziccue] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--rg-border);
    border-top-color: var(--rg-primary);
    border-radius: 50%;
    animation: pvm-spin-b-wp8kziccue 0.7s linear infinite;
}

@keyframes pvm-spin-b-wp8kziccue {
    to { transform: rotate(360deg); }
}

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 600px) {
    .pvm-dialog[b-wp8kziccue] {
        width: 100vw;
        height: 100dvh;
        border-radius: 0;
    }

    .pvm-btn-download span[b-wp8kziccue] {
        display: none;
    }
}
/* _content/Rgclouds.Web/Components/Shared/QuickActionsModal.razor.rz.scp.css */
/* ============================================================
   🎯 QuickActionsModal.razor.css — Estilos del modal de config
   ============================================================ */

.qa-modal-backdrop[b-uy2h0coulb] {
    position: fixed;
    inset: 0;
    background: rgba(10, 22, 40, 0.72);
    backdrop-filter: blur(4px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    padding-top: max(1rem, env(safe-area-inset-top));
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
    animation: qa-fade-in-b-uy2h0coulb 0.2s ease-out;
}

@keyframes qa-fade-in-b-uy2h0coulb {
    from { opacity: 0; }
    to { opacity: 1; }
}

.qa-modal[b-uy2h0coulb] {
    background: var(--bs-body-bg, #ffffff);
    color: var(--bs-body-color, #1a1a1a);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    width: 100%;
    max-width: 560px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: qa-slide-up-b-uy2h0coulb 0.25s ease-out;
}

@keyframes qa-slide-up-b-uy2h0coulb {
    from { transform: translateY(16px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ---------- Header ---------- */
.qa-modal-header[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: linear-gradient(135deg, #1a3a5c 0%, #2c5282 100%);
    color: #ffffff;
}

.qa-modal-title[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.qa-modal-title i[b-uy2h0coulb] {
    font-size: 1.25rem;
    color: #ffd93d;
}

.qa-modal-close[b-uy2h0coulb] {
    background: rgba(255, 255, 255, 0.12);
    border: none;
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.18s;
}

.qa-modal-close:hover[b-uy2h0coulb] {
    background: rgba(255, 255, 255, 0.24);
}

/* ---------- Toolbar ---------- */
.qa-modal-toolbar[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(0, 0, 0, 0.02);
    flex-wrap: wrap;
}

.qa-counter[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    background: #e8f4f8;
    color: #1a3a5c;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.qa-counter.full[b-uy2h0coulb] {
    background: #fff3cd;
    color: #8a6d3b;
}

.qa-search[b-uy2h0coulb] {
    flex: 1;
    min-width: 180px;
    position: relative;
    display: flex;
    align-items: center;
}

.qa-search i[b-uy2h0coulb] {
    position: absolute;
    left: 0.75rem;
    color: rgba(0, 0, 0, 0.45);
    pointer-events: none;
}

.qa-search input[b-uy2h0coulb] {
    width: 100%;
    padding: 0.55rem 0.75rem 0.55rem 2.25rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    font-size: 0.9rem;
    background: #ffffff;
    outline: none;
    transition: border-color 0.18s, box-shadow 0.18s;
}

.qa-search input:focus[b-uy2h0coulb] {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.12);
}

/* ---------- Body ---------- */
.qa-modal-body[b-uy2h0coulb] {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1rem;
    -webkit-overflow-scrolling: touch;
}

.qa-loading[b-uy2h0coulb],
.qa-empty[b-uy2h0coulb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    gap: 1rem;
    color: rgba(0, 0, 0, 0.5);
}

.qa-empty i[b-uy2h0coulb] {
    font-size: 2.5rem;
    opacity: 0.5;
}

.qa-spinner[b-uy2h0coulb] {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(26, 58, 92, 0.12);
    border-top-color: #1a3a5c;
    border-radius: 50%;
    animation: qa-spin-b-uy2h0coulb 0.9s linear infinite;
}

@keyframes qa-spin-b-uy2h0coulb {
    to { transform: rotate(360deg); }
}

/* ---------- Options list ---------- */
.qa-options-list[b-uy2h0coulb] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.qa-option[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: #ffffff;
    position: relative;
}

.qa-option:hover:not(.disabled)[b-uy2h0coulb] {
    border-color: #1a3a5c;
    background: #f4f8fc;
}

.qa-option.selected[b-uy2h0coulb] {
    border-color: #1a3a5c;
    background: linear-gradient(135deg, #e8f1f9 0%, #f4f8fc 100%);
    box-shadow: 0 2px 8px rgba(26, 58, 92, 0.08);
}

.qa-option.disabled[b-uy2h0coulb] {
    opacity: 0.45;
    cursor: not-allowed;
    filter: grayscale(0.3);
}

.qa-option input[type="checkbox"][b-uy2h0coulb] {
    width: 18px;
    height: 18px;
    accent-color: #1a3a5c;
    cursor: inherit;
    flex-shrink: 0;
}

.qa-option-icon[b-uy2h0coulb] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 58, 92, 0.08);
    border-radius: 8px;
    color: #1a3a5c;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.qa-option.selected .qa-option-icon[b-uy2h0coulb] {
    background: #1a3a5c;
    color: #ffffff;
}

.qa-option-text[b-uy2h0coulb] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.qa-option-title[b-uy2h0coulb] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--bs-body-color, #1a1a1a);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qa-option-route[b-uy2h0coulb] {
    font-size: 0.72rem;
    color: rgba(0, 0, 0, 0.45);
    font-family: "SFMono-Regular", Consolas, monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qa-option-order[b-uy2h0coulb] {
    position: absolute;
    top: 0.35rem;
    right: 0.5rem;
    min-width: 22px;
    height: 22px;
    padding: 0 0.45rem;
    background: #1a3a5c;
    color: #ffffff;
    border-radius: 11px;
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---------- Footer ---------- */
.qa-modal-footer[b-uy2h0coulb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(0, 0, 0, 0.02);
    flex-wrap: wrap;
}

.qa-error[b-uy2h0coulb] {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    background: #fde8e8;
    color: #8b1a1a;
    border-radius: 8px;
    font-size: 0.85rem;
}

.qa-btn[b-uy2h0coulb] {
    padding: 0.6rem 1.1rem;
    border: none;
    border-radius: 9px;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.18s;
    min-height: 40px;
}

.qa-btn:disabled[b-uy2h0coulb] {
    opacity: 0.6;
    cursor: not-allowed;
}

.qa-btn-secondary[b-uy2h0coulb] {
    background: rgba(0, 0, 0, 0.06);
    color: var(--bs-body-color, #1a1a1a);
}

.qa-btn-secondary:hover:not(:disabled)[b-uy2h0coulb] {
    background: rgba(0, 0, 0, 0.1);
}

.qa-btn-primary[b-uy2h0coulb] {
    background: linear-gradient(135deg, #1a3a5c 0%, #2c5282 100%);
    color: #ffffff;
    margin-left: auto;
}

.qa-btn-primary:hover:not(:disabled)[b-uy2h0coulb] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(26, 58, 92, 0.35);
}

/* ---------- Dark mode ---------- */
:root[data-bs-theme="dark"] .qa-modal[b-uy2h0coulb],
.dark-mode .qa-modal[b-uy2h0coulb] {
    background: #1a2332;
    color: #e8eaed;
}

:root[data-bs-theme="dark"] .qa-option[b-uy2h0coulb],
.dark-mode .qa-option[b-uy2h0coulb] {
    background: #243247;
    border-color: rgba(255, 255, 255, 0.08);
}

:root[data-bs-theme="dark"] .qa-option:hover:not(.disabled)[b-uy2h0coulb],
.dark-mode .qa-option:hover:not(.disabled)[b-uy2h0coulb] {
    background: #2d3e58;
}

:root[data-bs-theme="dark"] .qa-option.selected[b-uy2h0coulb],
.dark-mode .qa-option.selected[b-uy2h0coulb] {
    background: linear-gradient(135deg, #2d3e58 0%, #243247 100%);
    border-color: #4a7bb0;
}

:root[data-bs-theme="dark"] .qa-search input[b-uy2h0coulb],
.dark-mode .qa-search input[b-uy2h0coulb] {
    background: #243247;
    border-color: rgba(255, 255, 255, 0.12);
    color: #e8eaed;
}

/* ---------- Responsive mobile ---------- */
@media (max-width: 640px) {
    .qa-modal[b-uy2h0coulb] {
        max-height: 100vh;
        max-height: 100dvh;
        height: 100%;
        border-radius: 0;
        max-width: 100%;
    }

    .qa-modal-backdrop[b-uy2h0coulb] {
        padding: 0;
    }

    .qa-modal-toolbar[b-uy2h0coulb] {
        flex-direction: column;
        align-items: stretch;
    }

    .qa-counter[b-uy2h0coulb] {
        justify-content: center;
    }
}
/* _content/Rgclouds.Web/Components/Shared/SqlEditor.razor.rz.scp.css */
.sql-editor-fallback[b-b7m9j7n13v] {
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: var(--rg-bg-input);
    color: var(--rg-text-primary);
    border: 1px solid var(--rg-border);
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    line-height: 1.5;
    resize: vertical;
    outline: none;
}

.sql-editor-fallback:focus[b-b7m9j7n13v] {
    border-color: var(--rg-primary);
    box-shadow: 0 0 0 3px rgba(26, 58, 92, 0.15);
}
/* _content/Rgclouds.Web/Components/Shared/UnderConstruction.razor.rz.scp.css */
/* ============================================================
   🚧 UnderConstruction.razor.css — Pagina "En construccion"
   🎯 Diseño premium con animaciones sutiles
   ============================================================ */

.uc-container[b-acrxu1snh1] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 120px);
    padding: 2rem;
}

.uc-card[b-acrxu1snh1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 480px;
    width: 100%;
    padding: 3rem 2.5rem;
    background: var(--rg-bg-card, #ffffff);
    border-radius: 20px;
    border: 1px solid var(--rg-border, #eef0f4);
    box-shadow: var(--rg-shadow-md, 0 4px 24px rgba(0, 0, 0, 0.06));
}

/* ============================================================
   🔧 ICONO ANIMADO — Engranaje con anillos pulsantes
   ============================================================ */

.uc-icon-area[b-acrxu1snh1] {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.uc-icon-ring[b-acrxu1snh1] {
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 2px solid rgba(var(--rg-primary-rgb, 59, 130, 246), 0.15);
    animation: ucPulse-b-acrxu1snh1 3s ease-in-out infinite;
}

.uc-icon-ring.r2[b-acrxu1snh1] {
    width: 76px;
    height: 76px;
    border-color: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.2);
    animation-delay: 0.4s;
}

.uc-icon-ring.r3[b-acrxu1snh1] {
    width: 52px;
    height: 52px;
    background: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.08);
    border-color: rgba(var(--rg-primary-rgb, 59, 130, 246), 0.25);
    animation-delay: 0.8s;
}

.uc-gear[b-acrxu1snh1] {
    font-size: 1.75rem;
    color: var(--rg-primary, #3b82f6);
    z-index: 2;
    position: relative;
    animation: ucSpin-b-acrxu1snh1 6s linear infinite;
}

@keyframes ucPulse-b-acrxu1snh1 {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.6; }
}

@keyframes ucSpin-b-acrxu1snh1 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ============================================================
   📝 TEXTO
   ============================================================ */

.uc-text-area[b-acrxu1snh1] {
    margin-bottom: 1.75rem;
}

.uc-title[b-acrxu1snh1] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--rg-text-primary, #1e293b);
    margin: 0 0 0.5rem 0;
    line-height: 1.3;
}

.uc-subtitle[b-acrxu1snh1] {
    font-size: 0.9rem;
    color: var(--rg-text-muted, #64748b);
    margin: 0;
    line-height: 1.6;
}

/* ============================================================
   📋 DETALLES — Aplicacion y formulario
   ============================================================ */

.uc-details[b-acrxu1snh1] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.75rem;
    padding: 1rem;
    background: var(--rg-bg-subtle, #f8fafc);
    border-radius: 12px;
    border: 1px solid var(--rg-border, #eef0f4);
}

.uc-detail-row[b-acrxu1snh1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.25rem;
}

.uc-detail-row + .uc-detail-row[b-acrxu1snh1] {
    border-top: 1px solid var(--rg-border, #eef0f4);
    padding-top: 0.625rem;
}

.uc-detail-label[b-acrxu1snh1] {
    font-size: 0.8125rem;
    color: var(--rg-text-muted, #64748b);
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: 500;
}

.uc-detail-label i[b-acrxu1snh1] {
    font-size: 0.875rem;
    color: var(--rg-text-faint, #94a3b8);
}

.uc-detail-value[b-acrxu1snh1] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rg-text-primary, #1e293b);
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
}

/* ============================================================
   📊 BARRA DE PROGRESO — Animacion infinita
   ============================================================ */

.uc-progress-area[b-acrxu1snh1] {
    width: 100%;
    margin-bottom: 2rem;
}

.uc-progress-bar[b-acrxu1snh1] {
    width: 100%;
    height: 4px;
    background: var(--rg-bg-subtle, #e2e8f0);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.uc-progress-fill[b-acrxu1snh1] {
    width: 40%;
    height: 100%;
    background: var(--rg-gradient, linear-gradient(90deg, #3b82f6, #60a5fa));
    border-radius: 4px;
    animation: ucProgress-b-acrxu1snh1 2s ease-in-out infinite;
}

@keyframes ucProgress-b-acrxu1snh1 {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(300%); }
}

.uc-progress-text[b-acrxu1snh1] {
    font-size: 0.75rem;
    color: var(--rg-text-faint, #94a3b8);
    font-weight: 500;
}

/* ============================================================
   🔙 BOTON VOLVER
   ============================================================ */

.uc-back-btn[b-acrxu1snh1] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.5rem;
    background: transparent;
    border: 2px solid var(--rg-primary, #3b82f6);
    color: var(--rg-primary, #3b82f6);
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.uc-back-btn:hover[b-acrxu1snh1] {
    background: var(--rg-primary, #3b82f6);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--rg-primary-rgb, 59, 130, 246), 0.3);
}

/* ============================================================
   📱 RESPONSIVE
   ============================================================ */

@media (max-width: 480px) {
    .uc-card[b-acrxu1snh1] {
        padding: 2rem 1.5rem;
    }

    .uc-title[b-acrxu1snh1] {
        font-size: 1.125rem;
    }

    .uc-detail-value[b-acrxu1snh1] {
        max-width: 50%;
        font-size: 0.75rem;
    }
}
