:root{
  --coral:#FF6B4A; --teal:#2A9D8F; --teal-d:#1F7F74; --yellow:#FFC93C; --gold:#E0A800;
  --cream:#FFF6E5; --navy:#14213D; --muted:#6F6552; --line:#EADFC8; --white:#fff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--navy);font-family:Helvetica,Arial,sans-serif;line-height:1.4}
a{color:inherit}
button{font-family:inherit}
.ic{width:1.15em;height:1.15em;vertical-align:-.18em;flex:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}

/* barra de demo y encabezado */
.demo{background:var(--navy);color:var(--cream);font-size:13px;text-align:center;padding:7px 12px}
.top{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:6}
.top .wrap{display:flex;align-items:center;gap:10px;padding-top:9px;padding-bottom:9px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:20px;white-space:nowrap}
.logo img{display:block}
.logo b{color:var(--coral)}
.zona{margin-left:auto;display:flex;align-items:center;gap:5px;background:var(--teal-d);color:var(--cream);font-size:13px;padding:6px 12px;border-radius:999px;border:0}
.who{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--white);color:var(--navy);font-size:14px;padding:6px 12px;border-radius:999px;cursor:pointer}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--navy);text-decoration:none;font-size:14px;padding:12px 0 0}

/* inicio */
.hero{padding:20px 0 10px}
.hero h1{margin:0 0 4px;font-size:28px;line-height:1.15}
.hero p{margin:0 0 14px;color:var(--muted);font-size:15px}
.search{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 14px}
.search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;padding:14px 0;color:var(--navy);min-width:0}
.search:focus-within{border-color:var(--teal-d)}
.fchips{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none}
.fchips::-webkit-scrollbar{display:none}
.fchip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:7px 14px;font-size:14px;cursor:pointer;color:var(--navy);white-space:nowrap}
.fchip.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}

.sec{margin:26px 0 0}
.sh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.sh h2{margin:0;font-size:20px}
.sh a{font-size:14px;color:var(--teal-d);font-weight:700;text-decoration:none}

