/* Panel POS — estilos propios. Sin CDNs: Bootstrap y los iconos están
   vendorizados en public/vendor, igual que en el POS. */

:root {
    --panel-ink: #12203a;
    --panel-ink-soft: #1c2f52;
    --panel-accent: #2f6df6;
}

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* --- Barra superior ---------------------------------------------------- */
.panel-topbar {
    background: var(--panel-ink);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 2px 12px rgba(6, 16, 36, .18);
}

.panel-topbar .navbar-brand,
.panel-topbar .navbar-text {
    color: #fff;
}

.panel-topbar .nav-link {
    color: rgba(255, 255, 255, .72);
    border-radius: .375rem;
    padding-inline: .75rem;
}

.panel-topbar .nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.panel-topbar .nav-link.active {
    color: #fff;
    background: rgba(255, 255, 255, .14);
}

/* --- Login ------------------------------------------------------------- */
.panel-login {
    min-height: 100vh;
    background: linear-gradient(160deg, var(--panel-ink) 0%, var(--panel-ink-soft) 100%);
}

/* --- Tarjetas y tableros ------------------------------------------------ */
.panel-card {
    border: 1px solid rgba(18, 32, 58, .08);
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(18, 32, 58, .04);
}

.panel-stat {
    display: block;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.1;
}

.panel-stat-label {
    font-size: .8125rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6c757d;
}

/* Semáforo de salud: el punto de color es lo primero que se mira. */
.health-dot {
    display: inline-block;
    width: .625rem;
    height: .625rem;
    border-radius: 50%;
    vertical-align: middle;
}

.health-dot-ok { background: #198754; box-shadow: 0 0 0 3px rgba(25, 135, 84, .16); }
.health-dot-warning { background: #ffc107; box-shadow: 0 0 0 3px rgba(255, 193, 7, .18); }
.health-dot-down { background: #dc3545; box-shadow: 0 0 0 3px rgba(220, 53, 69, .18); }
.health-dot-secondary,
.health-dot-unknown { background: #adb5bd; box-shadow: 0 0 0 3px rgba(173, 181, 189, .18); }

.table-panel > :not(caption) > * > * {
    padding-block: .75rem;
}

.table-panel thead th {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6c757d;
    font-weight: 600;
}

/* Bloque para copiar el .env de enrolamiento. */
.enroll-box {
    background: #0f172a;
    color: #e2e8f0;
    border-radius: .5rem;
    padding: 1rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .8125rem;
    white-space: pre-wrap;
    word-break: break-all;
}
