/* Consola de recepción · estética de la casa. Tipografía corporativa Cera Pro (manual de marca, pág. 12).
   MODO CLARO (Patricio, 22-10-2026): predominan arena, blanco y aquamarina; el azul marino solo en texto.
   MODO OSCURO: el marino profundo de la familia Ona (#071C2B), como ona-crm y Pulse. Se aplica si el sistema lo pide
   (prefers-color-scheme) o si la persona lo elige (data-tema en <html>, botón del pie). Todos los colores son variables. */
:root{--fondo:#F7F1EA;--superficie:#FFFFFF;--superficie-2:#FBF8F4;--hover:#F2FAF9;--sel:#E9F8F7;
  --texto:#1B2433;--texto-2:#33415C;--suave:#6B6F74;--borde:#E8DFD3;--borde-2:#F1EAE1;--borde-campo:#D9CFC2;
  --titulo:#003865;--acento:#0FB7B2;--acento-2:#0A9A96;--acento-texto:#FFFFFF;--turquesa:#0FB7B2;--turquesa-suave:#E9F8F7;--turquesa-mid:#B9EBE9;
  --nav:#0FB7B2;--nav-logo:#FFFFFF;--nav-hover:#0CA19D;--nav-activo:#FFFFFF;--nav-activo-texto:#06625F;--nav-texto:#FFFFFF;--nav-icono:#D8F5F3;
  --arena:#D6BFA3;--arena-f:#F7F1EA;--gris:#F4EFE8;--pista:#E6DCCF;
  --ok-f:#D3F1EC;--ok-t:#0B5B55;--inc-f:#FCE9C4;--inc-t:#7A3B06;--no-f:#ECE6DD;--no-t:#5A5F66;--aviso-f:#FFF4D6;--aviso-t:#7A4B00;--fallo-f:#FDE2E1;--fallo-t:#9B1C1C;--error:#9B1C1C;
  --sombra:0 1px 2px rgba(0,56,101,.05);color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-tema="claro"]){--fondo:#0B1722;--superficie:#11212F;--superficie-2:#152838;--hover:#17304A;--sel:#123B45;
  --texto:#E6EDF3;--texto-2:#C3CFDB;--suave:#93A3B5;--borde:#22384B;--borde-2:#1B3042;--borde-campo:#2A4358;
  --titulo:#7FE3DA;--acento:#1ED3C7;--acento-2:#8FF2E7;--acento-texto:#071C2B;--turquesa:#1ED3C7;--turquesa-suave:#123B45;--turquesa-mid:#1E4F55;
  --nav:#071C2B;--nav-logo:#1ED3C7;--nav-hover:#12324A;--nav-activo:#12324A;--nav-activo-texto:#FFFFFF;--nav-texto:#C3CFDB;--nav-icono:#8FA9BF;
  --arena:#6B5A44;--arena-f:#2A2419;--gris:#152838;--pista:#22384B;
  --ok-f:#0E3B36;--ok-t:#7FE3C8;--inc-f:#3D2A0A;--inc-t:#F5C56B;--no-f:#243446;--no-t:#C3CFDB;--aviso-f:#3A2E0A;--aviso-t:#F5D27A;--fallo-f:#3B1616;--fallo-t:#FCA5A5;--error:#FCA5A5;
  --sombra:none;color-scheme:dark}}
