/* _content/Redsotec.Pos.Web/Components/DemoModeBadge.razor.rz.scp.css */
/* cod- 12-10-2026: Etiqueta DEMO reutilizable, compacta y coherente con la identidad REDSOTEC. */
.demo-mode-badge[b-88lzqiwzr3] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 2px 8px;
    border: 1px solid rgba(214, 40, 57, 0.28);
    border-radius: 999px;
    color: #b91f30;
    background: #fff1f3;
    font-size: 0.6rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.demo-mode-badge.login[b-88lzqiwzr3] {
    min-height: 22px;
    padding-inline: 9px;
}

.demo-mode-badge.header[b-88lzqiwzr3] {
    margin-left: 12px;
    box-shadow: 0 3px 10px rgba(214, 40, 57, 0.08);
}

@media (max-width: 640px) {
    .demo-mode-badge.header[b-88lzqiwzr3] {
        margin-left: 0;
    }
}
/* _content/Redsotec.Pos.Web/Components/Layout/LoginLayout.razor.rz.scp.css */
/* // cod- 10-08-2026: Superficie de autenticación sin navegación interna. */
.login-layout[b-97p9spndnc] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(18, 58, 103, 0.11), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(215, 25, 32, 0.08), transparent 24%),
        #eef3f8;
}

#blazor-error-ui[b-97p9spndnc] {
    background: #fff3cd;
    bottom: 0;
    box-shadow: 0 -1px 8px rgba(15, 23, 42, 0.14);
    display: none;
    left: 0;
    padding: 0.75rem 3rem 0.75rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-97p9spndnc] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
}

@media (max-width: 560px) {
    .login-layout[b-97p9spndnc] {
        padding: 16px;
    }
}
/* _content/Redsotec.Pos.Web/Components/Layout/MainLayout.razor.rz.scp.css */
/* // cod- 11-08-2026: Estructura principal fija, limpia y responsive. */
.app-shell[b-pdq8grg2wj] {
    --sidebar-width: 260px;
    min-height: 100vh;
    color: #16243a;
    background: #f3f6fa;
}

.sidebar[b-pdq8grg2wj] {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    width: var(--sidebar-width);
    overflow: hidden;
    background: #0b1f3a;
    box-shadow: 10px 0 35px rgba(8, 26, 50, 0.08);
}

.main-area[b-pdq8grg2wj] {
    min-width: 0;
    min-height: 100vh;
    margin-left: var(--sidebar-width);
}

.topbar[b-pdq8grg2wj] {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 10px 30px;
    border-bottom: 1px solid #e1e7ef;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 18px rgba(15, 35, 61, 0.035);
    backdrop-filter: blur(12px);
}

.topbar-start[b-pdq8grg2wj],
.session-actions[b-pdq8grg2wj],
.current-user[b-pdq8grg2wj] {
    display: flex;
    align-items: center;
}

.topbar-start[b-pdq8grg2wj] {
    min-width: 0;
}

.topbar-heading[b-pdq8grg2wj] {
    display: grid;
    line-height: 1.2;
}

.topbar-heading span[b-pdq8grg2wj] {
    color: #d62839;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.topbar-heading strong[b-pdq8grg2wj] {
    margin-top: 3px;
    color: #1a2b42;
    font-size: 0.92rem;
}

.session-actions[b-pdq8grg2wj] {
    gap: 18px;
}

.current-user[b-pdq8grg2wj] {
    gap: 10px;
}

