/* Kyba Burger — crema + azul marino del logo, dorado cheddar de las fotos. */
:root{
  --crema:#F8ECD5; --crema-2:#EFDDBB; --papel:#FFF9EC;
  --navy:#144F78; --navy-2:#376688; --navy-3:#6E90A3;
  --cheddar:#EEA138; --cheddar-2:#D7891C; --madera:#572F19; --negro:#0C0806;
  --tinta:#16283A; --muted:#5C7282; --linea:#144F7830;
  --rojo:#B3362B;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--crema);color:var(--tinta);font:15px/1.4 "DM Sans",system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--navy)}
.slab{font-family:"Alfa Slab One",Georgia,serif;font-weight:400;letter-spacing:.01em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}

/* ---------- barra superior ---------- */
.top{position:sticky;top:0;z-index:20;background:var(--crema);border-bottom:2px solid var(--navy)}
.top-in{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.marca img{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);object-fit:cover;background:var(--crema)}
.marca span{font-size:22px;line-height:1}
.tabs{display:flex;gap:4px}
.tabs a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--navy);font-weight:700;font-size:14px;white-space:nowrap}
.tabs a:hover{background:#144F7812}
.tabs a[aria-current]{background:var(--navy);color:var(--crema)}
.hoy{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.hoy b{color:var(--navy);font-size:15px}
.hoy .pill{background:var(--papel);border:1.5px solid var(--linea);border-radius:999px;padding:6px 12px;white-space:nowrap;text-decoration:none;color:var(--muted)}
.hoy .salir{color:var(--muted);font-size:13px}
.flash{max-width:1248px;margin:14px auto 0;padding:10px 14px;border-radius:10px;border:1.5px solid var(--navy);background:var(--papel);font-weight:500}
.flash-error{border-color:var(--rojo);color:var(--rojo)}

/* ---------- caja ---------- */
.caja{max-width:1280px;margin:0 auto;padding:20px 16px 32px;display:grid;grid-template-columns:1fr 390px;gap:24px;align-items:start}
.sec-tit{display:flex;align-items:baseline;justify-content:space-between;gap:2px 12px;flex-wrap:wrap;margin:0 0 14px}
.sec-tit h1{margin:0;color:var(--navy);font-size:26px}
.sec-tit small{color:var(--muted)}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.prod{position:relative;display:flex;flex-direction:column;text-align:left;padding:0;background:var(--papel);border:2px solid var(--navy);border-radius:var(--r);box-shadow:4px 4px 0 var(--navy);overflow:hidden;transition:transform .08s,box-shadow .08s}
.prod:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--navy)}
.prod:focus-visible{outline:3px solid var(--cheddar);outline-offset:3px}
.prod .foto{display:block;aspect-ratio:1/1;background:var(--negro)}
.prod .foto img{width:100%;height:100%;object-fit:cover;object-position:50% 68%;display:block}
.inicial{display:grid;place-items:center;width:100%;height:100%;background:var(--navy);color:var(--crema);font-size:48px}
.prod .info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.prod .nombre{font-size:18px;color:var(--navy);line-height:1.1}
.prod .ing{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod .precio{font-weight:700;font-size:16px;color:var(--madera);margin-top:auto}
.prod .cuenta{position:absolute;top:10px;right:10px;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--cheddar);color:var(--negro);border:2px solid var(--navy);display:grid;place-items:center;font-weight:700;font-size:16px;transform:scale(0);transition:transform .15s}
.prod .cuenta.si{transform:scale(1)}
.prod.pop .cuenta{animation:pop .25s}
@keyframes pop{50%{transform:scale(1.3)}}
.agregados-nota{margin-top:18px;font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center}
.agregados-nota img{width:40px;height:40px;border-radius:10px;object-fit:cover;border:1.5px solid var(--linea)}
.vacio-pag{color:var(--muted)}