:root[data-tema="oscuro"]{--fondo:#0B1722;--superficie:#11212F;--superficie-2:#152838;--hover:#17304A;--sel:#123B45;
  --texto:#E6EDF3;--texto-2:#C3CFDB;--suave:#93A3B5;--borde:#22384B;--borde-2:#1B3042;--borde-campo:#2A4358;
  --titulo:#7FE3DA;--acento:#1ED3C7;--acento-2:#8FF2E7;--acento-texto:#071C2B;--turquesa:#1ED3C7;--turquesa-suave:#123B45;--turquesa-mid:#1E4F55;
  --nav:#071C2B;--nav-logo:#1ED3C7;--nav-hover:#12324A;--nav-activo:#12324A;--nav-activo-texto:#FFFFFF;--nav-texto:#C3CFDB;--nav-icono:#8FA9BF;
  --arena:#6B5A44;--arena-f:#2A2419;--gris:#152838;--pista:#22384B;
  --ok-f:#0E3B36;--ok-t:#7FE3C8;--inc-f:#3D2A0A;--inc-t:#F5C56B;--no-f:#243446;--no-t:#C3CFDB;--aviso-f:#3A2E0A;--aviso-t:#F5D27A;--fallo-f:#3B1616;--fallo-t:#FCA5A5;--error:#FCA5A5;
  --sombra:none;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:"Cera Pro",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;color:var(--texto);background:var(--fondo)}
