body{
    font-family: Arial, sans-serif;
    background:#0f0f0f;
    color:white;
    margin:0;
}

.login-body{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100vh;
}

.login-box{
    background:#1c1c1c;
    padding:40px;
    border-radius:20px;
    width:300px;
    text-align:center;
    border:2px solid #00ff99;
}

input, select{
    width:100%;
    padding:12px;
    margin-top:10px;
    border:none;
    border-radius:10px;
    box-sizing:border-box;
}

button{
    padding:12px 18px;
    margin:5px;
    border:none;
    border-radius:10px;
    background:#00ff99;
    font-weight:bold;
    cursor:pointer;
}

.error{ color:red; }

.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px;
    background:#1c1c1c;
}

.logout{
    background:red;
    color:white;
    padding:10px 20px;
    border-radius:10px;
    text-decoration:none;
    margin-left:10px;
}

.menu{
    display:flex;
    gap:10px;
    padding:15px;
    background:#151515;
    flex-wrap:wrap;
    justify-content:center;
}

.panel{
    padding:20px;
}

.titulo{
    text-align:center;
    color:#00ff99;
}

.acciones{
    text-align:center;
    margin-bottom:15px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    gap:10px;
}

.card{
    border-radius:15px;
    padding:10px;
    min-height:140px;
    color:white;
    font-weight:bold;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    cursor:pointer;
    transition:0.3s;
    box-sizing:border-box;
}

.card:hover{ transform:scale(1.03); }
.card h2,.card h3,.card p,.card h1{ margin:3px 0; }