.carrito{position:sticky;top:96px;height:calc(100vh - 120px);min-height:520px;display:flex;flex-direction:column;background:var(--papel);border:2px solid var(--navy);border-radius:18px;box-shadow:5px 5px 0 var(--navy);overflow:hidden}
.c-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1.5px dashed var(--linea)}
.c-head h2{margin:0;font-size:20px;color:var(--navy)}
.c-head button{background:none;border:0;color:var(--muted);font-size:13px;text-decoration:underline}
.barra{display:none}
.lineas{flex:1;overflow:auto;padding:8px 12px}
.vacio-msg{height:100%;min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px}
.vacio-msg .slab{font-size:20px;color:var(--navy-3);display:block;margin-bottom:6px}
.linea{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:10px 4px;border-bottom:1px solid var(--linea);animation:entra .18s ease-out}
@keyframes entra{from{opacity:0;transform:translateY(-6px)}}
.linea .mini{width:52px;height:52px;border-radius:10px;object-fit:cover;object-position:50% 68%;background:var(--negro)}
.linea .mini.inicial{font-size:22px}
.l1{display:flex;align-items:center;gap:8px}
.l1 b{font-size:15.5px;color:var(--navy)}
.l1 .sub{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}
.quitar{width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid var(--linea);background:transparent;color:var(--muted);font-size:16px;line-height:1;display:grid;place-items:center}
.quitar:hover{border-color:var(--rojo);color:var(--rojo)}
.mods{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.chip{border:1.5px solid var(--navy);background:transparent;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--navy);min-height:36px}
.chip.on{background:var(--navy);color:var(--crema)}
.contador{display:flex;align-items:center;border:1.5px solid var(--navy);border-radius:999px;overflow:hidden;min-height:36px}
.contador span{padding:0 6px 0 12px;font-size:13px;font-weight:700;color:var(--navy)}
.contador button{width:34px;height:34px;border:0;background:transparent;font-size:18px;font-weight:700;color:var(--navy)}
.contador button:disabled{opacity:.3;cursor:default}
.contador b{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}
.contador.on{background:#144F7812}

.pago{border-top:2px solid var(--navy);padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;background:var(--crema)}
.seg{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--navy);border-radius:12px;overflow:hidden}
.seg button{border:0;background:var(--papel);padding:11px 6px;font-weight:700;color:var(--navy)}
.seg button+button{border-left:2px solid var(--navy)}
.seg button.on{background:var(--navy);color:var(--crema)}
.falta{animation:sacude .3s}
@keyframes sacude{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.efec{display:none;gap:8px;flex-direction:column}
.efec.si{display:flex}
.efec-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.efec label{font-size:13px;font-weight:700;color:var(--muted)}
.efec input{width:110px;padding:8px 10px;border:1.5px solid var(--navy-3);border-radius:10px;background:var(--papel);font-variant-numeric:tabular-nums}
.billete{border:1.5px solid var(--linea);background:var(--papel);border-radius:8px;padding:7px 9px;font-size:13px;font-weight:700}
.vuelto{font-size:14px}
.vuelto b{font-size:18px;color:var(--navy)}
.vuelto.mal b{color:var(--rojo)}
.nota{padding:9px 12px;border:1.5px solid var(--linea);border-radius:10px;background:var(--papel)}
.tot{display:flex;justify-content:space-between;align-items:baseline}
.tot span{color:var(--muted);font-size:13px}
.tot b{font-size:30px;color:var(--navy);font-variant-numeric:tabular-nums}
.cobrar{border:2px solid var(--negro);background:var(--cheddar);color:var(--negro);border-radius:14px;padding:15px;font-size:20px;box-shadow:3px 3px 0 var(--negro);transition:transform .08s,box-shadow .08s}
.cobrar:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--negro)}
.cobrar:disabled{background:var(--crema-2);color:var(--navy-3);border-color:var(--navy-3);box-shadow:none;cursor:not-allowed}