h1,h2,h3{font-family:"Cera Pro",system-ui,sans-serif;font-weight:700}
button{font:inherit;cursor:pointer;color:inherit}input,select,textarea{font:inherit;color:var(--texto);background:var(--superficie)}
:focus-visible{outline:2px solid var(--turquesa);outline-offset:2px}
.muted{color:var(--suave)}.err{color:var(--error)}.ok{color:var(--ok-t)}.aviso{color:var(--aviso-t)}
/* Estructura: barra lateral y contenido a todo el ancho */
#shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
#lateral[hidden]+main{grid-column:1/-1}   /* antes de entrar la barra está oculta: el formulario ocupa todo el ancho y se centra (en pantalla ancha caía en la columna de la barra) */
#lateral{background:var(--nav);color:var(--nav-texto);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.marca{display:flex;flex-direction:column;gap:6px;padding:0 6px}.marca .logo-ona{height:46px;width:auto;color:var(--nav-logo);display:block}.marca .sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--nav-icono)}
.campo-hotel{display:flex;flex-direction:column;gap:6px;padding:0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-icono);font-weight:600}
.campo-hotel select{border:0;border-radius:10px;padding:9px 10px;font-size:14px;color:var(--navy,#003865);background:#fff;width:100%}
#nav{display:flex;flex-direction:column;gap:2px}#nav a{color:var(--nav-texto);text-decoration:none;font-weight:500;padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:10px}
#nav a i{font-style:normal;width:20px;text-align:center;color:var(--nav-icono)}#nav a:hover{background:var(--nav-hover);color:#fff}#nav a.activo{background:var(--nav-activo);color:var(--nav-activo-texto);font-weight:700}#nav a.activo i{color:var(--nav-activo-texto)}
.pie{margin-top:auto;display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--nav-icono);padding:0}
.sb-user{display:flex;align-items:center;gap:11px;padding:12px 6px 0;border-top:1px solid rgba(255,255,255,.14)}
.sb-user .av{width:34px;height:34px;border-radius:50%;background:var(--nav-activo);color:var(--nav-activo-texto);display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}
.sb-user .who{flex:1;min-width:0;overflow:hidden;white-space:nowrap;font-size:10.5px;color:var(--nav-icono)}.sb-user .who b{display:block;font-size:12.5px;color:var(--nav-texto);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.sb-user .who .enlace{font-size:10.5px;color:var(--nav-icono)}.sb-user .who .enlace:hover{color:var(--nav-texto)}
.sb-tema{display:flex;gap:4px;padding:3px;background:rgba(255,255,255,.12);border-radius:10px}
.sb-tema button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--nav-icono);font-size:12px;font-weight:600;padding:7px 4px;border-radius:8px}
.sb-tema button svg{width:14px;height:14px}.sb-tema button:hover{color:var(--nav-texto);background:rgba(255,255,255,.1)}
.sb-tema button[aria-pressed="true"]{color:var(--nav-activo-texto);background:var(--nav-activo);box-shadow:0 1px 2px rgba(0,0,0,.12)}
button.enlace{background:none;border:0;color:var(--nav-texto);text-decoration:underline;cursor:pointer;padding:0;text-align:left;font-size:13px}
main{padding:22px 28px;width:100%;min-width:0}
h1{font-size:24px;margin:0 0 16px;color:var(--titulo)}h2{font-size:12px;font-weight:700;margin:20px 0 10px;color:var(--suave);text-transform:uppercase;letter-spacing:.04em}
.caja{background:var(--superficie);border-radius:12px;padding:16px 18px;margin-bottom:14px;border:1px solid var(--borde);box-shadow:var(--sombra)}.caja.aviso{background:var(--aviso-f);color:var(--aviso-t);border-color:transparent}
.fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sep{color:var(--suave)}
/* Indicadores: tile + medidor en un solo tono; el número en tinta */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px}
.kpi{background:var(--superficie);border-radius:12px;padding:14px 16px;border:1px solid var(--borde);box-shadow:var(--sombra);display:flex;flex-direction:column;gap:5px}
.kpi .v{font-size:26px;font-weight:700;line-height:1.1;color:var(--titulo)}.kpi .v small{font-size:14px;font-weight:500;color:var(--suave);margin-left:2px}
.kpi .l{font-size:12.5px;color:var(--texto-2)}.kpi .d{font-size:12px;color:var(--suave)}
.meter{height:6px;border-radius:3px;background:var(--pista);overflow:hidden;margin-top:2px}.meter i{display:block;height:100%;border-radius:3px;background:var(--turquesa)}
.kpi.aviso .v{color:var(--inc-t)}.kpi.aviso .meter i{background:var(--inc-t)}
/* Tablas */
.tabla-scroll{overflow:auto;border-radius:12px}
table{border-collapse:separate;border-spacing:0;width:100%;background:var(--superficie);border-radius:12px;overflow:hidden;border:1px solid var(--borde);box-shadow:var(--sombra)}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--borde-2);font-size:14px;vertical-align:top}th{background:var(--superficie-2);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--suave);font-weight:700;white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.total td{font-weight:700;background:var(--superficie-2)}
tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:var(--hover)}td .sec{display:block;font-size:12px;color:var(--suave);margin-top:2px}
input[type=text],input[type=password],input[type=search],input[type=date],input[type=time],select,textarea{height:36px;border:1px solid var(--borde-campo);border-radius:10px;padding:0 12px;background:var(--superficie)}textarea{height:auto;padding:8px 12px}
a.btn,button.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--acento);border-radius:10px;background:var(--acento);color:var(--acento-texto);font-weight:700;text-decoration:none;line-height:1}
a.btn:hover,button.btn:hover{background:var(--acento-2);border-color:var(--acento-2);color:var(--acento-texto)}
a.btn.sec,button.btn.sec{background:var(--superficie);color:var(--texto);border-color:var(--borde-campo);font-weight:500}a.btn.sec:hover,button.btn.sec:hover{background:var(--hover);color:var(--texto)}
button.btn.peligro{background:var(--superficie);color:var(--error);border-color:var(--borde-campo)}button.btn.peligro:hover{background:var(--fallo-f)}button.btn:disabled{opacity:.5;cursor:default}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--no-f);color:var(--no-t);vertical-align:middle}
.badge.ACTIVA{background:var(--ok-f);color:var(--ok-t)}.badge.PREPARADA{background:var(--sel);color:var(--titulo)}.badge.REVOCADA,.badge.ANONIMIZADA{background:var(--fallo-f);color:var(--fallo-t)}.badge.CADUCADA{background:var(--no-f);color:var(--no-t)}.badge.aviso{background:var(--inc-f);color:var(--inc-t)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.tarjeta{background:var(--superficie);border-radius:12px;border:1px solid var(--borde);box-shadow:var(--sombra);padding:16px 18px}.tarjeta h3{margin:0 0 4px;font-size:17px;color:var(--titulo);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tarjeta .sub{color:var(--suave);font-size:13px}
.cal{display:grid;gap:5px;margin:12px 0 4px}.cal .d{display:flex;gap:5px;align-items:center;font-size:12px}.cal .d .f{width:46px;color:var(--suave);font-variant-numeric:tabular-nums}
.c{display:inline-flex;min-width:34px;height:28px;border-radius:14px;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:1.5px solid var(--turquesa);color:var(--titulo);background:var(--superficie);padding:0 7px;cursor:default}
.c.CONSUMIDO{background:var(--turquesa);border-color:var(--turquesa);color:#071C2B}.c.NO_CONSUMIDO,.c.ANULADO,.c.PREVIO{border-color:var(--borde-campo);color:var(--suave)}.c.PENDIENTE.MANUAL,.c.PENDIENTE.DESTINO{border-color:var(--arena);background:var(--arena-f);cursor:pointer}
.leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--suave);margin:4px 0 10px}.leyenda .c{min-width:22px;height:16px;font-size:9px;padding:0}
.acciones{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.acciones button,.acciones a{height:32px;padding:0 11px;font-size:13px}
#login{max-width:400px;margin:70px auto}#login .logo-grande{display:flex;justify-content:center;color:var(--turquesa)}#login .logo-grande .logo-ona{height:72px;width:auto}#login .sub{text-align:center;font-size:11px;letter-spacing:.16em;color:var(--suave);margin-bottom:12px}
#modal{position:fixed;inset:0;background:#00386599;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.modal-caja{background:var(--superficie);border-radius:14px;padding:22px;max-width:540px;width:100%;max-height:90vh;overflow:auto;border:1px solid var(--borde);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-caja h2{margin-top:0;font-size:18px;text-transform:none;letter-spacing:0;color:var(--titulo)}
.qr svg{width:240px;height:240px;display:block;margin:10px auto;background:#fff;border-radius:8px;padding:6px}.enlace-url{word-break:break-all;font-size:12px;background:var(--gris);padding:8px 10px;border-radius:8px}
.form{display:grid;gap:12px}.form label{display:grid;gap:5px;font-size:13px;color:var(--suave)}.form label.linea{grid-template-columns:auto 1fr;align-items:center;gap:8px}
.lista-op{display:grid;gap:6px;margin:6px 0}.op{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--borde);border-radius:10px;cursor:pointer;background:var(--superficie)}.op:hover{background:var(--hover)}.op.usado{opacity:.55;cursor:default}.op b{font-size:14px;color:var(--titulo)}.op small{color:var(--suave)}
.vacio{padding:32px;text-align:center;color:var(--suave);background:var(--superficie);border-radius:12px;border:1px dashed var(--borde)}
/* Pestañas (como las de ona-crm) */
.pestanas{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--borde);margin-bottom:12px}
.buscador{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.error{color:var(--error);font-weight:600}
.caja.sync{justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.caja.sync button:disabled{opacity:.5}.buscador input{flex:1;max-width:420px}
.pestana{padding:10px 14px 12px;border:0;border-bottom:3px solid transparent;background:none;color:var(--texto-2);font-weight:500;white-space:nowrap}.pestana.activa{border-bottom-color:var(--turquesa);color:var(--titulo);font-weight:700}
/* Informes */
.filtros-inf{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filtros-inf label{display:grid;gap:4px;font-size:12px;color:var(--suave)}
.barra{display:inline-block;width:72px;height:6px;border-radius:3px;background:var(--pista);vertical-align:middle;margin-right:8px;overflow:hidden}.barra i{display:block;height:100%;background:var(--turquesa)}
[hidden]{display:none !important}
@media(max-width:860px){#shell{grid-template-columns:1fr}#lateral{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 14px}#nav{flex-direction:row;flex-wrap:wrap}.pie{margin-top:0;flex-direction:row;align-items:center;gap:12px;margin-left:auto}.sb-user{border-top:0;padding:0}main{padding:16px}th:nth-child(n+6),td:nth-child(n+6){display:none}.tabla-scroll th,.tabla-scroll td{display:table-cell}}
