/* _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: 272px 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;
}

.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] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.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: -290px;
        top: 0;
        width: 280px;
        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); }
}
/* _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/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); }
@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_cliente.razor.rz.scp.css */
/* Grupo Empresa CRUD */
.crud-container[b-w5lom5iarl] { padding: 1.25rem; max-width: 100%; animation: slideUp-b-w5lom5iarl 0.3s ease-out; }
@keyframes slideUp-b-w5lom5iarl { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crud-header[b-w5lom5iarl] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; }
.crud-header-left[b-w5lom5iarl] { display: flex; align-items: center; gap: 0.75rem; }
.crud-header-icon[b-w5lom5iarl] { font-size: 1.75rem; color: var(--rg-accent, #4f46e5); }
.crud-title[b-w5lom5iarl] { font-size: 1.25rem; font-weight: 700; color: var(--rg-text-primary, #1e293b); margin: 0; }
.crud-subtitle[b-w5lom5iarl] { font-size: 0.75rem; color: var(--rg-text-muted, #94a3b8); }
.crud-header-actions[b-w5lom5iarl] { display: flex; gap: 0.5rem; }
.btn-crud[b-w5lom5iarl] { 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-w5lom5iarl] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[b-w5lom5iarl] { background: var(--rg-accent, #4f46e5); color: #fff; }
.btn-primary:hover:not(:disabled)[b-w5lom5iarl] { filter: brightness(1.1); }
.btn-outline[b-w5lom5iarl] { background: transparent; color: var(--rg-text-secondary, #475569); border: 1px solid var(--rg-border, #e2e8f0); }
.btn-outline:hover:not(:disabled)[b-w5lom5iarl] { background: var(--rg-bg-hover, #f1f5f9); }
.btn-danger[b-w5lom5iarl] { background: #ef4444; color: #fff; }
.btn-danger:hover:not(:disabled)[b-w5lom5iarl] { filter: brightness(1.1); }
.btn-icon[b-w5lom5iarl] { 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-w5lom5iarl] { color: var(--rg-accent, #4f46e5); }
.btn-edit:hover[b-w5lom5iarl] { background: rgba(79, 70, 229, 0.1); }
.btn-delete[b-w5lom5iarl] { color: #ef4444; }
.btn-delete:hover[b-w5lom5iarl] { background: rgba(239, 68, 68, 0.1); }
.view-toggle[b-w5lom5iarl] { padding: 0.5rem 0.65rem; }
.crud-alert[b-w5lom5iarl] { 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-w5lom5iarl] { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.crud-alert.error[b-w5lom5iarl] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.crud-alert-close[b-w5lom5iarl] { margin-left: auto; background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; }
.crud-search-bar[b-w5lom5iarl] { 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-w5lom5iarl] { color: var(--rg-text-muted, #94a3b8); }
.crud-search-bar input[b-w5lom5iarl] { flex: 1; border: none; outline: none; font-size: 0.8rem; background: transparent; color: var(--rg-text-primary, #1e293b); }
.crud-search-clear[b-w5lom5iarl] { background: none; border: none; cursor: pointer; color: var(--rg-text-muted, #94a3b8); }
.crud-count[b-w5lom5iarl] { font-size: 0.7rem; color: var(--rg-text-muted, #94a3b8); white-space: nowrap; }
.crud-grid-wrapper[b-w5lom5iarl] { 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-w5lom5iarl] { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.crud-table thead[b-w5lom5iarl] { position: sticky; top: 0; z-index: 1; }
.crud-table th[b-w5lom5iarl] { 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-w5lom5iarl] { 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-w5lom5iarl] { background: var(--rg-bg-hover, #f8fafc); }
.col-id[b-w5lom5iarl] { width: 120px; }
.col-actions[b-w5lom5iarl] { width: 80px; text-align: center; white-space: nowrap; }
.crud-cards-wrapper[b-w5lom5iarl] { 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-w5lom5iarl] { 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-w5lom5iarl] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.card-header-row[b-w5lom5iarl] { display: flex; justify-content: space-between; align-items: center; }
.card-id[b-w5lom5iarl] { font-size: 0.9rem; font-weight: 700; color: var(--rg-accent, #4f46e5); }
.card-title[b-w5lom5iarl] { font-size: 0.85rem; font-weight: 600; color: var(--rg-text-primary, #1e293b); }
.card-actions[b-w5lom5iarl] { 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-w5lom5iarl] { display: block; } .hide-on-cards[b-w5lom5iarl] { display: none !important; } .show-on-cards[b-w5lom5iarl] { display: grid; } .hide-on-grid[b-w5lom5iarl] { display: none !important; }
.font-mono[b-w5lom5iarl] { font-family: 'Cascadia Code', 'Fira Code', monospace; font-size: 0.76rem; }
.text-muted[b-w5lom5iarl] { color: var(--rg-text-muted, #94a3b8); font-size: 0.78rem; }
.crud-loading[b-w5lom5iarl], .crud-empty-state[b-w5lom5iarl] { 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-w5lom5iarl] { font-size: 2rem; }
.crud-spinner[b-w5lom5iarl] { width: 2rem; height: 2rem; border: 3px solid var(--rg-border, #e2e8f0); border-top-color: var(--rg-accent, #4f46e5); border-radius: 50%; animation: spin-b-w5lom5iarl 0.6s linear infinite; }
.crud-spinner-sm[b-w5lom5iarl] { 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-w5lom5iarl 0.6s linear infinite; }
@keyframes spin-b-w5lom5iarl { to { transform: rotate(360deg); } }
.spin[b-w5lom5iarl] { animation: spin-b-w5lom5iarl 0.8s linear infinite; }
.modal-backdrop[b-w5lom5iarl] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); z-index: 1000; animation: fadeIn-b-w5lom5iarl 0.15s ease-out; }
.modal-container[b-w5lom5iarl] { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1001; pointer-events: none; }
.modal-dialog[b-w5lom5iarl] { 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-w5lom5iarl 0.2s ease-out; }
.modal-sm[b-w5lom5iarl] { max-width: 420px; }
@keyframes fadeIn-b-w5lom5iarl { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn-b-w5lom5iarl { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
.modal-header[b-w5lom5iarl] { 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-w5lom5iarl] { 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-w5lom5iarl] { border-bottom-color: #fecaca; }
.modal-header-danger h2[b-w5lom5iarl] { color: #dc2626; }
.modal-close[b-w5lom5iarl] { 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-w5lom5iarl] { color: var(--rg-text-primary, #1e293b); background: var(--rg-bg-hover, #f1f5f9); }
.modal-body[b-w5lom5iarl] { padding: 1.25rem; }
.modal-footer[b-w5lom5iarl] { 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-w5lom5iarl] { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
.form-group[b-w5lom5iarl] { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.form-group label[b-w5lom5iarl] { font-size: 0.72rem; font-weight: 600; color: var(--rg-text-secondary, #475569); text-transform: uppercase; letter-spacing: 0.03em; }
.form-group input[b-w5lom5iarl] { 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-w5lom5iarl] { border-color: var(--rg-accent, #4f46e5); box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15); }
.form-group input.readonly[b-w5lom5iarl] { background: var(--rg-bg-sidebar, #f8fafc); color: var(--rg-text-muted, #94a3b8); }
@media (max-width: 768px) {
    .crud-container[b-w5lom5iarl] { padding: 0.75rem; } .crud-header[b-w5lom5iarl] { flex-direction: column; align-items: flex-start; } .btn-text[b-w5lom5iarl] { display: none; }
    .form-row[b-w5lom5iarl] { flex-direction: column; } .modal-dialog[b-w5lom5iarl] { width: 98%; max-height: 90vh; }
    .crud-grid-wrapper.show-on-grid[b-w5lom5iarl] { display: none !important; } .crud-cards-wrapper.hide-on-grid[b-w5lom5iarl] { display: grid !important; }
    .crud-cards-wrapper[b-w5lom5iarl] { 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/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/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;
}

.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;
}

/* ============================================================
   🎯 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/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/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/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/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;
    }
}