.account-link[b-pdq8grg2wj] { border-radius: 10px; text-decoration: none; }
.account-link:hover .user-copy strong[b-pdq8grg2wj] { color: #d62839; }
.account-link:focus-visible[b-pdq8grg2wj] { outline: 3px solid rgba(23,59,103,.15); outline-offset: 3px; }

.user-avatar[b-pdq8grg2wj] {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    color: #ffffff;
    background: linear-gradient(145deg, #12355e, #0b1f3a);
    font-size: 0.88rem;
    font-weight: 800;
}

.user-copy[b-pdq8grg2wj] {
    display: grid;
    min-width: 0;
    line-height: 1.15;
}

.user-copy strong[b-pdq8grg2wj] {
    overflow: hidden;
    max-width: 170px;
    color: #1d2d43;
    font-size: 0.82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-copy span[b-pdq8grg2wj] {
    margin-top: 4px;
    color: #788496;
    font-size: 0.7rem;
}

.logout-form[b-pdq8grg2wj] {
    margin: 0;
}

.logout-button[b-pdq8grg2wj],
.menu-button[b-pdq8grg2wj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce3eb;
    color: #8f1f2a;
    background: #ffffff;
    cursor: pointer;
}

.logout-button[b-pdq8grg2wj] {
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 9px;
    font-family: inherit;
    font-size: 0.76rem;
    font-weight: 750;
}

.logout-button:hover[b-pdq8grg2wj] {
    border-color: #efbbc0;
    background: #fff5f6;
}

.logout-button svg[b-pdq8grg2wj],
.menu-button svg[b-pdq8grg2wj] {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.menu-button[b-pdq8grg2wj] {
    display: none;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 10px;
    color: #163455;
}

.content[b-pdq8grg2wj] {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 30px;
}

.sidebar-backdrop[b-pdq8grg2wj] {
    display: none;
}

/* cod- 28-08-2026: Firma al pie sin superposición; el flujo de impresión permanece intacto. */
@media screen {
    .main-area[b-pdq8grg2wj] {
        display: flex;
        flex-direction: column;
    }
}

.app-footer[b-pdq8grg2wj] {
    flex-shrink: 0;
    margin-top: auto;
    padding: 0 30px 18px;
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
    overflow-wrap: anywhere;
}

.app-footer a[b-pdq8grg2wj] {
    color: inherit;
    font: inherit;
    text-decoration: none;
}

.app-footer a:hover[b-pdq8grg2wj] {
    color: #596170;
}

.app-footer a:focus-visible[b-pdq8grg2wj] {
    outline: 1px solid currentColor;
    outline-offset: 2px;
}

@media print {
    .app-footer[b-pdq8grg2wj] {
        display: none !important;
    }
}

#blazor-error-ui[b-pdq8grg2wj] {
    position: fixed;
    right: 16px;
    bottom: 16px;
    left: auto;
    z-index: 1000;
    display: none;
    width: min(420px, calc(100% - 32px));
    padding: 0.8rem 3rem 0.8rem 1rem;
    border: 1px solid #f0d48a;
    border-radius: 10px;
    color: #5b4817;
    background: #fff8df;
    box-shadow: 0 12px 30px rgba(15, 35, 61, 0.16);
    font-size: 0.82rem;
}

#blazor-error-ui .reload[b-pdq8grg2wj] {
    margin-left: 6px;
}

#blazor-error-ui .dismiss[b-pdq8grg2wj] {
    position: absolute;
    top: 50%;
    right: 14px;
    cursor: pointer;
    transform: translateY(-50%);
}

@media (max-width: 900px) {
    .sidebar[b-pdq8grg2wj] {
        width: min(280px, 84vw);
        transform: translateX(-102%);
        transition: transform 180ms ease;
    }

    .sidebar-open .sidebar[b-pdq8grg2wj] {
        transform: translateX(0);
    }

    .main-area[b-pdq8grg2wj] {
        margin-left: 0;
    }

    .menu-button[b-pdq8grg2wj] {
        display: inline-flex;
        margin-right: 12px;
    }

    .sidebar-open .sidebar-backdrop[b-pdq8grg2wj] {
        position: fixed;
        inset: 0;
        z-index: 35;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(7, 20, 38, 0.48);
        cursor: pointer;
    }
}

@media (max-width: 640px) {
    .topbar[b-pdq8grg2wj] {
        min-height: 64px;
        padding: 8px 14px;
    }

    .topbar-heading[b-pdq8grg2wj] {
        display: none;
    }

    .session-actions[b-pdq8grg2wj] {
        gap: 9px;
    }

    .user-avatar[b-pdq8grg2wj] {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
        border-radius: 9px;
    }

    .user-copy strong[b-pdq8grg2wj] {
        max-width: 110px;
        font-size: 0.76rem;
    }

    .user-copy span[b-pdq8grg2wj] {
        font-size: 0.66rem;
    }

    .logout-button[b-pdq8grg2wj] {
        width: 38px;
        height: 38px;
        min-height: 38px;
        padding: 0;
    }

    .logout-button span[b-pdq8grg2wj] {
        display: none;
    }

    .content[b-pdq8grg2wj] {
        padding: 20px 16px 28px;
    }

    .app-footer[b-pdq8grg2wj] {
        padding: 0 16px 18px;
    }
}
/* _content/Redsotec.Pos.Web/Components/Layout/NavMenu.razor.rz.scp.css */
/* // cod- 11-08-2026: Menú lateral profesional con iconos SVG livianos. */
.navigation-shell[b-9885cqk0gk] {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    color: #ffffff;
    background:
        radial-gradient(circle at 15% 0%, rgba(37, 83, 132, 0.55), transparent 30%),
        linear-gradient(180deg, #0d2747 0%, #091a30 100%);
}

.brand[b-9885cqk0gk] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
    text-decoration: none;
}

.brand:hover[b-9885cqk0gk] {
    color: #ffffff;
}

.brand-mark[b-9885cqk0gk] {
    /* // cod- 10-08-2026: Conserva el espacio original del isotipo sin deformar ni duplicar su fondo. */
    display: block;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    box-shadow: 0 8px 20px rgba(214, 40, 57, 0.26);
    object-fit: contain;
}

.brand-copy[b-9885cqk0gk] {
    display: grid;
    min-width: 0;
}

.brand-copy strong[b-9885cqk0gk] {
    color: #ffffff;
    font-size: 0.94rem;
    letter-spacing: -0.015em;
    white-space: nowrap;
}

.brand-copy em[b-9885cqk0gk] {
    color: #ef4b59;
    font-style: normal;
}

.brand-copy small[b-9885cqk0gk] {
    margin-top: 4px;
    color: #9eb0c5;
    font-size: 0.62rem;
    white-space: nowrap;
}

.navigation-caption[b-9885cqk0gk] {
    padding: 18px 22px 8px;
    color: #7f95ad;
    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.nav-list[b-9885cqk0gk] {
    min-height: 0;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 4px 12px 18px;
    scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
    scrollbar-width: thin;
}

.nav-list[b-9885cqk0gk]  .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    margin: 2px 0;
    padding: 0 12px;
    border-radius: 9px;
    color: #b9c7d6;
    font-size: 0.79rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 140ms ease, background 140ms ease;
}

/* // cod- 10-08-2026: grupo de Reportes desplegable, accesible y visualmente integrado al sidebar. */
.nav-group[b-9885cqk0gk] {
    display: grid;
}

.nav-group-toggle[b-9885cqk0gk] {
    width: 100%;
    border: 0;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.nav-group-toggle:focus-visible[b-9885cqk0gk],
.nav-list[b-9885cqk0gk]  .nav-sublink:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.72);
    outline-offset: 2px;
}

.nav-chevron[b-9885cqk0gk] {
    display: grid;
    flex: 0 0 17px;
    place-items: center;
    width: 17px;
    height: 17px;
    margin-left: auto;
    color: #8299b2;
    transition: transform 150ms ease, color 140ms ease;
}

.nav-chevron svg[b-9885cqk0gk] {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.nav-group-toggle[aria-expanded="true"] .nav-chevron[b-9885cqk0gk] {
    transform: rotate(180deg);
}

.nav-group-toggle:hover .nav-chevron[b-9885cqk0gk],
.nav-group-toggle.active .nav-chevron[b-9885cqk0gk] {
    color: #ffffff;
}

.nav-submenu[b-9885cqk0gk] {
    display: grid;
    padding: 0 0 2px 30px;
}

.nav-list[b-9885cqk0gk]  .nav-sublink {
    min-height: 36px;
    gap: 9px;
    margin: 0;
    padding-right: 10px;
    padding-left: 11px;
    border-radius: 8px;
    font-size: 0.74rem;
}

.nav-list[b-9885cqk0gk]  .nav-sublink::before {
    left: -42px;
}

.nav-submenu-dot[b-9885cqk0gk] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7188a2;
}

