/* ─────────────────────────────────────────────────────────────
   Mariangelly Style · Pedidos de catálogo
   Paleta y tipografías del sitio mariangellystile.es.
   Objeto protagonista: la "hoja de pedido" (papel con perforado),
   versión digital de la hoja a mano con la que hoy se piden los productos.
   ───────────────────────────────────────────────────────────── */
:root{
  --porcelain:#FDFBFA; --paper:#FFFFFF; --blush:#F7EDEF; --blush-2:#F0DFE4; --mist:#E4C4CE;
  --rose:#B96C87; --plum:#7E4159; --plum-2:#682F48;
  --ink:#231C1F; --ink-2:#4E4246; --muted:#857479; --line:#EDE2E5; --line-2:#E2D2D7;
  --ok:#2F7A55; --ok-bg:#E6F3EC; --warn:#8E5F14; --warn-bg:#FBF0DC; --err:#A23B4E; --err-bg:#FBE7EB; --info:#3D5E8C; --info-bg:#EAF0F8;
  --serie:#B96C87;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-s:10px; --r-m:14px; --r-l:20px;
  --sombra:0 1px 0 rgba(35,28,31,.04),0 18px 40px -24px rgba(126,65,89,.28);
  --sombra-alta:0 30px 70px -20px rgba(35,28,31,.35);
  --curva:cubic-bezier(.22,1,.36,1);
  --foco:0 0 0 3px rgba(185,108,135,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);background:var(--porcelain);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--plum);text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:none;box-shadow:var(--foco);border-radius:6px}