.libre{ background:#00c853; }
.ocupada{ background:#2962ff; }
.aviso{ background:#ff9800; }
.terminado{ background:red; animation:parpadeo 1s infinite; }

@keyframes parpadeo{
    0%{ opacity:1; }
    50%{ opacity:0.3; }
    100%{ opacity:1; }
}

table{
    width:100%;
    border-collapse:collapse;
    margin-top:10px;
}

th, td{
    padding:15px;
    text-align:center;
    border-bottom:1px solid #333;
}

th{ background:#1c1c1c; }
.verde{ background:#00c853; }
.naranja{ background:#ff9800; }
.rojo{ background:red; }

.modal{
    display:none;
    position:fixed;
    z-index:1000;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.8);
}

.modal-contenido{
    background:#1c1c1c;
    margin:8% auto;
    padding:20px;
    width:90%;
    max-width:380px;
    border-radius:20px;
    text-align:center;
    border:2px solid #00ff99;
}

.cerrar{
    float:right;
    font-size:30px;
    cursor:pointer;
    color:red;
}

.item-nino{
    background:#111;
    border:1px solid #333;
    border-radius:10px;
    padding:10px;
    margin:8px 0;
    cursor:pointer;
    text-align:left;
}

.btn-terminar{
    background:red;
    color:white;
}

.nota{
    color:#ddd;
    text-align:center;
}

.input-inventario{
    max-width:110px;
    margin:0;
    text-align:center;
}

.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin:15px 0;}
.modal-ancho{max-width:650px;}
#resultadoReporte{margin-top:20px;overflow:auto;}
.panel{overflow-x:auto;}
td, th{font-size:14px;}

.acciones-izquierda{
    text-align:left;
}

.modal-contenido{
    max-height:86vh;
    overflow-y:auto;
    margin:4vh auto;
}

.modal-producto{
    max-width:520px;
    padding:16px;
}

.modal-producto h2{
    margin:5px 0 10px;
}

.modal-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.modal-grid input{
    margin-top:0;
    padding:9px;
}

@media (max-width:650px){
    .modal-grid{grid-template-columns:1fr;}
    .modal-producto{max-width:92%;}
}

/* ====== V4 ajustes punto de venta / catálogo / corte ====== */
.ticket-header{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    background:#151515;
    padding:12px;
    border-radius:14px;
    margin-bottom:12px;
}
.buscador-venta{ position:relative; max-width:760px; margin-bottom:15px; }
.resultados-busqueda{
    background:#1c1c1c;
    border:1px solid #333;
    border-radius:10px;
    max-height:260px;
    overflow:auto;
    position:absolute;
    width:100%;
    z-index:20;
}
.resultado-item{ padding:10px; border-bottom:1px solid #333; cursor:pointer; }
.resultado-item:hover{ background:#263238; }
.input-mini{ max-width:85px; text-align:center; margin:0; }
.form-lista{
    display:grid;
    grid-template-columns: 180px 1fr;
    gap:8px 10px;
    align-items:center;
    text-align:left;
}
.form-lista label{ font-weight:bold; color:#00ff99; }
.modal-producto{
    max-width:560px;
    margin:3% auto;
    max-height:88vh;
    overflow:auto;
}
.corte-layout{
    display:grid;
    grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr) minmax(220px, .65fr);
    gap:18px;
    align-items:start;
}
.corte-col{
    background:#111;
    border:1px solid #333;
    border-radius:12px;
    padding:12px;
}
.tabla-corte th, .tabla-corte td{ padding:7px; }
.corte-input{ width:100%; padding:7px; margin:0; border-radius:4px; text-align:right; }
.amarillo{ background:#ffff00 !important; color:#000 !important; }
.blanco{ background:#fff !important; color:#000 !important; }
.corte-resumen label{ display:block; margin-top:10px; font-weight:bold; }
.corte-input:disabled{ opacity:.75; cursor:not-allowed; }
@media(max-width:1000px){ .corte-layout{ grid-template-columns:1fr; } }

.btn-cerrar-panel{
    background:#ff9800;
    color:#111;
    margin-bottom:15px;
}
.gestion-barra{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.gestion-barra select{
    max-width:260px;
}
.reporte-vista{
    margin-top:15px;
    background:#111;
    border:1px solid #333;
    border-radius:12px;
    padding:12px;
}
.tabla-scroll{
    overflow:auto;
    max-height:60vh;
}
.modal-pago{
    max-width:460px;
}
.corte-layout{
    display:grid;
    grid-template-columns:minmax(320px, 1fr) minmax(320px, 1fr) minmax(220px, .7fr);
    gap:12px;
    align-items:start;
    overflow:auto;
}
.corte-col{
    min-width:0;
}
.tabla-corte th,.tabla-corte td{
    padding:6px;
    font-size:14px;
}
.tabla-corte input,.corte-resumen input{
    padding:7px;
    margin-top:2px;
}
@media(max-width:1000px){
    .corte-layout{ grid-template-columns:1fr; }
}

/* ====== V6 cortesías y corte compacto ====== */
#corte.panel{
    padding:10px;
}
#corte h2{ margin:4px 0 8px; font-size:22px; }
#corte h3{ margin:5px 0; font-size:14px; }
#corte .acciones{ margin-bottom:6px; }
#corte .corte-layout{
    grid-template-columns: minmax(260px, .9fr) minmax(260px, .9fr) minmax(180px, .55fr);
    gap:8px;
}
#corte .corte-col{
    padding:7px;
    border-radius:8px;
}
#corte .tabla-corte th,
#corte .tabla-corte td{
    padding:3px 4px;
    font-size:12px;
}
#corte .corte-input,
#corte .corte-resumen input{
    padding:4px;
    font-size:12px;
    height:26px;
}
#corte .corte-resumen label,
#corte .corte-resumen p{
    font-size:13px;
    margin:6px 0;
}
#cortesias table td, #cortesias table th{
    font-size:14px;
}
@media(max-width:1000px){
    #corte .corte-layout{ grid-template-columns:1fr; }
}

.promo-alerta{background:#ffeb3b;color:#111;padding:10px 15px;font-weight:bold;text-align:center;}
.grid-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:10px 0;}
.card-mini{background:#1c1c1c;border:2px solid #00ff99;border-radius:14px;padding:10px;text-align:center;cursor:pointer;min-height:90px;}
.card-mini img{max-width:100%;max-height:70px;border-radius:10px;display:block;margin:0 auto 6px;}
.modal-amplio{max-width:760px;max-height:82vh;overflow:auto;}
textarea{width:100%;min-height:70px;padding:10px;margin-top:10px;border:none;border-radius:10px;box-sizing:border-box;}
.foto-membresia{max-width:160px;border-radius:14px;border:2px solid #00ff99;}
#corte .corte-layout{transform:scale(.88);transform-origin:top left;width:112%;gap:8px;}
#corte .tabla-corte th,#corte .tabla-corte td{padding:4px;font-size:12px;}
#corte .corte-input{padding:5px;font-size:12px;}

/* ====== V8 ajustes solicitados ====== */
.usuario-top{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rol-desplegable{background:#111;border:1px solid #00ff99;border-radius:8px;padding:8px 10px;cursor:pointer;}
.usuario-menu-top{display:none;position:absolute;right:80px;top:38px;background:#1c1c1c;border:1px solid #00ff99;border-radius:10px;padding:8px;z-index:1500;box-shadow:0 4px 18px rgba(0,0,0,.45);}
.usuario-menu-top button{white-space:nowrap;margin:0;}
.label-simple{display:block;text-align:left;margin-top:8px;color:#ddd;font-weight:bold;}

/* Corte todavía más compacto para que entren los tabuladores en pantalla */
#corte.panel{padding:6px;overflow:auto;}
#corte .corte-layout{transform:scale(.76);transform-origin:top left;width:131%;gap:6px;}
#corte .corte-layout{grid-template-columns: minmax(235px,.85fr) minmax(235px,.85fr) minmax(160px,.45fr);}
#corte .tabla-corte th,#corte .tabla-corte td{padding:2px 3px;font-size:10px;}
#corte .corte-input,#corte .corte-resumen input{height:21px;padding:2px;font-size:10px;}
#corte h2{font-size:18px;margin:2px 0 4px;}
#corte h3{font-size:12px;margin:2px 0;}
#corte .corte-resumen label,#corte .corte-resumen p{font-size:11px;margin:3px 0;}
#corte .acciones{margin:2px 0 4px;}
#corte button{padding:7px 10px;font-size:12px;}
@media(max-width:1000px){#corte .corte-layout{transform:none;width:100%;grid-template-columns:1fr;}}

/* ====== V9 membresías ====== */
.membresia-card{
    min-height:135px;
    gap:8px;
    cursor:default;
}
.membresia-click{
    width:100%;
    cursor:pointer;
    padding:6px;
}
.acciones-card{
    display:flex;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
    margin-top:8px;
}
.acciones-card button{
    padding:8px 10px;
    font-size:12px;
    margin:2px;
}
.form-lista textarea{
    width:100%;
    min-height:70px;
    border-radius:10px;
    padding:10px;
    box-sizing:border-box;
}

/* ====== V12 corrección paneles y carga Excel ====== */
.panel{display:none;}
.panel.panel-activo{display:block;}
#mesas.panel-activo{display:block;}
.excel-carga-box{
    background:#151515;
    border:1px solid #00ff99;
    border-radius:14px;
    padding:12px;
    margin:10px 0 16px;
}
.excel-carga-box h3{margin:0 0 6px;color:#00ff99;}
.excel-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.excel-form input[type=file]{max-width:340px;background:#fff;color:#111;}
.btn-link{
    display:inline-block;
    padding:11px 16px;
    background:#ff9800;
    color:#111;
    border-radius:10px;
    text-decoration:none;
    font-weight:bold;
}


/* ===== V15 celular / membresías ===== */
.celular-body{background:#0f0f0f;color:white;}
.membresia-validacion{margin-top:18px;}
.card-validacion{background:#1c1c1c;border:2px solid #00ff99;border-radius:18px;padding:18px;text-align:center;}
.alerta-error{background:#b00020;color:white;border-radius:12px;padding:14px;margin-top:14px;}
.foto-membresia{max-width:160px;max-height:160px;border-radius:14px;border:2px solid #00ff99;object-fit:cover;}
.btn-link{display:inline-block;background:#00ff99;color:#111;padding:12px 18px;margin:5px;border-radius:10px;font-weight:bold;text-decoration:none;}

/* ===== V16 lector QR celular y corte horizontal ===== */
.lector-qr{
    background:#111;
    border:1px solid #333;
    border-radius:14px;
    padding:12px;
    margin-top:12px;
    text-align:center;
}
.lector-qr video{
    width:100%;
    max-width:420px;
    border-radius:14px;
    border:2px solid #00ff99;
    background:#000;
}
#corte .corte-layout-horizontal{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
}
#corte .corte-col-horizontal{
    overflow-x:auto;
    padding:8px;
}
#corte .tabla-corte-horizontal{
    min-width:760px;
    table-layout:fixed;
}
#corte .tabla-corte-horizontal th,
#corte .tabla-corte-horizontal td{
    padding:3px;
    font-size:10px;
    white-space:nowrap;
}
#corte .tabla-corte-horizontal .corte-input{
    padding:4px 2px;
    font-size:11px;
    min-width:42px;
}
#corte .corte-resumen-horizontal{
    display:grid;
    grid-template-columns:repeat(4, minmax(140px,1fr));
    gap:6px 10px;
    align-items:center;
}
#corte .corte-resumen-horizontal h3{grid-column:1/-1;margin:0;}
#corte .corte-resumen-horizontal label{margin:0;font-size:12px;}
#corte .corte-resumen-horizontal p{margin:4px 0;font-size:13px;}
@media(max-width:800px){
    #corte .tabla-corte-horizontal{min-width:680px;}
    #corte .corte-resumen-horizontal{grid-template-columns:1fr;}
}

/* ===== V17 ajustes: QR html5, corte vertical compacto, cobro horizontal ===== */
#html5qr-reader{
    width:100%;
    max-width:420px;
    margin:0 auto;
    background:#000;
    border-radius:14px;
    overflow:hidden;
}
#html5qr-reader video{
    border-radius:14px;
}
#corte .corte-layout-vertical{
    display:grid;
    grid-template-columns:repeat(4, minmax(170px, 1fr));
    gap:8px;
    align-items:start;
    width:100%;
}
#corte .corte-col-vertical{
    padding:7px;
    overflow:auto;
}
#corte .corte-col-vertical h3,
#corte .corte-resumen-vertical h3{
    margin:2px 0 6px;
    font-size:13px;
}
#corte .tabla-corte-vertical th,
#corte .tabla-corte-vertical td{
    padding:3px;
    font-size:10.5px;
}
#corte .tabla-corte-vertical .corte-input{
    padding:4px 2px;
    font-size:11px;
    min-width:44px;
}
#corte .corte-resumen-vertical{
    padding:7px;
}
#corte .corte-resumen-vertical label{
    font-size:11px;
    margin-top:5px;
    display:block;
}
#corte .corte-resumen-vertical p{
    font-size:12px;
    margin:7px 0;
}
.modal-pago-ancho{
    max-width:820px;
}
.pago-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(130px,1fr));
    gap:10px;
    margin:12px 0;
}
.pago-card{
    background:#111;
    border:1px solid #333;
    border-radius:14px;
    padding:10px;
    text-align:center;
}
.pago-icono{
    font-size:34px;
    margin-bottom:4px;
}
.pago-card label{
    display:block;
    color:#00ff99;
    font-weight:bold;
    margin-bottom:4px;
}
.pago-card input{
    text-align:center;
    margin-top:4px;
}
.cliente-credito{
    display:grid;
    grid-template-columns:170px 1fr;
    gap:10px;
    align-items:center;
    margin:10px 0;
    text-align:left;
}
.pago-resumen{
    display:flex;
    gap:20px;
    justify-content:center;
    flex-wrap:wrap;
}
@media(max-width:1050px){
    #corte .corte-layout-vertical{grid-template-columns:repeat(2, minmax(180px,1fr));}
}
@media(max-width:650px){
    #corte .corte-layout-vertical{grid-template-columns:1fr;}
    .pago-grid{grid-template-columns:1fr 1fr;}
    .cliente-credito{grid-template-columns:1fr;}
}