.nav-list[b-9885cqk0gk]  .nav-sublink:hover .nav-submenu-dot,
.nav-list[b-9885cqk0gk]  .nav-sublink.active .nav-submenu-dot {
    background: #e94a58;
}

.nav-list[b-9885cqk0gk]  .nav-link::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: -12px;
    width: 3px;
    border-radius: 0 4px 4px 0;
    content: "";
    background: transparent;
}

.nav-list[b-9885cqk0gk]  .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.07);
}

.nav-list[b-9885cqk0gk]  .nav-link.active {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

.nav-list[b-9885cqk0gk]  .nav-link.active::before {
    background: #e12d3e;
}

.nav-icon[b-9885cqk0gk] {
    display: grid;
    flex: 0 0 19px;
    place-items: center;
    width: 19px;
    height: 19px;
    color: #8fa7c0;
}

.nav-list[b-9885cqk0gk]  .nav-link.active .nav-icon,
.nav-list[b-9885cqk0gk]  .nav-link:hover .nav-icon {
    color: #ffffff;
}

.nav-icon svg[b-9885cqk0gk] {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
}

.navigation-footer[b-9885cqk0gk] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 0 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: #8296ad;
    font-size: 0.65rem;
}

.status-dot[b-9885cqk0gk] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #43c78d;
    box-shadow: 0 0 0 4px rgba(67, 199, 141, 0.1);
}
/* _content/Redsotec.Pos.Web/Components/Pages/ActivateAccount.razor.rz.scp.css */
/* cod- 24-08-2026: Activación pública compacta y sin desbordamiento móvil. */
.activation-card[b-9lq3lfmket] { width:min(460px,100%); padding:34px; border:1px solid #dde5ee; border-radius:18px; background:#fff; box-shadow:0 20px 55px rgba(12,37,66,.12); color:#263b53; }
.activation-card header[b-9lq3lfmket] { margin-bottom:25px; text-align:center; }
.activation-card header img[b-9lq3lfmket] { width:46px; height:46px; margin-bottom:13px; object-fit:contain; }
.activation-card header p[b-9lq3lfmket] { margin:0 0 6px; color:#d62839; font-size:.65rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.activation-card h1[b-9lq3lfmket] { margin:0; color:#10243e; font-size:1.65rem; font-weight:820; letter-spacing:-.035em; }
.activation-card header span[b-9lq3lfmket] { display:block; margin-top:8px; color:#718096; font-size:.78rem; }
.activation-form[b-9lq3lfmket] { display:grid; gap:17px; }
.activation-form div[b-9lq3lfmket] { display:grid; gap:7px; }
.activation-form label[b-9lq3lfmket] { color:#344b64; font-size:.73rem; font-weight:760; }
.activation-form input[b-9lq3lfmket] { width:100%; height:45px; padding:0 12px; border:1px solid #d3dde7; border-radius:9px; outline:0; color:#182d45; background:#fafbfd; font-size:.82rem; }
.activation-form input:focus[b-9lq3lfmket] { border-color:#214b76; background:#fff; box-shadow:0 0 0 3px rgba(33,75,118,.11); }
.activation-button[b-9lq3lfmket] { display:flex; min-height:44px; align-items:center; justify-content:center; margin-top:3px; padding:0 16px; border:0; border-radius:9px; color:#fff; background:#d62839; box-shadow:0 8px 20px rgba(214,40,57,.2); font-size:.78rem; font-weight:800; text-decoration:none; cursor:pointer; }
.activation-button:hover[b-9lq3lfmket] { color:#fff; background:#bd2232; }
.activation-secondary[b-9lq3lfmket] { display:block; margin-top:17px; color:#294f73; font-size:.76rem; font-weight:750; text-align:center; }
.activation-result[b-9lq3lfmket] { display:grid; gap:5px; margin-bottom:17px; padding:13px 14px; border:1px solid; border-radius:10px; font-size:.75rem; }
.activation-result.success[b-9lq3lfmket] { border-color:#c8e6d7; color:#176747; background:#eff9f4; }
.activation-result.error[b-9lq3lfmket] { border-color:#efcbd0; color:#8c2833; background:#fff3f4; }
.activation-state[b-9lq3lfmket],.activation-help[b-9lq3lfmket] { color:#7b899a; font-size:.72rem; text-align:center; }
.activation-help[b-9lq3lfmket] { margin:18px 0 0; }
@media (max-width:480px) { .activation-card[b-9lq3lfmket] { padding:25px 19px; border-radius:14px; } .activation-card h1[b-9lq3lfmket] { font-size:1.45rem; } }
/* _content/Redsotec.Pos.Web/Components/Pages/Home.razor.rz.scp.css */
/* // cod- 11-08-2026: Presentación profesional y adaptable del Dashboard. */
.dashboard-page[b-dp03vbwitz] {
    width: 100%;
}

.dashboard-header[b-dp03vbwitz] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 25px;
}

.eyebrow[b-dp03vbwitz] {
    margin: 0 0 5px;
    color: #d62839;
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.dashboard-header h1[b-dp03vbwitz] {
    margin: 0;
    color: #10243e;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 1.1;
}

.dashboard-header p:last-child[b-dp03vbwitz] {
    margin: 7px 0 0;
    color: #768296;
    font-size: 0.84rem;
}

.current-date[b-dp03vbwitz] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #e0e7ef;
    border-radius: 10px;
    color: #526277;
    background: #ffffff;
    font-size: 0.74rem;
    font-weight: 650;
    text-transform: capitalize;
}

.current-date svg[b-dp03vbwitz] {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #d62839;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.metrics-grid[b-dp03vbwitz] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.metric-card[b-dp03vbwitz] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    min-height: 116px;
    padding: 18px;
    border: 1px solid #e4e9f0;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(14, 36, 64, 0.045);
}

.metric-icon[b-dp03vbwitz] {
    display: grid;
    flex: 0 0 42px;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #d62839;
    background: #fff0f2;
}

.metric-icon svg[b-dp03vbwitz],
.summary-heading-icon svg[b-dp03vbwitz],
.empty-icon svg[b-dp03vbwitz] {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.metric-copy[b-dp03vbwitz] {
    display: grid;
    min-width: 0;
}

.metric-copy span[b-dp03vbwitz] {
    overflow: hidden;
    color: #6b788b;
    font-size: 0.71rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.metric-copy strong[b-dp03vbwitz] {
    overflow: hidden;
    margin-top: 4px;
    color: #10243e;
    font-size: 1.4rem;
    font-weight: 820;
    letter-spacing: -0.035em;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.metric-copy small[b-dp03vbwitz] {
    margin-top: 4px;
    color: #9aa4b2;
    font-size: 0.62rem;
}

.metric-blue .metric-icon[b-dp03vbwitz] { color: #2469a8; background: #edf6ff; }
.metric-navy .metric-icon[b-dp03vbwitz] { color: #193b63; background: #edf2f8; }
.metric-slate .metric-icon[b-dp03vbwitz] { color: #5e6c7f; background: #f0f3f6; }
.metric-green .metric-icon[b-dp03vbwitz] { color: #19835d; background: #eaf8f2; }
.metric-warning .metric-icon[b-dp03vbwitz] { color: #b46b09; background: #fff4df; }
.metric-purple .metric-icon[b-dp03vbwitz] { color: #6b55a4; background: #f3effc; }
.metric-orange .metric-icon[b-dp03vbwitz] { color: #b85b20; background: #fff1e8; }
.metric-cyan .metric-icon[b-dp03vbwitz] { color: #167b8d; background: #e9f7f9; }

.summary-grid[b-dp03vbwitz] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
    gap: 15px;
    margin-top: 18px;
}

.summary-card[b-dp03vbwitz] {
    min-width: 0;
    min-height: 225px;
    border: 1px solid #e4e9f0;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(14, 36, 64, 0.045);
}

.summary-card > header[b-dp03vbwitz] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 17px 19px;
    border-bottom: 1px solid #edf0f4;
}

.summary-heading-icon[b-dp03vbwitz] {
    display: grid;
    flex: 0 0 34px;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    color: #294c73;
    background: #edf3f9;
}

.summary-heading-icon svg[b-dp03vbwitz] {
    width: 17px;
    height: 17px;
}

.summary-card h2[b-dp03vbwitz] {
    margin: 0;
    color: #1b2d44;
    font-size: 0.86rem;
    font-weight: 780;
}

.summary-card header p[b-dp03vbwitz] {
    margin: 3px 0 0;
    color: #8a95a5;
    font-size: 0.66rem;
}

.empty-state[b-dp03vbwitz] {
    display: grid;
    place-items: center;
    padding: 28px 20px;
    color: #738094;
    text-align: center;
}

.empty-icon[b-dp03vbwitz] {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    border-radius: 12px;
    color: #8797aa;
    background: #f1f4f7;
}

.empty-state strong[b-dp03vbwitz],
.inventory-status strong[b-dp03vbwitz] {
    color: #425167;
    font-size: 0.78rem;
}

.empty-state p[b-dp03vbwitz],
.inventory-status p[b-dp03vbwitz] {
    margin: 5px 0 0;
    color: #909baa;
    font-size: 0.69rem;
    line-height: 1.5;
}

.inventory-status[b-dp03vbwitz] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 24px 19px;
    padding: 14px;
    border: 1px solid #ccebdc;
    border-radius: 11px;
    background: #f0faf5;
}

.status-symbol[b-dp03vbwitz] {
    display: grid;
    flex: 0 0 24px;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: #ffffff;
    background: #24936b;
    font-size: 0.72rem;
    font-weight: 850;
}

.inventory-status.needs-attention[b-dp03vbwitz] {
    border-color: #f0d59c;
    background: #fff8e9;
}

.inventory-status.needs-attention .status-symbol[b-dp03vbwitz] {
    background: #c57b14;
}

.loading-panel[b-dp03vbwitz],
.dashboard-error[b-dp03vbwitz] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    border: 1px solid #e3e9f0;
    border-radius: 15px;
    color: #657489;
    background: #ffffff;
    font-size: 0.8rem;
}

.loading-spinner[b-dp03vbwitz] {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    border: 2px solid #dfe6ee;
    border-top-color: #d62839;
    border-radius: 50%;
    animation: spin-b-dp03vbwitz 700ms linear infinite;
}

.dashboard-error[b-dp03vbwitz] {
    display: grid;
    gap: 4px;
    border-color: #f0cdd1;
    color: #8b2832;
    background: #fff5f6;
    text-align: center;
}

.dashboard-error span[b-dp03vbwitz] {
    color: #9b6570;
    font-size: 0.72rem;
}

@keyframes spin-b-dp03vbwitz {
    to { transform: rotate(360deg); }
}

@media (max-width: 1250px) {
    .metrics-grid[b-dp03vbwitz] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .dashboard-header[b-dp03vbwitz] {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .current-date[b-dp03vbwitz] {
        align-self: stretch;
        justify-content: center;
    }

    .summary-grid[b-dp03vbwitz] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 520px) {
    .metrics-grid[b-dp03vbwitz] {
        grid-template-columns: minmax(0, 1fr);
    }

    .metric-card[b-dp03vbwitz] {
        min-height: 102px;
    }
}
/* _content/Redsotec.Pos.Web/Components/Pages/Login.razor.rz.scp.css */
/* // cod- 10-08-2026: Presentación compacta, profesional y responsive del inicio de sesión. */
.login-page[b-sfsvhvg7v9] {
    --login-navy: #0b1f3a;
    --login-blue: #173b67;
    --login-red: #d62839;
    width: min(960px, 100%);
    height: min(600px, calc(100vh - 48px));
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    overflow: hidden;
    border: 1px solid rgba(11, 31, 58, 0.08);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 24px 65px rgba(11, 31, 58, 0.18);
}

.brand-panel[b-sfsvhvg7v9] {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 48px;
    color: #ffffff;
    background: linear-gradient(145deg, var(--login-navy) 0%, var(--login-blue) 100%);
}

.brand-panel[b-sfsvhvg7v9]::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: 0.13;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
    background-size: 34px 34px;
}

.brand-content[b-sfsvhvg7v9] {
    position: relative;
    z-index: 1;
    max-width: 360px;
}

.brand-mark[b-sfsvhvg7v9],
.mobile-brand-mark[b-sfsvhvg7v9] {
    /* // cod- 10-08-2026: El PNG contiene su propio fondo; se preserva su proporción sin capas adicionales. */
    display: inline-block;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(214, 40, 57, 0.3);
    object-fit: contain;
}

.brand-eyebrow[b-sfsvhvg7v9] {
    margin: 1.5rem 0 0.55rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.brand-content h1[b-sfsvhvg7v9] {
    margin: 0;
    font-size: 3rem;
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.brand-subtitle[b-sfsvhvg7v9] {
    margin: 0.7rem 0 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1rem;
    font-weight: 500;
}

.brand-divider[b-sfsvhvg7v9] {
    width: 46px;
    height: 3px;
    margin: 1.5rem 0;
    border-radius: 99px;
    background: var(--login-red);
}

.brand-description[b-sfsvhvg7v9] {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.88rem;
    line-height: 1.6;
}

.brand-decoration[b-sfsvhvg7v9] {
    position: absolute;
    right: -150px;
    bottom: -155px;
    width: 280px;
    height: 280px;
    border: 32px solid rgba(255, 255, 255, 0.055);
    border-radius: 50%;
}

/* cod- 12-10-2026: Identificador de versión anclado al borde inferior izquierdo del panel azul. */
.login-version[b-sfsvhvg7v9] {
    position: absolute;
    bottom: 18px;
    left: 24px;
    z-index: 2;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.035em;
    opacity: 0.72;
    white-space: nowrap;
}

.form-panel[b-sfsvhvg7v9] {
    /* cod- 28-08-2026: Reservar una fila para la firma, sin superponerla al formulario. */
    display: grid;
    grid-template-rows: minmax(min-content, 1fr) auto;
    gap: 24px;
    place-items: center;
    min-height: 0;
    overflow-y: auto;
    padding: 44px 24px 24px;
    background: #ffffff;
}

.login-card[b-sfsvhvg7v9] {
    width: calc(100% - 48px);
    max-width: 380px;
}

.mobile-brand[b-sfsvhvg7v9] {
    display: none;
}

.login-header[b-sfsvhvg7v9] {
    margin-bottom: 22px;
}

.section-label[b-sfsvhvg7v9] {
    margin: 0 0 0.45rem;
    color: var(--login-red);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

/* cod- 12-10-2026: Alinear el modo DEMO con el encabezado sin alterar el flujo responsive. */
.login-section-label[b-sfsvhvg7v9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 0.45rem;
}

.login-section-label .section-label[b-sfsvhvg7v9] {
    margin-bottom: 0;
}

.login-header h2[b-sfsvhvg7v9] {
    margin: 0;
    color: var(--login-navy);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.login-header p:last-child[b-sfsvhvg7v9] {
    margin: 0.4rem 0 0;
    color: #6a7687;
    font-size: 0.9rem;
}

.login-alert[b-sfsvhvg7v9] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 14px;
    padding: 0.65rem 0.75rem;
    border: 1px solid #f4c8cd;
    border-radius: 10px;
    color: #8e1f2b;
    background: #fff2f3;
    font-size: 0.82rem;
    line-height: 1.35;
}

.login-alert span[b-sfsvhvg7v9] {
    display: grid;
    flex: 0 0 18px;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #ffffff;
    background: #c52b3a;
    font-size: 0.7rem;
    font-weight: 800;
}

.login-alert p[b-sfsvhvg7v9] {
    margin: 0;
}

.login-alert.success[b-sfsvhvg7v9] { border-color: #c8e6d7; color: #176747; background: #eff9f4; }
.login-alert.success span[b-sfsvhvg7v9] { background: #23845e; }

.login-alert svg[b-sfsvhvg7v9] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.login-form[b-sfsvhvg7v9] {
    display: grid;
    gap: 16px;
}

.field-group label[b-sfsvhvg7v9] {
    display: block;
    margin-bottom: 6px;
    color: #27364a;
    font-size: 0.82rem;
    font-weight: 700;
}

.password-label-row[b-sfsvhvg7v9] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.password-label-row label[b-sfsvhvg7v9] { margin-bottom: 6px; }
.password-label-row a[b-sfsvhvg7v9] { margin-bottom: 6px; color: #294f73; font-size: .72rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.password-label-row a:hover[b-sfsvhvg7v9] { color: var(--login-red); text-decoration: underline; }

.input-shell[b-sfsvhvg7v9] {
    position: relative;
}

.input-icon[b-sfsvhvg7v9] {
    position: absolute;
    top: 50%;
    left: 14px;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #758195;
    transform: translateY(-50%);
    pointer-events: none;
}

.input-icon svg[b-sfsvhvg7v9] {
    display: block;
    width: 18px;
    min-width: 18px;
    max-width: 18px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.input-shell input[b-sfsvhvg7v9] {
    width: 100%;
    height: 48px;
    box-sizing: border-box;
    padding: 0 14px 0 42px;
    border: 1px solid #ccd5e0;
    border-radius: 10px;
    outline: none;
    color: #17263b;
    background: #f9fbfd;
    font-family: inherit;
    font-size: 0.9rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.input-shell input[b-sfsvhvg7v9]::placeholder {
    color: #98a2b1;
}

.input-shell input:hover[b-sfsvhvg7v9] {
    border-color: #aab7c7;
}

.input-shell input:focus[b-sfsvhvg7v9] {
    border-color: var(--login-blue);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(23, 59, 103, 0.12);
}

/* cod- 12-10-2026: Control integrado para revelar la contraseña solo mientras permanece presionado. */
.password-shell input[b-sfsvhvg7v9] {
    padding-right: 50px;
}

.password-reveal[b-sfsvhvg7v9] {
    position: absolute;
    top: 50%;
    right: 5px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    color: #758195;
    background: transparent;
    cursor: pointer;
    touch-action: none;
    user-select: none;
    transform: translateY(-50%);
    transition: color 140ms ease, background-color 140ms ease;
}

.password-reveal:hover[b-sfsvhvg7v9] {
    color: var(--login-blue);
    background: rgba(23, 59, 103, 0.06);
}

.password-reveal:focus-visible[b-sfsvhvg7v9] {
    outline: 2px solid var(--login-blue);
    outline-offset: -2px;
}

.password-reveal:active[b-sfsvhvg7v9],
.password-reveal[aria-pressed="true"][b-sfsvhvg7v9] {
    color: var(--login-red);
    background: rgba(214, 40, 57, 0.08);
}

.password-reveal svg[b-sfsvhvg7v9] {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    pointer-events: none;
}

.login-button[b-sfsvhvg7v9] {
    width: 100%;
    height: 48px;
    margin-top: 2px;
    border: 0;
    border-radius: 10px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--login-red), #b91f30);
    box-shadow: 0 10px 24px rgba(214, 40, 57, 0.22);
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.login-button:hover[b-sfsvhvg7v9] {
    box-shadow: 0 13px 28px rgba(214, 40, 57, 0.28);
    transform: translateY(-1px);
}

.login-button:active[b-sfsvhvg7v9] {
    transform: translateY(0);
}

.login-footer[b-sfsvhvg7v9] {
    margin-top: 18px;
    color: #8a94a3;
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: center;
}

/* cod- 28-08-2026: Firma discreta con el mismo gris que el aviso de conexión protegida. */
.login-contact[b-sfsvhvg7v9] {
    width: 100%;
    color: #8a94a3;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
    overflow-wrap: anywhere;
}

.login-contact a[b-sfsvhvg7v9] {
    color: inherit;
    font: inherit;
    text-decoration: none;
}

.login-contact a:hover[b-sfsvhvg7v9] {
    color: #596170;
}

.login-contact a:focus-visible[b-sfsvhvg7v9] {
    outline: 1px solid currentColor;
    outline-offset: 2px;
}

@media (max-width: 820px) {
    .login-page[b-sfsvhvg7v9] {
        width: min(480px, 100%);
        height: auto;
        min-height: 0;
        display: block;
    }

    .brand-panel[b-sfsvhvg7v9] {
        display: none;
    }

    .form-panel[b-sfsvhvg7v9] {
        padding: 32px 32px 24px;
    }

    .login-card[b-sfsvhvg7v9] {
        width: 100%;
    }

    .mobile-brand[b-sfsvhvg7v9] {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 24px;
    }

    .mobile-brand-mark[b-sfsvhvg7v9] {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        border-radius: 11px;
        font-size: 1.2rem;
    }

    .mobile-brand strong[b-sfsvhvg7v9] {
        display: block;
        color: var(--login-navy);
        font-size: 0.95rem;
        font-weight: 800;
        line-height: 1.1;
    }
}

@media (max-width: 480px) {
    .login-page[b-sfsvhvg7v9] {
        border-radius: 18px;
    }

    .form-panel[b-sfsvhvg7v9] {
        padding: 26px 20px 24px;
    }

    .mobile-brand[b-sfsvhvg7v9] {
        margin-bottom: 20px;
    }

    .login-header[b-sfsvhvg7v9] {
        margin-bottom: 20px;
    }

    .login-header h2[b-sfsvhvg7v9] {
        font-size: 1.8rem;
    }
}

@media (min-width: 821px) and (max-height: 650px) {
    .login-page[b-sfsvhvg7v9] {
        height: calc(100vh - 32px);
        min-height: 0;
    }

    .brand-panel[b-sfsvhvg7v9] {
        padding: 36px 42px;
    }

    .brand-description[b-sfsvhvg7v9] {
        display: none;
    }

    .form-panel[b-sfsvhvg7v9] {
        padding-top: 30px;
        padding-bottom: 24px;
    }
}
/* _content/Redsotec.Pos.Web/Components/Pages/ModulePlaceholder.razor.rz.scp.css */
/* // cod- 11-08-2026: Presentación consistente para rutas de módulos pendientes. */
.module-page[b-novahzxuyw] {
    display: grid;
    min-height: calc(100vh - 132px);
    place-items: center;
    align-content: center;
    padding: 40px 20px;
    border: 1px solid #e2e8ef;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 28px rgba(14, 36, 64, 0.045);
    text-align: center;
}

.module-icon[b-novahzxuyw] {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    color: #d62839;
    background: #fff0f2;
}

.module-icon svg[b-novahzxuyw] {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.module-label[b-novahzxuyw] {
    margin: 18px 0 5px;
    color: #d62839;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.module-page h1[b-novahzxuyw] {
    margin: 0;
    color: #10243e;
    font-size: 2rem;
    letter-spacing: -0.04em;
}

.module-page > p:last-of-type[b-novahzxuyw] {
    max-width: 450px;
    margin: 10px 0 20px;
    color: #788497;
    font-size: 0.82rem;
}

.module-page a[b-novahzxuyw] {
    padding: 10px 15px;
    border-radius: 9px;
    color: #ffffff;
    background: #12365e;
    font-size: 0.76rem;
    font-weight: 750;
    text-decoration: none;
}
/* _content/Redsotec.Pos.Web/Components/Pages/RolesPermissions.razor.rz.scp.css */
/* cod- 25-08-2026: Roles y permisos en el patrón administrativo unificado. */
.roles-page[b-hxldgf8c40]{width:100%;color:#172a42}.roles-header[b-hxldgf8c40]{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}.roles-header p[b-hxldgf8c40],.permissions-panel>header p[b-hxldgf8c40]{margin:0 0 5px;color:#d62839;font-size:.64rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.roles-header h1[b-hxldgf8c40]{margin:0;color:#10243e;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:820;letter-spacing:-.04em}.roles-header span[b-hxldgf8c40]{display:block;margin-top:6px;color:#748196;font-size:.8rem}.roles-button[b-hxldgf8c40]{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 14px;border:1px solid transparent;border-radius:9px;font-size:.73rem;font-weight:780;cursor:pointer}.roles-button.primary[b-hxldgf8c40]{color:#fff;background:#d62839;box-shadow:0 7px 18px rgba(214,40,57,.18)}.roles-button.secondary[b-hxldgf8c40]{border-color:#dbe3ec;color:#29445f;background:#fff}.roles-button:disabled[b-hxldgf8c40],.role-actions button:disabled[b-hxldgf8c40]{opacity:.55;cursor:not-allowed}.roles-notice[b-hxldgf8c40],.roles-form-error[b-hxldgf8c40]{margin-bottom:14px;padding:12px 14px;border:1px solid #cde9dc;border-radius:10px;color:#176747;background:#eff9f4;font-size:.74rem}.roles-notice.error[b-hxldgf8c40],.roles-form-error[b-hxldgf8c40]{border-color:#efcbd0;color:#8c2833;background:#fff3f4}.roles-form-error[b-hxldgf8c40]{margin:0 0 16px}.permission-notice[b-hxldgf8c40]{margin-top:-3px;margin-bottom:17px}.roles-panel[b-hxldgf8c40]{overflow:hidden;border:1px solid #e1e7ef;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(14,36,64,.045)}.roles-table-wrap[b-hxldgf8c40]{width:100%;overflow-x:auto}.roles-table[b-hxldgf8c40]{width:100%;min-width:780px;border-collapse:collapse}.roles-table th[b-hxldgf8c40]{padding:12px 14px;border-bottom:1px solid #e6ebf1;color:#708095;background:#f8fafc;font-size:.63rem;font-weight:800;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}.roles-table td[b-hxldgf8c40]{padding:14px;border-bottom:1px solid #edf1f5;color:#384a60;font-size:.73rem;vertical-align:middle}.roles-table tr.selected[b-hxldgf8c40]{background:#f6f9fc}.roles-table .muted[b-hxldgf8c40]{max-width:310px;color:#7e8a9a}.role-name[b-hxldgf8c40]{display:grid;gap:3px}.role-name strong[b-hxldgf8c40]{color:#1d3048}.role-name small[b-hxldgf8c40]{color:#b42534;font-size:.6rem;font-weight:750;text-transform:uppercase}.role-status[b-hxldgf8c40]{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:.62rem;font-weight:760}.role-status.active[b-hxldgf8c40]{color:#15704f;background:#e8f7f0}.role-status.inactive[b-hxldgf8c40]{color:#7b5360;background:#f2edef}.role-actions[b-hxldgf8c40]{display:flex;justify-content:flex-end;gap:5px;white-space:nowrap}.role-actions button[b-hxldgf8c40]{padding:7px 9px;border:0;border-radius:7px;color:#2b587e;background:#eef5fb;font-size:.66rem;font-weight:750;cursor:pointer}.role-actions .danger[b-hxldgf8c40]{color:#a42a35;background:#fff0f2}.role-actions .success[b-hxldgf8c40]{color:#15704f;background:#eaf8f2}.roles-state[b-hxldgf8c40]{display:grid;min-height:210px;place-items:center;align-content:center;gap:6px;padding:28px;color:#7d899a;font-size:.78rem;text-align:center}.roles-state.denied[b-hxldgf8c40]{min-height:calc(100vh - 145px);border:1px solid #eadce0;border-radius:15px;background:#fff}.permissions-panel[b-hxldgf8c40]{margin-top:20px;padding:20px;border:1px solid #e1e7ef;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(14,36,64,.045)}.permissions-panel>header[b-hxldgf8c40]{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px;padding-bottom:16px;border-bottom:1px solid #ebeff4}.permissions-panel h2[b-hxldgf8c40]{margin:0;color:#18304b;font-size:1.2rem}.permissions-panel>header div>span[b-hxldgf8c40]{display:block;margin-top:4px;color:#7d899a;font-size:.7rem}.permission-actions[b-hxldgf8c40]{display:flex;align-items:center;gap:10px}.unsaved[b-hxldgf8c40]{padding:6px 9px;border-radius:99px!important;color:#8b5a09!important;background:#fff4d6;font-size:.64rem!important;font-weight:760}.permissions-readonly[b-hxldgf8c40]{margin-bottom:15px;padding:10px 12px;border:1px solid #d9e5f0;border-radius:9px;color:#416582;background:#f3f8fc;font-size:.7rem}.permission-groups[b-hxldgf8c40]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-group[b-hxldgf8c40]{min-width:0;border:1px solid #e2e8ef;border-radius:12px;background:#fbfcfe}.permission-group>header[b-hxldgf8c40]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e7ecf2}.permission-group h3[b-hxldgf8c40]{margin:0;color:#233c57;font-size:.79rem}.permission-group>header button[b-hxldgf8c40]{padding:4px 0;border:0;color:#2d5f86;background:transparent;font-size:.61rem;font-weight:760;cursor:pointer}.permission-group>header button:disabled[b-hxldgf8c40]{opacity:.5;cursor:not-allowed}.permission-group>div[b-hxldgf8c40]{display:grid;padding:8px}.permission-item[b-hxldgf8c40]{display:flex;align-items:flex-start;gap:10px;padding:9px;border-radius:8px;cursor:pointer}.permission-item:hover[b-hxldgf8c40]{background:#f3f7fa}.permission-item input[b-hxldgf8c40]{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:#d62839}.permission-item>span[b-hxldgf8c40]{display:grid;min-width:0;gap:3px}.permission-item strong[b-hxldgf8c40]{color:#324a63;font-size:.7rem}.permission-item small[b-hxldgf8c40]{color:#8190a2;font-size:.62rem;line-height:1.35}.permission-item em[b-hxldgf8c40]{color:#a52634;font-size:.59rem;font-style:normal;font-weight:760;text-transform:uppercase}.permission-item:has(input:disabled)[b-hxldgf8c40]{cursor:default;opacity:.72}.permission-item.required[b-hxldgf8c40]{background:#fff8f8}.admin-form-grid small[b-hxldgf8c40]{color:#8793a3;font-size:.62rem}.admin-form-grid input:disabled[b-hxldgf8c40]{color:#738194;background:#f0f3f6;cursor:not-allowed}
@media(max-width:900px){.permission-groups[b-hxldgf8c40]{grid-template-columns:1fr}}
@media(max-width:760px){.roles-header[b-hxldgf8c40],.permissions-panel>header[b-hxldgf8c40]{align-items:stretch;flex-direction:column}.roles-table[b-hxldgf8c40]{min-width:720px}.roles-table-wrap[b-hxldgf8c40]{overflow-x:auto;-webkit-overflow-scrolling:touch}.permission-actions[b-hxldgf8c40]{align-items:stretch;flex-direction:column}.permission-actions .roles-button[b-hxldgf8c40]{width:100%}}
@media(max-width:480px){.roles-header .roles-button[b-hxldgf8c40]{width:100%}.permissions-panel[b-hxldgf8c40]{padding:14px}.permission-group>header[b-hxldgf8c40]{align-items:flex-start;flex-direction:column}.permission-item[b-hxldgf8c40]{padding:10px 7px}}
/* _content/Redsotec.Pos.Web/Components/Pages/Users.razor.rz.scp.css */
/* cod- 24-08-2026: Administración de usuarios responsive en el lenguaje visual REDSOTEC. */
.users-page[b-qta80pxo0a] { width:100%; color:#172a42; }
.users-header[b-qta80pxo0a] { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:22px; }
.users-header p[b-qta80pxo0a] { margin:0 0 5px; color:#d62839; font-size:.64rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.users-header h1[b-qta80pxo0a] { margin:0; color:#10243e; font-size:clamp(1.7rem,3vw,2.3rem); font-weight:820; letter-spacing:-.04em; }
.users-header span[b-qta80pxo0a] { display:block; margin-top:6px; color:#748196; font-size:.8rem; }
.users-button[b-qta80pxo0a] { display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:0 14px; border:1px solid transparent; border-radius:9px; font-size:.73rem; font-weight:780; cursor:pointer; }
.users-button.primary[b-qta80pxo0a] { color:#fff; background:#d62839; box-shadow:0 7px 18px rgba(214,40,57,.18); }
.users-button.secondary[b-qta80pxo0a] { border-color:#dbe3ec; color:#29445f; background:#fff; }
.users-button:disabled[b-qta80pxo0a],.users-actions button:disabled[b-qta80pxo0a] { opacity:.58; cursor:not-allowed; }
.users-notice[b-qta80pxo0a],.users-form-error[b-qta80pxo0a] { margin-bottom:14px; padding:12px 14px; border:1px solid #cde9dc; border-radius:10px; color:#176747; background:#eff9f4; font-size:.74rem; }
.users-notice.error[b-qta80pxo0a],.users-form-error[b-qta80pxo0a] { border-color:#efcbd0; color:#8c2833; background:#fff3f4; }
.users-panel[b-qta80pxo0a] { overflow:hidden; border:1px solid #e1e7ef; border-radius:15px; background:#fff; box-shadow:0 7px 22px rgba(14,36,64,.045); }
.users-table-wrap[b-qta80pxo0a] { width:100%; overflow-x:auto; }
.users-table[b-qta80pxo0a] { width:100%; border-collapse:collapse; min-width:920px; }
.users-table th[b-qta80pxo0a] { padding:12px 14px; border-bottom:1px solid #e6ebf1; color:#708095; background:#f8fafc; font-size:.63rem; font-weight:800; letter-spacing:.05em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.users-table td[b-qta80pxo0a] { padding:14px; border-bottom:1px solid #edf1f5; color:#384a60; font-size:.73rem; vertical-align:middle; }
.users-table tbody tr:last-child td[b-qta80pxo0a] { border-bottom:0; }
.users-table strong[b-qta80pxo0a] { color:#1d3048; }
.users-pill[b-qta80pxo0a] { display:inline-flex; padding:5px 8px; border-radius:99px; font-size:.62rem; font-weight:760; white-space:nowrap; }
.users-pill.active[b-qta80pxo0a] { color:#15704f; background:#e8f7f0; }.users-pill.inactive[b-qta80pxo0a] { color:#7b5360; background:#f2edef; }.users-pill.pending[b-qta80pxo0a] { color:#94610b; background:#fff5dc; }
.users-actions[b-qta80pxo0a] { white-space:nowrap; }.users-actions button[b-qta80pxo0a] { padding:7px 9px; border:0; border-radius:7px; color:#2b587e; background:#eef5fb; font-size:.66rem; font-weight:750; cursor:pointer; }
.users-actions .danger[b-qta80pxo0a] { color:#a42a35; background:#fff0f2; }.users-actions .success[b-qta80pxo0a] { color:#15704f; background:#eaf8f2; }
.users-state[b-qta80pxo0a] { display:grid; min-height:210px; place-items:center; align-content:center; gap:6px; padding:28px; color:#7d899a; font-size:.78rem; text-align:center; }.users-state.denied[b-qta80pxo0a] { min-height:calc(100vh - 145px); border:1px solid #eadce0; border-radius:15px; background:#fff; }.users-state strong[b-qta80pxo0a] { color:#34475e; }.users-state span[b-qta80pxo0a] { color:#929cab; font-size:.7rem; }
.users-form-error[b-qta80pxo0a] { margin:0 0 16px; }
.users-form-grid small[b-qta80pxo0a] { color:#8793a3; font-size:.62rem; }.users-form-grid input:disabled[b-qta80pxo0a],.users-form-grid select:disabled[b-qta80pxo0a] { color:#738194; background:#f0f3f6; cursor:not-allowed; }
@media(max-width:760px){.users-header[b-qta80pxo0a]{align-items:stretch;flex-direction:column;gap:15px}.users-table[b-qta80pxo0a]{min-width:760px}.users-table-wrap[b-qta80pxo0a]{overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:480px){.users-header .users-button[b-qta80pxo0a]{width:100%}}
