/* Panel de los novios */
.panel-app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.lateral{position:sticky;top:0;height:100vh;background:rgba(251,248,242,.92);border-right:1px solid var(--linea);display:flex;flex-direction:column;padding:26px 0 20px}
.lateral .logo{padding:0 26px;font-size:24px}
.pareja-lat{padding:26px 26px 18px;border-bottom:1px solid var(--linea)}
.pareja-lat b{display:block;font:italic 400 26px/1.1 var(--serif);color:var(--bosque)}
.pareja-lat span{font-size:13px;color:var(--suave)}
.menu{display:grid;gap:2px;padding:16px 12px}
.menu a{display:flex;align-items:center;gap:14px;padding:11px 14px;text-decoration:none;color:var(--suave);font:400 15px var(--sans);border-radius:2px}
.menu a svg,.ajustes-movil svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.menu a:hover{color:var(--bosque);background:rgba(31,61,43,.05)}
.menu a[aria-current="page"]{color:var(--bosque);background:rgba(31,61,43,.08);font-weight:500}
.plan-lat{margin-top:auto;padding:16px 26px 0;border-top:1px solid var(--linea);font-size:13px;color:var(--suave)}
.plan-lat b{display:block;font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--oro)}
.plan-lat a{color:var(--bosque)}
.cab-movil{display:none}
.principal{padding:38px 44px 80px;min-width:0;outline:none}
.sec-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.sec-cab h1{font:400 44px/1.05 var(--serif);color:var(--bosque)}
.sec-cab p{color:var(--suave);font-size:15.5px;margin-top:4px;max-width:620px}
.acciones{display:flex;gap:10px;flex-wrap:wrap}
.btn.peq svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;margin-right:8px}
.tarjeta-p{background:rgba(251,248,242,.94);border:1px solid var(--linea);padding:24px 26px;min-width:0}
.tarjeta-p h2{font:400 26px/1.15 var(--serif);color:var(--bosque)}
.tarjeta-p h3{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--oro);margin-bottom:12px}
.tarjeta-p .sub{font-size:14.5px;color:var(--suave);margin-top:2px}
.rejilla-p{display:grid;gap:18px}
.dos{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.tres-cajas{grid-template-columns:repeat(3,minmax(0,1fr))}
.tres-cajas .doble{grid-column:span 2;min-width:0}
.plan-p p{flex:0}
.plan-p .mas{font-weight:400;color:var(--bosque);font-size:13px}
.lista-plan{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:5px;font-size:13px;line-height:1.35;flex:1}
.lista-plan li{padding-left:15px;position:relative}
.lista-plan li::before{content:"+";position:absolute;left:0;color:var(--oro)}
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cifra{background:rgba(251,248,242,.94);border:1px solid var(--linea);padding:18px 20px}
.cifra b{display:block;font:400 46px/1 var(--serif);color:var(--bosque)}
.cifra span{font-size:13px;color:var(--suave);letter-spacing:.04em}
.cifra.oscura{background:var(--bosque);border-color:var(--bosque)}
.cifra.oscura b,.cifra.oscura span{color:#F3EBDD}

/* Inicio */
.saludo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--bosque) url(../img/lino.jpg) center/700px;background-blend-mode:multiply;color:#F3EBDD;padding:34px 36px;position:relative;overflow:hidden}
.saludo h1{font:italic 400 52px/1 var(--serif);color:#fff}
.saludo .cuenta{font-size:16px;opacity:.9;margin-top:8px}
.saludo .cuenta b{font:400 30px var(--serif);color:#E9D6A8;margin-right:4px}
.saludo .dir{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.saludo .dir code{font:400 14px var(--sans);background:rgba(255,255,255,.12);padding:9px 14px;border:1px solid rgba(255,255,255,.2)}
.saludo .btn{border-color:rgba(255,255,255,.55);color:#fff}
.saludo .btn:hover{background:#fff;color:var(--bosque)}
.saludo .btn.lleno{background:#F3EBDD;color:var(--bosque);border-color:#F3EBDD}
.saludo .portadita{width:170px;aspect-ratio:3/4;background:#F6F0E4 url(../img/lino.jpg) center/300px;display:grid;place-items:center;padding:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.6);transform:rotate(3deg)}
.saludo .portadita img{max-width:100%;max-height:100%;mix-blend-mode:multiply}
.pasos-p{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.pasos-p li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea)}
.pasos-p li:last-child{border-bottom:0}
.pasos-p .chk{width:26px;height:26px;border-radius:50%;border:1px solid var(--oro);display:grid;place-items:center;font:500 13px var(--sans);color:var(--oro)}
.pasos-p li.hecho .chk{background:var(--bosque);border-color:var(--bosque);color:#fff}
.pasos-p li.hecho .t{color:var(--suave);text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.pasos-p .t{font-size:15.5px}
.pasos-p .t small{display:block;font-size:13px;color:var(--suave);text-decoration:none}
.pasos-p a{font:400 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bosque);text-decoration:none;border-bottom:1px solid var(--oro);padding-bottom:2px;white-space:nowrap}
.ultimas{list-style:none;padding:0;margin:0}
.ultimas li{padding:12px 0;border-bottom:1px solid var(--linea);display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.ultimas li:last-child{border-bottom:0}
.ultimas .msg{font:italic 400 17px/1.35 var(--serif);color:var(--tinta);margin-top:2px}
.ultimas small{color:var(--suave);font-size:12.5px}
.vacio{color:var(--suave);font-size:15px;padding:8px 0}
.vacio .btn{margin-top:14px}

/* Estados */
.estado{display:inline-flex;align-items:center;gap:6px;font:400 12px var(--sans);letter-spacing:.06em;padding:4px 10px;border-radius:999px;white-space:nowrap}
.estado::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.estado.si{background:rgba(85,102,63,.13);color:#3E5A2E}
.estado.no{background:rgba(140,67,57,.11);color:#8C4339}
.estado.pend{background:rgba(168,138,78,.14);color:#86683A}
.estado.env{background:rgba(47,74,107,.1);color:#2F4A6B}
.inicial{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(168,138,78,.18);color:var(--bosque);font:400 17px var(--serif);flex:none}

/* Invitación */
.inv-grid{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:30px;align-items:start}
.inv-grid .movil{width:100%;max-width:330px;position:sticky;top:24px}
.formulario{display:grid;gap:16px}
.formulario .campos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.formulario .campos.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.formulario label{display:grid;gap:4px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--suave);min-width:0}
.formulario label.ancha{grid-column:1/-1}
.formulario input,.formulario select{font:300 16px var(--sans);letter-spacing:0;text-transform:none;color:var(--tinta);padding:9px 2px;border:0;border-bottom:1px solid rgba(0,0,0,.2);background:transparent;width:100%;border-radius:0}
.formulario textarea{font:300 15px/1.5 var(--sans);color:var(--tinta);padding:9px 10px;border:1px solid rgba(0,0,0,.16);background:#fff;width:100%;resize:vertical;letter-spacing:0;text-transform:none}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:none;border-color:var(--bosque)}
.formulario fieldset{border:0;border-top:1px solid var(--linea);padding:16px 0 0;margin:0}
.formulario legend{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--oro);padding-right:8px}
.guardar{position:sticky;bottom:0;background:rgba(251,248,242,.97);border-top:1px solid var(--linea);margin:6px -26px -24px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.guardar span{font-size:13.5px;color:var(--suave)}
.diseno-actual{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center}
.diseno-actual img{width:96px;aspect-ratio:3/4;object-fit:contain;background:#F6F0E4 url(../img/lino.jpg) center/300px;border:1px solid var(--linea);padding:6px;mix-blend-mode:normal}
.diseno-actual b{font:400 24px var(--serif);color:var(--bosque);display:block}
.diseno-actual .acciones{margin-top:12px}
.interruptor{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}
.interruptor span{font-size:15.5px}
.interruptor small{display:block;font-size:13px;color:var(--suave)}
.interruptor input{appearance:none;width:46px;height:26px;border-radius:999px;background:#D9D0C1;position:relative;cursor:pointer;flex:none;transition:background .2s}
.interruptor input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
.interruptor input:checked{background:var(--bosque)}
.interruptor input:checked::after{left:23px}
.interruptor input:disabled{opacity:.45;cursor:not-allowed}

/* Bloqueado por plan */
.candado{display:flex;gap:14px;align-items:center;background:rgba(168,138,78,.1);border:1px dashed rgba(168,138,78,.6);padding:14px 16px;font-size:14px;line-height:1.4}
.candado svg{width:22px;height:22px;fill:none;stroke:var(--oro);stroke-width:1.5;flex:none}
.candado b{font-weight:500;color:var(--bosque)}
.candado .btn{margin-left:auto}
.bloqueado{position:relative}
.bloqueado .velo{filter:blur(3px) grayscale(.3);opacity:.55;pointer-events:none;user-select:none}
.bloqueado .sobre-velo{position:absolute;inset:0;display:grid;place-items:center;padding:20px}
.bloqueado .sobre-velo .tarjeta-p{max-width:440px;text-align:center;box-shadow:0 30px 60px -30px rgba(31,61,43,.5)}
.bloqueado .sobre-velo p{color:var(--suave);font-size:15px;margin:8px 0 18px}

/* Barra de herramientas y tablas */
.herramientas{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.buscar{flex:1;min-width:200px;font:300 15px var(--sans);padding:11px 14px;border:1px solid var(--linea);background:#fff}
.buscar:focus{outline:none;border-color:var(--bosque)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{font:400 12px var(--sans);letter-spacing:.06em;border:1px solid var(--linea);background:#fff;padding:8px 13px;border-radius:999px;cursor:pointer;color:var(--suave)}
.chips button[aria-pressed="true"]{background:var(--bosque);border-color:var(--bosque);color:#fff}
.tabla{width:100%;border-collapse:collapse;background:rgba(251,248,242,.94);border:1px solid var(--linea);font-size:15px}
.tabla th{font:400 10.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--suave);text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);white-space:nowrap}
.tabla td{padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:middle}
.tabla tr:last-child td{border-bottom:0}
.tabla .nom{display:flex;align-items:center;gap:12px;font-weight:400}
.tabla .nom small{display:block;color:var(--suave);font-size:12.5px;font-weight:300}
.tabla .peq{color:var(--suave);font-size:13.5px}
.iconos{display:flex;gap:4px;justify-content:flex-end}
.ico{width:36px;height:36px;display:grid;place-items:center;border:1px solid transparent;background:none;cursor:pointer;color:var(--suave);border-radius:50%;text-decoration:none}
.ico:hover{background:rgba(31,61,43,.07);color:var(--bosque)}
.ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico.wa{color:#2E7D4F}
.ico.wa svg{fill:currentColor;stroke:none}
.cancion{font:italic 400 16px var(--serif)}
.ultimas.canciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));column-gap:24px}
.ultimas.canciones li:last-child{border-bottom:1px solid var(--linea)}

/* Respuestas */
.barras{display:grid;gap:10px}
.barra-p{display:grid;grid-template-columns:110px minmax(0,1fr) 36px;gap:10px;align-items:center;font-size:14px}
.barra-p i{height:10px;background:rgba(31,61,43,.08);position:relative;border-radius:999px;overflow:hidden}
.barra-p i::after{content:"";position:absolute;inset:0;width:var(--v);background:var(--salvia);border-radius:999px}
.barra-p b{font-weight:400;text-align:right;color:var(--bosque)}
.alergias{list-style:none;padding:0;margin:0;font-size:14.5px;display:grid;gap:6px}
.alergias li{padding-left:16px;position:relative}
.alergias li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:#C98A5A}

.portada-propia{margin-top:16px;border-top:1px solid var(--linea);padding-top:14px}
.portada-propia b{font-weight:400;font-size:15px;color:var(--bosque)}
.portada-propia .sub{margin:4px 0 10px}

/* Mesas */
.mesas-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}
.sin-sitio{background:rgba(251,248,242,.94);border:1px solid var(--linea);padding:16px;position:sticky;top:20px;max-height:calc(100vh - 40px);display:flex;flex-direction:column}
.sin-sitio h3{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--oro);margin-bottom:10px}
.sin-sitio .lista{overflow:auto;display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-bottom:4px}
.persona{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1px solid var(--linea);cursor:grab;font-size:14px;text-align:left;width:100%;font-family:var(--sans);font-weight:300;color:var(--tinta)}
.persona small{color:var(--suave);font-size:12px;margin-left:auto}
.persona[aria-pressed="true"]{border-color:var(--bosque);box-shadow:inset 0 0 0 1px var(--bosque);background:#F3F6F1}
.persona .punto{width:8px;height:8px;border-radius:50%;background:var(--salvia);flex:none}
.persona.acomp .punto{background:var(--oro)}
.salon-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.salon-barra .zoom{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--suave)}
.salon-barra .zoom button{width:34px;height:34px;border:1px solid var(--linea);background:#fff;font:400 18px var(--sans);color:var(--bosque);cursor:pointer}
.salon-barra .zoom button:disabled,.salon-barra .btn:disabled{opacity:.4;cursor:default}
.salon-marco{overflow:auto;border:1px solid var(--linea);max-height:78vh;-webkit-overflow-scrolling:touch}
.salon{position:relative;aspect-ratio:4/3;background:#FBF8F2 url(../img/lino.jpg) center/600px;background-blend-mode:multiply;overflow:hidden;min-width:100%}
.salon::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(168,138,78,.45);pointer-events:none}
.salon .rotulo{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font:500 26px var(--mano);color:rgba(168,138,78,.75);pointer-events:none}
.mesa{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;cursor:move;user-select:none;-webkit-user-select:none;container-type:inline-size;touch-action:none}
.mesa .tab{background:#fff;border:1.5px solid var(--bosque);display:grid;place-items:center;text-align:center;box-shadow:0 10px 22px -12px rgba(31,61,43,.5);position:relative;z-index:1;transition:box-shadow .15s,background .15s}
.mesa.redonda .tab{border-radius:50%}
.mesa .tab b{font:400 clamp(6px,14cqw,16px)/1.1 var(--serif);color:var(--bosque);display:block;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:88cqw}
.mesa.larga .tab b{font-size:clamp(7px,6cqw,16px);max-width:94cqw}
.mesa .tab small{font-size:clamp(5px,10cqw,12px);color:var(--suave)}
.mesa.larga .tab small{font-size:clamp(6px,4.4cqw,12px)}
.mesa .tab small.llena{color:#8C4339}
.mesa .silla{position:absolute;width:11cqw;aspect-ratio:1;border-radius:50%;background:#fff;border:1.5px solid rgba(31,61,43,.35);transform:translate(-50%,-50%);z-index:0}
.mesa.larga .silla{width:4.6cqw}
.mesa .silla.ocu{background:var(--salvia);border-color:var(--salvia)}
.mesa.sel .tab{box-shadow:0 0 0 3px rgba(168,138,78,.55),0 10px 22px -12px rgba(31,61,43,.5)}
.mesa.destino .tab{background:#EEF3EA}
.detalle-mesa ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px}
.detalle-mesa li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--linea);font-size:14.5px}
.detalle-mesa li .ico{margin-left:auto;width:30px;height:30px}
.detalle-mesa .campos{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;margin-top:6px}
.ayuda-mesas{font-size:13.5px;color:var(--suave);margin-top:10px}

/* Plan y web */
.planes-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.plan-p{border:1px solid var(--linea);background:#fff;padding:18px;display:flex;flex-direction:column;gap:6px}
.plan-p.actual{border-color:var(--bosque);box-shadow:inset 0 0 0 1px var(--bosque)}
.plan-p h4{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--oro)}
.plan-p .pr{font:400 30px var(--serif);color:var(--bosque)}
.plan-p p{font-size:13.5px;color:var(--suave);line-height:1.4;flex:0 0 auto}
.plan-p ul{flex:1;align-content:start}
.plan-p .btn{margin-top:8px}
.plan-p .etq{font:400 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bosque);margin-top:8px}

/* Diálogo y aviso */
.dialogo{margin:auto;border:0;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%}
.dialogo::backdrop{background:rgba(31,40,30,.45)}
.dialogo .tarjeta-p{padding:26px 28px}
.dialogo .pie-d{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--bosque);color:#fff;padding:13px 22px;font-size:14.5px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:60;box-shadow:0 12px 30px -10px rgba(0,0,0,.35)}
.toast.ver{opacity:1;transform:translate(-50%,0)}
.bienvenida{text-align:center}
.bienvenida .mano{font-size:34px;color:var(--oro)}
.bienvenida h2{font:400 38px/1.1 var(--serif);color:var(--bosque);margin:4px 0 8px}
.bienvenida ol{text-align:left;margin:18px 0 0;padding-left:20px;display:grid;gap:8px;font-size:15px}

@media (max-width:1100px){
  .cifras{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dos{grid-template-columns:minmax(0,1fr)}
  .planes-p{grid-template-columns:minmax(0,1fr)}
  .tres-cajas{grid-template-columns:minmax(0,1fr)}
  .tres-cajas .doble{grid-column:auto}
  .tres-cajas .doble .rejilla-p{grid-template-columns:minmax(0,1fr)!important}
  .plan-p .btn{white-space:normal;padding:12px 10px;line-height:1.3;text-align:center}
  .saludo .portadita{display:none}
  .saludo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .panel-app{display:block}
  .lateral{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;padding:0;flex-direction:row;z-index:40;border-right:0;border-top:1px solid var(--linea);padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(251,248,242,.97);backdrop-filter:blur(8px)}
  .lateral .logo,.pareja-lat,.plan-lat{display:none}
  .menu{grid-template-columns:repeat(7,minmax(0,1fr));padding:4px 2px;width:100%;gap:0}
  .menu a{flex-direction:column;gap:3px;padding:8px 0;font-size:9.5px;letter-spacing:0;text-align:center}
  .menu a[data-sec="ajustes"]{display:none}
  .menu a[aria-current="page"]{background:none}
  .cab-movil{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;border-bottom:1px solid var(--linea);background:rgba(239,230,214,.9)}
  .cab-movil .logo{font-size:22px}
  .ajustes-movil{color:var(--bosque);display:grid;place-items:center;width:38px;height:38px}
  .principal{padding:22px 16px 110px}
  .sec-cab h1{font-size:34px}
  .saludo{padding:26px 22px}
  .saludo h1{font-size:40px}
  .inv-grid{grid-template-columns:minmax(0,1fr)}
  .inv-grid .movil{position:relative;top:0;max-width:240px;margin:0 auto}
  .formulario .campos,.formulario .campos.tres{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mesas-grid{grid-template-columns:minmax(0,1fr)}
  .sin-sitio{position:relative;top:0;max-height:none}
  .sin-sitio .lista{flex-direction:row;flex-wrap:wrap;max-height:180px}
  .sin-sitio .persona{width:auto}
  .salon{aspect-ratio:3/4}
  .salon-marco{max-height:70vh}
  .candado{flex-wrap:wrap}
  .candado .btn{margin-left:0}
  .guardar{margin:6px -18px -20px;padding:12px 18px}
  .tarjeta-p{padding:20px 18px}
  .toast{bottom:96px}
  /* Tablas como tarjetas */
  .tabla,.tabla tbody,.tabla tr,.tabla td{display:block;width:100%}
  .tabla thead{display:none}
  .tabla{background:none;border:0}
  .tabla tr{background:rgba(251,248,242,.95);border:1px solid var(--linea);margin-bottom:10px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .tabla td{padding:0;border:0}
  .tabla td[data-l]::before{content:attr(data-l) ": ";color:var(--suave);font-size:12.5px}
  .tabla td.c-nom{grid-column:1/2}
  .tabla td.c-est{grid-column:2/3;grid-row:1;justify-self:end}
  .tabla td.c-acc{grid-column:1/-1}
  .tabla td.c-acc .iconos{justify-content:flex-start;border-top:1px solid var(--linea);padding-top:6px;margin-top:4px}
  .tabla td.oc-m{display:none}
}
@media print{
  .lateral,.cab-movil,.herramientas,.sin-sitio,.sec-cab .acciones,.toast{display:none!important}
  .panel-app{display:block}
  .principal{padding:0}
  .mesas-grid{display:block}
  .salon-barra{display:none}
  .salon-marco{overflow:visible;max-height:none;border:0}
  .salon{width:100%!important}
}

/* Panel de ejemplo (desde la web de venta) */
.aviso-demo{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--oro);color:#fff;font-size:13.5px;text-align:center;padding:8px 14px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px}
.aviso-demo a{color:#fff;font-weight:400;text-decoration:none;border:1px solid rgba(255,255,255,.7);padding:4px 12px;letter-spacing:.06em}
.aviso-demo a:hover{background:#fff;color:var(--bosque)}
body.con-demo{padding-top:42px}
@media (min-width:861px){body.con-demo .lateral{top:42px;height:calc(100vh - 42px)}}
@media (max-width:860px){body.con-demo{padding-top:72px}.aviso-demo{font-size:12.5px;padding:7px 10px}}
@media print{.aviso-demo{display:none}body.con-demo{padding-top:0}}

/* Preguntas a medida */
.preg-lista{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.preg-lista li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--linea)}
.preg-lista li>div{flex:1;min-width:0}
.preg-lista b{display:block;font-weight:400;font-size:15px}
.preg-lista small{color:var(--suave);font-size:12.5px}
.preg-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px}
.preg-q{font:400 19px/1.2 var(--serif);color:var(--bosque);margin-bottom:8px}

/* Álbum */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.album-grid figure{margin:0;position:relative;background:#fff;border:1px solid var(--linea);padding:6px 6px 8px}
.album-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.album-grid figcaption{font-size:12.5px;color:var(--suave);margin-top:6px;display:flex;justify-content:space-between;gap:6px;align-items:center}
.album-grid figcaption .ico{width:28px;height:28px}
.album-demo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.album-demo i{display:block;aspect-ratio:1;background:linear-gradient(135deg,#E7DCC7,#D5C6A8)}

/* Día B */
.aviso-vivo{display:flex;gap:12px;align-items:flex-start;background:var(--bosque);color:#fff;padding:12px 14px;margin-bottom:14px;border-radius:3px}
.aviso-vivo .punto{flex:none;width:9px;height:9px;border-radius:50%;background:#fff;margin-top:6px;animation:latido 1.6s ease-in-out infinite}
.aviso-vivo b{display:block;font-weight:400;font-size:15.5px;line-height:1.4}
.aviso-vivo small{display:block;font-size:12px;opacity:.8;margin-top:2px}
@keyframes latido{0%,100%{opacity:1}50%{opacity:.25}}
.chips .chip{font:400 13px var(--sans);letter-spacing:0;color:var(--bosque);background:rgba(31,61,43,.06);border:1px solid rgba(31,61,43,.15);border-radius:999px;padding:7px 12px;cursor:pointer;text-align:left}
.chips .chip:hover{background:rgba(31,61,43,.1)}
.pet-l{list-style:none;padding:0;max-height:360px;overflow:auto}
.pet-l li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--linea)}
.pet-l b{display:block;font-weight:400;font-size:15px}
.pet-l small{display:block;font-size:12.5px;color:var(--suave)}

.porra-l,.voces-l{list-style:none;padding:0}
.porra-l li,.voces-l li{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid var(--linea)}
.porra-l b,.voces-l b{display:block;font-weight:400;font-size:15.5px}
.porra-l small,.voces-l small{display:block;font-size:12.5px;color:var(--suave)}
.porra-res{display:flex!important;align-items:center;gap:10px;margin-top:8px;font:400 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--suave)}
.porra-res select{font:400 14px var(--sans);letter-spacing:0;text-transform:none;padding:6px 8px;border:1px solid var(--linea);background:#fff;color:var(--tinta)}
.porra-rk{padding-left:22px}
.porra-rk li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--linea);font-size:15px}
.porra-rk li.gana{color:var(--bosque);font-weight:500}
.porra-rk b{font-weight:500}
.voces-l audio{display:block;margin-top:8px;width:min(320px,100%);height:36px}
.mapa-prev{display:block;max-width:100%;max-height:260px;border:1px solid var(--linea);margin-bottom:12px}
.ico.estrella[aria-pressed="true"] svg{fill:#C9A962;stroke:#A88A4E}