/* Punto de venta estilo caja */
.pos-panel{background:#e9e9e9!important;color:#111!important;padding:8px!important;}
.pos-top-tabs{display:flex;gap:6px;align-items:center;background:#f7f7f7;border:1px solid #c8c8c8;padding:5px;flex-wrap:wrap;}
.pos-top-tabs button{background:#ededed;color:#111;border:1px solid #bdbdbd;border-radius:2px;padding:6px 10px;font-weight:bold;}
.pos-folio{margin-left:auto;font-weight:bold;font-size:18px;}
.pos-folio span{display:inline-block;background:#caffce;border:1px solid #7ab87e;min-width:70px;text-align:right;padding:4px 10px;}
.pos-title{background:#5b5b5b;color:white;font-weight:bold;padding:8px;margin-top:6px;text-align:left;}
.pos-search-line{position:relative;display:flex;gap:6px;align-items:center;background:transparent;padding:8px 0;border:none;}
.pos-search-line input{max-width:360px;background:#fff8c8;color:#111;border:1px solid #aaa;border-radius:0;}
.barcode-icon{font-weight:bold;color:#777;}
.pos-resultados{position:absolute;top:48px;left:35px;z-index:20;width:min(520px,90vw);background:white;border:1px solid #888;box-shadow:0 4px 10px #0005;}
.pos-ticket-table{background:#fff;color:#111;border-collapse:collapse;margin-top:8px;}
.pos-ticket-table th{background:#f6f6f6;color:#222;border:1px solid #b5b5d6;font-size:12px;}
.pos-ticket-table td{border:1px solid #b5b5d6;color:#111;padding:5px;}
.pos-ticket-table input{background:white;color:#111;border:1px solid #999;}
.pos-actions-row{display:flex;gap:10px;align-items:center;margin:10px 0;flex-wrap:wrap;}
.pos-cobrar{border:3px solid #c67b25!important;background:#efefef!important;color:#111!important;font-weight:bold;}
.pos-total{margin-left:auto;background:#fff6a6;border:6px solid #222;color:#0040a0;font-size:34px;font-weight:bold;padding:8px 18px;min-width:220px;text-align:right;}
.pos-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;background:#d0d0d0;border-top:3px solid #777;padding:8px;font-size:13px;}
.pos-footer b{color:#1b57a6;}
.buscador-gestion{width:100%;max-width:460px;margin:8px 0 12px;background:#fff;color:#111;border:1px solid #aaa;}
@media(max-width:700px){.pos-footer{grid-template-columns:1fr}.pos-total{margin-left:0;width:100%;}.pos-folio{margin-left:0}.pos-search-line input{max-width:100%;}}


/* ====== V25 ajustes visuales / WhatsApp / secciones ====== */
body{background:#f3f4f6!important;color:#111!important;}
.topbar{background:#ffffff!important;color:#111!important;border-bottom:1px solid #ddd;}
.menu{background:#ffffff!important;border-bottom:1px solid #ddd;}
.panel{background:#ffffff!important;color:#111!important;margin:14px;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.modal-contenido{background:#ffffff!important;color:#111!important;}
.item-nino,.reporte-vista,.corte-col{background:#ffffff!important;color:#111!important;border-color:#ddd!important;}
th{background:#f1f1f1!important;color:#111!important;}
td{color:#111;}
.nota{color:#555!important;}
.card-mini{background:#ffffff!important;color:#111!important;border:1px solid #ddd!important;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.brand-title{display:flex;align-items:center;gap:10px;margin:0;}
.brand-logo{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#fff;}
.subvista-cortesia{background:#fff;color:#111;}
#cortesiaVista{max-width:260px;background:#fff;color:#111;border:1px solid #aaa;}
.pos-search-line{background:transparent!important;border:none!important;box-shadow:none!important;}
.pos-resultados:empty{display:none!important;}
.resultados-busqueda:empty{display:none!important;}
#buscarProductoVenta{background:#fff8c8!important;}
.login-box{background:#ffffff!important;color:#111!important;}

/* ====== V26 ajustes visuales solicitados ====== */
/* Paneles nuevamente en azul bajito */
.panel{
    background:#eaf7ff!important;
    color:#111!important;
    margin:14px;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    border:1px solid #c7e7f7!important;
}

/* Mantener legible el contenido interno */
.panel table,
.panel input,
.panel select,
.panel textarea{
    color:#111!important;
}

/* Selectores con opciones alternadas */
.gestion-barra select option:nth-child(odd),
#reporteTipo option:nth-child(odd){
    background:#eaf7ff;
    color:#111;
}
.gestion-barra select option:nth-child(even),
#reporteTipo option:nth-child(even){
    background:#f0fff4;
    color:#111;
}

/* Submenús / vistas internas alternadas en dos colores */
.subvista-cortesia,
.gestion-detalle{
    border-radius:12px;
    padding:12px;
    margin-top:10px;
    border:1px solid #c7e7f7;
}
#vistaCortesias,
#vistaPromociones,
#gestionProducto,
#gestionCliente{
    background:#f7fcff!important;
}
#vistaMembresias,
#vistaTiempoRecuperar,
#gestionProveedor,
#gestionCategoria{
    background:#eefbf1!important;
}

/* Filas alternadas para que el submenú abierto se vea más claro */
.subvista-cortesia table tr:nth-child(odd),
.gestion-detalle table tr:nth-child(odd){
    background:#f7fcff!important;
}
.subvista-cortesia table tr:nth-child(even),
.gestion-detalle table tr:nth-child(even){
    background:#eefbf1!important;
}
.subvista-cortesia table th,
.gestion-detalle table th{
    background:#dff1ff!important;
    color:#111!important;
}


/* ====== V27 ajustes solicitados: login, POS y reportes ventas ====== */
.login-box input{
    background:#ffffff!important;
    color:#111!important;
    border:2px solid #111!important;
    outline:none!important;
}
.login-box input:focus{
    border:2px solid #111!important;
    box-shadow:0 0 0 2px rgba(0,0,0,.08)!important;
}
.pos-top-tabs-simple{
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
#modalReporteVentas .form-grid{
    grid-template-columns:120px minmax(160px, 1fr) 120px minmax(160px, 1fr);
    align-items:center;
}
#modalReporteVentas .form-grid button{
    grid-column:auto;
}
@media(max-width:700px){
    #modalReporteVentas .form-grid{grid-template-columns:1fr;}
}


/* ====== V28 bordes negros permanentes ====== */
input,
select,
textarea{
    border:2px solid #111 !important;
    outline:none !important;
    background:#fff !important;
    color:#111 !important;
}

input:focus,
select:focus,
textarea:focus{
    border:2px solid #111 !important;
    box-shadow:0 0 0 2px rgba(0,0,0,.08) !important;
}

/* Paneles y cajas con borde oscuro */
.panel,
.card,
.modal-content,
.login-box,
.subvista-cortesia,
.gestion-detalle,
.tabla-corte,
.pos-ticket,
.form-grid{
    border-color:#111 !important;
}

/* ====== V30 fondos azul bajito en cuadros/paneles oscuros ====== */
.panel,
.subvista-cortesia,
.gestion-detalle,
.excel-carga-box,
.modal-contenido,
.modal-pago,
.pos-panel,
.pos-footer,
.pos-actions-row,
.pos-ticket,
.pos-ticket-table,
.pos-top-tabs,
.celular-panel,
.rol-celular-panel,
.card-celular,
.login-box,
.form-grid,
.reporte-vista,
.usuario-menu-top,
.card-mini,
.membresia-card,
.mini-card{
    background:#eaf6ff !important;
    color:#111 !important;
    border-color:#111 !important;
}

input, select, textarea{
    background:#fff !important;
    color:#111 !important;
    border:2px solid #111 !important;
}

.reporte-frame{
    width:100%;
    height:420px;
    border:2px solid #111;
    border-radius:12px;
    background:#fff;
    margin-top:12px;
}

/* Ocultar campo de foto/ruta en alta de cliente de membresía */
.campo-foto-membresia,
#memClienteFoto{
    display:none !important;
}

/* ===== Ajustes azules para lector QR / membresía y menú de rol ===== */
.usuario-menu-top{
    background:#eaf4ff !important;
    color:#0b1f33 !important;
    border:2px solid #4da3ff !important;
}
.usuario-menu-top button{
    background:#4da3ff !important;
    color:#fff !important;
}
.card-validacion,
.membresia-validacion,
.card-validacion p,
.card-validacion h2,
.card-validacion h3{
    color:#0b1f33;
}
.card-validacion{
    background:#eaf4ff !important;
    border:2px solid #4da3ff !important;
}
.lector-qr,
#resultadoMembresiaCel,
#listaSinFotoCel,
#fotoClienteBox{
    background:#eaf4ff;
    color:#0b1f33;
    border-radius:18px;
    padding:12px;
    border:1px solid #9dccff;
}
.celular-body .panel,
.celular-body .modal-contenido{
    background:#dff0ff !important;
    color:#0b1f33 !important;
}
.celular-body .nota{
    color:#29445f !important;
}
.ventas-mesa-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
.ventas-mesa-card{
    background:#eaf4ff;
    color:#0b1f33;
    border:1px solid #9dccff;
    border-radius:16px;
    padding:14px;
    overflow:auto;
}
.ventas-mesa-card h3{color:#0b1f33;}
.ventas-mesa-card th{background:#cfe7ff;color:#0b1f33;}
.ventas-mesa-card td{color:#0b1f33;border-bottom:1px solid #bcdcff;}
@media(min-width:1100px){
    .ventas-mesa-grid{grid-template-columns:1.3fr .9fr .9fr;}
}

/* ===== Pedidos por QR de mesa ===== */
.mesa-pedido-body{background:#eef7ff;color:#16324f;font-family:Arial,sans-serif;}
.mesa-pedido-wrap{max-width:780px;margin:auto;padding:16px;}
.mesa-pedido-header{display:flex;align-items:center;gap:14px;background:#d9efff;border-radius:18px;padding:16px;margin-bottom:16px;color:#16324f;}
.mesa-pedido-header img{width:64px;height:64px;border-radius:14px;}
.mesa-pedido-card,.producto-mesa-cliente{background:#ffffff;color:#16324f;border:1px solid #bddcf4;border-radius:16px;padding:14px;margin:10px 0;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.producto-mesa-cliente{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.menu-mesa-cliente h3{color:#0b67a3;margin-top:20px;}
.ticket-mesa-item{border-bottom:1px solid #d8ecff;padding:10px 0;}
.btn-confirmar-pedido{width:100%;background:#00c853;color:#fff;font-size:18px;margin-top:12px;}
.mesa-qr-card{text-align:center;}


/* ===== Corrección menú V4 ===== */
.menu{ position:relative; z-index:3000; display:flex !important; }
.panel{ display:none; position:relative; z-index:1; }
.panel.panel-activo{ display:block !important; }
#mesas.panel{ display:none; }
#mesas.panel.panel-activo{ display:block !important; }
.modal{ z-index:9000; }
#modalServicioExtra{ z-index:9999; }
.menu-tab{ pointer-events:auto; }

/* ====== Menú público de mesa con fotos ====== */
.producto-mesa-cliente{
    display:grid;
    grid-template-columns:90px 1fr auto;
    gap:12px;
    align-items:center;
}
.producto-mesa-img{
    width:90px;
    height:70px;
    object-fit:cover;
    border-radius:12px;
    background:#fff;
}
@media(max-width:650px){
    .producto-mesa-cliente{grid-template-columns:75px 1fr;}
    .producto-mesa-cliente button{grid-column:1 / -1;}
    .producto-mesa-img{width:75px;height:62px;}
}


/* ===== Ajustes pedidos mesa v8 ===== */
.menu{overflow-x:auto; align-items:center;}
.menu button,.menu-tab{white-space:nowrap;}
#ventas_mesa{max-height:none; overflow:visible;}
#ventas_mesa table{min-width:900px;}
#ventas_mesa .tabla-scroll, #ventas_mesa{overflow-x:auto;}
.confirmacion-pedido-mesa{background:#e8f5ff;color:#08223b;border:3px solid #00aaff;border-radius:18px;padding:18px;margin:15px 0;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.confirmacion-pedido-mesa h1{font-size:42px;margin:0 0 8px;}
.confirmacion-pedido-mesa h2{margin:0 0 8px;}
.estado-pagado{background:#e8fff0;color:#064b22;border-radius:8px;padding:4px 8px;display:inline-block;}


/* ===== Ajustes pedidos mesa v9 ===== */
body{ background:#dff0ff !important; color:#0b1f33 !important; }
.panel{ background:#eaf6ff !important; color:#0b1f33 !important; border-radius:18px; margin:12px; }
.topbar{ position:relative; z-index:50000; overflow:visible !important; }
.usuario-top{ position:relative; z-index:60000; overflow:visible !important; }
.usuario-menu-top{
    position:fixed !important;
    top:72px !important;
    right:18px !important;
    z-index:999999 !important;
    background:#dff0ff !important;
    color:#0b1f33 !important;
    border:3px solid #3498db !important;
    box-shadow:0 10px 30px rgba(0,0,0,.35) !important;
}
.usuario-menu-top button{ display:block; width:100%; margin:6px 0; background:#1e90ff !important; color:#fff !important; }
.pedidos-mesa-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:14px; margin:12px 0; }
.pedido-mesa-card{ background:#fff; color:#0b1f33; border:2px solid #9dccff; border-radius:18px; padding:14px; box-shadow:0 4px 14px rgba(0,0,0,.10); }
.pedido-mesa-top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.pedido-numero{ font-size:30px; color:#0b67a3; }
.pedido-estado{ background:#e0e0e0; color:#111; padding:7px 10px; border-radius:999px; font-weight:bold; text-transform:uppercase; font-size:12px; }
.estado-pendiente-pago{ border-color:#ff9800; }
.estado-pendiente-pago .pedido-estado,.estado-pendiente .pedido-estado{ background:#ff9800; color:#111; }
.estado-pagado{ border-color:#00c853; }
.estado-pagado .pedido-estado{ background:#00c853; color:#fff; }
.estado-preparando{ border-color:#2962ff; }
.estado-preparando .pedido-estado{ background:#2962ff; color:#fff; }
.estado-listo{ border-color:#7b1fa2; }
.estado-listo .pedido-estado{ background:#7b1fa2; color:#fff; }
.estado-entregado{ opacity:.75; }
.estado-cancelado{ opacity:.6; border-color:#c62828; }
.pedido-detalle{ margin-top:10px; text-align:left; max-height:230px; overflow:auto; background:#f3faff; border-radius:12px; padding:10px; }
.acciones-pedido-mesa button{ margin:4px; }
.fila-editable{ cursor:pointer; }
.fila-editable:hover{ background:#d8efff !important; }
.tabla-scroll{ overflow-x:auto; }

/* ===== Ajustes v10: rol azul claro y selector táctil de ingredientes/extras ===== */
.rol-desplegable{
    background:#dff0ff !important;
    color:#0b1f33 !important;
    border:2px solid #4da3ff !important;
}
.usuario-menu-top{
    background:#dff0ff !important;
    color:#0b1f33 !important;
    z-index:999999 !important;
}
.selector-opciones-mesa{
    position:relative;
    z-index:20;
}
.opciones-click-mesa{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:8px 0 12px;
}
.opcion-click{
    background:#e7f4ff !important;
    color:#0b1f33 !important;
    border:2px solid #87c8ff !important;
    border-radius:999px !important;
    padding:10px 14px !important;
    font-weight:bold;
}
.opcion-click.sel{
    background:#00c853 !important;
    color:#fff !important;
    border-color:#00a344 !important;
}
#configProductoMesa input{
    background:#fff;
    color:#0b1f33;
    border:1px solid #9dccff;
}

/* ===== Ajustes pedido cliente / cobro pedidos mesa v11 ===== */
.carrito-fijo-mesa{
    position:sticky;
    top:0;
    z-index:9999;
    background:#dff3ff;
    color:#06324a;
    border-bottom:2px solid #6ec6ff;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.carrito-fijo-mesa button{padding:8px 12px;margin:0;}
.modal-mesa-cliente{
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(0,0,0,.65);
    align-items:center;
    justify-content:center;
    padding:14px;
    box-sizing:border-box;
}
.modal-mesa-contenido{
    background:#eaf7ff;
    color:#102a3a;
    border:2px solid #7ccfff;
    border-radius:20px;
    width:100%;
    max-width:520px;
    max-height:88vh;
    overflow:auto;
    padding:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    box-sizing:border-box;
}
.cerrar-mesa{
    float:right;
    font-size:32px;
    cursor:pointer;
    color:#e53935;
    font-weight:bold;
}
.modal-mesa-contenido input,
.modal-mesa-contenido textarea,
.modal-mesa-contenido select{
    background:#fff;
    color:#111;
    border:1px solid #9fdcff;
}
.confirmacion-pedido-mesa{
    background:#dff3ff;
    color:#06324a;
    border:2px solid #4db6ff;
    border-radius:18px;
    padding:18px;
    text-align:center;
    margin:14px 0;
}
.confirmacion-pedido-mesa h1{font-size:42px;margin:4px 0;}
.pago-card{
    background:#eaf7ff !important;
    color:#102a3a !important;
    border:2px solid #91d8ff !important;
}
.usuario-menu-top{
    z-index:20000 !important;
    background:#dff3ff !important;
    color:#06324a !important;
}
.rol-desplegable{
    background:#dff3ff !important;
    color:#06324a !important;
    padding:7px 10px;
    border-radius:10px;
}
@media(max-width:700px){
    .mesa-pedido-wrap{padding-top:8px;}
    .confirmacion-pedido-mesa h1{font-size:34px;}
}

.promo-2x1-box{background:#e8f5ff;border:1px solid #9bd3ff;border-radius:12px;padding:10px 12px;margin:10px 0;color:#123;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.promo-2x1-box label{font-weight:800;cursor:pointer;}
.promo-2x1-box input{transform:scale(1.25);margin-right:8px;}
.promo-2x1-box small{font-weight:600;color:#345;}
.promo-tag{display:inline-block;margin-top:4px;background:#ffec80;color:#111;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800;}

.modal-pedido-sistema{width:min(1100px,96vw);max-width:1100px;height:92vh;display:flex;flex-direction:column;gap:10px;}
.pedido-mesa-sistema-frame{width:100%;flex:1;min-height:620px;border:2px solid #b9ddff;border-radius:16px;background:#fff;}

/* ===== Menú QR en cuadros y mesa fija ===== */
.productos-mesa-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:14px;
    margin:10px 0 18px;
}
.productos-mesa-grid .producto-mesa-cliente{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:space-between;
    min-height:245px;
    margin:0;
}
.productos-mesa-grid .producto-mesa-img{
    width:100%;
    height:115px;
    object-fit:cover;
}
.producto-mesa-img-vacia{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:38px;
    background:#eaf6ff;
}
.producto-mesa-info{
    display:flex;
    flex-direction:column;
    gap:5px;
    flex:1;
}
.productos-mesa-grid .producto-mesa-cliente button{
    width:100%;
    margin-top:10px;
}
.input-bloqueado-mesa{
    background:#eef7ff !important;
    color:#16324f !important;
    font-weight:bold;
    cursor:not-allowed;
}
@media(max-width:650px){
    .productos-mesa-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
    .productos-mesa-grid .producto-mesa-cliente{min-height:225px; padding:10px;}
    .productos-mesa-grid .producto-mesa-img{width:100%; height:95px;}
}

/* Corrección fuerte: menú QR siempre en cuadros */
#menuMesaCliente .productos-mesa-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}
#menuMesaCliente .producto-mesa-cliente{
    display:grid !important;
    grid-template-rows:90px auto auto !important;
    gap:8px !important;
    min-height:210px !important;
    margin:0 !important;
    padding:10px !important;
}
#menuMesaCliente .producto-mesa-img{
    width:100% !important;
    height:90px !important;
    object-fit:cover !important;
    border-radius:10px !important;
}
#menuMesaCliente .producto-mesa-info small{
    font-size:10px !important;
    line-height:1.15 !important;
}
#menuMesaCliente .producto-mesa-info b,
#menuMesaCliente .producto-mesa-info strong{
    font-size:12px !important;
}
@media(max-width:650px){
    #menuMesaCliente .productos-mesa-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}


/* Ajuste final menú QR: productos siempre dentro de cuadros */
#menuMesaCliente .productos-mesa-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
}
#menuMesaCliente .producto-mesa-cliente{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:stretch !important;
    min-height:260px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
#menuMesaCliente .producto-mesa-info{
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
}
#menuMesaCliente .producto-mesa-info b,
#menuMesaCliente .producto-mesa-info small,
#menuMesaCliente .producto-mesa-info strong{
    display:block !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}
#menuMesaCliente .producto-mesa-cliente button{
    width:100% !important;
    margin-top:auto !important;
}
.texto-centrado{text-align:center !important;}
.fila-editable{cursor:pointer;}

/* ===== VENTAS SPLIT MODAL ===== */
.ventas-split{display:grid;grid-template-columns:340px 1fr;gap:14px;min-height:520px;}
.ventas-lista,.ventas-detalle{background:#fff;color:#111;border:1px solid #d7e3f4;border-radius:14px;padding:12px;overflow:auto;}
.ventas-tickets-lista{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow:auto;}
.venta-ticket-card{display:grid;grid-template-columns:1fr auto;gap:4px;text-align:left;background:#eef7ff;color:#111;border:1px solid #b9d9f3;border-radius:12px;padding:10px;cursor:pointer;}
.venta-ticket-card:hover{filter:brightness(.97);}
.venta-ticket-card small{grid-column:1/-1;color:#555;}
.venta-detalle-card table{width:100%;border-collapse:collapse;margin-top:10px;}
.venta-detalle-card th,.venta-detalle-card td{border:1px solid #ddd;padding:7px;vertical-align:top;}
@media(max-width:900px){.ventas-split{grid-template-columns:1fr;}.ventas-tickets-lista{max-height:260px;}}


/* Mensaje personalizado Brinca Brinca */
.alerta-brinca-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:999999;padding:18px;}
.alerta-brinca-card{background:#fff;color:#111;border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.25);padding:22px;max-width:430px;width:100%;text-align:center;border:3px solid #8ed8ff;}
.alerta-brinca-card h2{margin-top:0;color:#0c6ea8;}
.alerta-brinca-card button{margin-top:12px;min-width:120px;}
.leyenda-qr-mesa{line-height:1.35;font-size:15px;}
#menuMesaCliente .producto-mesa-cliente{max-width:100% !important;}
#menuMesaCliente .producto-mesa-info{overflow-wrap:anywhere !important;}

/* ===== Ajustes: fondo/gastos en punto de venta y reportes ===== */
.modal-fondo-pos{max-width:360px!important;}
.tabla-fondo-pos{width:100%;font-size:13px;}
.tabla-fondo-pos input{width:100%;background:#ffff00;border:2px solid #111;border-radius:5px;text-align:center;font-weight:bold;padding:5px;}
.tabla-fondo-pos th,.tabla-fondo-pos td{text-align:center;padding:5px;border-bottom:1px solid #ddd;color:#111;}
.pos-top-tabs button{white-space:nowrap;}
.nota-diferencia{font-weight:bold;margin-left:8px;color:#b00020;}

/* Reporte de cortes con formato similar al corte de caja */
.corte-reporte-layout{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:6px;align-items:start;background:#eaf7ff;padding:6px;border-radius:10px;}
.corte-reporte-card{background:#fff;border:1px solid #cfcfcf;border-radius:8px;padding:6px;}
.corte-reporte-card h3{font-size:12px;margin:0 0 5px;font-weight:800;}
.corte-reporte-card table{width:100%;border-collapse:collapse;}
.corte-reporte-card th,.corte-reporte-card td{border-bottom:1px solid #333;padding:2px 3px;text-align:center;font-size:10px;}
.corte-reporte-card th{background:#f2f2f2;}
.corte-reporte-card input{width:88%;min-height:16px;border:1px solid #111;border-radius:4px;background:#fff900;text-align:right;box-sizing:border-box;font-size:10px;}
.corte-reporte-card label{display:block;font-size:10px;font-weight:700;margin-top:5px;}
.corte-reporte-card label + input{width:100%;background:#fff;}
@media(max-width:1100px){.corte-reporte-layout{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.corte-reporte-layout{grid-template-columns:1fr;}}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.inventario-selector{max-width:420px;margin-bottom:12px;}

/* ===== Ajustes ingredientes con imagen y modal más ancho ===== */
.img-mini-opcion{
    width:28px;
    height:28px;
    object-fit:cover;
    border-radius:8px;
    margin-right:7px;
    vertical-align:middle;
    background:#fff;
}
.opcion-click{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:4px;
}
.chips-ingredientes{
    display:inline-flex;
    flex-wrap:wrap;
    gap:6px;
    vertical-align:middle;
}
.chip-ingrediente{
    display:inline-flex;
    align-items:center;
    gap:5px;
    background:#fff;
    border:1px solid #b7e3ff;
    border-radius:999px;
    padding:4px 8px;
    margin:2px;
    color:#0b1f33;
    font-weight:600;
}
.chip-ingrediente img{
    width:24px;
    height:24px;
    object-fit:cover;
    border-radius:7px;
    background:#fff;
}
.modal-mesa-contenido{
    max-width:760px !important;
}
.mini-img-config{
    width:36px;
    height:36px;
    object-fit:cover;
    border-radius:8px;
    background:#fff;
    border:1px solid #b7e3ff;
}

/* ===== Ajustes usuarios/password y pedido mesa cocina ===== */
.input-pass-wrap{display:flex;align-items:center;gap:8px;width:100%;}
.input-pass-wrap input{flex:1;min-width:0;}
.btn-ojo-pass{padding:7px 10px !important;border-radius:8px !important;min-width:42px;}
.pass-mask{font-family:monospace;font-weight:bold;letter-spacing:1px;}
.modal-mesa-contenido.modal-config-producto-ancho,
.modal-config-producto-ancho{width:min(1000px,96vw) !important;max-width:1000px !important;}
.selector-opciones-mesa{max-height:82vh;overflow:auto;}
.pedido-detalle .chip-ingrediente{margin-top:4px;margin-bottom:4px;}

/* ===== Ajustes finales ingredientes, grupos y mesas ===== */
.precio-opcion{font-weight:700;color:#0b67a3;white-space:nowrap;}
.img-mini-opcion,.chip-ingrediente img{width:28px;height:28px;object-fit:cover;border-radius:8px;background:#fff;border:1px solid #d8ecff;}
.opcion-click{display:flex;align-items:center;gap:8px;}
#vmProductoGrupoIngredientes{width:100%;padding:10px;border-radius:10px;border:1px solid #bcdcff;}

/* ===== Fix grupos múltiples y modal pedido mesa limpio ===== */
.checks-grupos-mesa{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;background:#f5fbff;border:1px solid #bcdcff;border-radius:12px;padding:10px;margin:6px 0;}
.checks-grupos-mesa label{display:flex;align-items:center;gap:6px;margin:0;font-weight:600;}
.checks-grupos-mesa input{width:auto!important;}
#modalConfigProductoMesa{display:none;}
#modalConfigProductoMesa .modal-mesa-contenido{background:#eef8ff;border:0!important;outline:0!important;box-shadow:0 10px 30px rgba(0,0,0,.30);}
#configProductoMesa.selector-opciones-mesa{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
#configProductoMesa .opcion-click img,.chip-ingrediente img{display:inline-block!important;flex:0 0 28px;}
#vmIngredienteGrupo{width:100%;padding:10px;border-radius:10px;border:1px solid #bcdcff;}

/* ===== Fix configuración venta mesa: vista completa y grupos en cuadros ===== */
#ventas_mesa .ventas-mesa-selector-config,
#ventas_mesa .ventas-mesa-grid,
#ventas_mesa .ventas-mesa-config-card,
#ventas_mesa .ventas-mesa-card-ancha{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
}
#ventas_mesa .ventas-mesa-grid{
    display:block !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
}
#ventas_mesa .ventas-mesa-config-card{
    min-height:420px;
    margin-top:12px;
    overflow-x:auto;
}
.grupos-ingredientes-cuadros{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;
    margin-top:16px;
}
.grupo-ingrediente-card{
    min-height:95px;
    border:2px solid #8fc9ff;
    background:#fff;
    color:#0b1f33;
    border-radius:18px;
    padding:16px;
    text-align:center;
    box-shadow:0 4px 12px rgba(0,0,0,.10);
    cursor:pointer;
}
.grupo-ingrediente-card b{display:block;font-size:18px;margin-bottom:6px;}
.grupo-ingrediente-card small{display:block;font-size:12px;color:#345;}
.grupo-ingrediente-card:hover{background:#e8f6ff;border-color:#1e90ff;transform:translateY(-1px);}
.mini-img-config{width:42px;height:42px;object-fit:cover;border-radius:10px;background:#fff;border:1px solid #bddfff;}

/* ===== Ajuste productos QR en cuadros y visual de imágenes ===== */
.productos-qr-cuadros{display:flex;flex-direction:column;gap:18px;width:100%;}
.grupo-productos-tipo,.categoria-productos-qr{background:rgba(255,255,255,.35);border:1px solid #9bd2ff;border-radius:14px;padding:12px;margin-bottom:10px;}
.grupo-productos-tipo h4,.categoria-productos-qr h5{margin:4px 0 10px;color:#05213b;text-transform:capitalize;}
.productos-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.producto-qr-card{background:#eaf7ff;border:2px solid #78c4ff;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.08);}
.producto-qr-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.12);}
.producto-qr-img{width:58px;height:58px;border-radius:14px;background:white;border:1px solid #cce9ff;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:900;font-size:26px;color:#0089d6;}
.producto-qr-img img{width:100%;height:100%;object-fit:cover;}
.acciones-mini{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:6px;}
.acciones-mini button{padding:6px 9px;font-size:12px;border-radius:8px;}
.chip-ingrediente img,.img-mini-opcion{background:#fff;border:1px solid #bfe2ff;}
.img-fallback-letra{width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #bfe2ff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;color:#0089d6;font-size:13px;flex:0 0 28px;}

.resumen-corte-azul{
  background:#32c7ee !important;
  border:3px solid #555 !important;
  font-weight:800 !important;
}
.ticket-cancelado{ opacity:.7; border-color:#cc3333 !important; }
.ticket-cancelado em, .tag-cancelado{ background:#cc3333; color:#fff; border-radius:8px; padding:2px 8px; font-style:normal; font-size:12px; }
.alerta-cancelado{ background:#ffe3e3; border:1px solid #cc3333; border-radius:10px; padding:8px; }
.btn-danger{ background:#d32f2f !important; color:white !important; border:none; border-radius:10px; padding:9px 14px; font-weight:700; cursor:pointer; }

/* CRM de eventos */
.crm-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 18px;}
.crm-resumen div{background:#fff;border-radius:14px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center;}
.crm-resumen b{display:block;font-size:24px;color:#1d4ed8;}
.crm-resumen span{font-size:13px;color:#555;}
.crm-filtros{margin:10px 0 14px;}
.crm-detalle{margin-top:16px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.crm-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;background:#e5e7eb;color:#111827;}
.crm-prospecto{background:#fef3c7;color:#92400e;}
.crm-confirmado{background:#dbeafe;color:#1e40af;}
.crm-liquidado{background:#dcfce7;color:#166534;}
.crm-realizado{background:#ede9fe;color:#5b21b6;}
.crm-cancelado{background:#fee2e2;color:#991b1b;}
.crm-card-click{cursor:pointer;transition:transform .12s ease, box-shadow .12s ease;}
.crm-card-click:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.crm-card-click small{display:block;color:#666;font-size:11px;margin-top:4px;}

.mesa-promos{margin:8px 0;padding:7px;border-radius:8px;background:rgba(255,255,255,.82);font-size:.78rem;line-height:1.25;color:#222;text-align:left}.mesa-promos b{display:block;margin-bottom:3px}
