/* ── Viandas Saludables — App CSS ── */

body {
    background-color: #f8f9fa;
    font-size: 0.925rem;
}

/* Navbar */
.navbar-brand { letter-spacing: 0.03em; }

.navbar .nav-link {
    color: rgba(255,255,255,0.92) !important;
    font-weight: 500;
    letter-spacing: 0.02em;
    padding: 0.5rem 0.85rem;
    border-radius: 0.4rem;
    transition: background 0.15s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
    background: rgba(255,255,255,0.18);
    color: #fff !important;
}
.navbar .nav-link.active {
    background: rgba(255,255,255,0.25);
    color: #fff !important;
}
.navbar .dropdown-toggle::after { opacity: 0.8; }

/* Layout de página */
.page-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.25rem 1rem;
}

/* Cards de estadísticas */
.stat-card {
    border-left: 4px solid;
    border-radius: 0.5rem;
}
.stat-card.pendientes { border-color: #ffc107; }
.stat-card.confirmados { border-color: #0dcaf0; }
.stat-card.vendido    { border-color: #198754; }
.stat-card.ganancia   { border-color: #6f42c1; }

/* Tabla de pedidos */
.table-pedidos th { white-space: nowrap; }
.table-pedidos td { vertical-align: middle; }

/* Badges */
.badge { font-size: 0.8em; }

/* Miniatura de vianda (listado admin) */
.vianda-thumb {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 0.4rem;
}

/* Placeholder cuando no hay imagen */
.vianda-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e9ecef;
    color: #adb5bd;
    font-size: 1.25rem;
}

/* Grilla de tarjetas de vianda (pedido del cliente) */
.vianda-card-img {
    width: 100%;
    height: 140px;
    object-fit: cover;
}
.vianda-card .qty-stepper input.inp-cantidad {
    -moz-appearance: textfield;
}
.vianda-card .qty-stepper input.inp-cantidad::-webkit-outer-spin-button,
.vianda-card .qty-stepper input.inp-cantidad::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Login / registro */
.auth-card { max-width: 440px; width: 100%; margin: auto; }

/* Impresión */
@media print {
    .navbar, .btn, .no-print { display: none !important; }
    .card { border: none !important; box-shadow: none !important; }
}

/* Responsivo — ajustes mobile */
@media (max-width: 576px) {
    .page-wrapper { padding: 0.75rem 0.5rem; }
    .stat-card .display-6 { font-size: 1.5rem; }
}