.toast{position:fixed;left:50%;top:84px;transform:translate(-50%,-20px);opacity:0;background:var(--navy);color:var(--crema);padding:12px 18px;border-radius:12px;box-shadow:4px 4px 0 var(--cheddar);transition:.25s;z-index:50;pointer-events:none;font-weight:500;max-width:calc(100vw - 32px)}
.toast.si{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast b{color:var(--cheddar)}
.toast.error{background:var(--rojo);box-shadow:4px 4px 0 var(--negro)}
.toast.error b,.toast a{color:#fff}

/* ---------- páginas de datos (Hoy, Calendario, Menú) ---------- */
.pag{max-width:1280px;margin:0 auto;padding:20px 16px 48px}
.pag-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.pag-head h1{margin:0;color:var(--navy);font-size:26px;line-height:1.1}
.pag-head .sub{color:var(--muted);font-size:14px;width:100%}
.nav-fecha{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-fecha a,.boton{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:2px solid var(--navy);border-radius:10px;background:var(--papel);color:var(--navy);text-decoration:none;font-weight:700;box-shadow:2px 2px 0 var(--navy)}
.nav-fecha a:active,.boton:active{transform:translate(2px,2px);box-shadow:none}
.nav-fecha a.off{opacity:.3;pointer-events:none}
.boton.primario{background:var(--cheddar);color:var(--negro);border-color:var(--negro);box-shadow:2px 2px 0 var(--negro)}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi{background:var(--papel);border:2px solid var(--navy);border-radius:var(--r);padding:14px 16px}
.kpi small{display:block;color:var(--muted);font-size:13px;font-weight:500}
.kpi b{display:block;font-size:28px;color:var(--navy);line-height:1.15;margin-top:2px}
.kpi .det{font-size:13px;color:var(--muted);margin-top:4px}
.kpi.fuerte{background:var(--navy);color:var(--crema)}
.kpi.fuerte small,.kpi.fuerte .det{color:#cfe0ec}
.kpi.fuerte b{color:var(--cheddar)}
.split{display:flex;height:10px;border-radius:999px;overflow:hidden;margin-top:8px;background:var(--crema-2);gap:2px}
.split i{display:block;height:100%}
.split .ef{background:var(--navy)}
.split .tr{background:var(--cheddar)}
.leyenda{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:6px;color:var(--muted)}
.leyenda .pt{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}

.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
.panel{background:var(--papel);border:2px solid var(--navy);border-radius:var(--r);padding:16px;margin-bottom:20px}
.panel h2{margin:0 0 12px;color:var(--navy);font-size:19px}
.panel .nada{color:var(--muted);margin:0}

.ranking{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ranking li{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}
.ranking img,.ranking .mini{width:36px;height:36px;border-radius:8px;object-fit:cover;object-position:50% 68%;background:var(--negro)}
.ranking .mini.inicial{font-size:16px}
.ranking .nom{font-weight:700;color:var(--navy);font-size:14px;display:flex;justify-content:space-between;gap:8px}
.ranking .nom span{font-weight:500;color:var(--muted)}
.ranking .barra-h{height:8px;border-radius:999px;background:var(--crema-2);margin-top:5px;overflow:hidden}
.ranking .barra-h i{display:block;height:100%;background:var(--navy);border-radius:999px}
.ranking .u{font-weight:700;font-size:18px;color:var(--navy);min-width:28px;text-align:right}
.agregados-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1.5px dashed var(--linea)}
.agregados-stats div{flex:1;min-width:140px;background:var(--crema);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--muted)}
.agregados-stats b{display:block;color:var(--navy);font-size:17px}

.horas{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:18px}
.horas .h{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.horas .h i{display:block;width:100%;max-width:44px;background:var(--cheddar);border:1.5px solid var(--madera);border-bottom:0;border-radius:6px 6px 0 0;position:relative;min-height:2px}
.horas .h i span{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:700;color:var(--madera);font-style:normal}
.horas .h small{font-size:12px;color:var(--muted);margin-top:4px;border-top:1.5px solid var(--madera);width:100%;text-align:center;padding-top:3px}

.pedidos{list-style:none;margin:0;padding:0}
.pedido{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--linea);align-items:start}
.pedido:last-child{border-bottom:0}
.pedido .nro{font-size:18px;color:var(--navy);min-width:40px}
.pedido .meta{font-size:13px;color:var(--muted)}
.pedido .meta .medio{display:inline-block;padding:1px 8px;border-radius:999px;font-weight:700;font-size:12px}
.medio.efectivo{background:#144F781A;color:var(--navy)}
.medio.transferencia{background:#EEA13840;color:var(--madera)}
.pedido .items{margin:4px 0 0;padding:0;list-style:none;font-size:14.5px}
.pedido .nota-p{font-size:13px;color:var(--madera);font-style:italic;margin-top:2px}
.pedido .der{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.pedido .der b{font-size:17px;color:var(--navy)}
.anular{background:none;border:1.5px solid var(--linea);border-radius:8px;color:var(--muted);font-size:12px;padding:4px 8px}
.anular:hover{border-color:var(--rojo);color:var(--rojo)}
.pedido.anulado .items,.pedido.anulado .der b,.pedido.anulado .nro{text-decoration:line-through;opacity:.5}
.tag-anulado{font-size:11px;font-weight:700;color:var(--rojo);text-transform:uppercase;letter-spacing:.05em}

/* calendario */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cal .dow{text-align:center;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px}
.dia{position:relative;display:flex;flex-direction:column;min-height:96px;padding:8px 10px;border-radius:12px;border:1.5px solid var(--linea);background:var(--papel);text-decoration:none;color:var(--tinta);transition:transform .08s}
.dia:hover{border-color:var(--navy)}
.dia.fuera{visibility:hidden}
.dia .n{font-weight:700;font-size:14px;color:var(--navy-3)}
.dia .t{margin-top:auto;font-weight:700;font-size:16px;color:var(--navy);font-variant-numeric:tabular-nums}
.dia .p{font-size:12px;color:var(--muted)}
.dia.v1{background:#EEA13826}.dia.v2{background:#EEA13855}.dia.v3{background:#EEA13888}.dia.v4{background:#EEA138C0}.dia.v5{background:var(--cheddar)}
.dia.v4 .p,.dia.v5 .p{color:var(--madera)}
.dia.v4 .n,.dia.v5 .n{color:var(--madera)}
.dia.hoy-d{border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy)}
.dia.futuro{background:transparent;border-style:dashed;pointer-events:none}
.dia .mejor{position:absolute;top:6px;right:8px;font-size:11px;font-weight:700;color:var(--madera)}
.escala{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:14px;flex-wrap:wrap}
.escala i{display:inline-block;width:22px;height:14px;border-radius:4px;border:1px solid var(--linea)}

/* menú */
.prods-edit{display:flex;flex-direction:column;gap:14px}
.p-edit{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;background:var(--papel);border:2px solid var(--navy);border-radius:var(--r);padding:14px}
.p-edit.inactivo{opacity:.6;border-style:dashed}
.p-edit .ft{width:96px;height:96px;border-radius:12px;overflow:hidden;background:var(--negro)}
.p-edit .ft img{width:100%;height:100%;object-fit:cover;object-position:50% 68%}
.p-edit .campos{display:grid;grid-template-columns:2fr 1fr 80px;gap:10px}
.p-edit .full{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted);min-width:0}
.campo input,.campo textarea,.campo select{width:100%;min-width:0;padding:9px 11px;border:1.5px solid var(--navy-3);border-radius:10px;background:#fff;font-weight:400;color:var(--tinta)}
.campo textarea{resize:vertical;min-height:58px}
.p-edit .acciones{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
.check{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--navy)}
.check input{width:18px;height:18px;accent-color:var(--navy)}
.tipo-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:#144F7818;color:var(--navy)}
.menu-sec{margin:26px 0 12px;color:var(--navy);font-size:20px}
details.nuevo{margin-top:26px}
details.nuevo summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
details.nuevo summary::-webkit-details-marker{display:none}

/* login */
.pantalla-login{min-height:100vh;display:grid;place-items:center;padding:16px}
.caja-login{width:100%;max-width:340px;background:var(--papel);border:2px solid var(--navy);border-radius:18px;box-shadow:5px 5px 0 var(--navy);padding:24px;display:flex;flex-direction:column;gap:14px}
.logo-login{width:140px;height:140px;margin:0 auto;border-radius:50%;border:2px solid var(--navy)}
.caja-login .sub{text-align:center;margin:-4px 0 0;color:var(--muted)}
.caja-login label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}
.caja-login input{width:100%;min-width:0;padding:11px 12px;border:1.5px solid var(--navy-3);border-radius:10px;background:#fff;font-size:16px}
.caja-login button{border:2px solid var(--negro);background:var(--cheddar);color:var(--negro);border-radius:12px;padding:13px;font-size:18px;box-shadow:3px 3px 0 var(--negro)}
.caja-login .error{margin:0;color:var(--rojo);font-weight:700;text-align:center}

/* ---------- celular ---------- */
@media (max-width:899px){
  .top-in{gap:10px;padding:8px 16px}
  .marca img{width:38px;height:38px}
  .tabs{order:3;width:100%;overflow-x:auto;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{padding:6px 12px}
  .caja{grid-template-columns:1fr;padding:16px 16px 110px}
  .grilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .prod .ing{display:none}
  .prod .nombre{font-size:16px}
  .agregados-nota{margin-bottom:8px}
  .carrito{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;min-height:0;max-height:88vh;border-radius:20px 20px 0 0;border-bottom:0;box-shadow:0 -6px 24px #0c080633;transform:translateY(calc(100% - 72px));transition:transform .25s ease;z-index:30}
  .carrito.abierto{transform:none}
  .carrito.vacio{transform:translateY(100%)}
  .barra{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border:0;background:var(--navy);color:var(--crema);text-align:left;flex:none}
  .carrito.abierto .barra{padding-bottom:12px}
  .barra .cant{background:var(--cheddar);color:var(--negro);border-radius:999px;min-width:30px;height:30px;display:grid;place-items:center;font-weight:700}
  .barra .tt{margin-left:auto;font-size:20px}
  .barra .flecha{transition:transform .2s}
  .carrito.abierto .barra .flecha{transform:rotate(180deg)}
  .c-head{display:none}
  .carrito.abierto .c-head{display:flex}
  .lineas{max-height:38vh}
  .pago{padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .toast{top:auto;bottom:90px}

  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi b{font-size:22px}
  .cols{grid-template-columns:1fr}
  .nav-fecha{margin-left:0}
  .cal{gap:4px}
  .dia{min-height:64px;padding:5px 5px 6px;border-radius:8px}
  .dia .n{font-size:12px}
  .dia .t{font-size:11.5px;letter-spacing:-.02em}
  .dia .t .sim,.dia .p,.dia .mejor{display:none}
  .p-edit{grid-template-columns:1fr}
  .p-edit .ft{width:72px;height:72px}
  .p-edit .campos{grid-template-columns:1fr 1fr}
  .p-edit .campos .nom{grid-column:1/-1}
}
@media (max-width:420px){
  .hoy .salir{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