::selection{background:var(--mist)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ── tipografía ── */
h1,h2,h3,.display{font-family:var(--serif);font-weight:300;letter-spacing:-.018em;line-height:1.08;color:var(--ink)}
h1{font-size:clamp(34px,6.4vw,58px)}
h2{font-size:clamp(26px,4.4vw,36px)}
h3{font-size:20px;font-weight:400;letter-spacing:-.01em;line-height:1.25}
.lead{font-size:17.5px;color:var(--ink-2);max-width:46ch;line-height:1.6}
.muted{color:var(--muted)}
.small{font-size:14px}
.tiny{font-size:12.5px}
.num{font-variant-numeric:tabular-nums}
.dinero{font-family:var(--serif);font-weight:400;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.logo{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap;line-height:1}
.logo i{color:var(--rose)}
.logo .sub{display:block;font-family:var(--sans);font-size:12.5px;letter-spacing:0;color:var(--muted);margin-top:5px;font-style:normal}
.marca-claro .logo{color:var(--porcelain)}
.marca-claro .logo .sub{color:#BFAEB4}

/* ── estructura ── */
.wrap{max-width:1120px;margin:0 auto;padding:24px 20px 140px}
.stack>*+*{margin-top:16px}
.stack-l>*+*{margin-top:28px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
.row.top{align-items:flex-start}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:620px){.grid2,.grid3{grid-template-columns:1fr}}
.panel-s{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:22px}
.panel-s.tono{background:var(--blush);border-color:var(--blush-2)}
.separa{border:0;border-top:1px solid var(--line);margin:20px 0}
.cabeza{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.cabeza p{color:var(--muted);margin-top:8px;max-width:60ch}

/* ── botones ── */
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border-radius:var(--r-s);border:1px solid var(--ink);background:var(--ink);color:var(--porcelain);font-size:15.5px;font-weight:500;letter-spacing:.005em;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .12s}
.btn:hover{background:var(--plum);border-color:var(--plum)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn.prim{background:var(--plum);border-color:var(--plum)}
.btn.prim:hover{background:var(--plum-2);border-color:var(--plum-2)}
.btn.borde{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.borde:hover{border-color:var(--ink);background:transparent}
.btn.suave{background:var(--blush);border-color:var(--blush);color:var(--plum)}
.btn.suave:hover{background:var(--blush-2);border-color:var(--blush-2)}
.btn.wa{background:#1D8A52;border-color:#1D8A52}
.btn.wa:hover{background:#156b3f;border-color:#156b3f}
.btn.peligro{background:transparent;border-color:#E7C3CB;color:var(--err)}
.btn.peligro:hover{background:var(--err);border-color:var(--err);color:#fff}
.btn.mini{min-height:38px;padding:0 14px;font-size:14px;border-radius:9px}
.btn.mini svg{width:16px;height:16px}
.btn.ancho{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.ibtn{appearance:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:inline-grid;place-items:center;color:var(--ink-2);flex:none;transition:border-color .2s,color .2s,background .2s;text-decoration:none}
.ibtn:hover{border-color:var(--rose);color:var(--plum)}
.ibtn svg{width:18px;height:18px}
.ibtn.chico{width:34px;height:34px}
.ibtn.chico svg{width:16px;height:16px}
.enlace{background:none;border:0;padding:0;color:var(--plum);text-decoration:underline;text-underline-offset:3px;font-size:15px}

/* ── formularios ── */
.campo{display:block}
.campo>span{display:block;font-size:14px;font-weight:500;color:var(--ink-2);margin-bottom:7px}
.campo>span em{font-style:normal;font-weight:400;color:var(--muted)}
.inp{width:100%;min-height:52px;padding:13px 15px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--paper);font-size:16.5px;outline:none;transition:border-color .2s,box-shadow .2s}
.inp::placeholder{color:#B5A6AB}
.inp:hover{border-color:#D3BFC6}
.inp:focus{border-color:var(--rose);box-shadow:var(--foco)}
textarea.inp{min-height:110px;resize:vertical;line-height:1.5}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23857479' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.inp.codigo{font-family:var(--serif);font-size:24px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.ayuda{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.45}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--plum);flex:none;margin-top:2px}
.interruptor{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:15px}
.interruptor input{position:absolute;opacity:0;width:0;height:0}
.interruptor i{width:44px;height:26px;border-radius:26px;background:#D9CDD1;position:relative;transition:background .2s;flex:none}
.interruptor i::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,.2);transition:transform .25s var(--curva)}
.interruptor input:checked+i{background:var(--plum)}
.interruptor input:checked+i::after{transform:translateX(18px)}
.interruptor input:focus-visible+i{box-shadow:var(--foco)}
.segmento{display:inline-flex;padding:4px;border-radius:12px;background:var(--blush);gap:2px;flex-wrap:wrap}
.segmento button{border:0;background:transparent;padding:9px 16px;border-radius:9px;font-size:14.5px;color:var(--ink-2);font-weight:500}
.segmento button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgba(35,28,31,.08),0 4px 10px -4px rgba(126,65,89,.25)}
.segmento.ancho{display:flex}
.segmento.ancho button{flex:1}
.stepper{display:flex;border:1px solid var(--line-2);border-radius:var(--r-s);overflow:hidden;background:var(--paper);height:52px}
.stepper button{width:40px;border:0;background:transparent;font-size:22px;color:var(--plum);line-height:1}
.stepper button:hover{background:var(--blush)}
.stepper input{width:100%;min-width:0;border:0;text-align:center;font-family:var(--serif);font-size:21px;outline:none;background:transparent}

/* ── estados y etiquetas ── */
.estado{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;padding:5px 11px 5px 9px;border-radius:30px;background:var(--blush);color:var(--plum);white-space:nowrap;line-height:1.2}
.estado::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.estado.borrador{background:#F1ECEE;color:#6E6F74}
.estado.enviado{background:var(--warn-bg);color:var(--warn)}
.estado.revisado{background:var(--info-bg);color:var(--info)}
.estado.pedido{background:var(--blush);color:var(--plum)}
.estado.llego{background:#EFE9F7;color:#634596}
.estado.armado{background:#E4F1EF;color:#2B6A64}
.estado.despachado{background:var(--ok-bg);color:var(--ok)}
.estado.entregado{background:var(--ink);color:var(--porcelain)}
.estado.ninguno{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2)}
.estado.ninguno::before{display:none}
.marca{display:inline-block;font-size:12.5px;padding:3px 9px;border-radius:20px;background:var(--blush);color:var(--plum);font-weight:500;line-height:1.35;white-space:nowrap}
.marca.gris{background:#F1ECEE;color:var(--ink-2)}
.marca.ok{background:var(--ok-bg);color:var(--ok)}
.marca.warn{background:var(--warn-bg);color:var(--warn)}
.marca.err{background:var(--err-bg);color:var(--err)}
.aviso{padding:14px 16px;border-radius:var(--r-m);font-size:15px;background:var(--blush);color:var(--plum);line-height:1.5}
.aviso.warn{background:var(--warn-bg);color:var(--warn)}
.aviso.ok{background:var(--ok-bg);color:var(--ok)}
.aviso.err{background:var(--err-bg);color:var(--err)}

/* ── la hoja de pedido (objeto protagonista) ── */
.hoja{position:relative;background:var(--paper);border-radius:4px 4px var(--r-m) var(--r-m);padding:30px 24px 24px;box-shadow:0 0 0 1px var(--line),0 28px 50px -34px rgba(126,65,89,.45)}
.hoja::before{content:"";position:absolute;left:0;right:0;top:-1px;height:11px;background:radial-gradient(circle at 10px -1px,var(--porcelain) 6px,transparent 6.6px) 0 0/20px 11px repeat-x}
.hoja-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px}
.hoja-cab h2,.hoja-cab h3{font-size:26px}
.hoja-cab .nro{font-family:var(--serif);font-size:15px;color:var(--muted);text-align:right;line-height:1.35;white-space:nowrap}
.hoja-cols,.renglon{display:grid;grid-template-columns:76px 42px minmax(0,1fr) 48px 104px;gap:10px;align-items:baseline}
.hoja-cols{font-size:12.5px;color:var(--muted);padding:9px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.hoja-cols .r,.renglon .r{text-align:right}
.hoja-cols .c,.renglon .c{text-align:center}
.renglones{list-style:none}
.renglon{padding:13px 0;border-bottom:1px solid var(--line);position:relative}
.renglon .cod{font-variant-numeric:tabular-nums;font-size:14.5px;color:var(--ink-2);letter-spacing:.02em;overflow-wrap:anywhere}
.renglon .cant{font-family:var(--serif);font-size:21px;text-align:center;line-height:1}
.renglon .prod{font-size:15.5px;line-height:1.35;color:var(--ink)}
.renglon .prod small{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--muted)}
.renglon .pag{text-align:center;color:var(--ink-2);font-size:14.5px}
.renglon .mon{text-align:right;font-variant-numeric:tabular-nums;font-size:15.5px}
.renglon .mon small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.renglon .acc{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}
.renglon.nuevo{animation:renglonNuevo 1.6s var(--curva)}
@keyframes renglonNuevo{0%{background:var(--blush-2);transform:translateY(-6px);opacity:0}25%{opacity:1;transform:none}100%{background:transparent}}
.renglon.falta{opacity:.5}
.hoja-pie{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:16px;margin-top:2px;border-top:3px double var(--ink)}
.hoja-pie .tt{font-size:14px;color:var(--muted)}
.hoja-pie .total{font-family:var(--serif);font-size:34px;line-height:1;letter-spacing:-.02em}
.hoja-vacia{padding:34px 4px 18px;text-align:center;color:var(--muted)}
.hoja-vacia .display{font-size:24px;color:var(--ink-2);margin-bottom:8px}
@media (max-width:620px){
  .hoja{padding:28px 16px 18px}
  .hoja-cols{display:none}
  .renglon{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"cant prod mon" "cant meta acc";row-gap:2px}
  .renglon .cant{grid-area:cant;align-self:start;margin-top:2px}
  .renglon .prod{grid-area:prod}
  .renglon .mon{grid-area:mon}
  .renglon .cod,.renglon .pag{display:none}
  .renglon .meta-m{display:flex!important;grid-area:meta}
  .renglon .acc{grid-area:acc;margin-top:4px}
  .hoja-pie .total{font-size:30px}
}
.renglon .meta-m{display:none;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:4px}

/* ── seguimiento por pasos ── */
.pasos{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin-top:16px}
.paso{font-size:12.5px;color:var(--muted);line-height:1.25}
.paso i{display:block;height:4px;border-radius:4px;background:var(--line-2);margin-bottom:8px}
.paso.hecho i{background:var(--rose)}
.paso.actual{color:var(--ink);font-weight:500}
.paso.actual i{background:var(--plum)}
@media (max-width:420px){.paso span{display:none}.paso.actual span{display:block;white-space:nowrap}}

/* ── toasts, modales y hojas inferiores ── */
#toasts{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(92vw,440px);pointer-events:none}
.toast{background:var(--ink);color:var(--porcelain);padding:12px 18px;border-radius:12px;font-size:15px;box-shadow:var(--sombra-alta);animation:sube .35s var(--curva);text-align:center}
.toast.ok{background:var(--ok)}
.toast.err{background:var(--err)}
@keyframes sube{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.velo{position:fixed;inset:0;z-index:200;background:rgba(35,28,31,.45);display:flex;align-items:flex-end;justify-content:center;animation:aparece .2s ease}
@media (min-width:720px){.velo{align-items:center;padding:24px}}
.modal{width:100%;max-width:600px;max-height:92vh;overflow:auto;background:var(--porcelain);border-radius:var(--r-l) var(--r-l) 0 0;padding:14px 22px 26px;box-shadow:var(--sombra-alta);animation:sube .35s var(--curva)}
.modal::before{content:"";display:block;width:42px;height:4px;border-radius:4px;background:var(--line-2);margin:0 auto 14px}
@media (min-width:720px){.modal{border-radius:var(--r-l);padding:28px 30px}.modal::before{display:none}}
.modal.ancho{max-width:960px}
.modal .m-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.modal .m-cab p{color:var(--muted);margin-top:6px;font-size:15px}
.modal .m-pie{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
@media (max-width:719px){.modal .m-pie .btn{flex:1}}

/* ── carga y vacíos ── */
.cargando{display:grid;place-items:center;min-height:50vh;color:var(--muted);font-size:15px}
.spin{width:30px;height:30px;border:2px solid var(--blush-2);border-top-color:var(--rose);border-radius:50%;animation:gira .8s linear infinite;margin:0 auto 14px}
@keyframes gira{to{transform:rotate(360deg)}}
.vacio{text-align:center;padding:40px 16px;color:var(--muted)}
.vacio .display{font-size:24px;color:var(--ink-2);margin-bottom:8px}
.vacio p{max-width:42ch;margin:0 auto}

/* ── tablas ── */
.tabla{overflow:auto;border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper)}
table.t{width:100%;border-collapse:collapse;font-size:15px}
table.t th{position:sticky;top:0;z-index:1;background:#FCF8F9;text-align:left;font-size:13px;font-weight:500;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
table.t td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t tbody tr:last-child td{border-bottom:0}
table.t tr.clic{cursor:pointer}
table.t tr.clic:hover td{background:#FDF6F8}
table.t .r{text-align:right}
table.t .c{text-align:center}
table.t tfoot td{background:#FCF8F9;font-weight:500;border-top:1px solid var(--line)}
table.t .inp{min-height:38px;padding:7px 9px;font-size:14.5px;border-radius:8px}
table.t .nombre{font-weight:500}
table.t .sub{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:2px}

/* ── libro de cifras (en vez de tarjetas iguales) ── */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.cifra{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}
.cifra span{display:block;font-size:14px;color:var(--muted)}
.cifra b{display:block;font-family:var(--serif);font-weight:300;font-size:34px;line-height:1.1;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.cifra small{display:block;font-size:13px;color:var(--muted);margin-top:6px}
.cifra.clave{background:var(--ink);border-color:var(--ink)}
.cifra.clave span,.cifra.clave small{color:#C9B6BD}
.cifra.clave b{color:var(--porcelain)}
.barra{height:6px;background:var(--blush);border-radius:6px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--rose);border-radius:6px;transition:width .5s var(--curva)}

/* ── acceso ── */
.acceso{min-height:100vh;display:grid;grid-template-columns:1fr}
@media (min-width:980px){.acceso{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}}
.acceso-arte{position:relative;padding:28px 22px 10px;overflow:hidden}
@media (min-width:980px){.acceso-arte{padding:44px 56px;display:flex;flex-direction:column;background:var(--blush)}}
.acceso-arte h1{margin-top:34px;max-width:15ch}
.acceso-arte .lead{margin-top:16px}
.acceso-demo{margin-top:34px;max-width:470px;transform:rotate(-1.6deg);transform-origin:left top}
@media (max-width:979px){.acceso-demo{display:none}}
.acceso-demo .renglon{opacity:0;animation:escribe .5s var(--curva) forwards}
@keyframes escribe{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.acceso-pasos{list-style:none;display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;counter-reset:p;font-size:15px;color:var(--ink-2)}
.acceso-pasos li{counter-increment:p;display:flex;gap:10px;align-items:baseline}
.acceso-pasos li::before{content:counter(p);font-family:var(--serif);font-size:22px;color:var(--plum)}
.acceso-form{padding:12px 22px 70px;display:flex;justify-content:center}
@media (min-width:980px){.acceso-form{align-items:center;padding:44px 48px}}
.acceso-form .caja{width:100%;max-width:440px}
.acceso-pie{margin-top:auto;padding-top:28px;font-size:14px;color:var(--muted)}

/* ── app de la clienta ── */
.barra-sup{position:sticky;top:0;z-index:40;background:rgba(253,251,250,.9);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid var(--line)}
.barra-sup .in{max-width:1120px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;gap:12px}
.barra-sup .esp{flex:1}
.cinta{background:var(--ink);color:var(--porcelain);text-align:center;font-size:14px;padding:9px 16px}
.saludo{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:6px 0 22px}
.saludo h1{font-size:clamp(32px,6vw,46px)}
.saludo p{color:var(--muted);margin-top:6px}
.lienzo{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
@media (min-width:960px){.lienzo{grid-template-columns:380px minmax(0,1fr)}.lienzo .col-form{position:sticky;top:90px}}
.form-prod{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:22px}
.form-prod .f1{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:12px}
.form-prod .f2{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px}
.form-prod .f3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.form-prod .subt{font-size:14px;color:var(--muted);min-height:20px;margin-top:4px}
.form-prod .subt b{color:var(--ink);font-weight:500}
@media (max-width:959px){.col-form{display:none}}
.accion{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:45;padding:0 14px 10px;pointer-events:none}
.accion .in{pointer-events:auto;max-width:640px;margin:0 auto;background:var(--ink);color:var(--porcelain);border-radius:18px;padding:10px 10px 10px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--sombra-alta)}
.accion .tt{flex:1;min-width:0}
.accion .tt small{display:block;font-size:12.5px;color:#C9B6BD}
.accion .tt b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;font-variant-numeric:lining-nums tabular-nums}
.accion .mas{width:48px;height:48px;border-radius:14px;border:0;background:var(--rose);color:#fff;display:grid;place-items:center;flex:none}
.accion .mas svg{width:22px;height:22px}
.accion .btn{min-height:48px;border-radius:14px;background:var(--porcelain);color:var(--ink);border-color:var(--porcelain)}
.accion .btn:hover{background:var(--blush);border-color:var(--blush)}
@media (min-width:960px){.accion{bottom:24px}.accion .mas{display:none}}
.navbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.navbar .in{max-width:640px;margin:0 auto;display:flex}
.navbar button{flex:1;border:0;background:none;padding:9px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12.5px;color:var(--muted);position:relative}
.navbar button svg{width:23px;height:23px;stroke-width:1.5}
.navbar button.on{color:var(--plum);font-weight:500}
.navbar button .punto{position:absolute;top:6px;left:calc(50% + 8px);width:9px;height:9px;border-radius:50%;background:var(--rose);border:2px solid #fff}
@media (min-width:960px){
  .navbar{top:0;bottom:auto;left:auto;right:max(20px,calc((100vw - 1120px)/2 + 20px));background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;height:67px;display:flex;align-items:center;padding:0 120px 0 0}
  .navbar .in{gap:4px}
  .navbar button{flex-direction:row;gap:8px;padding:9px 14px;border-radius:10px;font-size:15px}
  .navbar button svg{width:19px;height:19px}
  .navbar button.on{background:var(--blush)}
  .navbar button .punto{top:7px;left:26px}
}
.tarjeta-proceso{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:20px}
.tarjeta-proceso+.tarjeta-proceso{margin-top:12px}

/* etiqueta de envío (vista previa) */
.etiqueta{position:relative;border:1.5px dashed var(--ink-2);border-radius:var(--r-m);padding:18px 20px;background:var(--paper)}
.etiqueta .mrw{position:absolute;top:16px;right:18px;font-weight:700;letter-spacing:.04em;color:#C8102E;font-size:15px}
.etiqueta .dest{font-family:var(--serif);font-size:24px;line-height:1.15;margin:2px 0 10px;padding-right:56px}
.etiqueta dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14.5px}
.etiqueta dt{color:var(--muted)}

/* ── panel de administración ── */
.adm{display:grid;grid-template-columns:1fr;min-height:100vh}
@media (min-width:1080px){.adm{grid-template-columns:248px minmax(0,1fr)}}
.lado{background:var(--ink);color:#E9DEE2;padding:24px 16px;display:flex;flex-direction:column;gap:6px}
@media (min-width:1080px){.lado{position:sticky;top:0;height:100vh}}
.lado .logo{padding:0 10px 24px}
.lado nav{display:flex;flex-direction:column;gap:2px}
.lado nav button{display:flex;align-items:center;gap:12px;border:0;background:none;color:#CDBEC4;padding:11px 12px;border-radius:10px;font-size:15.5px;text-align:left;transition:background .15s,color .15s}
.lado nav button svg{width:19px;height:19px;flex:none;stroke-width:1.5}
.lado nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.lado nav button.on{background:rgba(228,196,206,.14);color:#fff}
.lado nav button .n{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:12px;background:var(--rose);color:#fff;font-size:12.5px;text-align:center;font-weight:500}
.lado .pie-lado{margin-top:auto;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:14px;font-size:14px;color:#BFAEB4}
.lado .interruptor{color:#F3EAED}
.lado .interruptor i{background:#5A4A50}
.lado .interruptor input:checked+i{background:var(--rose)}
@media (max-width:1079px){
  .lado{position:sticky;top:0;z-index:60;flex-direction:row;align-items:center;padding:12px 14px;gap:12px;overflow:hidden}
  .lado .logo{padding:0}
  .lado .logo .sub{display:none}
  .lado nav{flex-direction:row;overflow-x:auto;scrollbar-width:none;flex:1}
  .lado nav::-webkit-scrollbar{display:none}
  .lado nav button{white-space:nowrap;padding:9px 12px;font-size:14.5px}
  .lado nav button svg{display:none}
  .lado .pie-lado{display:none}
}
.adm main{padding:32px clamp(18px,3vw,44px) 80px;min-width:0}
.adm .wrap-a{max-width:1180px;margin:0 auto}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fchip{border:1px solid var(--line-2);background:var(--paper);border-radius:30px;padding:7px 14px;font-size:14px;color:var(--ink-2)}
.fchip:hover{border-color:var(--rose)}
.fchip.on{background:var(--ink);border-color:var(--ink);color:var(--porcelain)}
.cajon{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(100%,900px);background:var(--porcelain);box-shadow:var(--sombra-alta);display:flex;flex-direction:column;animation:entra .35s var(--curva)}
@keyframes entra{from{transform:translateX(36px);opacity:0}to{transform:none;opacity:1}}
.cajon .c-cab{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--paper);border-bottom:1px solid var(--line)}
.cajon .c-cuerpo{flex:1;overflow:auto;padding:22px 22px 60px}
.velo-cajon{position:fixed;inset:0;z-index:85;background:rgba(35,28,31,.32);animation:aparece .2s}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--blush);color:var(--plum);display:grid;place-items:center;font-family:var(--serif);font-size:19px;flex:none}
.datos{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:15px}
.datos dt{color:var(--muted)}
.reparto{display:grid;gap:10px}
.reparto-c{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);cursor:pointer;transition:background .2s,border-color .2s}
.reparto-c:hover{border-color:var(--mist)}
.reparto-c.hecho{background:var(--ok-bg);border-color:#C3DECF}
.reparto-c .q{font-family:var(--serif);font-size:32px;width:52px;text-align:center;color:var(--plum);line-height:1}
.reparto-c.hecho .q{color:var(--ok)}
.reparto-c .n{flex:1;min-width:0}
.cajas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.caja-c{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;cursor:pointer;text-align:left;width:100%}
.caja-c:hover{border-color:var(--mist)}
.caja-c.lista{border-color:#C3DECF;background:#F6FBF8}
.pago-c{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m)}
.pago-c+.pago-c{margin-top:10px}
.qr{background:#fff;padding:12px;border-radius:var(--r-m);border:1px solid var(--line);flex:none}
.qr svg{width:148px;height:148px}

/* gráficas */
.graf{position:relative}
.graf svg{width:100%;height:auto;overflow:visible}
.graf .eje{font-size:12.5px;fill:var(--muted);font-family:var(--sans)}
.graf .rej{stroke:var(--line);stroke-width:1}
.graf .col{fill:var(--serie)}
.graf .col.vacia{fill:var(--line-2)}
.graf .hit{fill:transparent;cursor:pointer}
.graf .hit:hover+.col,.graf .col.on{fill:var(--plum)}
.graf .val{font-size:13px;fill:var(--ink);font-family:var(--sans);font-weight:500}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--porcelain);font-size:13.5px;padding:9px 12px;border-radius:10px;white-space:nowrap;transform:translate(-50%,-110%);box-shadow:var(--sombra-alta);z-index:5}
.tip b{display:block;font-family:var(--serif);font-weight:400;font-size:18px}
.barras-h{display:grid;gap:12px}
.barra-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;font-size:15px}
.barra-h .pista{grid-column:1/-1;height:10px;background:var(--blush);border-radius:0 4px 4px 0}
.barra-h .pista i{display:block;height:100%;background:var(--serie);border-radius:0 4px 4px 0}
.barra-h .v{font-variant-numeric:tabular-nums;color:var(--ink-2)}
@media print{.no-print{display:none!important}}

/* sugerencias del autocompletado colaborativo */
.sug{border:1px solid var(--blush-2);background:var(--blush);border-radius:var(--r-m);padding:10px;display:grid;gap:6px}
.sug .t{font-size:13.5px;color:var(--plum);padding:2px 4px;line-height:1.4}
.sug button{text-align:left;border:0;background:var(--paper);border-radius:10px;padding:10px 12px;display:grid;gap:3px;transition:box-shadow .15s}
.sug button b{font-weight:500;font-size:15px}
.sug button small{color:var(--muted);font-size:13px}
.sug button:hover,.sug button:focus-visible{box-shadow:inset 0 0 0 1px var(--rose)}

/* ajustes tras la revisión visual */
#toasts{top:calc(14px + env(safe-area-inset-top));bottom:auto}
.navbar button span{white-space:nowrap}
.acceso-arte .hoja::before{background:radial-gradient(circle at 10px -1px,var(--blush) 6px,transparent 6.6px) 0 0/20px 11px repeat-x}
@media (max-width:979px){.acceso-arte .hoja::before{background:radial-gradient(circle at 10px -1px,var(--porcelain) 6px,transparent 6.6px) 0 0/20px 11px repeat-x}}
.cifra b{white-space:nowrap;font-size:clamp(24px,5.4vw,34px)}
@media (max-width:560px){.cifras{grid-template-columns:1fr 1fr}.cifra.clave{grid-column:1/-1}.cifra{padding:16px 18px}}
@media (min-width:621px){
  .con-acc .renglon,.hoja-cols.con-acc{grid-template-columns:76px 42px minmax(0,1fr) 48px 104px 84px}
  .con-acc .renglon .acc{margin-top:0;align-self:center}
}
@media (max-width:620px){.wrap{padding-bottom:180px}}
.graf .val,.graf .eje,.graf .col{pointer-events:none}
table.t td.r{white-space:nowrap}
@media (max-width:620px){.modal .grid3{grid-template-columns:1fr!important}}

/* combos, ajustes de la hoja y sello de pagada */
.renglon.combo{border-top:0;padding-top:4px}
.renglon.combo::before{content:"";position:absolute;left:-14px;top:-18px;height:calc(50% + 14px);width:9px;border-left:2px solid var(--mist);border-bottom:2px solid var(--mist);border-bottom-left-radius:7px}
@media (max-width:620px){.renglon.combo::before{left:-9px;width:6px}}
.ajustes{padding:12px 0 4px;display:grid;gap:6px}
.ajustes .aj{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--ink-2)}
.ajustes .aj span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.ajustes .aj.descuento span:last-child{color:var(--ok)}
.ajustes .aj.recargo span:last-child{color:var(--plum)}
.sello{display:inline-block;margin-top:8px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ok);border:1.5px solid currentColor;border-radius:8px;padding:2px 12px;transform:rotate(-4deg)}
/* recepción por catálogo */
.recepcion{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 20px}
.cat-est{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:13.5px;padding:7px 12px;border-radius:12px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.cat-est b{font-weight:500;color:var(--ink)}
.cat-est.abierto{border-color:#C9E2D4}
.cat-est.abierto::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);align-self:center}
.cat-est.cerrado{background:#F6F2F3}
.cat-est.cerrado::before{content:"";width:7px;height:7px;border-radius:50%;background:#C9B9BE;align-self:center}
.cat-est em{font-style:normal;color:var(--muted);flex-basis:100%;font-size:12.5px;padding-left:13px}
/* estado de cuenta */
.cuenta-lienzo{grid-template-columns:1fr}
@media (min-width:960px){.cuenta-lienzo{grid-template-columns:400px minmax(0,1fr)}}
.movs{list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:4px 18px}
.mov{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.mov:last-child{border-bottom:0}
.mov .ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blush);color:var(--plum)}
.mov.abono .ico{background:var(--ok-bg);color:var(--ok)}
.mov .ico svg{width:18px;height:18px}
.mov .txt b{display:block;font-weight:500;font-size:15px}
.mov .txt small,.mov .val small{display:block;font-size:12.5px;color:var(--muted)}
.mov .val{text-align:right}
.mov .val b{font-family:var(--serif);font-weight:400;font-size:18px;white-space:nowrap}
.mov.abono .val b{color:var(--ok)}
.mov .enlace{grid-column:2/-1;justify-self:start;margin-top:-6px}
.cuentas-rec{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cuenta-rec{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:16px}
.cuenta-rec.on{border-color:#C9E2D4;box-shadow:inset 3px 0 0 var(--ok)}
.cuenta-rec b{font-weight:500;font-size:16px}
.ajustes-adm{margin:18px 0 6px;padding:16px;border:1px dashed var(--line-2);border-radius:var(--r-m);display:grid;gap:10px;background:#FFFCFD}
.aj-fila{display:flex;align-items:center;gap:10px;font-size:15px}
.aj-form{display:grid;grid-template-columns:130px minmax(0,1fr) 170px 150px auto;gap:8px;align-items:center}
.aj-form .inp{min-height:44px;padding:9px 11px;font-size:15px}
@media (max-width:900px){.aj-form{grid-template-columns:1fr 1fr}}
.cu-ed{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;align-items:center}
@media (max-width:620px){.cu-ed{grid-template-columns:1fr auto}.cu-ed [data-cc]{grid-column:1/-1;grid-row:2}}
/* ficha de clienta */
.ficha-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l)}
.ficha-cats{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.ficha-cats .small{margin-right:4px}
.fchip.quieto{cursor:default;padding:5px 12px;font-size:13.5px}
.fchip.quieto:hover{border-color:var(--line-2)}
.fchip.quieto b{font-weight:500;color:var(--plum);margin-left:2px}
.ficha-peds td,.ficha-peds th{vertical-align:middle}
.ficha-peds input[type=checkbox],#fSelT{width:18px;height:18px;accent-color:var(--plum)}
.acc-fila{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}
.lectura-pie{display:flex;flex-direction:column;gap:6px;margin:16px 0 0 auto;max-width:360px}
.lectura-pie .total-l{align-items:baseline;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.lectura-pie .total-l .dinero{font-size:30px}
@media (max-width:720px){.ficha-datos{grid-template-columns:1fr}.acc-fila{flex-wrap:wrap}}
/* mis pedidos (clienta) */
.peds{list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:4px 18px}
.ped{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.ped:last-child{border-bottom:0}
.ped .txt b{display:block;font-family:var(--serif);font-weight:400;font-size:18px}
.ped .txt small,.ped .val small{display:block;font-size:12.5px;color:var(--muted)}
.ped .val{text-align:right}
.ped .val b{font-family:var(--serif);font-weight:400;font-size:18px;white-space:nowrap}
.ped .acc{grid-column:1/-1;display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ped .acc .estado{margin-right:auto}
.segmento .corto{display:none}
@media (max-width:520px){.cajon .segmento .largo{display:none}.cajon .segmento .corto{display:inline}}
/* tasas y monedas */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:820px){.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.grid4{grid-template-columns:1fr}}
.conv{font-size:13px;line-height:1.45;color:var(--muted);margin-top:6px}
.conv b{font-weight:500;color:var(--ink);font-size:15px}
.bs-hoy{font-weight:500;color:var(--ink)}
.cifra.clave .bs-hoy{color:inherit}
.tasas-linea{font-size:14px;color:var(--muted);max-width:72ch}
.tasas-linea b{font-weight:500;color:var(--ink)}
.equiv{font-size:14px;color:var(--muted);min-height:1.2em;margin-top:-4px}
.equiv b{font-weight:500;color:var(--plum)}
.seg-mon button{flex:1}
.tasas-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:18px 26px;align-items:start;margin-top:28px;padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l)}
.tasas-card.falta{border-color:var(--mist);background:linear-gradient(var(--paper),var(--paper)) padding-box}
.tasas-card .tc-txt p{max-width:46ch}
.tc{display:flex;flex-direction:column;gap:6px;padding-left:22px;border-left:1px solid var(--line)}
.tc-lbl{font-size:13px;color:var(--muted)}
.tc-val{display:flex;align-items:center;gap:8px}
.tc-val .inp{max-width:150px;font-family:var(--serif);font-size:22px;padding:6px 12px;min-height:46px}
.tc-num{font-family:var(--serif);font-weight:300;font-size:30px;letter-spacing:-.02em;line-height:1.1}
.tc .tiny{line-height:1.45}
@media (max-width:900px){.tasas-card{grid-template-columns:1fr 1fr}.tasas-card .tc-txt{grid-column:1/-1}.tc:first-of-type{padding-left:0;border-left:0}}
@media (max-width:560px){.tasas-card{grid-template-columns:1fr}.tc{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid var(--line)}}
.mm{display:flex;flex-direction:column;gap:12px}
.enlace.tiny{font-size:12.5px}
.mm+.campo,.mm+label{margin-top:12px}
.aj-prev{font-size:14px;color:var(--muted);min-height:1.3em;margin:0}
.aj-prev b{font-weight:500;color:var(--plum)}
.aj-prev:empty{display:none}
