:root {
    --tema-suave: #fff3ea;
    --tema-borde: #f3c8a7;
    --tema-hero: #ad4411;
    --tema-texto-boton: #fff;
}

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

body.app-restaurante {
    background: #f6f7f8;
    color: #24313a;
    --cafe: #273944;
    --texto: #24313a;
    --gris: #667580;
    --borde: #e3e9ec;
    --sombra: 0 10px 25px rgba(35, 52, 62, .06);
}

body.app-restaurante label,
.plataforma-cuerpo label,
.acceso-cuerpo label { color: #394b56; }

body.app-restaurante .barra-lateral {
    background: #fff;
    border-right: 1px solid #e4e9ec;
    width: 258px;
    padding: 22px 15px 18px;
}

body.app-restaurante .marca {
    min-height: 58px;
    padding: 3px 8px 19px;
    gap: 11px;
    color: #24313a;
}

.marca-monograma {
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--naranja);
    color: var(--tema-texto-boton);
    font: 700 21px/1 'DM Sans', sans-serif;
    text-transform: uppercase;
}

body.app-restaurante .marca-logo{flex:0 0 39px;width:39px;height:39px;object-fit:contain;border:1px solid #e4e9ec;border-radius:11px;background:#fff;padding:2px}
.panel-logo-restaurante{max-width:1060px;margin-bottom:20px}
.configuracion-logo-contenido{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:16px;align-items:center}
.configuracion-logo-muestra{display:flex;align-items:center;gap:13px;min-height:88px;padding:15px;border:1px solid #e1e9eb;border-radius:12px;background:#f8faf9}
.configuracion-logo-muestra>img,.configuracion-logo-muestra>.marca-monograma{flex:0 0 56px;width:56px;height:56px;border-radius:13px}
.configuracion-logo-muestra>img{object-fit:contain;background:#fff;border:1px solid #e4e9ec;padding:3px}
.configuracion-logo-muestra strong,.configuracion-logo-muestra small{display:block;overflow-wrap:anywhere}
.configuracion-logo-muestra strong{color:#243842;font-size:15px}
.configuracion-logo-muestra small{margin-top:4px;color:#72838c;font-size:12px}
.formulario-logo-restaurante{display:flex;align-items:end;gap:12px;min-width:0}
.formulario-logo-restaurante label{flex:1;min-width:0}
.formulario-logo-restaurante input{padding:8px;background:#fff}
.formulario-logo-restaurante small{color:#72838c;font-size:11px;font-weight:500}
.formulario-logo-restaurante .boton{white-space:nowrap}
.formulario-quitar-logo{grid-column:2;justify-self:end}
@media(max-width:800px){.configuracion-logo-contenido{grid-template-columns:1fr}.formulario-quitar-logo{grid-column:1}}
@media(max-width:580px){.formulario-logo-restaurante{display:grid}}

body.app-restaurante .marca strong {
    font: 700 16px/1.2 'DM Sans', sans-serif;
    letter-spacing: -.03em;
}

body.app-restaurante .marca small {
    display: block;
    margin-top: 3px;
    color: #7a8790;
    font-size: 11px;
}

body.app-restaurante .barra-lateral nav {
    overflow-y: auto;
    align-content: start;
    gap: 3px;
    padding: 7px 2px 10px;
    scrollbar-width: thin;
}

body.app-restaurante .barra-lateral nav a {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 9px;
    color: #53616a;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.2;
}

body.app-restaurante .barra-lateral nav a span {
    width: 22px;
    font-size: 19px;
    line-height: 0;
}

body.app-restaurante .barra-lateral nav a:hover,
body.app-restaurante .barra-lateral nav a.activo {
    background: var(--tema-suave);
    color: var(--naranja-oscuro);
}

body.app-restaurante .barra-lateral nav a.activo {
    box-shadow: inset 3px 0 var(--naranja);
}

body.app-restaurante .contenido {
    margin-left: 258px;
    padding: 0 38px 42px;
    max-width: 1640px;
}

.barra-contexto {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 -38px 28px;
    padding: 9px 38px;
    background: #fff;
    border-bottom: 1px solid #e4e9ec;
}

.contexto-ubicacion,
.contexto-cuenta {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    font-size: 12px;
}

.contexto-empresa {
    color: #667580;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contexto-separador { color: #aebac1; }

.contexto-ubicacion strong,
.contexto-ubicacion select {
    color: #25313b;
    font-weight: 700;
}

.contexto-ubicacion select {
    width: auto;
    max-width: 220px;
    padding: 5px 27px 5px 8px;
    border: 1px solid transparent;
    background-color: transparent;
    cursor: pointer;
}

.contexto-ubicacion select:hover,
.contexto-ubicacion select:focus-visible {
    border-color: var(--tema-borde);
    background-color: var(--tema-suave);
}

.contexto-cuenta { white-space: nowrap; }
.contexto-cuenta span { color: #667580; }
.contexto-cuenta a,
.contexto-cuenta button {
    color: #33434f;
    font: 700 12px 'DM Sans', sans-serif;
    text-decoration: none;
    background: none;
    border: 0;
    padding: 6px 2px;
    cursor: pointer;
}
.contexto-cuenta a:hover,
.contexto-cuenta button:hover { color: var(--naranja-oscuro); }

body.app-restaurante .cabecera { margin-bottom: 24px; }
body.app-restaurante .cabecera h1 {
    color: #21313b;
    font-size: clamp(28px, 3vw, 37px);
    letter-spacing: -.035em;
}
body.app-restaurante .sobrelinea {
    color: var(--naranja-oscuro);
    text-transform: none;
    letter-spacing: 0;
    font-size: 12px;
}
body.app-restaurante .panel {
    border-color: #e3e9ec;
    box-shadow: 0 7px 26px rgba(35, 52, 62, .035);
}
body.app-restaurante .titulo-panel h2 { color: #24313a; }
body.app-restaurante .boton-primario,
body.app-restaurante button.boton-primario {
    color: var(--tema-texto-boton);
    box-shadow: none;
}
body.app-restaurante .boton-claro { color: var(--naranja-oscuro); }
body.app-restaurante .bienvenida {
    background: linear-gradient(115deg, var(--tema-hero), var(--naranja));
    box-shadow: 0 12px 30px color-mix(in srgb, var(--naranja) 15%, transparent);
}
body.app-restaurante .bienvenida p { color: rgba(255, 255, 255, .9); }
body.app-restaurante .accesos-rapidos { display: flex; flex-wrap: wrap; gap: 10px; }
body.app-restaurante .accesos-rapidos .boton { gap: 8px; }
body.app-restaurante .boton-transparente { border: 1px solid rgba(255, 255, 255, .38); background: rgba(255, 255, 255, .12); color: #fff; backdrop-filter: blur(2px); }
body.app-restaurante .boton-transparente:hover { background: rgba(255, 255, 255, .22); }
body.app-restaurante .boton-transparente:focus-visible { outline: 3px solid rgba(255, 255, 255, .7); outline-offset: 2px; }
@media (max-width: 580px) { body.app-restaurante .accesos-rapidos .boton { flex: 1 1 calc(50% - 10px); justify-content: center; } }

body.app-restaurante input:focus-visible,
body.app-restaurante select:focus-visible,
body.app-restaurante textarea:focus-visible,
body.app-restaurante button:focus-visible,
body.app-restaurante a:focus-visible,
.acceso-cuerpo input:focus-visible,
.acceso-cuerpo button:focus-visible,
.plataforma-cuerpo input:focus-visible,
.plataforma-cuerpo button:focus-visible {
    outline: 3px solid var(--tema-borde);
    outline-offset: 2px;
}

/* La entrada de dinero ya muestra el enfoque en su contenedor, junto al prefijo Q. */
body.app-restaurante .entrada-dinero input:focus {
    outline: none;
}

.pagina-administracion { display: grid; gap: 22px; }
.intro-administracion { max-width: 63ch; color: #65747e; margin: -4px 0 0; }
.rejilla-administracion { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 20px; align-items: start; }
.panel-administracion { padding: 25px; }
.panel-administracion h2 { margin: 0 0 6px; font: 700 24px 'DM Sans', sans-serif; letter-spacing: -.025em; }
.panel-administracion > p { margin: 0 0 22px; color: #667580; font-size: 13px; }
.lista-administracion { display: grid; gap: 9px; margin: 0 0 24px; }
.item-administracion { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; background: #f7f9fa; border: 1px solid #e9eef0; border-radius: 11px; }
.item-administracion strong { display: block; color: #24313a; font-size: 14px; }
.item-administracion small { display: block; margin-top: 3px; color: #74818a; font-size: 12px; }
.etiqueta-rol { flex: 0 0 auto; border-radius: 99px; background: var(--tema-suave); color: var(--naranja-oscuro); padding: 5px 9px; font-size: 11px; font-weight: 700; }
.formulario-administracion { display: grid; gap: 13px; border-top: 1px solid #e9eef0; padding-top: 19px; }
.formulario-administracion h3 { margin: 0; font-size: 15px; }
.formulario-administracion .fila-doble { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.formulario-administracion button,
.formulario-acceso button,
.formulario-plataforma button,
.formulario-perfil button { border: 0; border-radius: 9px; background: var(--naranja); color: var(--tema-texto-boton); font: 700 13px 'DM Sans', sans-serif; padding: 12px 16px; cursor: pointer; justify-self: start; }
.formulario-administracion button:hover,
.formulario-acceso button:hover,
.formulario-plataforma button:hover,
.formulario-perfil button:hover { filter: brightness(.93); }

.acceso-cuerpo,
.plataforma-cuerpo { min-height: 100vh; background: #f4f6f7; color: #25333d; font-family: 'DM Sans', sans-serif; }
.acceso-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 480px); background: #fff; }
.acceso-presentacion { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 5vw, 70px); border-right: 1px solid #e3ecf5; background: radial-gradient(circle at 88% 10%, rgba(125, 178, 232, .28), transparent 42%), radial-gradient(circle at 6% 94%, rgba(160, 200, 240, .24), transparent 46%), linear-gradient(155deg, #fbfdff 0%, #f1f6fc 55%, #e6f0fa 100%); color: #1d2e44; }
.acceso-presentacion::before,
.acceso-presentacion::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; border: 1px solid rgba(59, 130, 196, .13); pointer-events: none; }
.acceso-presentacion::before { width: 520px; height: 520px; right: -170px; bottom: -190px; }
.acceso-presentacion::after { width: 340px; height: 340px; right: -80px; bottom: -100px; background: rgba(255, 255, 255, .45); }
.acceso-presentacion h1 { font: 700 clamp(42px, 5.6vw, 82px)/1.04 'DM Sans', sans-serif; letter-spacing: -.04em; max-width: 11ch; margin: 0; }
.acceso-presentacion h1 em { font-style: normal; color: #2f72b8; }
.acceso-presentacion p { max-width: 39ch; color: #5b6c80; font-size: 17px; line-height: 1.6; }
.acceso-sello { display: flex; align-items: center; gap: 10px; font-weight: 750; letter-spacing: -.02em; }
.acceso-sello span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(135deg, #5b9bdc, #2c68a8); box-shadow: 0 6px 16px rgba(44, 104, 168, .22); color: #fff; font: 700 19px 'DM Sans', sans-serif; }
.acceso-panel { display: grid; align-content: center; padding: clamp(28px, 5vw, 70px); background: #fff; }
.acceso-panel h2 { margin: 0 0 7px; color: #1d2e44; font: 700 34px 'DM Sans', sans-serif; letter-spacing: -.03em; }
.acceso-panel > p { margin: 0 0 28px; color: #6a7b8e; }
.formulario-acceso,
.formulario-perfil { display: grid; gap: 16px; }
.acceso-cuerpo label { color: #34465a; }
.acceso-cuerpo input:focus-visible,
.acceso-cuerpo button:focus-visible { outline-color: #b9d4ef; }
.formulario-acceso input:not([type='checkbox']) { border: 1px solid #dde6ef; background: #fbfdff; border-radius: 12px; padding: 13px 14px; transition: border-color .15s ease, box-shadow .15s ease; }
.formulario-acceso input:not([type='checkbox']):focus { outline: none; border-color: #3b82c4; background: #fff; box-shadow: 0 0 0 4px rgba(59, 130, 196, .14); }
.formulario-acceso input[type='checkbox'] { appearance: none; flex: 0 0 auto; display: grid; place-items: center; margin: 0; padding: 0; cursor: pointer; background: #fff no-repeat center / 70%; transition: background-color .15s ease, border-color .15s ease, transform .15s ease; }
.formulario-acceso input[type='checkbox']:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17.5 19 7'/%3E%3C/svg%3E"); }
.acceso-recordar { display: flex; align-items: center; gap: 10px; width: max-content; font-weight: 600; cursor: pointer; }
.acceso-recordar input[type='checkbox'] { width: 19px; height: 19px; border: 1.5px solid #c5d3e1; border-radius: 6px; }
.acceso-recordar input[type='checkbox']:checked { background-color: #3b82c4; border-color: #3b82c4; }
.acceso-verificacion { display: flex; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid #dde6ef; border-radius: 12px; background: #f6f9fc; font-size: 14px; cursor: pointer; }
.acceso-verificacion input[type='checkbox'] { width: 27px; height: 27px; border: 2px solid #bccbdb; border-radius: 7px; }
.acceso-verificacion input[type='checkbox']:checked { background-color: #16a34a; border-color: #16a34a; animation: acceso-aparecer .25s ease; }
.acceso-verificacion.verificando input[type='checkbox'] { background: transparent; border-color: #3b82c4; border-top-color: transparent; border-radius: 50%; animation: acceso-girar .6s linear infinite; }
.acceso-verificacion svg { margin-left: auto; color: #bfcddc; transition: color .2s ease; }
.acceso-verificacion:has(input:checked):not(.verificando) { border-color: #bbe5c9; background: #f1faf4; }
.acceso-verificacion:has(input:checked):not(.verificando) svg { color: #16a34a; }
@keyframes acceso-girar { to { transform: rotate(360deg); } }
@keyframes acceso-aparecer { 0% { transform: scale(.6); } 70% { transform: scale(1.12); } 100% { transform: scale(1); } }
.formulario-acceso button { width: 100%; justify-self: stretch; margin-top: 6px; padding: 14px 16px; border-radius: 12px; background: linear-gradient(135deg, #4a90d4, #2c68a8); box-shadow: 0 10px 22px rgba(44, 104, 168, .22); color: #fff; font-size: 15px; transition: transform .15s ease, box-shadow .15s ease; }
.formulario-acceso button:hover { filter: none; transform: translateY(-1px); box-shadow: 0 14px 26px rgba(44, 104, 168, .28); }
.acceso-panel .alerta-error { margin-bottom: 18px; }
.acceso-pie { font-size: 12px; color: #7d8ea2; }
.acceso-panel > .acceso-volver { margin: 20px 0 0; text-align: center; font-size: 14px; }
.acceso-volver a { color: #2f72b8; font-weight: 600; text-decoration: none; }
.acceso-volver a:hover { text-decoration: underline; }

.plataforma-contenedor { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 27px 0 55px; }
.plataforma-cabecera { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #dce4e8; padding-bottom: 22px; margin-bottom: 28px; }
.plataforma-cabecera strong { font: 700 18px 'DM Sans', sans-serif; }
.plataforma-cabecera div { display: flex; align-items: center; gap: 16px; }
.plataforma-cabecera a,
.plataforma-cabecera button { color: #3a4b56; text-decoration: none; background: none; border: 0; font: 700 13px 'DM Sans', sans-serif; cursor: pointer; }
.plataforma-titulo { margin: 0 0 8px; font: 700 38px 'DM Sans', sans-serif; }
.plataforma-intro { color: #65747e; max-width: 62ch; margin: 0 0 25px; }
.plataforma-rejilla { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: 22px; align-items: start; }
.plataforma-panel { background: #fff; border: 1px solid #e1e7eb; border-radius: 17px; padding: 26px; }
.plataforma-panel h2 { font: 700 23px 'DM Sans', sans-serif; margin: 0 0 7px; }
.plataforma-panel > p { color: #65747e; font-size: 13px; margin: 0 0 22px; }
.formulario-plataforma { display: grid; gap: 13px; }
.formulario-plataforma button { background: #244552; color: #fff; margin-top: 4px; }
.plataforma-item { display: grid; gap: 4px; border-bottom: 1px solid #e8edef; padding: 13px 0; }
.plataforma-item:last-child { border-bottom: 0; }
.plataforma-item small { color: #6b7a83; }
.formulario-sucursal-plataforma { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(130px, 1fr) minmax(110px, .7fr) auto; gap: 9px; align-items: end; margin-top: 13px; }
.formulario-sucursal-plataforma label { font-size: 11px; }
.formulario-sucursal-plataforma input { padding: 9px; font-size: 12px; }
.formulario-sucursal-plataforma button { border: 0; border-radius: 9px; background: #244552; color: #fff; padding: 10px 12px; font: 700 12px 'DM Sans', sans-serif; cursor: pointer; }

.plataforma-tabla-panel { margin-bottom: 22px; }
.cabecera-tabla-empresas { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 20px; }
.cabecera-tabla-empresas p { margin: 0; color: #667580; }
.busqueda-empresas { display: flex; gap: 8px; }
.busqueda-empresas input { min-width: 250px; }
.busqueda-empresas button, .pantalla-suscripcion button { border: 0; border-radius: 9px; background: #244552; color: #fff; padding: 11px 16px; font: 700 13px 'DM Sans', sans-serif; cursor: pointer; }
.tabla-empresas-scroll { overflow-x: auto; }
.tabla-empresas { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabla-empresas th { text-align: left; color: #687984; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid #e0e7ea; padding: 12px 10px; white-space: nowrap; }
.tabla-empresas td { padding: 16px 10px; border-bottom: 1px solid #edf0f2; vertical-align: middle; }
.tabla-empresas td strong, .tabla-empresas td small { display: block; }
.tabla-empresas td small { color: #71808a; margin-top: 4px; }
.etiqueta-plan, .estado-empresa { display: inline-block; border-radius: 999px; padding: 4px 9px; font-weight: 700; font-size: 11px; }
.etiqueta-plan { background: #eaf1f5; color: #315468; }
.estado-en_linea { background: #e4f5ec; color: #19764c; }
.estado-mantenimiento { background: #e8effb; color: #3467a6; }
.estado-alerta_pago { background: #fff2d8; color: #94630c; }
.estado-pausado { background: #fde9e8; color: #a83c36; }
.enlace-mantenimiento { color: #245b76; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nueva-empresa { margin-top: 22px; }
.formulario-nueva-empresa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.formulario-nueva-empresa button { justify-self: start; }
.formulario-dos-columnas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.sucursal-edicion { padding: 18px 0; border-bottom: 1px solid #e3e9ec; }
.sucursal-edicion strong { font-size: 15px; }
.plataforma-panel h3 { margin: 28px 0 14px; }
.tarjeta-suscripcion { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 25px; margin-bottom: 20px; }
.tarjeta-suscripcion h2 { margin: 4px 0; }
.tarjeta-suscripcion p { margin: 5px 0; }
.tarjeta-suscripcion small { color: #697983; }
.aviso-suscripcion { background: #fff4da; border: 1px solid #edd9a5; color: #795613; border-radius: 10px; margin: 16px 0; padding: 12px 16px; }
.aviso-superusuario { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 13px 16px; border: 1px solid #1e3a5f; border-radius: 12px; background: linear-gradient(120deg, #1d2e44, #2c4a6e); color: #fff; box-shadow: 0 8px 20px rgba(29, 46, 68, .18); }
.aviso-superusuario-icono { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; background: rgba(255, 255, 255, .14); }
.aviso-superusuario > div { display: grid; gap: 2px; flex: 1; min-width: 0; }
.aviso-superusuario strong { font-size: 14px; letter-spacing: .01em; }
.aviso-superusuario span { color: #d3e1f0; font-size: 13px; line-height: 1.4; }
.aviso-superusuario form { flex: 0 0 auto; }
.aviso-superusuario .boton { background: #fff; color: #1d2e44; white-space: nowrap; }
@media (max-width: 680px) { .aviso-superusuario { flex-wrap: wrap; } .aviso-superusuario form, .aviso-superusuario .boton { width: 100%; } }
.pantalla-suscripcion { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.pantalla-suscripcion .plataforma-panel { max-width: 540px; }
.pantalla-suscripcion h1 { font: 700 36px 'DM Sans', sans-serif; }
.pantalla-suscripcion .estado-suscripcion-panel{width:min(100%,620px);max-width:none;padding:37px 42px;border-radius:22px;box-shadow:0 18px 48px rgba(35,52,62,.08)}
.estado-suscripcion-marca{display:flex;align-items:center;gap:14px;margin-bottom:30px;color:#4e6571;font-size:15px;font-weight:700}
.estado-suscripcion-marca img,.estado-suscripcion-inicial{flex:0 0 60px;width:60px;height:60px;border-radius:14px}
.estado-suscripcion-marca img{object-fit:contain;padding:3px;background:#fff;border:1px solid #dce5e9}
.estado-suscripcion-inicial{display:grid;place-items:center;background:#e8f0f3;color:#315365;font:700 24px 'DM Sans',sans-serif}
.estado-suscripcion-icono{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 22px;border-radius:24px;background:#fff1ec;color:#c25d41}
.estado-suscripcion-icono svg{width:58px;height:58px}
.estado-suscripcion-icono-mantenimiento{background:#e8f1f5;color:#37667b}
.pantalla-suscripcion .estado-suscripcion-panel h1{margin:0 0 14px;color:#24333e;font:700 clamp(30px,4vw,40px)/1.12 'DM Sans',sans-serif}
.pantalla-suscripcion .estado-suscripcion-panel>p{margin:0;color:#61727d;font-size:16px;line-height:1.65}
.estado-suscripcion-ayuda{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 24px;padding:15px 17px;border:1px solid #dce8e6;border-radius:12px;background:#f6faf8}
.estado-suscripcion-ayuda>span{color:#4b626d;font-size:13px;font-weight:700}
.estado-suscripcion-ayuda a{display:inline-flex;align-items:center;gap:7px;color:#147d55;font-size:13px;font-weight:800;text-decoration:none}
.estado-suscripcion-ayuda a:hover{text-decoration:underline}
.estado-suscripcion-panel form{display:flex;justify-content:center}
.estado-suscripcion-panel form button{min-height:42px}
@media(max-width:600px){.pantalla-suscripcion{padding:17px}.pantalla-suscripcion .estado-suscripcion-panel{padding:26px 23px}}
@media (max-width: 720px) { .cabecera-tabla-empresas, .busqueda-empresas { display: block; } .busqueda-empresas input { min-width: 0; width: 100%; margin: 12px 0 8px; } .formulario-nueva-empresa, .formulario-dos-columnas, .tarjeta-suscripcion { grid-template-columns: 1fr; } }
.acciones-usuario { display: flex; align-items: center; gap: 9px; }
.acciones-usuario a, .enlace-regreso { color: var(--naranja-oscuro); font-size: 12px; font-weight: 750; text-decoration: none; }
.nota-permisos { color: #677781; font-size: 12px; line-height: 1.5; margin: 0; }
.ayuda-sucursales { padding: 19px; border: 1px solid #dbe9e2; border-radius: 13px; background: #f4faf6; }
.ayuda-sucursales strong { font-size: 15px; }
.ayuda-sucursales p { color: #52685b; font-size: 13px; line-height: 1.5; }
.ayuda-sucursales a { display: inline-flex; align-items: center; gap: 8px; background: #16805b; border-radius: 9px; padding: 10px 13px; color: #fff; text-decoration: none; font-size: 13px; font-weight: 750; }
.rejilla-permisos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.permiso-opcion { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e2e9ec; border-radius: 10px; background: #f9fbfb; font-size: 13px; }
.permiso-opcion input[type=checkbox] { width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--naranja); }
.permiso-opcion input[type=hidden] { display: none; }

.perfil-contenedor { max-width: 600px; margin: 0 auto; padding: 40px 20px; }
.perfil-contenedor > a { color: #344a55; text-decoration: none; font-weight: 700; }
.perfil-panel { background: #fff; border: 1px solid #e1e7eb; border-radius: 17px; padding: 28px; margin-top: 25px; }
.perfil-panel h1 { font: 700 30px 'DM Sans', sans-serif; margin: 0 0 5px; }
.perfil-panel > p { color: #65747e; margin: 0 0 25px; }

.panel-tema { margin-bottom: 22px; }
.panel-tema .titulo-panel { margin-bottom: 8px; }
.descripcion-tema { color: #667580; font-size: 13px; margin: 0 0 19px; }
.temas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tema-opcion { position: relative; display: block; cursor: pointer; }
.tema-opcion input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tema-tarjeta { display: block; border: 1px solid #dce5e9; border-radius: 13px; padding: 11px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.tema-opcion input:checked + .tema-tarjeta { border: 2px solid var(--naranja); padding: 10px; box-shadow: 0 0 0 3px var(--tema-suave); }
.tema-opcion input:focus-visible + .tema-tarjeta { outline: 3px solid var(--tema-borde); outline-offset: 3px; }
.tema-muestra { display: flex; align-items: end; height: 75px; border-radius: 8px; overflow: hidden; background: color-mix(in srgb, var(--muestra) 9%, white); }
.tema-muestra::before { content: ''; width: 24%; height: 100%; background: var(--muestra); }
.tema-muestra::after { content: ''; width: 52%; height: 21px; margin: 0 auto 14px; border-radius: 6px; background: var(--muestra); }
.tema-nombre { display: block; padding: 10px 3px 1px; color: #283741; font-size: 13px; font-weight: 750; }
.tema-personalizado { grid-column: 1 / -1; display: flex; gap: 17px; align-items: center; border: 1px solid #dce5e9; border-radius: 13px; padding: 15px; background: #f9fbfb; }
.tema-personalizado .tema-opcion { flex: 1; }
.tema-personalizado .tema-tarjeta { padding: 10px 12px; }
.tema-personalizado input[type=color] { width: 54px; height: 44px; padding: 4px; border-radius: 9px; cursor: pointer; }
.tema-personalizado small { color: #6d7c85; font-weight: 400; }
.acciones-tema { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.acciones-tema small { color: #71808a; }

.rejilla-ajustes-sucursal { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .6fr); gap: 20px; align-items: start; }
.filas-ajustes { display: grid; }
.fila-ajuste { display: grid; grid-template-columns: minmax(145px, 1fr) 110px 110px auto auto; gap: 12px; align-items: end; padding: 15px 0; border-top: 1px solid #e9eef0; }
.fila-ajuste:first-child { border-top: 0; }
.fila-ajuste label { min-width: 0; }
.fila-ajuste .etiqueta-rol { align-self: center; }
.fila-ajuste .boton { min-height: 42px; }
.fila-producto-sucursal { grid-template-columns: minmax(180px, 1fr) 135px minmax(155px, 220px) auto; }
.identidad-producto { display: flex; align-items: center; gap: 12px; min-width: 0; align-self: center; }
.identidad-producto > span:last-child { min-width: 0; }
.miniatura-menu-sucursal { display: grid; place-items: center; width: 54px; height: 54px; flex: none; overflow: hidden; border: 1px solid var(--borde); border-radius: 12px; background: var(--crema); color: var(--naranja-oscuro); }
.miniatura-menu-sucursal img { width: 100%; height: 100%; object-fit: cover; }
.identidad-producto strong { display: block; font-size: 14px; }
.identidad-producto small { display: block; margin-top: 4px; color: #71808a; font-size: 12px; }
.formulario-administracion.sin-borde { border-top: 0; padding-top: 0; }
.busqueda-menu-sucursal { display: grid; gap: 8px; margin: 22px 0 12px; }
.busqueda-menu-sucursal > label { font-size: 13px; font-weight: 800; }
.busqueda-menu-sucursal > div { display: flex; gap: 9px; }
.busqueda-menu-sucursal input { min-width: 0; flex: 1; }
.busqueda-menu-sucursal .boton { gap: 7px; white-space: nowrap; }
.mesa-registro { border-top: 1px solid #e9eef0; }
.mesa-registro:first-child { border-top: 0; }
.mesa-resumen { display: grid; grid-template-columns: minmax(130px, 1fr) auto auto; gap: 14px; align-items: center; min-height: 74px; padding: 12px 0; }
.mesa-resumen strong, .mesa-resumen small { display: block; }
.mesa-resumen small { margin-top: 4px; color: var(--gris); font-size: 12px; }
.mesa-resumen .boton { gap: 7px; }
.mesa-formulario { border: 0; }
.acciones-mesa-formulario { display: flex; gap: 8px; align-items: end; }
.acciones-cabecera-plano { display: flex; align-items: end; flex-direction: column; gap: 10px; }
.acciones-cabecera-plano .boton, .acciones-edicion-plano { display: inline-flex; align-items: center; gap: 8px; }

@media (max-width: 1120px) {
    .rejilla-administracion, .plataforma-rejilla, .rejilla-ajustes-sucursal { grid-template-columns: 1fr; }
    .formulario-sucursal-plataforma { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    body.app-restaurante .barra-lateral { position: static; width: auto; padding: 10px 14px 7px; }
    body.app-restaurante .marca { padding: 0 0 9px; min-height: 45px; }
    body.app-restaurante .marca strong { font-size: 14px; }
    body.app-restaurante .marca small { display: none; }
    body.app-restaurante .barra-lateral nav { display: flex; overflow-x: auto; overflow-y: hidden; gap: 5px; padding: 3px 0 7px; }
    body.app-restaurante .barra-lateral nav a { flex: 0 0 auto; min-height: 36px; padding: 7px 11px; font-size: 12px; white-space: nowrap; }
    body.app-restaurante .barra-lateral nav a span { display: none; }
    body.app-restaurante .contenido { margin-left: 0; padding: 0 22px 28px; }
    .barra-contexto { min-height: 48px; margin: 0 -22px 21px; padding: 8px 22px; }
    .contexto-cuenta span { display: none; }
    .temas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fila-ajuste, .fila-producto-sucursal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fila-ajuste .etiqueta-rol { justify-self: start; }
    .fila-ajuste .boton { justify-self: start; }
    .rejilla-permisos { grid-template-columns: 1fr; }
    .acceso-cuerpo { display: block; }
    .acceso-presentacion { min-height: 240px; padding: 25px; }
    .acceso-presentacion h1 { font-size: 40px; margin-top: 35px; }
    .acceso-presentacion p { display: none; }
    .acceso-panel { min-height: calc(100vh - 260px); align-content: start; padding: 42px 25px 45px; }
}

@media (max-width: 520px) {
    .busqueda-menu-sucursal > div { flex-wrap: wrap; }
    .busqueda-menu-sucursal input { flex-basis: 100%; }
    .busqueda-menu-sucursal .boton { flex: 1; }
    .mesa-resumen { grid-template-columns: minmax(0, 1fr) auto; }
    .mesa-resumen .boton { grid-column: 1 / -1; justify-self: start; }
    .acciones-mesa-formulario { flex-wrap: wrap; }
    .panel-plano-mesas .titulo-panel { align-items: start; flex-direction: column; }
    .acciones-cabecera-plano { align-items: start; }
    body.app-restaurante .contenido { padding: 0 14px 28px; }
    .barra-contexto { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }
    .contexto-ubicacion { gap: 5px; }
    .contexto-empresa { max-width: 90px; }
    .contexto-cuenta { gap: 7px; }
    .contexto-cuenta a { display: none; }
    .formulario-administracion .fila-doble { grid-template-columns: 1fr; }
    .fila-ajuste, .fila-producto-sucursal { grid-template-columns: 1fr; }
    .temas-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .tema-personalizado { align-items: start; }
    .plataforma-contenedor { width: min(100% - 24px, 1180px); }
    .plataforma-cabecera { align-items: start; }
    .formulario-sucursal-plataforma { grid-template-columns: 1fr; }
    .acciones-usuario { flex-direction: column; align-items: end; }
}

@media (prefers-reduced-motion: reduce) {
    .tema-tarjeta { transition: none; }
}

/* Suscripción del negocio */
body.app-restaurante .tarjeta-suscripcion{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);gap:28px;align-items:center;padding:27px 30px;background:#fff;border:1px solid #dce6e8;box-shadow:0 8px 26px rgba(28,52,64,.04)}
.suscripcion-actual{padding-right:28px;border-right:1px solid #e5ecee}
.suscripcion-sello{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--tema-suave);color:var(--naranja-oscuro);font-size:11px;font-weight:800}
.suscripcion-actual-identidad{display:flex;align-items:center;gap:12px;margin:12px 0 8px}
.suscripcion-actual-identidad .plan-emblema{flex-basis:44px;width:44px;height:44px;border-radius:11px}
.suscripcion-actual-identidad .plan-emblema-plus{background:#e8f3ed;color:#23815b}
.suscripcion-actual-identidad .plan-emblema-pro{background:#fff1da;color:#a87016}
.tarjeta-suscripcion .suscripcion-actual h2{font:700 28px 'DM Sans',sans-serif;margin:12px 0 6px;color:#243842}
.tarjeta-suscripcion .suscripcion-actual-identidad h2{margin:0}
.tarjeta-suscripcion .suscripcion-actual p{font-size:12px;color:#73828b}
.suscripcion-resumen strong{font-size:13px;color:#273b45}
.suscripcion-resumen p{font-size:12px;color:#657984;line-height:1.45}
.suscripcion-resumen .boton{margin-top:11px;min-height:42px}
.modal-planes{width:min(960px,calc(100% - 28px));max-height:min(90vh,900px);padding:0;border:0;border-radius:19px;background:#fff;box-shadow:0 28px 80px rgba(15,33,43,.28);color:#273942}
.modal-planes::backdrop{background:rgba(16,35,47,.58);backdrop-filter:blur(3px)}
.modal-planes-encabezado{display:flex;justify-content:space-between;gap:20px;padding:29px 32px 25px;border-bottom:1px solid #e6ecee;background:#f8faf9}
.modal-planes-encabezado p{margin:0 0 5px;color:var(--naranja-oscuro);font-size:12px;font-weight:800}
.modal-planes-encabezado h2{margin:0 0 7px;font:700 30px/1.15 'DM Sans',sans-serif}
.modal-planes-encabezado span{font-size:13px;color:#697b85}
.modal-planes-encabezado button{align-self:start;width:35px;height:35px;border:1px solid #dbe5e8;border-radius:9px;background:#fff;color:#526670;font-size:23px;line-height:1;cursor:pointer}
.modal-planes-cuerpo{padding:27px 30px 25px;overflow-y:auto}
.planes-comparacion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.plan-opcion{display:flex;flex-direction:column;min-height:360px;padding:20px;border:1px solid #dce6e8;border-radius:14px;background:#fff}
.plan-opcion.plan-adquirido{border:2px solid var(--naranja);padding:19px;background:color-mix(in srgb,var(--naranja) 5%,white)}
.plan-opcion-arriba{display:flex;align-items:start;justify-content:space-between;gap:8px;min-height:25px}
.plan-identidad{display:flex;align-items:center;gap:11px;min-width:0}
.plan-emblema{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#e7f1f6;color:#2b7294}
.plan-opcion-plus .plan-emblema{background:#e8f3ed;color:#23815b}
.plan-opcion-pro .plan-emblema{background:#fff1da;color:#a87016}
.plan-opcion h3{margin:0;color:#263c47;font:700 20px 'DM Sans',sans-serif}
.plan-opcion-arriba .plan-etiqueta-actual{padding:5px 7px;background:var(--tema-suave);border-radius:6px;color:var(--naranja-oscuro);font-size:10px;font-weight:800;white-space:nowrap}
.plan-precio{font-size:27px!important;font-weight:800!important;letter-spacing:-.04em;color:#223d4c!important;margin:15px 0!important}
.plan-precio small{font-size:12px;font-weight:600;letter-spacing:0;color:#7a8991}
.plan-opcion ul{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
.plan-opcion li{display:flex;gap:8px;align-items:start;color:#4c626e;font-size:12px;line-height:1.35}
.plan-opcion li::before{content:'✓';flex:0 0 14px;color:var(--naranja);font-weight:900}
.plan-contacto,.plan-vigente{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:auto;border-radius:9px;text-align:center;font-size:12px;font-weight:800;text-decoration:none}
.plan-contacto{background:#147d55;color:#fff;padding:9px 11px}
.plan-contacto:hover{background:#0e6544;color:#fff}
.plan-vigente{background:var(--tema-suave);color:var(--naranja-oscuro)}
.modal-planes-ayuda{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:22px 0 0;color:#6f8088;font-size:12px}
.modal-planes-ayuda a{display:inline-flex;align-items:center;gap:5px;color:#147d55;font-weight:800;text-decoration:none}
.modal-planes :is(a,button):focus-visible{outline:3px solid #6fa897;outline-offset:3px}
@media(max-width:760px){body.app-restaurante .tarjeta-suscripcion{grid-template-columns:1fr;gap:16px;padding:22px}.suscripcion-actual{padding:0 0 16px;border-right:0;border-bottom:1px solid #e5ecee}.planes-comparacion{grid-template-columns:1fr}.plan-opcion{min-height:0}.modal-planes-encabezado{padding:22px}.modal-planes-cuerpo{padding:18px}.modal-planes-encabezado h2{font-size:25px}}

/* Mantenimiento de usuarios y sucursales */
.mantenimiento{gap:19px}
.mantenimiento-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}
.mantenimiento-intro p{margin:0 0 7px;color:#5c707b;font-size:14px;line-height:1.45}
.mantenimiento-intro span{color:#81919a;font-size:12px;font-weight:700}
.mantenimiento-intro .boton{gap:8px;white-space:nowrap;min-height:43px}
.mantenimiento-panel{padding:0;overflow:hidden}
.mantenimiento-cabecera{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 19px}
.mantenimiento-cabecera h2{font:700 23px 'DM Sans',sans-serif;margin:0 0 4px;color:#243942}
.mantenimiento-cabecera p{margin:0;color:#82909a;font-size:12px}
.filtros-mantenimiento{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:0 25px 20px}
.filtros-mantenimiento label{display:grid;gap:6px;min-width:135px;font-size:11px;font-weight:800;color:#566a75}
.filtros-mantenimiento label:first-child{flex:1;min-width:200px}
.filtros-mantenimiento input,.filtros-mantenimiento select{height:40px;margin:0;border:1px solid #dce6e9;border-radius:9px;background:#fbfcfc;color:#273d48;padding:0 12px;font-size:12px}
.filtros-mantenimiento .boton{min-height:40px;padding:0 16px}
.enlace-limpiar{align-self:center;color:var(--naranja-oscuro);font-size:12px;font-weight:750;text-decoration:none}
.tabla-mantenimiento-scroll{overflow-x:auto}
.tabla-mantenimiento{width:100%;border-collapse:collapse;font-size:13px}
.tabla-mantenimiento th{padding:12px 20px;text-align:left;background:#f7f9f9;border-top:1px solid #e7edef;border-bottom:1px solid #e7edef;color:#71838c;font-size:11px;font-weight:800}
.tabla-mantenimiento td{padding:15px 20px;border-bottom:1px solid #edf1f2;color:#415762;vertical-align:middle}
.tabla-mantenimiento tbody tr:last-child td{border-bottom:0}
.tabla-mantenimiento tbody tr:hover{background:#fbfdfd}
.usuario-identidad{display:flex;align-items:center;gap:12px;min-width:220px}
.usuario-inicial{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--tema-suave);color:var(--naranja-oscuro);font:700 18px 'DM Sans',sans-serif}
.usuario-identidad strong,.usuario-identidad small{display:block}
.usuario-identidad strong{color:#283d48;font-size:13px}
.usuario-identidad small{color:#7a8a93;font-size:11px;margin-top:3px}
.tabla-mantenimiento .etiqueta-rol{display:inline-flex;white-space:nowrap}
.estado-miembro{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.estado-miembro::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.estado-miembro.activo{background:#e4f5ec;color:#19764c}
.estado-miembro.inactivo{background:#f2e9e8;color:#9f514b}
.accion-tabla{text-align:right}
.accion-tabla a{display:inline-flex;padding:8px 11px;border:1px solid #dce7e9;border-radius:8px;color:var(--naranja-oscuro);text-decoration:none;font-size:12px;font-weight:800}
.accion-tabla a:hover{background:var(--tema-suave)}
.vacio-mantenimiento{padding:35px 20px!important;text-align:center;color:#768790}
.paginacion-mantenimiento{margin:0;padding:13px 20px;border-top:1px solid #e7edef}
.paginacion-mantenimiento .paginador{margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
.paginacion-mantenimiento nav.paginador>div.paginador-controles{display:flex;justify-content:flex-end;width:auto;gap:8px}
.paginacion-mantenimiento .paginador-pagina.actual{background:var(--naranja);box-shadow:none}
.mantenimiento-form-grid{display:grid;grid-template-columns:minmax(0,900px);align-items:start;gap:18px}
.mantenimiento-form-panel{padding:27px}
.mantenimiento-form-titulo{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:25px}
.mantenimiento-form-titulo h2{font:700 24px 'DM Sans',sans-serif;color:#263b45;margin:0 0 6px}
.mantenimiento-form-titulo p{font-size:13px;line-height:1.45;color:#71838c;margin:0}
.mantenimiento-form{display:grid;gap:17px}
.mantenimiento-form h3{font:700 17px 'DM Sans',sans-serif;color:#2a3f49;margin:0}
.mantenimiento-form label{display:grid;gap:7px;color:#3c505b;font-size:12px;font-weight:800;min-width:0}
.mantenimiento-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.mantenimiento-form select{width:100%;height:43px;border:1px solid #dce6e9;border-radius:9px;background:#fff;padding:0 12px;color:#263b45;font-size:13px}
.mantenimiento-form label small{font-size:11px;color:#84929a;font-weight:500;line-height:1.4}
.mantenimiento-form-doble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mantenimiento-form-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mantenimiento-form-divisor{border-top:1px solid #e7edef;margin:5px 0 0}
.texto-ayuda{font-size:12px;color:#71838d;line-height:1.5;margin:-6px 0 0}
.perfiles-selector{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.perfiles-selector legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mantenimiento-form .perfil-tarjeta{display:flex;align-items:start;gap:10px;border:1px solid #dce6e9;border-radius:11px;padding:14px;background:#fafcfc;cursor:pointer;min-height:105px}
.perfil-tarjeta:has(input:checked){border-color:var(--naranja);background:var(--tema-suave);box-shadow:0 0 0 2px var(--tema-borde)}
.mantenimiento-form .perfil-tarjeta input[type=radio]{appearance:none;flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;border:1.5px solid #9faeb5;border-radius:50%;background:#fff;cursor:pointer}
.mantenimiento-form .perfil-tarjeta input[type=radio]:checked{border-color:var(--naranja);background:var(--naranja);box-shadow:inset 0 0 0 4px #fff}
.perfil-tarjeta strong,.perfil-tarjeta small{display:block}
.perfil-tarjeta strong{font-size:12px;color:#2b414c}
.perfil-tarjeta small{margin-top:6px;color:#70828c;font-size:11px;font-weight:500;line-height:1.4}
.mantenimiento-form-acciones{display:flex;align-items:center;gap:19px;padding-top:10px}
.mantenimiento-form-acciones a{color:#6f8088;font-size:12px;font-weight:750;text-decoration:none}
.aviso-cupo{padding:20px;border:1px solid #e8ddbc;border-radius:11px;background:#fffaf0;color:#5d4b27}
.aviso-cupo strong{font-size:14px}
.aviso-cupo p{font-size:12px;line-height:1.5;margin:7px 0 13px}
.aviso-cupo a{color:#7a5516;font-size:12px;font-weight:800;text-decoration:none}
.mantenimiento-edicion{max-width:900px}
.mantenimiento-password{margin-top:18px}
.mantenimiento-edicion .rejilla-permisos{margin-top:2px}
.sucursales-negocio-lista{display:grid;border-top:1px solid #e7edef}
.sucursal-negocio{display:flex;align-items:start;gap:14px;padding:20px 25px;border-bottom:1px solid #edf1f2}
.sucursal-negocio:last-child{border-bottom:0}
.sucursal-negocio-icono{display:grid;place-items:center;flex:0 0 41px;width:41px;height:41px;border-radius:10px;background:var(--tema-suave);color:var(--naranja-oscuro)}
.sucursal-negocio>div{flex:1;min-width:0}
.sucursal-negocio-titulo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sucursal-negocio h3{font-size:14px;color:#2a414d;margin:0}
.sucursal-negocio p{font-size:12px;color:#74858e;margin:5px 0 3px}
.sucursal-negocio small{font-size:11px;color:#8c9aa1}
.mantenimiento-soporte{display:flex;align-items:center;justify-content:space-between;gap:18px}
.mantenimiento-soporte p{max-width:65ch;margin:7px 0 0}
.mantenimiento-soporte a{white-space:nowrap}
@media(max-width:1080px){.mantenimiento-form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.mantenimiento-intro{align-items:start;flex-direction:column}.filtros-mantenimiento{padding:0 16px 17px}.filtros-mantenimiento label,.filtros-mantenimiento label:first-child{flex:1 1 100%}.mantenimiento-cabecera{padding:20px 16px}.tabla-mantenimiento{min-width:760px}.mantenimiento-form-panel{padding:20px}.mantenimiento-form-doble,.mantenimiento-form-triple,.perfiles-selector{grid-template-columns:1fr}.mantenimiento-form .perfil-tarjeta{min-height:0}.mantenimiento-soporte{align-items:start;flex-direction:column}.sucursal-negocio{padding:18px 16px}}
/* Selección del flujo de cocina por sucursal. */
.descripcion-flujo{margin:-8px 0 17px;color:#71838c;font-size:13px;line-height:1.5}
.selector-flujo-cocina{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.opcion-flujo-cocina{display:block;cursor:pointer}
.opcion-flujo-cocina input{position:absolute;opacity:0;width:1px;height:1px}
.tarjeta-flujo-cocina{display:flex;flex-direction:column;align-items:flex-start;min-height:188px;padding:19px;border:1px solid #dce6e9;border-radius:15px;background:#fafcfc;transition:border-color .18s,background .18s,box-shadow .18s}
.icono-flujo-cocina{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border-radius:11px;background:var(--tema-suave);color:var(--naranja-oscuro)}
.tarjeta-flujo-cocina strong{font-size:15px;color:#253b46}
.tarjeta-flujo-cocina small{margin-top:7px;color:#71838c;font-size:12px;font-weight:500;line-height:1.5}
.opcion-flujo-cocina input:checked+.tarjeta-flujo-cocina{border-color:var(--naranja);background:var(--tema-suave);box-shadow:0 0 0 2px var(--tema-borde)}
.opcion-flujo-cocina input:focus-visible+.tarjeta-flujo-cocina{outline:3px solid var(--naranja);outline-offset:3px}
.estado-registrado{background:var(--tema-suave);color:var(--naranja-oscuro)}
@media(max-width:650px){.selector-flujo-cocina{grid-template-columns:1fr}.tarjeta-flujo-cocina{min-height:0}}
/* Inventario y componentes fijos de combos. */
.panel-inventario-producto{display:grid;gap:15px}
.panel-inventario-producto .titulo-panel{margin-bottom:0}
.opcion-combo-producto{margin-top:4px}
.configuracion-combo{padding:17px;border:1px solid #e4ebee;border-radius:12px;background:#fafcfc}
.configuracion-combo>p{margin:0 0 13px;color:#60747e;font-size:12px}
.fila-componente-combo{display:grid;grid-template-columns:minmax(0,1fr) 110px 32px;gap:9px;align-items:end;margin-bottom:10px}
.fila-componente-combo .quitar-componente{height:41px}
.ajuste-inventario{display:grid;grid-template-columns:105px minmax(140px,1fr) auto;gap:8px;min-width:360px}
.ajuste-inventario input{height:39px;padding:8px}
.ajuste-inventario .boton{padding:9px 12px}
.historial-inventario{margin-top:18px}
.aviso-inventario-flexible{padding:13px 17px;margin-bottom:18px;background:#fff2de;border:1px solid #f6d7a8;border-radius:11px;color:#86561d;font-size:13px}
@media(max-width:650px){.fila-componente-combo{grid-template-columns:minmax(0,1fr) 90px 32px}.ajuste-inventario{min-width:320px;grid-template-columns:80px minmax(120px,1fr) auto}}
.captura-compra>label:first-child{grid-column:1/-1}
/* Compras, existencias y movimientos como áreas separadas. */
.compra-datos,.compra-productos{max-width:1060px;margin-bottom:18px}
.compra-datos .rejilla-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
.captura-compra-inventario{display:grid;grid-template-columns:minmax(230px,2fr) 110px 150px auto;gap:10px;align-items:end;padding:16px;border:1px solid var(--tema-borde);border-radius:13px;background:var(--tema-suave);margin-bottom:20px}
.captura-compra-inventario .boton{min-height:43px;white-space:nowrap}
.campo-producto-compra{position:relative;min-width:0}
.campo-producto-compra>label{display:block;margin-bottom:7px}
.campo-producto-compra>input{width:100%}
.resultados-producto-compra{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;max-height:280px;overflow:auto;padding:5px;background:#fff;border:1px solid var(--tema-borde);border-radius:12px;box-shadow:0 14px 28px rgba(34,56,69,.15)}
.resultado-producto-compra{display:block;width:100%;padding:11px 13px;border:0;border-radius:8px;background:transparent;color:#263b45;text-align:left;font:inherit;cursor:pointer}
.resultado-producto-compra:hover,.resultado-producto-compra[aria-selected="true"]{background:var(--tema-suave);color:var(--naranja-oscuro)}
.sin-resultados-producto-compra{margin:0;padding:11px 13px;color:#70818b;font-size:13px}
.numero-compra{color:var(--naranja-oscuro);font-weight:800;text-decoration:none;white-space:nowrap}
.numero-compra:hover,.enlace-detalle-compra:hover{text-decoration:underline}
.enlace-detalle-compra{color:var(--naranja-oscuro);font-weight:700;text-decoration:none;white-space:nowrap}
.ficha-compra{max-width:1060px;margin-bottom:18px}
.datos-ficha-compra{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.datos-ficha-compra>div{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid var(--tema-borde);border-radius:12px;background:var(--tema-suave)}
.datos-ficha-compra small{color:#70818b;font-size:12px}
.datos-ficha-compra strong{overflow-wrap:anywhere;color:#263b45;font-size:16px}
.notas-ficha-compra{margin:17px 0 0;color:#536672}
.tabla-compra-inventario{min-width:610px}
.tabla-compra-inventario td:last-child{text-align:right}
.tabla-compra-inventario .quitar-item{width:34px;height:34px;border-radius:8px;font-size:20px}
.aviso-compra-sin-productos{padding:12px 15px;border:1px solid #ecd2a5;border-radius:10px;background:#fff9ec;color:#765626;font-size:13px}
.filtro-inventario{display:flex;align-items:end;gap:10px;margin-bottom:18px;max-width:700px}
.filtro-inventario label{flex:1}
.inventario-listado{max-width:1100px}
.cantidad-inventario{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:#263b45}
.cantidad-inventario small{font-size:12px;color:#82919a;font-weight:500}
.movimiento-ajuste p{font-size:13px;color:#70818b;margin:-7px 0 18px}
.form-ajuste-inventario,.filtros-movimientos{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,.7fr) minmax(180px,1.5fr) auto;gap:10px;align-items:end}
.filtros-movimientos{grid-template-columns:minmax(160px,1.4fr) minmax(120px,.8fr) 130px 130px auto;margin-bottom:18px}
.form-ajuste-inventario .boton,.filtros-movimientos .boton{min-height:43px;white-space:nowrap}
.entrada-inventario{color:#137553;font-weight:800}.salida-inventario{color:#b35a38;font-weight:800}
@media(max-width:1450px){.captura-compra-inventario{grid-template-columns:minmax(0,2fr) minmax(100px,.7fr) minmax(140px,1fr)}.captura-compra-inventario .boton{grid-column:1/-1}}
@media(max-width:1050px){.form-ajuste-inventario,.filtros-movimientos{grid-template-columns:repeat(2,minmax(0,1fr))}.form-ajuste-inventario .boton,.filtros-movimientos .boton{grid-column:1/-1}.datos-ficha-compra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.compra-datos .rejilla-campos,.captura-compra-inventario,.form-ajuste-inventario,.filtros-movimientos,.datos-ficha-compra{grid-template-columns:1fr}.filtro-inventario{flex-wrap:wrap}.filtro-inventario label{flex-basis:100%}}
@media (min-width:1025px) and (max-width:1280px){
  body.app-restaurante .barra-lateral .marca>span:last-child{display:block}
  body.app-restaurante .barra-lateral .marca-monograma{display:grid}
  body.app-restaurante .barra-lateral nav a{flex-direction:row;justify-content:flex-start;gap:11px;min-height:42px;padding:10px 12px;text-align:left;font-size:13px}
  body.app-restaurante .barra-lateral nav a span{width:21px;font-size:20px}
}
/* Módulo de inventario unificado: pestañas, existencias, ajuste y conteo físico. */
.pestanas-inventario{display:flex;gap:6px;margin:-8px 0 22px;padding:5px;border:1px solid var(--borde);border-radius:14px;background:#fff;overflow-x:auto;width:max-content;max-width:100%}
.pestanas-inventario a{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:10px;color:#61554e;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.pestanas-inventario a:hover{background:var(--tema-suave);color:var(--naranja-oscuro)}
.pestanas-inventario a.activo{background:var(--naranja);color:#fff;box-shadow:0 4px 10px rgba(249,115,22,.18)}
.resumen-inventario{margin:0 0 18px}
.resumen-inventario p{margin:0}
.resumen-inventario strong{font-size:24px}
.detalle-resumen{display:block;color:#a52222;font-size:12px;font-weight:700}
.inventario-listado .titulo-panel{flex-wrap:wrap;gap:12px}
.filtros-estado-inventario{display:flex;gap:6px;flex-wrap:wrap}
.filtros-estado-inventario .filtro{text-decoration:none;font-size:13px;padding:7px 12px}
.tabla-existencias{min-width:760px}
.acciones-existencia{display:flex;justify-content:flex-end;gap:6px}
.acciones-existencia .boton{gap:6px;padding:8px 11px;font-size:13px;white-space:nowrap}
.modal-ajuste-existencia{width:min(460px,calc(100% - 28px));padding:0;border:0;border-radius:20px;color:var(--texto);box-shadow:0 24px 70px rgba(53,24,11,.25)}
.modal-ajuste-existencia::backdrop{background:rgba(53,24,11,.48);backdrop-filter:blur(3px)}
.modal-ajuste-existencia form{display:grid;gap:14px;padding:22px 24px}
.modal-ajuste-existencia header{display:flex;justify-content:space-between;align-items:start}
.modal-ajuste-existencia h2{margin:4px 0 0;font:700 23px 'DM Sans',sans-serif}
.modal-ajuste-existencia header button{width:34px;height:34px;border:1px solid var(--borde);border-radius:9px;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--cafe)}
.producto-ajuste{display:flex;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border-radius:11px;background:var(--tema-suave)}
.producto-ajuste span{color:var(--gris);font-size:13px;white-space:nowrap}
.diferencia-ajuste{min-height:18px;margin:-6px 0 0;font-size:13px;color:var(--gris)}
.modal-ajuste-existencia footer{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.conteo-inventario{max-width:1100px}
.conteo-inventario .titulo-panel{flex-wrap:wrap;gap:12px}
.buscador-conteo{min-width:240px}
.tabla-conteo{min-width:560px}
.tabla-conteo td{padding-top:10px;padding-bottom:10px}
.entrada-conteo{max-width:140px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.diferencia-conteo{font-variant-numeric:tabular-nums;color:var(--gris)}
.cierre-conteo{max-width:1100px;margin-top:18px;display:grid;gap:10px}
.cierre-conteo #resumen-conteo{margin:0;color:var(--gris);font-size:13px}
.cierre-conteo .acciones-formulario{margin-top:4px}
@media(max-width:760px){.pestanas-inventario{width:100%}.pestanas-inventario a{padding:9px 11px;font-size:13px}.acciones-existencia .boton{padding:8px}.buscador-conteo{min-width:0;width:100%}}
.acciones-filtro-movimientos{display:flex;gap:8px}
.acciones-filtro-movimientos .boton{min-height:43px;white-space:nowrap}
@media(max-width:1050px){.acciones-filtro-movimientos{grid-column:1/-1;justify-content:flex-end}}
.resultado-producto-compra small{display:block;margin-top:2px;color:var(--gris);font-size:11px;font-weight:500}
.captura-compra-inventario{padding-bottom:26px}.captura-compra-inventario>label{position:relative}.pista-costo-compra{position:absolute;left:2px;top:100%;margin-top:3px;white-space:nowrap;color:var(--gris);font-size:11px;font-weight:500}
@media(max-width:1450px){.captura-compra-inventario{row-gap:22px}}

/* Navegación de configuración */
.configuracion-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 23px;padding:23px 28px;border:1px solid var(--borde);border-radius:18px;background:#fff}.configuracion-intro h2{margin:0 0 6px;font:700 24px 'DM Sans',sans-serif;color:var(--cafe)}.configuracion-intro p{margin:0;color:var(--gris);font-size:14px;line-height:1.55;max-width:640px}.configuracion-contexto{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 13px;border-radius:10px;background:var(--tema-suave);color:var(--naranja-oscuro);font-size:12px;font-weight:750}.configuracion-portada{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1040px}.configuracion-acceso{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:15px;min-height:154px;padding:21px;border:1px solid var(--borde);border-radius:16px;background:#fff;color:var(--texto);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.configuracion-acceso:hover{border-color:var(--naranja);box-shadow:0 6px 20px rgba(79,39,14,.07)}.configuracion-acceso:focus-visible,.configuracion-navegacion a:focus-visible{outline:3px solid var(--naranja);outline-offset:3px}.configuracion-acceso-icono{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:var(--tema-suave);color:var(--naranja-oscuro)}.configuracion-acceso-contenido{display:grid;justify-items:start;gap:5px;min-width:0}.configuracion-acceso-contenido strong{font:700 19px 'DM Sans',sans-serif;color:var(--cafe)}.configuracion-acceso-contenido small{font-size:13px;line-height:1.45;color:var(--gris)}.configuracion-alcance{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:9px;padding:5px 9px;border-radius:20px;background:#eef4f2;color:#446758;font-size:11px;font-weight:750}.configuracion-acceso-flecha{align-self:center;color:var(--naranja-oscuro);font-size:22px}.configuracion-miga{display:flex;align-items:center;gap:9px;margin:-8px 0 19px;color:var(--gris);font-size:12px}.configuracion-miga a{color:var(--naranja-oscuro);font-weight:750;text-decoration:none}.configuracion-distribucion{display:grid;grid-template-columns:228px minmax(0,1fr);gap:24px;align-items:start}.configuracion-navegacion{position:sticky;top:22px;display:grid;gap:5px;padding:7px;border:1px solid var(--borde);border-radius:15px;background:#fff}.configuracion-navegacion a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;color:#655a52;text-decoration:none;font-size:13px;font-weight:700}.configuracion-navegacion a:hover,.configuracion-navegacion a.activo{background:var(--tema-suave);color:var(--naranja-oscuro)}.configuracion-contenido{min-width:0;max-width:920px}.configuracion-cabecera-seccion{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.configuracion-cabecera-seccion p{margin:0;color:var(--gris);font-size:14px}.configuracion-cabecera-seccion .configuracion-alcance{margin:8px 0 0}.configuracion-apartado-form{max-width:none}.configuracion-contenido .tarjeta-suscripcion{margin:0}.alcance-configuracion{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:11px 14px;border-radius:11px;background:#f2f6f4;color:#456255;font-size:12px}.alcance-configuracion strong{flex:0 0 auto}.alcance-configuracion span{line-height:1.4}.configuracion-contenido .panel-tema{margin-bottom:18px}.configuracion-contenido .panel-logo-restaurante{margin-bottom:18px}
@media(max-width:1100px){.configuracion-distribucion{grid-template-columns:1fr;gap:16px}.configuracion-navegacion{position:static;display:flex;overflow:auto;white-space:nowrap}.configuracion-navegacion a{flex:0 0 auto}.configuracion-contenido{max-width:none}}@media(max-width:680px){.configuracion-intro{display:grid;padding:20px}.configuracion-contexto{justify-self:start}.configuracion-portada{grid-template-columns:1fr}.configuracion-acceso{min-height:0}.configuracion-navegacion{margin:0 -14px;border-radius:0;border-left:0;border-right:0}.alcance-configuracion{align-items:start;flex-direction:column;gap:3px}.configuracion-contenido .tarjeta-suscripcion{grid-template-columns:1fr}.configuracion-apartado-form .rejilla-configuracion{grid-template-columns:1fr}}

/* Todos los ajustes comparten una sola página y un índice de acceso rápido. */
.configuracion-unificada { max-width: 1120px; }
.configuracion-indice {
    position: sticky;
    top: 0;
    z-index: 4;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    margin-bottom: 22px;
    padding: 9px;
    border: 1px solid var(--borde);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(60, 30, 10, .06);
    scrollbar-width: thin;
}
.configuracion-indice a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1 0 auto;
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 9px;
    color: var(--cafe);
    font-size: 12px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}
.configuracion-indice a span {
    width: auto;
    font-size: inherit;
    text-align: inherit;
}
.configuracion-indice a .icono-svg { flex: 0 0 auto; }
.configuracion-indice a:hover { background: var(--tema-suave); color: var(--naranja-oscuro); }
.configuracion-indice a:focus-visible { outline: 3px solid var(--naranja); outline-offset: 1px; }
.configuracion-bloques { display: grid; gap: 24px; }
.configuracion-bloque {
    min-width: 0;
    scroll-margin-top: 86px;
    padding: 22px;
    border: 1px solid var(--borde);
    border-radius: 19px;
    background: #fbfaf8;
}
.configuracion-bloque-cabecera {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 19px;
}
.configuracion-bloque-icono {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--tema-suave);
    color: var(--naranja-oscuro);
}
.configuracion-bloque-cabecera > div { flex: 1; min-width: 0; }
.configuracion-bloque-cabecera h2 { margin: 0 0 3px; font: 700 22px 'DM Sans', sans-serif; color: var(--cafe); }
.configuracion-bloque-cabecera p { margin: 0; color: var(--gris); font-size: 13px; line-height: 1.4; }
.configuracion-bloque-cabecera .configuracion-alcance { flex: 0 0 auto; margin: 0; }
.configuracion-bloque > .panel { margin: 0 0 14px; box-shadow: none; }
.configuracion-bloque > .panel:last-child { margin-bottom: 0; }
.configuracion-bloque .tarjeta-flujo-cocina { min-height: 160px; }

.boton-entrega {
    background: #146f66;
    color: #fff;
    box-shadow: 0 5px 12px rgba(20, 111, 102, .2);
}
.boton-entrega:hover { background: #0f5b54; }
.boton-entrega:focus-visible { outline: 3px solid #0f5b54; outline-offset: 3px; }

@media (max-width: 800px) {
    .configuracion-bloque-cabecera { flex-wrap: wrap; }
    .configuracion-bloque-cabecera .configuracion-alcance { margin-left: 56px; }
}
@media (max-width: 650px) {
    .configuracion-indice { margin-inline: -14px; border-radius: 0; border-inline: 0; }
    .configuracion-bloque { padding: 15px; }
    .configuracion-bloque-cabecera .configuracion-alcance { margin-left: 0; }
}

/* Caja por sucursal */
.caja-encabezado{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.caja-encabezado p{margin:0;color:var(--gris);font-size:14px}.caja-estado{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 13px;border-radius:30px;font-size:12px;font-weight:800}.caja-estado::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}.caja-estado-abierta{background:#e2f5eb;color:#126b4d}.caja-estado-cerrada{background:#f2eee9;color:#665951}.caja-meta{margin:0 0 19px;color:var(--gris);font-size:13px}.caja-apertura{max-width:700px;margin-bottom:23px}.caja-apertura>.titulo-panel{margin-bottom:8px}.caja-apertura>p,.caja-cierre>p{color:var(--gris);font-size:13px;line-height:1.5}.caja-formulario-corto{display:flex;gap:12px;align-items:end;margin-top:22px}.caja-formulario-corto label{flex:1}.caja-formulario-corto .boton{min-height:43px}.caja-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.caja-resumen article{display:grid;align-content:start;gap:5px;min-height:112px;padding:19px 20px;border:1px solid var(--borde);border-radius:16px;background:#fff}.caja-resumen article span{color:var(--gris);font-size:12px;font-weight:700}.caja-resumen article strong{color:var(--cafe);font:700 27px 'DM Sans',sans-serif}.caja-resumen article small{color:var(--gris);font-size:11px}.caja-resumen .caja-resumen-destacado{border-color:var(--tema-borde);background:var(--tema-suave)}.caja-columnas{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;align-items:start;margin-bottom:22px}.caja-columna-principal{display:grid;gap:18px;min-width:0}.caja-columnas>.panel{min-width:0}.caja-desglose{display:grid;gap:0}.caja-desglose>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--borde);font-size:13px}.caja-desglose>div:last-child{border-bottom:0}.caja-desglose strong{color:var(--cafe);white-space:nowrap}.caja-ayuda{margin:14px 0 0;color:var(--gris);font-size:12px}.caja-formulario-movimiento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.caja-formulario-movimiento .caja-motivo,.caja-formulario-movimiento .boton{grid-column:1/-1}.caja-formulario-movimiento .boton{justify-self:start}.caja-totales-movimientos{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0 10px;padding:12px 0;border-top:1px solid var(--borde);color:var(--gris);font-size:13px}.caja-totales-movimientos strong{color:var(--cafe)}.tabla-caja{min-width:570px}.tabla-caja td{font-size:12px}.tabla-caja td:last-child{text-align:right}.tabla-caja a{color:var(--naranja-oscuro);font-weight:700;text-decoration:none}.tabla-caja a:hover{text-decoration:underline}.caja-etiqueta{display:inline-flex;padding:5px 8px;border-radius:30px;font-size:11px;font-weight:800}.caja-etiqueta-entrada{background:#e2f5eb;color:#126b4d}.caja-etiqueta-salida{background:#fff0e7;color:#a84d0e}.caja-cierre{position:sticky;top:22px}.caja-cierre form{display:grid;gap:16px;margin-top:20px}.caja-esperado{display:flex;justify-content:space-between;gap:10px;padding:14px;border-radius:10px;background:var(--tema-suave);font-size:13px}.caja-faltante{color:#a52222!important;font-weight:800}.caja-historial{margin-top:22px}.opcion-pago-caja{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 15px;border:1px solid var(--tema-borde);border-radius:11px;background:var(--tema-suave);cursor:pointer}.opcion-pago-caja input{flex:0 0 auto;width:19px;height:19px;margin:1px 0}.opcion-pago-caja span{display:grid;gap:2px}.opcion-pago-caja small{font-weight:400;color:var(--gris)}.aviso-caja-cerrada{margin:0 0 18px;padding:13px 16px;border:1px solid #ead4a7;border-radius:10px;background:#fff9ed;color:#765626;font-size:13px;line-height:1.5}.aviso-caja-cerrada a{color:#765626;font-weight:800;text-decoration:underline}#detalle-efectivo-pedido,#detalle-efectivo-modal{display:grid;gap:9px;margin-top:12px}
@media(max-width:950px){.caja-columnas{grid-template-columns:1fr}.caja-cierre{position:static}}@media(max-width:650px){.caja-encabezado{align-items:flex-start;flex-direction:column}.caja-resumen{grid-template-columns:1fr}.caja-resumen article{min-height:0}.caja-formulario-corto{align-items:stretch;flex-direction:column}.caja-formulario-movimiento{grid-template-columns:1fr}}

/* Listado y ficha de cajas */
.caja-listado-cabecera{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}.caja-listado-cabecera h2{margin:0 0 5px;color:var(--cafe);font:700 22px 'DM Sans',sans-serif}.caja-listado-cabecera p{margin:0;color:var(--gris);font-size:13px;line-height:1.5}.caja-listado-cabecera .boton{flex:0 0 auto}.caja-acceso-activa{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;border:1px solid #b9dec9;border-radius:15px;background:#f1faf4}.caja-acceso-activa>div{display:grid;gap:3px;flex:1;min-width:0}.caja-acceso-activa strong{color:var(--cafe);font-size:15px}.caja-acceso-activa small{color:var(--gris);font-size:12px;line-height:1.4}.caja-acceso-activa .boton{flex:0 0 auto}.caja-listado-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.caja-listado-resumen>div{display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid var(--borde);border-radius:12px;background:#fff}.caja-listado-resumen strong{color:var(--cafe);font:700 25px 'DM Sans',sans-serif}.caja-listado-resumen span{color:var(--gris);font-size:12px}.caja-listado-panel .titulo-panel{margin-bottom:17px}.caja-filtros{display:grid;grid-template-columns:minmax(150px,1fr) repeat(2,minmax(150px,1fr)) auto;gap:11px;align-items:end;margin-bottom:21px;padding:15px;border:1px solid var(--borde);border-radius:12px;background:#f8fafb}.caja-filtros-acciones{display:flex;gap:7px}.caja-filtros-acciones .boton{min-height:42px;white-space:nowrap}.caja-tabla-listado{min-width:900px}.caja-tabla-listado th:last-child,.caja-tabla-listado td:last-child{text-align:right}.caja-tabla-listado .caja-estado{padding:6px 9px;font-size:11px}.caja-tabla-listado .caja-estado::before{width:6px;height:6px}.caja-enlace-ficha{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:8px;background:var(--tema-suave);color:var(--naranja-oscuro);font-weight:750;text-decoration:none;white-space:nowrap}.caja-enlace-ficha:hover{background:var(--tema-borde);text-decoration:none!important}.caja-ruta{display:flex;align-items:center;gap:8px;margin:-8px 0 20px;color:var(--gris);font-size:12px}.caja-ruta a{color:var(--naranja-oscuro);font-weight:750;text-decoration:none}.caja-ruta a:hover{text-decoration:underline}.caja-ruta strong{color:var(--cafe)}.caja-ficha-cabecera{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.caja-ficha-cabecera>div{display:grid;justify-items:start;gap:7px}.caja-ficha-cabecera p{margin:0;color:var(--gris);font-size:13px}.caja-ficha-cabecera .boton{flex:0 0 auto}.caja-contador{color:var(--gris);font-size:12px;font-weight:700}.caja-apertura-datos{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.caja-apertura-datos span{display:grid;gap:4px;min-width:160px;padding:12px 15px;border-radius:10px;background:#f6f8f9;color:var(--gris);font-size:11px}.caja-apertura-datos strong{color:var(--cafe);font-size:14px}.caja-formulario-apertura{display:grid;gap:18px}.caja-formulario-apertura label{max-width:300px}.caja-formulario-apertura small{color:var(--gris);font-size:11px;font-weight:400}.caja-apertura-acciones{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--borde);padding-top:18px}
@media(max-width:1050px){.caja-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.caja-filtros-acciones{grid-column:1/-1;justify-content:flex-end}}@media(max-width:700px){.caja-listado-cabecera,.caja-ficha-cabecera,.caja-acceso-activa{align-items:stretch;flex-direction:column}.caja-listado-cabecera .boton,.caja-acceso-activa .boton{justify-content:center}.caja-listado-resumen{grid-template-columns:1fr}.caja-filtros{grid-template-columns:1fr}.caja-filtros-acciones{justify-content:stretch}.caja-filtros-acciones .boton{flex:1}.caja-apertura-acciones{justify-content:stretch}.caja-apertura-acciones .boton{flex:1}}
.caja-historial{scroll-margin-top:18px}
.opciones-pago-gasto{display:grid;gap:10px;margin-top:20px;padding:0;border:0}.opciones-pago-gasto legend{margin-bottom:2px;color:var(--cafe);font-size:13px;font-weight:800}.opciones-pago-gasto .opcion-pago-caja{margin-top:0}.opciones-pago-gasto .opcion-pago-caja:has(input:checked){border-color:var(--naranja-oscuro);box-shadow:0 0 0 1px var(--naranja-oscuro)}.caja-detalle-gasto{display:block;margin-top:4px;color:var(--gris);font-size:11px;line-height:1.4}
.caja-acceso-activa{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;padding:20px 22px}.caja-acceso-activa>.caja-acceso-cabecera{display:flex;align-items:center;gap:16px;min-width:0}.caja-acceso-cabecera>div{display:grid;gap:3px;min-width:0}.caja-acceso-cabecera strong{color:var(--cafe);font-size:15px}.caja-acceso-cabecera small{color:var(--gris);font-size:12px;line-height:1.4}.caja-acceso-cifras{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.caja-acceso-cifras>div{display:grid;gap:6px;min-width:0;padding:13px 15px;border:1px solid #d5e8dc;border-radius:11px;background:#fff}.caja-acceso-cifras dt{color:#4c6758;font-size:11px;font-weight:750}.caja-acceso-cifras dd{margin:0;color:var(--cafe);font-size:20px;font-weight:800;white-space:nowrap}.caja-acceso-cifras .caja-acceso-efectivo{border-color:#a9d9bd;background:#e4f5e9}.caja-acceso-nota{grid-column:1/-1;margin:-7px 0 0;color:#54715f;font-size:11px}.caja-acceso-activa>.boton{justify-self:end}@media(max-width:800px){.caja-acceso-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.caja-acceso-activa{grid-template-columns:1fr}.caja-acceso-activa>.boton{justify-self:stretch}.caja-acceso-activa>.caja-acceso-cabecera{align-items:flex-start}}@media(max-width:430px){.caja-acceso-cifras{grid-template-columns:1fr}.caja-acceso-cabecera{flex-wrap:wrap}}
body.app-restaurante main.contenido :is(h1,h2,h3,h4){font-family:'DM Sans',sans-serif;letter-spacing:-.025em}

/* Avisos de la plataforma (se muestran en el panel del restaurante y en la vista previa de la plataforma) */
.avisos-plataforma{display:grid;gap:10px;margin:0 0 20px}
.aviso-plataforma{--aviso-fondo:#eaf3fd;--aviso-borde:#b9d6f5;--aviso-texto:#16426e;--aviso-acento:#2876b5;display:flex;align-items:flex-start;gap:13px;padding:14px 14px 14px 16px;border:1px solid var(--aviso-borde);border-left:4px solid var(--aviso-acento);border-radius:13px;background:var(--aviso-fondo);color:var(--aviso-texto);transition:opacity .2s,transform .2s}
.aviso-plataforma.cerrando{opacity:.4;transform:translateY(-2px)}
.aviso-plataforma-icono{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--aviso-acento)}
.aviso-plataforma-texto{flex:1;min-width:0;padding-top:1px}
.aviso-plataforma-texto strong{display:block;font-size:14px;line-height:1.35}
.aviso-plataforma-texto p{margin:3px 0 0;font-size:13px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.aviso-plataforma-texto a{display:inline-block;margin-top:6px;color:var(--aviso-texto);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.aviso-plataforma-texto a[hidden]{display:none}
.aviso-plataforma form{margin:0}
.aviso-plataforma-cerrar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--aviso-texto);cursor:pointer}
button.aviso-plataforma-cerrar:hover{background:rgba(255,255,255,.7)}
button.aviso-plataforma-cerrar:focus-visible{outline:3px solid var(--aviso-borde);outline-offset:1px}

/* Encabezado y posición de la comanda */
.previa-comanda .previa-logo{align-self:center;max-width:100%;height:auto;margin-bottom:6px;filter:grayscale(1)}
.previa-comanda [hidden]{display:none!important}
.opciones-encabezado-comanda{display:grid;gap:10px}
.opciones-encabezado-comanda .opcion-impresion-automatica{margin:0}
.tamano-logo-comanda{display:grid;gap:8px;max-width:460px;margin-top:14px}
.tamano-logo-comanda[hidden]{display:none}
.tamano-logo-comanda>span{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tamano-logo-comanda output{color:var(--naranja-oscuro);font-weight:800}
.tamano-logo-comanda input[type=range]{padding:0;border:0;accent-color:var(--naranja)}
.posicion-comanda{max-width:640px}
.entrada-milimetros{position:relative;display:block}
.entrada-milimetros input{padding-right:42px}
.entrada-milimetros>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--gris);font-size:12px;font-weight:700;pointer-events:none}
.prueba-comanda{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 0}
.prueba-comanda .boton{gap:8px}
.prueba-comanda small{color:var(--gris);font-size:12px}

/* Recibo de caja */
.caja-ficha-cabecera>.caja-acciones-recibo,.caja-acciones-recibo{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.caja-acciones-recibo .boton{gap:7px;white-space:nowrap}
.caja-aviso-recibo{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;border-color:var(--tema-borde);background:var(--tema-suave)}
.caja-aviso-recibo-icono{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--naranja-oscuro)}
.caja-aviso-recibo>div{flex:1;min-width:0}
.caja-aviso-recibo strong{display:block;color:var(--cafe);font-size:15px}
.caja-aviso-recibo p{margin:3px 0 0;color:var(--gris);font-size:13px}
.caja-acciones-fila{white-space:nowrap}
.caja-acciones-fila .caja-enlace-ficha+.caja-enlace-ficha{margin-left:12px}
@media(max-width:700px){.caja-ficha-cabecera>.caja-acciones-recibo{justify-content:flex-start}.caja-aviso-recibo{flex-wrap:wrap}.caja-aviso-recibo .boton{width:100%}}

/* Respaldo del restaurante */
.respaldo-negocio{max-width:900px}
.respaldo-negocio-intro{display:flex;align-items:center;gap:17px;padding:23px 25px;border-radius:17px;background:var(--cafe);color:#fff}
.respaldo-negocio-icono{display:grid;place-items:center;flex:0 0 51px;width:51px;height:51px;border-radius:13px;background:var(--tema-suave);color:var(--naranja-oscuro)}
.respaldo-negocio-intro h2{margin:0 0 4px;font:700 21px 'DM Sans',sans-serif;color:#fff}
.respaldo-negocio-intro p{margin:0;color:#e0e9eb;font-size:13px;line-height:1.5}
.respaldo-negocio-panel{padding:0;overflow:hidden}
.respaldo-negocio-cabecera{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 25px;border-bottom:1px solid #e8edef}
.respaldo-negocio-cabecera h2{margin:0 0 4px;font:700 21px 'DM Sans',sans-serif;color:var(--cafe)}
.respaldo-negocio-cabecera p{margin:0;color:var(--gris);font-size:12px}
.respaldo-negocio-cabecera>span{padding:6px 10px;border-radius:99px;background:var(--tema-suave);color:var(--naranja-oscuro);font-size:11px;font-weight:800;white-space:nowrap}
.respaldo-negocio-contenido{padding:23px 25px 25px}
.respaldo-negocio-contenido ul{display:grid;gap:14px;margin:0 0 20px;padding:0;list-style:none}
.respaldo-negocio-contenido li{display:flex;align-items:flex-start;gap:9px;color:#354d58;font-size:13px;line-height:1.5}
.respaldo-negocio-contenido li svg{flex:none;color:#288461}
.respaldo-negocio-contenido p{margin:0 0 22px;color:var(--gris);font-size:12px;line-height:1.5}
.respaldo-negocio-contenido .boton{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.respaldo-negocio-aviso{display:flex;align-items:flex-start;gap:8px;margin:0 3px;color:var(--gris);font-size:12px;line-height:1.5}
.respaldo-negocio-aviso svg{flex:none}
@media(max-width:600px){.respaldo-negocio-intro{align-items:flex-start;padding:19px}.respaldo-negocio-icono{flex-basis:43px;width:43px;height:43px}.respaldo-negocio-cabecera{padding:19px}.respaldo-negocio-contenido{padding:20px 19px}.respaldo-negocio-contenido .boton{width:100%;justify-content:center}}