.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.cat{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none;text-align:center;padding:8px 2px;border-radius:14px}
.cat:hover{background:rgba(255,255,255,.7)}
.cat .circ{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center}
.cat .circ .ic{width:32px;height:32px}
.c0 .circ{background:#FFE1D9;color:#B8391C}
.c1 .circ{background:#D8F0EC;color:#14574F}
.c2 .circ{background:#FFEFBF;color:#7A5800}
.c3 .circ{background:#E1E4EC;color:var(--navy)}

.row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(236px,264px);gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;scrollbar-width:thin}
.row>*{scroll-snap-align:start}
.row.promos{grid-auto-columns:minmax(270px,340px)}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}

.promo{border-radius:18px;padding:16px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;border:0;text-align:left;font:inherit}
.promo.coral{background:var(--coral);color:var(--navy)}
.promo.teal{background:var(--teal-d);color:var(--cream)}
.promo.yellow{background:var(--yellow);color:var(--navy)}
.promo h3{margin:0;font-size:19px;line-height:1.2}
.promo p{margin:6px 0 0;font-size:13px}
.promo .go{align-self:flex-start;background:var(--cream);color:var(--navy);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;margin-top:10px}

.card{display:block;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;position:relative}
.card:hover{border-color:var(--teal-d)}
.cover{height:104px;display:flex;align-items:center;justify-content:center;position:relative;color:rgba(255,255,255,.92);overflow:hidden}
.cover .ic{width:52px;height:52px;stroke-width:1.6}
.cover .init{position:absolute;right:12px;bottom:-4px;font-size:64px;font-weight:700;opacity:.22;line-height:1}
.badge{position:absolute;left:10px;top:10px;background:var(--white);color:var(--teal-d);font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;display:flex;gap:4px;align-items:center}
.fav{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);padding:0}
.fav.on{color:var(--coral)}
.fav.on svg{fill:currentColor}
.cb{padding:10px 12px 12px}
.cb h3{margin:0;font-size:16px}
.cb .sub{margin:2px 0 8px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}
.chip{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px;display:inline-flex;align-items:center;gap:4px}
.meta .chip{padding:2px 8px;font-size:12px}
.chip.open{background:#DDF3EF;border-color:#A9DDD5;color:#14574F}
.chip.closed{background:#FDE3DD;border-color:#F5BDB0;color:#8A2D17}
.chip.tipo{background:#FFF0C2;border-color:#F2DC8E;color:#6B4D00}

.vacio{background:var(--white);border:1px dashed var(--line);border-radius:16px;padding:22px;text-align:center;color:var(--muted)}
.vacio b{display:block;color:var(--navy);font-size:17px;margin-bottom:4px}
.subchips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.titulo{margin:6px 0 0;font-size:26px}

.cta{margin:34px 0 0;background:var(--navy);color:var(--cream);border-radius:18px;padding:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.cta h2{margin:0;font-size:19px}
.cta p{margin:2px 0 0;font-size:14px;opacity:.85}
.cta a{background:var(--yellow);color:var(--navy);font-weight:700;text-decoration:none;border-radius:999px;padding:10px 18px;font-size:15px}
footer{color:var(--muted);font-size:12px;text-align:center;padding:26px 0 36px}

/* hoja inferior (promos, cuenta, pedido) */
.sheet{position:fixed;inset:0;background:rgba(20,33,61,.55);z-index:10;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.panel{background:var(--cream);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0;padding:18px 16px 24px}
.panel h2{margin:0 0 10px;font-size:20px}
.panel p{margin:0 0 10px;color:var(--muted);font-size:15px}
.code{display:inline-block;background:var(--white);border:1px dashed var(--teal-d);border-radius:10px;padding:8px 14px;font-weight:700;letter-spacing:1px;margin:4px 0 10px}
.btn{display:block;width:100%;border:0;border-radius:12px;background:var(--teal-d);color:var(--cream);font-size:16px;font-weight:700;padding:14px;margin-top:14px;cursor:pointer;text-align:center;text-decoration:none}
.btn.alt{background:var(--white);color:var(--navy);border:1px solid var(--line)}
.btn[aria-disabled=true]{background:#B9B3A3;pointer-events:none}

/* página del negocio */
.nhero{padding:14px 0 6px;position:relative}
.nhero h1{margin:0 0 4px;font-size:26px;padding-right:44px}
.nhero p{margin:0 0 10px;color:var(--muted);font-size:15px}
.nhero .fav{top:16px;right:0;border:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.nwrap{max-width:640px;margin:0 auto;padding:0 16px 110px}
.nwrap h2{font-size:17px;margin:24px 0 10px}
.prod{display:flex;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px}
.prod.off{opacity:.55}
.thumb{width:76px;height:76px;border-radius:10px;flex:none;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:var(--white)}
.info{flex:1;min-width:0}
.info h3{margin:0;font-size:16px}
.info p{margin:2px 0 6px;color:var(--muted);font-size:13px}
.row2{display:flex;align-items:center;justify-content:space-between;gap:8px}
.price{font-weight:700}
.step{display:flex;align-items:center;gap:8px}
.step button{width:32px;height:32px;border-radius:50%;background:var(--cream);border:1px solid var(--line);color:var(--navy);font-size:18px;line-height:1;cursor:pointer;font-weight:700}
.step span{min-width:18px;text-align:center;font-weight:700}
.add{background:var(--teal-d);color:var(--cream);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;border:0;cursor:pointer}
.na{font-size:12px;color:var(--muted)}
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--white);border-top:1px solid var(--line);padding:10px 16px;z-index:5}
.bar button{display:block;width:100%;max-width:608px;margin:0 auto;border:0;border-radius:12px;background:var(--teal-d);color:var(--cream);font-size:16px;font-weight:700;padding:14px;cursor:pointer}
.bar button:disabled{background:#B9B3A3}
.line{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.tot{font-weight:700;font-size:17px;border:0}
label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}
input,textarea{width:100%;font:inherit;font-size:16px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--navy)}
.opt{display:flex;gap:8px;margin-top:6px}
.opt label{flex:1;margin:0;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--navy);font-size:14px;cursor:pointer}
.opt input{width:auto;margin-right:6px;accent-color:#1F7F74}
.err{color:#A12A12;font-size:14px;margin:10px 0 0}
pre{white-space:pre-wrap;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px;font:14px/1.45 Helvetica,Arial,sans-serif;margin:8px 0}

@media (max-width:440px){
  .top .wrap{gap:6px}
  .logo{font-size:18px}
  .zona{font-size:12px;padding:5px 9px}
  .who{padding:6px 10px;font-size:13px}
}

/* foto de perfil */
.avatar{display:flex;flex-direction:column;align-items:center;gap:6px;margin:4px 0 10px}
.avwrap{position:relative;display:inline-block;cursor:pointer;border-radius:50%}
.av{width:104px;height:104px;border-radius:50%;overflow:hidden;background:#FFE1D9;color:#B8391C;display:flex;align-items:center;justify-content:center}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.av .ic{width:48px;height:48px}
.avcam{position:absolute;right:0;bottom:0;width:36px;height:36px;border-radius:50%;background:var(--teal-d);color:#fff;border:3px solid var(--cream);display:flex;align-items:center;justify-content:center}
.avcam .ic{width:18px;height:18px}
.avwrap:focus-within .avcam,.avwrap:hover .avcam{background:var(--navy)}
.linkbtn{background:none;border:0;color:var(--teal-d);font-size:13px;font-weight:700;cursor:pointer;padding:4px}

/* menú lateral (drawer) */
.dback{position:fixed;inset:0;background:rgba(20,33,61,.5);z-index:20}
.dback[hidden],.drawer[hidden]{display:none}
.drawer{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);background:var(--white);z-index:21;overflow:auto;display:flex;flex-direction:column;box-shadow:4px 0 24px rgba(0,0,0,.18);animation:dr .18s ease-out}
@keyframes dr{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
.dr-top{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.dr-av{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#FFE1D9;color:#B8391C;display:flex;align-items:center;justify-content:center;flex:none}
.dr-av img{width:100%;height:100%;object-fit:cover}
.dr-top b{display:block;font-size:17px}
.dr-top small{color:var(--teal-d);font-weight:700;font-size:13px}
.dr-x{position:absolute;right:8px;top:8px;border:0;background:none;color:var(--navy);padding:8px;cursor:pointer}
.dr-nav{padding:8px 0;display:flex;flex-direction:column}
.dr-nav a,.dr-nav button{display:flex;align-items:center;gap:14px;padding:13px 18px;color:var(--navy);text-decoration:none;font-size:16px;border:0;background:none;text-align:left;cursor:pointer;width:100%}
.dr-nav a:hover,.dr-nav button:hover{background:var(--cream)}
.dr-nav .ic{width:22px;height:22px}
.dr-sep{height:1px;background:var(--line);margin:6px 0}
.dr-nav .muted{color:var(--muted);font-size:14px}
.dr-hi{padding:18px 18px 6px}
.dr-hi h2{margin:0 0 4px;font-size:20px}
.dr-hi p{margin:0 0 10px;color:var(--muted);font-size:14px}

/* cuenta completa */
.acct{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;padding-top:20px;padding-bottom:50px;align-items:start}
.acnav{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:8px;position:sticky;top:70px}
.acnav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:var(--navy);text-decoration:none;font-size:15px}
.acnav a:hover{background:var(--cream)}
.acnav a.on{background:var(--navy);color:var(--cream)}
.acnav .ic{width:20px;height:20px}
.acmain{min-width:0;max-width:720px}
.acmain h1{margin:0 0 4px;font-size:26px}
.acmain .sub0{color:var(--muted);margin:0 0 18px;font-size:15px}
.acbox{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}
.acbox h2{margin:0 0 4px;font-size:17px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:16px 0 22px}
.tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 8px;text-decoration:none;color:var(--navy);font-size:14px;font-weight:700;text-align:center}
.tile:hover{border-color:var(--teal-d)}
.tile .ic{width:26px;height:26px;color:var(--teal-d)}
.hero-ac{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;margin:6px 0}
.hero-ac b{font-size:24px;margin-top:8px}
.hero-ac span{color:var(--muted);font-size:14px}
.ped{background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.ped summary{list-style:none;cursor:pointer;padding:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.ped summary::-webkit-details-marker{display:none}
.ped .pm{color:var(--muted);font-size:13px}
.ped .pb{padding:0 14px 14px}
.ped .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ped .acts .btn{margin:0;width:auto;padding:10px 16px;font-size:15px;display:inline-flex;align-items:center;gap:6px}
.estado{background:#DDF3EF;border:1px solid #A9DDD5;color:#14574F;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.estado.fin{background:#EEE8D8;border-color:var(--line);color:var(--muted)}
.estado.can{background:#FDE3DD;border-color:#F5BDB0;color:#8A2D17}
.okmsg{color:#14574F;font-size:14px;margin:10px 0 0}
.nota{background:#FFF0C2;border:1px solid #F2DC8E;color:#6B4D00;border-radius:12px;padding:10px 12px;font-size:14px;margin:12px 0}
.fgrid{display:grid;gap:0}
@media (max-width:760px){
  .acct{grid-template-columns:1fr;gap:12px;padding-top:12px}
  .acnav{position:static;display:flex;gap:6px;overflow-x:auto;padding:6px;scrollbar-width:none}
  .acnav a{white-space:nowrap;padding:9px 12px}
  .acnav a span{display:inline}
}

/* ---------- errores: siempre rojos, con ícono y fáciles de ver ---------- */
.errbox{display:flex;gap:10px;align-items:flex-start;background:#FFE9E5;border:2px solid #D93A1F;color:#7A1608;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:15px;line-height:1.35;animation:tcsacude .35s}
.errbox b{display:block;font-size:15px;color:#B5230A;margin-bottom:2px}
.errbox .erri{flex:none;color:#D93A1F}.errbox .erri .ic{width:26px;height:26px}
.okbox{display:flex;gap:10px;align-items:flex-start;background:#DDF3EF;border:2px solid #2A9D8F;color:#14574F;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:15px}
.okbox .erri .ic{width:24px;height:24px}
input.bad,textarea.bad,select.bad{border:2px solid #D93A1F!important;background:#FFF4F2!important;box-shadow:0 0 0 3px rgba(217,58,31,.18)}
@keyframes tcsacude{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.cerrado-banner{display:flex;gap:12px;align-items:center;background:#D93A1F;color:#fff;border-radius:14px;padding:14px;margin:12px 0}
.cerrado-banner .ic{width:30px;height:30px;flex:none}
.cerrado-banner b{display:block;font-size:16px}.cerrado-banner span{font-size:14px;opacity:.95}
.corte{background:#FFF0C2;border:1px solid #F2DC8E;color:#6B4D00;border-radius:12px;padding:10px 12px;font-size:14px;margin:10px 0;display:flex;gap:8px;align-items:center}
.contacto{display:grid;gap:8px;margin:8px 0}
.contacto a,.contacto div{display:flex;gap:8px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--navy);text-decoration:none;font-size:15px}
.contacto .ic{color:var(--teal-d);flex:none}
.chk{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:14px}.chk input{width:auto}
.add[disabled],.bar button[disabled]{background:#B9B9B9;cursor:not-allowed}
.btn.wa{background:#1FA855}.btn.red{background:#D93A1F}
/* tarjeta de pedido */
.ped-h{display:flex;gap:12px;align-items:center;width:100%}
.ped-logo{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px}
.ped-t{flex:1;min-width:0}.ped-t b{display:block}.ped-t small{color:var(--muted);font-size:13px;display:block}
.est{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;margin-top:4px}
.est.nuevo{background:#FFF0C2;color:#6B4D00}.est.confirmado,.est.en_preparacion,.est.listo{background:#DDF3EF;color:#14574F}
.est.entregado{background:#E4E8F5;color:#14213D}.est.cancelado{background:#D93A1F;color:#fff}
.ped-neg{margin-top:4px}
.chatopts{display:grid;gap:8px;margin-top:10px}
.chatopts button{display:flex;gap:10px;align-items:center;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:15px;cursor:pointer;width:100%}
.chatopts button:hover{border-color:var(--teal-d)}
.chatopts .ic{color:#1FA855;flex:none}
.chatopts .chatbtn{display:flex;gap:10px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:15px;color:var(--navy);text-decoration:none}
.chatopts .chatbtn:hover{border-color:#1FA855}
.chatopts .chatbtn .ic{color:#1FA855;flex:none}

/* ---------- panel del negocio ---------- */
.pbanner{position:relative;aspect-ratio:12/5;border-radius:14px;overflow:hidden;background:var(--cream);border:1px dashed var(--line);margin-bottom:14px}
.pbanner img{width:100%;height:100%;object-fit:cover;display:block}
.pbanner-vacio{height:100%;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.pbanner-vacio .ic{width:34px;height:34px}
.pcam{position:absolute;right:10px;bottom:10px;width:42px;height:42px;border-radius:50%;background:var(--teal-d);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid var(--cream)}
.pquitar{position:absolute;left:10px;bottom:10px;background:rgba(20,33,61,.8);color:#fff;border:0;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
.plogo{display:flex;gap:14px;align-items:center}.plogo b{display:block}.plogo .na{display:block}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.srow,.prow{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.sbtn{display:flex;gap:4px;flex:none}
.sbtn button,.hor button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--white);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.sbtn button[disabled]{opacity:.35;cursor:default}
button.rojo{color:#D93A1F!important;border-color:#F5BDB0!important}
.addrow{display:flex;gap:8px;margin-top:12px}.addrow input{flex:1}.addrow .btn{width:auto;margin:0;padding:10px 14px;display:inline-flex;gap:4px;align-items:center}
.hrow{display:flex;justify-content:space-between;align-items:center;gap:10px}.hrow h2{margin:0}
.gsec{margin:16px 0 4px;font-size:15px;color:var(--teal-d)}
.prow .thumb{width:56px;height:56px;font-size:22px}.prow.off{opacity:.6}
.pinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pinfo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinfo span{color:var(--muted);font-size:14px}
.pfoto{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:6px}
.pfotobox{position:relative;width:150px;height:150px;border-radius:16px;border:2px dashed var(--line);background:var(--cream);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;overflow:hidden;font-size:14px}
.pfotobox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pfotobox .avcam{z-index:1}
.hor{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.hor select{flex:1 1 110px;width:auto;padding:9px}.hor input{width:auto;flex:1 1 90px;padding:9px}
.ent{border-bottom:1px solid var(--line);padding:10px 0}
select{width:100%;font:inherit;font-size:16px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--navy)}
.selneg{margin-bottom:8px}
/* página pública del negocio: banner y logo */
.nbanner{position:relative;margin:0 -16px;aspect-ratio:12/5;background:var(--cream);overflow:hidden}
.nbanner img{width:100%;height:100%;object-fit:cover;display:block}
.nlogo{width:76px;height:76px;border-radius:18px;border:4px solid var(--cream);background:var(--white);object-fit:cover;display:block;margin-top:-38px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.nlogo.ini{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:30px}
@media(min-width:720px){.nbanner{margin:0;border-radius:16px}}

/* administración y pedidos del dueño */
.adm .acts{margin-top:10px}.adm .acts .btn{margin:0;width:auto;padding:9px 14px;font-size:14px;display:inline-flex;gap:6px;align-items:center}
.adm-est{margin-top:10px;display:flex;gap:8px;align-items:center}.adm-est label{margin:0;white-space:nowrap}.adm-est select{padding:8px}
.cats{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--white)}.cats .chk input{width:auto}
.sbtn-b{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--white);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:14px}
.ptabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px}.ptabs button{flex:none;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:7px 13px;font-size:14px;cursor:pointer;color:var(--navy)}
.ptabs button.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.cuenta-n{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#D93A1F;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:20px}
.pcard{background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:14px}
.pcard.nuevo{border:2px solid #D93A1F;box-shadow:0 0 0 3px rgba(217,58,31,.12)}
.pcard .top2{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.pcard .cli{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.pcard .cli a{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px;color:var(--navy);text-decoration:none}
.pcard .cli a.wa{border-color:#1FA855;color:#14743B}
.pcard .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pcard .acts .btn{margin:0;width:auto;padding:10px 14px;font-size:14px;display:inline-flex;gap:6px;align-items:center}
.pcard select{width:auto;padding:9px;font-size:14px}
.nbadge{background:#FFF0C2;border:1px solid #F2DC8E;color:#6B4D00;border-radius:12px;padding:8px 10px;font-size:14px;margin-top:8px}

/* barra de avance */
.prog{list-style:none;display:flex;margin:14px 0 10px;padding:0}
.prog li{flex:1;text-align:center;position:relative;min-width:0}
.prog li::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:4px;background:var(--line);z-index:0}
.prog li:first-child::before{display:none}
.prog li.done::before,.prog li.now::before{background:var(--teal-d)}
.prog .dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--white);border:3px solid var(--line);color:var(--muted);padding:0;font-family:inherit}
.prog .dot .ic{width:15px;height:15px}
.prog li.done .dot{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.prog li.now .dot{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 0 0 4px rgba(255,107,74,.25)}
.prog li small{display:block;font-size:11px;line-height:1.15;margin-top:5px;color:var(--muted);word-break:break-word}
.prog li.now small{color:var(--navy);font-weight:700}
.prog.click .dot{cursor:pointer}.prog.click button.dot:hover{border-color:var(--teal-d);color:var(--teal-d)}
.pitem{display:flex;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.pitem .pit{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.pitem .pq{font-weight:700;flex:none}.pitem .pn{flex:1;min-width:0}.pitem .pp{flex:none;font-weight:600}
.btn-cancelar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;border:0;border-radius:14px;background:#D93A1F;color:#fff;font-size:17px;font-weight:800;padding:16px;cursor:pointer}
.btn-cancelar:hover{background:#B5230A}
.btn-avanzar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;border:0;border-radius:14px;background:var(--teal-d);color:#fff;font-size:17px;font-weight:800;padding:16px;cursor:pointer}
.motivos{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.motivos button{border:1px solid #F5BDB0;background:#FFF4F2;color:#8A2D17;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}

.est.en_transito{background:#DDF3EF;color:#14574F}
.prog li small{font-size:10px;letter-spacing:-.1px}
/* campana y avisos */
.campana{position:relative;margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.campana[hidden]{display:none}.campana + .who{margin-left:0}
.camp-n{position:absolute;top:-4px;right:-4px;margin:0;font-size:11px;min-width:18px;line-height:18px}
.aviso{display:block;text-decoration:none;color:var(--navy);padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--white);margin-bottom:8px}
.aviso.nuevo{border-color:var(--coral);background:#FFF4F0}
.aviso b{display:block}.aviso span{display:block;font-size:14px;margin-top:2px}.aviso small{color:var(--muted)}
.toast{position:fixed;left:12px;right:12px;bottom:14px;max-width:520px;margin:0 auto;background:var(--navy);color:var(--cream);border-radius:14px;padding:12px 14px;z-index:60;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.toast b{display:block}.toast span{font-size:14px;opacity:.9}
/* informe */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.kpi{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px}
.kpi small{display:block;color:var(--muted);font-size:13px}.kpi b{display:block;font-size:24px;margin-top:2px}
.kpi.ok b{color:#14743B}.kpi.bad b{color:#D93A1F}
.bars{display:flex;align-items:flex-end;gap:4px;height:150px;margin:10px 0 4px;overflow-x:auto}
.bar-c{flex:1 0 22px;min-width:22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.bar-c i{display:block;width:100%;background:var(--teal-d);border-radius:6px 6px 0 0;min-height:2px}
.bar-c em{font-style:normal;font-size:10px;color:var(--muted);margin-top:3px}.bar-c span{font-size:10px;font-weight:700}
.rank{display:flex;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.rank b{flex:1;min-width:0}.rank .tr{flex:1.2;background:var(--cream);border-radius:6px;height:10px;overflow:hidden}.rank .tr i{display:block;height:100%;background:var(--coral)}

.zona{flex:0 1 auto;min-width:0;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campana{margin-left:0}
.bar-c{flex:1 1 0;min-width:8px}.bars{overflow-x:visible}
.bar-c em{white-space:nowrap}
.bars{padding-bottom:16px;height:166px}
.bar-c{min-width:0;position:relative}
.bar-c em{position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);margin:0}

/* ---------- entrega 7: legal, verificación y registro ---------- */
.chk.legal{align-items:flex-start;gap:10px;margin-top:12px;font-size:14px;line-height:1.35;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.chk.legal input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:#1F7F74}
.chk.legal a{color:var(--teal-d);font-weight:700}
.chk.legal:has(input.bad){border:2px solid #D93A1F;background:#FFF4F2}
input[type=checkbox].bad{outline:3px solid #D93A1F;outline-offset:2px}
.fsec{margin:18px 0 0;font-size:15px;color:var(--teal-d)}
.linkbtn.full{display:flex;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:10px;font-size:14px}
.pie-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:10px}
.pie-legal a{color:var(--muted);text-decoration:underline}
.doctabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 8px}
.doctabs a{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:7px 13px;font-size:14px;color:var(--navy);text-decoration:none}
.doctabs a.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.doc{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 18px 8px;margin-top:8px;line-height:1.55;font-size:15.5px}
.doc h1{margin:0 0 2px;font-size:24px}
.doc h2{margin:22px 0 6px;font-size:18px}
.doc p{margin:8px 0}
.doc ul{margin:6px 0 8px;padding-left:22px}
.doc li{margin:4px 0}
.docmeta{color:var(--muted);font-size:13px}
.verif{margin:12px 0 4px;padding-top:12px;border-top:1px solid var(--line)}
.avisolegal{margin:10px 0 0;line-height:1.35}
.avisolegal a{color:var(--teal-d);font-weight:700}
.ctabtns{display:flex;flex-wrap:wrap;gap:8px}
.cta button{background:var(--yellow);color:var(--navy);font-weight:700;border:0;border-radius:999px;padding:10px 18px;font-size:15px;cursor:pointer}
.cta a.alt{background:transparent;color:var(--cream);border:1px solid rgba(255,246,229,.5)}

/* ===== Entrega 7: admin + móvil sin barras laterales ===== */
html,body{max-width:100%;overflow-x:hidden}
.fchips{flex-wrap:wrap;overflow-x:visible}
.ptabs,.ptabs.wrapt{flex-wrap:wrap;overflow-x:visible}
.acnav{flex-wrap:wrap !important;overflow-x:visible !important}
.tabsw{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.tabsw a{flex:1 1 auto;text-align:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--navy);font-weight:600;text-decoration:none;font-size:14px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tabsw a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tabsw .cuenta-n{background:var(--coral);color:#fff;border-radius:999px;min-width:20px;padding:0 6px;font-size:12px;line-height:20px;text-align:center}
.aud{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}
.aud-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.aud-m{font-size:13px;color:#555;margin:4px 0;word-break:break-word}
.aud-d{font-size:12px;color:#777;word-break:break-word}
.pager{display:flex;gap:8px;margin:12px 0}.pager .btn{flex:1;margin:0}
.areadoc{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.45}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:380px){.dos{grid-template-columns:1fr}}
