html {
	position: relative;
	min-height: 100%;
	line-height: normal!important;
}
body {
	font-family: Onest, system-ui, sans-serif;
	font-size: 14px;
	overflow-x: hidden;
	font-weight: 400!important;
	color: #000000;
	background: #FFFFFF!important;
	line-height: normal!important;
	color: var(--texto-principal);
}


a				{ text-decoration: none; }
div.main		{ min-height: 450px; }
.row			{ margin: 0px !important; }

@media (min-width: 960px) 			{ .modal-lg, .modal-xl { max-width: 900px; }		}
@media (min-width: 992px) 			{ .modal-lg, .modal-xl { max-width: 900px; }		}
@media (min-width: 1200px) 			{ .modal-xl { max-width: 1140px; }					}

*::placeholder { color: #BBBBBB!important; }
label, .form-label		{ font-size:13px; font-weight: 400; color: #787878; margin: 2px 2px; }
select, input, textarea, select > option { border: 1px solid #999999; border-radius: 5px!important; font-family: Tahoma!important }
select.form-select, select > option, input.form-control, textarea.form-control  {
	font-family: Tahoma!important; font-size: 14px!important; border: 1px solid #999999; padding: 4px; }

.select2 { border: 1px solid #AAAAAA!important; border-radius: 5px!important; padding: 0px!important; }
.select2-selection__rendered { font-size: 14px!important; margin: 0px!important; }
.select2-results__option { font-size: 14px!important; padding: 3px 8px!important; }

.bg-sarasqueta { background: #794BFF; color: #FFFFFF;
	background: url('/assets/images/fondos/fondo-header.jpg') no-repeat center center!important;
	background-size: cover!important;
}
.btn-sarasqueta { background: #794BFF; color: #FFFFFF; }
.btn-sarasqueta:hover { background: #c8b6fa; color: #000000; }
.text-sarasqueta { color: #794BFF; }

.bg-pedido-activo { background: #c8b6fa; }

.show-password 	{   cursor: pointer }


.requerido-rojo, select.requerido-rojo		{ border-bottom: 1px solid #ff0000!important; background: #fFFAFA; }

.requerido, .requerido-numerico, .requerido-extension, .requerido-email {  }

.selectpicker-gris 		{ color: #343a40; background-color: #FFFFFF; border-color: #999999; }
.selectpicker-gris:hover { background-color: #FFFFFF; }
.selectpicker-gris:focus, .selectpicker-gris.focus { box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); }

.selectpicker { color: #AAAAAA; background: #FFFFFF!important; }

.dropdown-365 .dropdown-menu	{ background: #6699CC; padding: 0px; }
.dropdown-365 .dropdown-item 	{ padding: 3px 6px; color: #FFFFFF; border-bottom: dotted #000000 1px!important; }
.dropdown-365 .fa 				{ font-size: 13px; width: 25px; text-align: center; }

.responsive-table { display: inline-block; min-width: 100%; box-sizing: border-box; }
.responsive-table > table { width: 100%; border-collapse: collapse; }

@media print {
	.no-printer { display:none }
	.bg-gris	{ background: #CCCCCC!important; -webkit-print-color-adjust: exact;  }
}

.table-small	{ font-size: 14px!important; }
.table-small td { padding: 0.4rem!important; vertical-align: middle!important;  }

.table-xsmall	{ font-size: 14px!important;; }
.table-xsmall td { padding: 0.2rem!important; vertical-align: middle!important; }

thead.head-365-datatable th { font-size: 15px!important; text-transform: uppercase; color: #FFFFFF;
		background: #002244; background: linear-gradient(#225588,#002244);
		padding: 15px 10px;
	background: url('/assets/images/fondos/fondo-header.jpg') no-repeat center center!important;
	background-size: cover!important;
}

.modal-header { font-size: 13px!important; color: #FFFFFF;
	background: url('/assets/images/fondos/fondo-header.jpg') no-repeat center center!important;
	background-size: cover!important;
}

.row .campo		{ padding: 8px 6px; }




/* BARRA */

.navbar {
	font-family: Onest, system-ui, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #FFFFFF!important;
	background: url('/assets/images/fondos/fondo-header.jpg') no-repeat center center!important;
	background-size: cover!important;
	transition: all 0.5s;
}
.navbar li.nav-item					{ padding: 8px; }
.navbar a.nav-link					{ color: #FFFFFF!important; padding: 10px; border-bottom: 2px solid transparent; transition: all 0.3s; }
.navbar a.nav-link:hover			{ border-bottom: 2px #FFFFFF solid; border-radius: 8px; }
.navbar i							{ font-size: 14px; }

.navbar-brand				{ margin: 0px; padding: 0px;  }
.navbar-brand img			{ margin: 0px 20px; transition: all 0.5s; height: 45px; XXXXfilter: drop-shadow(2px 2px 3px rgba(200, 200, 200, 1)); }

li.dropdown .dropdown-menu		{ background: #EEEEEE; color: #794BFF; font-size: 15px; text-transform: none; padding: 0px; border: 1px #CCCCCC solid; }
li.dropdown .dropdown-menu a	{ color: #333333; font-size: 14px; padding: 8px 12px; border-bottom: dotted #000000 1px; }
li.dropdown .dropdown-menu a:hover	{ background: #FFFFFF; }

@media (max-width: 668px) {
	.navbar 							{ font-size: 17px; }
	.navbar ul.navbar-nav				{ background: #794BFF; }
	.navbar li.nav-item					{ padding: 0px; padding-left: 30px; border-bottom: 1px dotted #DDDDDD; }
	.navbar li.nav-item:first-child		{ margin-top: 10px; }
	.navbar li.nav-item:last-child		{ border-bottom: none; }
	.navbar a.nav-link					{ padding: 5px; border-bottom: none; transition: all 0.3s; }
	.navbar a.nav-link:hover			{ border-bottom: none; }

	.navbar-brand img					{ height: 40px; }
}

.navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-toggler { border-color: #FFFFFF!important; }










/* ============================================
   FOOTER
============================================ */
#footer {
    background: #794BFF;
    background: url('/assets/images/fondos/fondo-header.jpg') no-repeat center center !important;
    background-size: cover !important;
    border-top: 2px solid #CCCCCC;
    line-height: 1.4;
    padding-top: 0.5rem;        /* antes 1.5rem */
}
#footer, #footer p, #footer a {
    color: #fff;
    font-size: 13px;            /* antes 14px */
    font-weight: 400;
}

/* Cada bloque del footer */
.footer-bloque {
    padding: 0.4rem 0.5rem;     /* antes 1rem 0.5rem */
}

/* Logo */
.footer-logo {
    max-height: 34px;           /* antes 42px */
    width: auto;
}

/* Items de contacto */
.footer-item {
    display: flex;
    align-items: center;
    gap: 8px;                   /* antes 10px */
    margin-bottom: 4px;         /* antes 8px */
    font-size: 13px;            /* antes 14px */
}
.footer-item:last-child { margin-bottom: 0; }
.footer-item i {
    width: 16px;
    text-align: center;
    opacity: 0.85;
    font-size: 13px;
}
.footer-item a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
    transition: border-color 0.2s ease;
}
.footer-item a:hover { border-bottom-color: #fff; }

/* Redes como pills (más compactas) */
.footer-red {
    display: inline-flex;
    align-items: center;
    gap: 6px;                   /* antes 8px */
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;          /* antes 6px 14px */
    border-radius: 999px;
    font-size: 12px;            /* antes 13px */
    color: #fff;
    text-decoration: none;
    margin: 0 4px 4px 0;        /* antes 0 4px 6px 0 */
    transition: background 0.2s ease;
}
.footer-red:hover {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}
.footer-red i { font-size: 13px; }

/* Botón Manual */
.footer-btn-manual {
    display: inline-flex;
    align-items: center;
    gap: 6px;                   /* antes 8px */
    background: #fff;
    color: var(--violeta-medio) !important;
    padding: 6px 16px;          /* antes 9px 20px */
    border-radius: 999px;
    font-size: 12px;            /* antes 13px */
    font-weight: 600;
    text-decoration: none;
    border: none;
    transition: all 0.2s ease;
}
.footer-btn-manual:hover {
    background: var(--violeta-claro);
    color: var(--violeta-oscuro) !important;
    transform: translateY(-1px);
}

/* Barra de créditos */
.footer-creditos {
    background: var(--violeta-oscuro);
    color: #fff;
    text-align: center;
    padding: 6px 12px;          /* antes 10px 12px */
    font-size: 12px;            /* antes 12px */
    margin-top: 0.4rem;         /* antes 1rem */
}
.footer-creditos a {
    color: #FFFFFF;
    font-weight: 900;
    opacity: 0.9;
}
.footer-creditos a:hover { opacity: 1; }


@media (max-width: 668px) {
    .footer-bloque  { text-align: center; padding: 0.5rem 1rem; }
    .footer-item    { justify-content: center; }
    .footer-red     { margin: 0 4px 4px; }
}









/* ============================================
   VARIABLES DE COLOR (paleta institucional)
============================================ */
:root {
    --violeta-principal: #794BFF;  /* tu violeta institucional */
    --violeta-oscuro: #26215C;
    --violeta-medio: #3C3489;
    --violeta-claro: #EEEDFE;
    --violeta-claro-2: #c8b6fa;    /* el que ya usabas en .bg-pedido-activo */
    --texto-principal: #2C2C2A;
    --texto-secundario: #5F5E5A;
}

/* ============================================
   SECCIÓN DE PASOS (página de inicio)
============================================ */
.pasos-section          { padding: 1rem 0 2rem; }
.pasos-header           { margin-bottom: 1.75rem; }
.pasos-header h2        { font-size: 22px; font-weight: 600; color: var(--texto-principal); margin: 0 0 6px; }
.pasos-header p         { font-size: 14px; color: var(--texto-secundario); margin: 0; }

.pasos-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 2rem;
}

/* Línea punteada conectora */
.pasos-grid::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 12%;
    right: 12%;
    height: 2px;
    background: repeating-linear-gradient(to right, var(--violeta-claro-2) 0, var(--violeta-claro-2) 6px, transparent 6px, transparent 12px);
    z-index: 0;
}

.paso-card {
    position: relative;
    z-index: 1;
    background: #FFFFFF;
    border: 1px solid var(--violeta-claro);
    border-radius: 12px;
    padding: 18px 16px;
    transition: all 0.2s ease;
}
.paso-card:hover {
    border-color: var(--violeta-claro-2);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(121, 75, 255, 0.08);
}
.paso-card.activo {
    background: var(--violeta-claro);
    border: 2px solid var(--violeta-principal);
    padding: 17px 15px;
}

.paso-card-head         { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.paso-numero {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: var(--violeta-principal);
    color: #FFFFFF;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 15px;
    flex-shrink: 0;
}
.paso-card.activo .paso-numero  { box-shadow: 0 0 0 4px rgba(121, 75, 255, 0.18); }

.paso-icono             { font-size: 22px; color: var(--violeta-principal); }
.paso-titulo            { font-weight: 600; font-size: 15px; color: var(--violeta-oscuro); margin: 0 0 4px; }
.paso-descripcion       { font-size: 13px; color: var(--texto-secundario); line-height: 1.5; margin: 0; }
.paso-card.activo .paso-descripcion { color: var(--violeta-medio); }

@media (max-width: 900px) {
    .pasos-grid             { grid-template-columns: repeat(2, 1fr); }
    .pasos-grid::before     { display: none; }
}
@media (max-width: 500px) {
    .pasos-grid             { grid-template-columns: 1fr; }
}







/* ============================================
   STEPPER (barra de progreso de 4 pasos)
   Reutilizable en pasos 1, 2, 3 y 4
============================================ */
.stepper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--violeta-claro);
    flex-wrap: nowrap;
}
.stepper-item {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.stepper-item.pendiente { opacity: 0.5; }
.stepper-item.completado { opacity: 0.8; }

.stepper-numero {
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 12px;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    flex-shrink: 0;
}
.stepper-item.activo .stepper-numero,
.stepper-item.completado .stepper-numero {
    background: var(--violeta-principal);
    color: #fff;
}
.stepper-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--texto-secundario);
    white-space: nowrap;
}
.stepper-item.activo .stepper-label { color: var(--violeta-oscuro); font-weight: 600; }

.stepper-linea {
    flex: 1;
    height: 2px;
    min-width: 20px;
    background: repeating-linear-gradient(to right, var(--violeta-claro-2) 0, var(--violeta-claro-2) 4px, transparent 4px, transparent 8px);
}

@media (max-width: 700px) {
    .stepper-label { display: none; }
    .stepper-item { gap: 0; }
}


/* ============================================
   GRILLA DE MARCAS (paso 1)
============================================ */
.paso-titulo-h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--texto-principal);
    margin: 0 0 4px;
}
.paso-subtitulo {
    font-size: 13px;
    color: var(--texto-secundario);
    margin: 0 0 1.25rem;
}

.marcas-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
    margin-bottom: 1.5rem;
}
@media (max-width: 900px) { .marcas-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .marcas-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 400px) { .marcas-grid { grid-template-columns: repeat(2, 1fr); } }

.marca-card {
    position: relative;
    background: #fff;
    border: 2px solid #E5E5E5;
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}
.marca-card:hover {
    border-color: var(--violeta-claro-2);
    transform: translateY(-2px);
}
.marca-card.seleccionada {
    border-color: var(--violeta-principal);
    box-shadow: 0 4px 12px rgba(121, 75, 255, 0.15);
}
.marca-card .marca-check {
    position: absolute;
    top: 8px; right: 8px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--violeta-principal);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.marca-card.seleccionada .marca-check { display: flex; }

.marca-card img {
    max-height: 60px;
    width: auto;
    margin: 0 auto 8px;
    display: block;
}
.marca-card h6 {
    font-size: 12px;
    font-weight: 500;
    color: var(--violeta-oscuro);
    margin: 0;
}


/* ============================================
   BARRA INFERIOR (contador + botón siguiente)
============================================ */
.paso-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--violeta-claro);
    margin-top: 1.5rem;
    gap: 12px;
    flex-wrap: wrap;
}
.paso-footer-info {
    font-size: 13px;
    color: var(--texto-secundario);
}
.paso-footer-info strong {
    font-weight: 600;
    color: var(--violeta-principal);
}










/* ============================================
   PASO 2 - PRODUCTOS
============================================ */

/* Filtros compactos */
.filtros-box {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 1rem;
}
.filtros-box label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin: 0 0 2px;
    display: block;
    font-weight: 500;
}
.filtros-box .form-select,
.filtros-box .form-control {
    padding: 5px 8px !important;
    font-size: 13px !important;
    font-family: Onest, system-ui, sans-serif !important;
    height: auto;
}

/* Encabezado de Marca */
.marca-header {
    background: linear-gradient(135deg, var(--violeta-medio), var(--violeta-principal));
    color: #fff;
    padding: 14px 14px;
    border-radius: 8px;
    margin: 14px 0 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
}
.marca-header .marca-count {
    font-size: 11px;
    background: rgba(255,255,255,0.2);
    padding: 2px 10px;
    border-radius: 999px;
    font-weight: 500;
}

/* Encabezado de Categoría */
/* Encabezado de Categoría — fondo un poco más oscuro */
.categ-header {
    background: var(--violeta-principal);  /* antes era --violeta-claro */
    color: var(--violeta-claro);
    padding: 12px 14px;
    border-radius: 6px;
    margin: 8px 0 4px;
    font-weight: 500;
    font-size: 13px;
}

/* Header de columnas */
.prod-thead {
    display: grid;
    grid-template-columns: 110px 1fr 100px 90px 70px 90px;
    gap: 8px;
    padding: 6px 12px;
    font-size: 11px;
    color: var(--texto-secundario);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}
.prod-thead .col-center { text-align: center; }

/* Fila de producto */
.prod-row {
    display: grid;
    grid-template-columns: 110px 1fr 100px 90px 70px 90px;
    gap: 8px;
    padding: 8px 12px;
    background: #fff;
    XXXborder: 1px solid #F0F0F0;
    border-radius: 8px;
    XXXmargin-bottom: 0px;
    align-items: center;
    font-size: 13px;
    transition: all 0.15s ease;
}
.prod-row:hover { border-color: var(--violeta-claro-2); }

.prod-row.activa {
    background: var(--violeta-claro);
    border-color: var(--violeta-principal);
}
.prod-row .col-center { text-align: center; }

.prod-codigo {
    color: var(--violeta-oscuro);
    font-weight: 500;
    font-size: 12px;
}
.prod-nombre   { color: var(--texto-principal); }
.prod-lote     { color: var(--texto-secundario); font-size: 12px; }
.prod-stock    { font-weight: 600; }

/* Vencimiento — sin estilos especiales, igual para todos */
.prod-venc {
    color: var(--texto-secundario);
    font-size: 13px;
}

/* Select de cantidad estilizado */
.prod-row .form-select {
    padding: 4px 22px 4px 8px !important;
    font-size: 13px !important;
    text-align: center;
    font-family: Onest, sans-serif !important;
    border-radius: 6px !important;
    height: auto;
}
.prod-row.activa .form-select {
    border-color: var(--violeta-principal) !important;
    color: var(--violeta-oscuro);
    font-weight: 600;
}

.prod-thead,
.prod-row {
    grid-template-columns: 110px 1fr 140px 100px 70px 90px;
}

/* Responsive del listado */
@media (max-width: 800px) {
    .prod-thead     { display: none; }
    .prod-row {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        padding: 10px;
    }
    .prod-row .prod-codigo  { grid-column: 1 / 3; font-size: 11px; }
    .prod-row .prod-nombre  { grid-column: 1 / 3; font-weight: 500; }
}


/* ============================================
   CARRITO FLOTANTE
============================================ */
.carrito-flota {
    position: fixed;
    top: 110px;
    right: 0;
    background: var(--violeta-principal);
    color: #fff;
    padding: 12px 16px;
    border-radius: 12px 0 0 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: -4px 4px 16px rgba(121, 75, 255, 0.3);
    cursor: pointer;
    z-index: 1000;
    transition: all 0.2s ease;
    min-width: 150px;
}
.carrito-flota:hover { transform: translateX(-4px); }
.carrito-flota .carrito-icon {
    font-size: 22px;
}
.carrito-flota .carrito-label {
    font-size: 11px;
    opacity: 0.85;
    line-height: 1.2;
}
.carrito-flota .carrito-total {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
}

/* Carrito de abajo (resumen al final de la página) */
.carrito-resumen {
    background: #fff;
    border: 1px solid var(--violeta-claro);
    border-radius: 12px;
    padding: 16px;
    margin: 1.5rem 0;
}
.carrito-resumen-titulo {
    font-size: 15px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0 0 12px;
}
.carrito-item {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12px;
}
.carrito-item .ci-codigo {
    font-family: 'Courier New', monospace;
    color: var(--violeta-principal);
    font-weight: 600;
    font-size: 11px;
}
.carrito-item .ci-nombre {
    color: var(--texto-principal);
    margin: 2px 0;
    font-weight: 500;
}
.carrito-item .ci-cantidad {
    color: var(--violeta-oscuro);
    font-weight: 600;
}






/* Botón Volver (secundario) */
.btn-volver {
    background: #fff;
    color: var(--violeta-principal);
    border: 1px solid var(--violeta-claro-2);
    font-family: Onest, sans-serif;
    font-weight: 500;
    transition: all 0.2s ease;
}
.btn-volver:hover {
    background: var(--violeta-claro);
    color: var(--violeta-oscuro);
    border-color: var(--violeta-principal);
}








/* ============================================
   PASO 3 - DESTINATARIO / DIRECCIÓN / FECHA
============================================ */

/* Caja de cada sección (destinatario, dirección, fecha) */
.seccion-box {
    background: #fff;
    border: 2px solid #E5E5E5;
    border-radius: 12px;
    padding: 16px;
    height: 100%;
    transition: all 0.2s ease;
}
.seccion-box.activa {
    border-color: var(--violeta-principal);
    box-shadow: 0 4px 12px rgba(121, 75, 255, 0.08);
}
.seccion-box.deshabilitada {
    background: #FAFAFA;
    opacity: 0.55;
    pointer-events: none;
}

/* Header de cada caja: número + título */
.seccion-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.seccion-numero {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    flex-shrink: 0;
}
.seccion-box.activa .seccion-numero {
    background: var(--violeta-principal);
    color: #fff;
}
.seccion-titulo {
    font-size: 15px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0;
}
.seccion-box.deshabilitada .seccion-titulo { color: var(--texto-secundario); }

/* Mini-tarjeta de resultado (datos del destinatario / dirección) */
.seccion-datos {
    background: #FAFAFA;
    border-radius: 8px;
    padding: 10px 12px;
    margin-top: 10px;
    font-size: 12px;
}
.seccion-datos .dato-label {
    color: var(--texto-secundario);
    font-size: 11px;
    margin-top: 4px;
}
.seccion-datos .dato-label:first-child { margin-top: 0; }
.seccion-datos .dato-valor {
    color: var(--violeta-oscuro);
    font-weight: 500;
    margin-bottom: 4px;
}

/* Info-box (mensajes de horario, anticipación, etc.) */
.info-box {
    background: #E6F1FB;
    border-left: 3px solid #185FA5;
    color: #0C447C;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    margin: 1rem 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.info-box i { margin-top: 2px; }


/* Resumen de productos (card al final del paso 3) */
.resumen-productos {
    background: #fff;
    border: 1px solid var(--violeta-claro);
    border-radius: 12px;
    padding: 16px;
    margin: 1.5rem 0;
}
.resumen-productos h4 {
    font-size: 15px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.resumen-productos h4 .badge-unidades {
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 500;
}
.resumen-prod-item {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 10px;
    height: 100%;
}
.resumen-prod-item .rp-codigo {
    font-family: 'Courier New', monospace;
    color: var(--violeta-principal);
    font-size: 11px;
    font-weight: 600;
}
.resumen-prod-item .rp-nombre {
    color: var(--texto-principal);
    margin: 4px 0;
    font-size: 13px;
    font-weight: 500;
}
.resumen-prod-item .rp-cantidad {
    color: var(--violeta-oscuro);
    font-weight: 600;
    font-size: 12px;
}


/* ============================================
   MODALES (nuevo destinatario / nueva dirección)
============================================ */
.modal-sarasqueta .modal-content {
    border: none;
    border-radius: 14px;
    overflow: hidden;
}
.modal-sarasqueta .modal-header {
    background: var(--violeta-principal) !important;
    color: #fff !important;
    border: none;
    padding: 14px 20px !important;
}
.modal-sarasqueta .modal-header .modal-title {
    font-family: Onest, sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #fff;
}
.modal-sarasqueta .modal-body {
    padding: 20px;
    font-family: Onest, sans-serif;
}
.modal-sarasqueta .modal-footer {
    border-top: 1px solid var(--violeta-claro);
    padding: 12px 20px;
    background: #FAFAFA;
}
.modal-sarasqueta label {
    font-size: 12px;
    color: var(--texto-secundario);
    margin-bottom: 4px;
    font-weight: 500;
}

/* Caja lateral de dirección dentro del modal */
.modal-dire-resultado {
    background: var(--violeta-claro);
    border-radius: 8px;
    padding: 12px;
}
.modal-dire-resultado small {
    color: var(--violeta-medio);
    font-weight: 500;
}

/* Mapa */
#map {
    width: 100% !important;
    height: 380px;
    border-radius: 8px;
    border: 1px solid var(--violeta-claro-2);
}
.pac-container { z-index: 2000 !important; }








/* ============================================
   PASO 4 - REVISIÓN Y CONFIRMACIÓN
============================================ */

/* Sección de revisión: encabezado con título + contador */
.revision-encabezado {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 12px;
    flex-wrap: wrap;
    gap: 8px;
}
.revision-encabezado h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0;
}
.revision-encabezado .resumen-info {
    font-size: 13px;
    color: var(--texto-secundario);
}
.revision-encabezado .resumen-info strong {
    font-weight: 600;
    color: var(--violeta-principal);
}

/* Caja de datos (destinatario, dirección, entrega) */
.revision-box {
    background: #fff;
    border: 1px solid var(--violeta-claro);
    border-radius: 12px;
    padding: 14px;
    height: 100%;
}
.revision-box-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.revision-box-icon {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
}
.revision-box-titulo {
    font-size: 14px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0;
    flex: 1;
}

/* Badge "Nueva" para destinatario/dirección nueva */
.badge-nuevo {
    background: #EAF3DE;
    color: #3B6D11;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Pares label/valor dentro de las cajas */
.dato-label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin: 0 0 2px;
}
.dato-valor {
    font-size: 13px;
    color: var(--violeta-oscuro);
    font-weight: 500;
    margin: 0 0 10px;
    word-break: break-word;
}
.dato-valor:last-child { margin-bottom: 0; }


/* Alerta sin stock (más amable que la actual) */
.sin-stock-box {
    background: #FCEBEB;
    border: 1px solid #F7C1C1;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    margin: 2rem auto;
    max-width: 600px;
}
.sin-stock-box .sin-stock-icon {
    font-size: 32px;
    color: #A32D2D;
    margin-bottom: 8px;
}
.sin-stock-box h6 {
    font-size: 16px;
    font-weight: 600;
    color: #501313;
    margin: 0 0 6px;
}
.sin-stock-box p {
    font-size: 13px;
    color: #791F1F;
    margin: 0 0 14px;
}


/* Botón verde de confirmación final */
.btn-confirmar {
    background: #639922;
    color: #fff;
    border: none;
    padding: 10px 28px;
    border-radius: 999px;
    font-family: Onest, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(99, 153, 34, 0.25);
    transition: all 0.2s ease;
}
.btn-confirmar:hover {
    background: #3B6D11;
    box-shadow: 0 6px 16px rgba(99, 153, 34, 0.35);
    color: #fff;
}
.btn-confirmar:active { transform: scale(0.98); }










/* ============================================
   MODALES GLOBALES (compactos y consistentes)
============================================ */

/* Aplica a TODOS los modales del sistema */
.modal-content {
    border: 2px solid var(--violeta-claro-2) !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(121, 75, 255, 0.15);
}

/* Header violeta institucional */
.modal-header {
    background: var(--violeta-principal) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 18px !important;
}
.modal-header .modal-title {
    font-family: Onest, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #fff !important;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.modal-header .btn-close {
    filter: invert(1) brightness(2);
    opacity: 0.8;
    padding: 6px;
}
.modal-header .btn-close:hover { opacity: 1; }

/* Cuerpo */
.modal-body {
    padding: 18px !important;
    font-family: Onest, sans-serif;
    font-size: 13px;
    color: var(--texto-principal);
}

/* Footer (gris claro) */
.modal-footer {
    background: #FAFAFA !important;
    border-top: 1px solid var(--violeta-claro) !important;
    padding: 10px 18px !important;
    gap: 8px;
}

/* Botón "Cerrar" del footer (reemplaza el link gris) */
.modal-footer .btn-cerrar-modal {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    color: var(--violeta-principal);
    border: 1px solid var(--violeta-claro-2);
    padding: 5px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}
.modal-footer .btn-cerrar-modal:hover {
    background: var(--violeta-claro);
    color: var(--violeta-oscuro);
    border-color: var(--violeta-principal);
}


/* ============================================
   WebMsgModal (alertas chicas: error/éxito/cargando)
============================================ */
#WebMsgModal .modal-body {
    padding: 28px 20px 20px !important;
    text-align: center;
    min-height: auto;
}
#WebMsgModal .modal-body .icono-alerta {
    font-size: 32px;
    display: block;
    margin-bottom: 12px;
}
#WebMsgModal .modal-body .mensaje-alerta {
    font-size: 14px;
    color: var(--texto-principal);
    line-height: 1.5;
}

/* Colores específicos según tipo */
#WebMsgModal .icono-alerta.tipo-alerta    { color: #E24B4A; }
#WebMsgModal .icono-alerta.tipo-exito     { color: #639922; }
#WebMsgModal .icono-alerta.tipo-cargando  { color: var(--violeta-principal); }


/* ============================================
   Sobrescritura para SQPedidoModal (modal de detalle de pedidos)
============================================ */
#SQPedidoModal .modal-body {
    min-height: 110px;
}









/* Banda de impersonación (informativa, no error) */
.alert-impersonado {
    background: #E6F1FB;
    color: #0C447C;
    border: none;
    border-bottom: 1px solid #B5D4F4;
    padding: 10px 16px !important;
    text-align: center;
    font-size: 13px;
    margin: 0 !important;
}
.alert-impersonado i { opacity: 0.8; }
.alert-impersonado b { color: #042C53; }











/* ============================================
   MIS PEDIDOS — tarjetas resumen + tablas
============================================ */

/* Encabezado de sección con buscador opcional */
.mis-pedidos-titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1.75rem 0 12px;
    gap: 12px;
    flex-wrap: wrap;
}
.mis-pedidos-titulo h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0;
}
.mis-pedidos-titulo .nota {
    font-size: 11px;
    color: #888;
}

/* Buscador rápido */
.buscador-tabla {
    position: relative;
}
.buscador-tabla input {
    padding: 6px 12px 6px 32px;
    border: 1px solid #DDD;
    border-radius: 999px;
    font-size: 12px;
    width: 240px;
    font-family: Onest, sans-serif;
}
.buscador-tabla input:focus {
    outline: none;
    border-color: var(--violeta-principal);
    box-shadow: 0 0 0 2px rgba(121, 75, 255, 0.15);
}
.buscador-tabla i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 12px;
}


/* Nro de pedido estilizado */
.ped-nro {
    font-family: 'Courier New', monospace;
    color: var(--violeta-principal);
    font-weight: 600;
}

/* Botón de acción en tabla */
.btn-tabla {
    background: #fff;
    color: var(--violeta-principal);
    border: 1px solid var(--violeta-claro-2);
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-family: Onest, sans-serif;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s ease;
    margin-left: 4px;
}
.btn-tabla:hover {
    background: var(--violeta-claro);
    color: var(--violeta-oscuro);
    border-color: var(--violeta-principal);
}

/* Candado para no aprobados */
.icono-lock {
    color: #BA7517;
    font-size: 12px;
}










/* ============================================
   STOCK DE PRODUCTOS
============================================ */

/* Barra de filtros compacta */
.stock-filtros {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 1rem;
    display: grid;
    grid-template-columns: 220px 1fr auto;
    gap: 10px;
    align-items: end;
}
.stock-filtros label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin-bottom: 2px;
    display: block;
    font-weight: 500;
}
.stock-filtros .form-select,
.stock-filtros .form-control {
    padding: 5px 8px !important;
    font-size: 12px !important;
    font-family: Onest, sans-serif !important;
    height: auto;
}

@media (max-width: 800px) {
    .stock-filtros {
        grid-template-columns: 1fr;
    }
}


/* Mini-resumen arriba de la tabla */
.stock-resumen {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--texto-secundario);
    flex-wrap: wrap;
    gap: 8px;
}
.stock-resumen strong {
    color: var(--violeta-principal);
    font-weight: 600;
}


/* Botón Exportar Excel (verde) */
.btn-excel {
    background: #639922;
    color: #fff;
    border: none;
    padding: 6px 18px;
    border-radius: 999px;
    font-family: Onest, sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s ease;
}
.btn-excel:hover {
    background: #3B6D11;
    color: #fff;
}


/* Header de categoría dentro de la tabla */
/* Header de categoría dentro de la tabla — más sólido y sin zebra */
.stock-categ-row td {
    background: var(--violeta-claro) !important;
    color: var(--violeta-oscuro) !important;
    font-weight: 600;
    font-size: 13px;
    padding: 10px 12px !important;
    border-top: 2px solid var(--violeta-claro-2) !important;
    border-bottom: 2px solid var(--violeta-claro-2) !important;
}
.stock-categ-row .categ-count {
    background: rgba(255, 255, 255, 0.7);
    color: var(--violeta-principal);
    font-size: 11px;
    padding: 2px 10px;
    border-radius: 999px;
    margin-left: 8px;
    font-weight: 500;
}

/* Anular el striped en filas de categoría */
.table-striped > tbody > tr.stock-categ-row > td,
.table-striped > tbody > tr.stock-categ-row:nth-of-type(odd) > td {
    background: var(--violeta-claro) !important;
}







/* ============================================
   DESTINATARIOS
============================================ */

/* Badge "Inactivo" (solo se muestra cuando aplica) */
.badge-inactivo {
    background: var(--violeta-claro);
    color: var(--violeta-medio);
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 500;
    font-size: 11px;
    display: inline-block;
}

/* Texto "(sin nombre)" para destinatarios sin nombre */
.sin-nombre {
    color: #888;
    font-style: italic;
}


/* ============================================
   MODAL DETALLE DESTINATARIO
============================================ */

/* Grid de pares label/valor */
.detalle-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}
.detalle-grid .dato-label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin-bottom: 2px;
}
.detalle-grid .dato-valor {
    font-size: 13px;
    color: var(--violeta-oscuro);
    font-weight: 500;
}

/* Subtítulo dentro del modal */
.detalle-subtitulo {
    font-size: 12px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 16px 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.detalle-subtitulo .badge-cantidad {
    font-size: 10px;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 500;
}

/* Marcas como pills */
.detalle-marcas {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}
.detalle-marca-pill {
    background: var(--violeta-claro);
    color: var(--violeta-oscuro);
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
}

/* Direcciones como cards */
.detalle-direccion {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 6px;
    font-size: 12px;
}
.detalle-direccion:last-child { margin-bottom: 0; }
.detalle-direccion .dire-principal {
    color: var(--violeta-oscuro);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
}
.detalle-direccion .dire-secundaria {
    color: var(--texto-secundario);
    font-size: 11px;
    margin-top: 2px;
    margin-left: 18px;
}









/* ============================================
   MIS DATOS
============================================ */

/* Card de sección (datos personales / marcas) */
.mis-datos-card {
    background: #fff;
    border: 1px solid var(--violeta-claro);
    border-radius: 12px;
    padding: 16px;
    height: 100%;
}
.mis-datos-card h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mis-datos-card h4 i { color: var(--violeta-principal); }
.mis-datos-card h4 .badge-cant {
    font-size: 10px;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 500;
    margin-left: auto;
}


/* Grilla de marcas dentro del perfil */
.marcas-grid-mini {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.marca-card-mini {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 8px;
    text-align: center;
}
.marca-card-mini img {
    max-height: 42px;
    width: auto;
    margin: 0 auto 4px;
    display: block;
}
.marca-card-mini .marca-nombre-mini {
    font-size: 11px;
    color: var(--violeta-oscuro);
    font-weight: 500;
}

@media (max-width: 500px) {
    .marcas-grid-mini { grid-template-columns: repeat(2, 1fr); }
}









/* ============================================
   CAMBIAR CONTRASEÑA
============================================ */

/* Contenedor centrado */
.cambiar-clave-wrap {
    max-width: 480px;
    margin: 0 auto;
}

/* Input con ícono de ojo a la derecha */
.input-clave {
    position: relative;
    margin-bottom: 16px;
}
.input-clave label {
    font-size: 12px;
    color: var(--texto-secundario);
    display: block;
    margin-bottom: 4px;
    font-weight: 500;
}
.input-clave input {
    width: 100%;
    padding: 8px 38px 8px 12px;
    border: 1px solid #DDD;
    border-radius: 8px;
    font-size: 13px;
    font-family: Onest, sans-serif;
}
.input-clave input:focus {
    outline: none;
    border-color: var(--violeta-principal);
    box-shadow: 0 0 0 2px rgba(121, 75, 255, 0.15);
}
.input-clave .show-password {
    position: absolute;
    right: 12px;
    top: 30px;
    color: #888;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
}
.input-clave .show-password:hover { color: var(--violeta-principal); }

/* Estados del campo repetir clave */
.input-clave.coincide input  { border-color: #639922; }
.input-clave.no-coincide input { border-color: #E24B4A; }
.input-clave .icono-match {
    position: absolute;
    right: 38px;
    top: 30px;
    font-size: 13px;
}
.input-clave.coincide .icono-match    { color: #639922; }
.input-clave.no-coincide .icono-match { color: #E24B4A; }

/* Mensaje de coincidencia debajo del input */
.match-msg {
    font-size: 11px;
    margin-top: 4px;
    display: none;
}
.match-msg.coincide    { color: #639922; display: block; }
.match-msg.no-coincide { color: #E24B4A; display: block; }


/* ============================================
   REQUISITOS DE CONTRASEÑA
============================================ */
.pswd-info {
    background: #FAFAFA;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 16px;
}
.pswd-info-titulo {
    font-size: 11px;
    color: var(--texto-secundario);
    margin-bottom: 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.pswd-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.pswd-info-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #888;
    transition: color 0.2s ease;
}
.pswd-info-item .pswd-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #DDD;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    flex-shrink: 0;
    transition: background 0.2s ease;
}
.pswd-info-item.valid {
    color: #3B6D11;
}
.pswd-info-item.valid .pswd-circle {
    background: #639922;
}

@media (max-width: 500px) {
    .pswd-info-grid { grid-template-columns: 1fr; }
}









/* ============================================
   DETALLE DE CAMPAÑA (modal)
============================================ */
.detalle-campana-header {
    background: var(--violeta-claro);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 2fr 1.5fr 1fr 1fr 1fr;
    gap: 16px;
}
.detalle-campana-header .dato-label {
    font-size: 10px;
    color: var(--violeta-medio);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 0 0 2px;
    font-weight: 500;
}
.detalle-campana-header .dato-valor {
    font-size: 13px;
    color: var(--violeta-oscuro);
    font-weight: 600;
    margin: 0;
}

.detalle-subtitulo-campana {
    font-size: 14px;
    font-weight: 600;
    color: var(--violeta-oscuro);
    margin: 20px 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.detalle-subtitulo-campana .badge-cantidad {
    font-size: 10px;
    background: var(--violeta-claro);
    color: var(--violeta-principal);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 500;
}

@media (max-width: 700px) {
    .detalle-campana-header {
        grid-template-columns: 1fr 1fr;
    }
}





/* ============================================
   DETALLE DE PEDIDO (modal)
============================================ */

/* Encabezado con datos generales */
.pedido-header {
    background: var(--violeta-claro);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 1fr 1.5fr 1.5fr 1.5fr;
    gap: 16px;
}
.pedido-header .dato-label {
    font-size: 10px;
    color: var(--violeta-medio);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 0 0 2px;
    font-weight: 500;
}
.pedido-header .dato-valor {
    font-size: 13px;
    color: var(--violeta-oscuro);
    font-weight: 600;
    margin: 0;
}

/* Card de destinatario dentro del detalle */
.pedido-destinatario {
    background: #fff;
    border: 1px solid var(--violeta-claro);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr 0.8fr;
    gap: 14px;
}
.pedido-destinatario .dato-label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin-bottom: 2px;
}
.pedido-destinatario .dato-valor {
    font-size: 13px;
    color: var(--violeta-oscuro);
    font-weight: 500;
}


/* Mensaje del cliente como info-box */
.pedido-mensaje-cliente {
    background: #E6F1FB;
    border-left: 3px solid #185FA5;
    border-radius: 6px;
    padding: 10px 14px;
    margin-top: 16px;
}
.pedido-mensaje-cliente .msg-label {
    font-size: 11px;
    color: var(--texto-secundario);
    margin-bottom: 4px;
    font-weight: 500;
}
.pedido-mensaje-cliente .msg-texto {
    font-size: 13px;
    color: #0C447C;
}


/* Estado de aprobación (texto descriptivo) */
.estado-aprobado    { color: #639922; font-weight: 600; font-size: 12px; }
.estado-pendiente   { color: #BA7517; font-weight: 600; font-size: 12px; }


/* Botones del supervisor */
.btn-aprobar {
    background: #639922;
    color: #fff;
    border: none;
    padding: 7px 20px;
    border-radius: 999px;
    font-family: Onest, sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s ease;
    box-shadow: 0 2px 8px rgba(99, 153, 34, 0.2);
}
.btn-aprobar:hover {
    background: #3B6D11;
    color: #fff;
}

.btn-rechazar {
    background: #fff;
    color: #A32D2D;
    border: 1px solid #F7C1C1;
    padding: 6px 18px;
    border-radius: 999px;
    font-family: Onest, sans-serif;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}
.btn-rechazar:hover {
    background: #FCEBEB;
    color: #791F1F;
    border-color: #A32D2D;
}


@media (max-width: 700px) {
    .pedido-header,
    .pedido-destinatario {
        grid-template-columns: 1fr 1fr;
    }
}


