:root{--bg:#F6F5F9;--card:#fff;--ink:#1D1830;--mute:#5E5872;--line:#E3E0EA;--line-strong:#CBC5D8;--acc:#5B32B4;--soft:#F1EDF9;--wa:#128C4A;--ok:#0B7A55;--r:12px}
@media(prefers-color-scheme:dark){:root{--bg:#150F26;--card:#1F1738;--ink:#F2EEFB;--mute:#B4AAD1;--line:#3A3160;--acc:#A98BF0;--soft:#2A2149;--ok:#3DD598}}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 'Bricolage Grotesque',system-ui,sans-serif;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));overflow-x:clip}
img{max-width:100%;display:block}
a{color:var(--acc)}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
section{padding:64px 0}
h1,h2,h3{line-height:1.1;letter-spacing:-.02em;font-weight:800}
h1{font-size:clamp(2.1rem,7vw,3.7rem)}
h2{font-size:clamp(1.6rem,4.5vw,2.4rem);margin-bottom:10px}
.lead{color:var(--mute);max-width:56ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;font-weight:700;text-decoration:none;color:var(--ink);border:2px solid var(--ink);transition:transform .15s}
.btn:active{transform:scale(.98)}
.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}
.btn.go{background:var(--acc);border-color:var(--acc);color:#fff}
header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .w{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.logo{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--ink)}
.logo b{color:var(--acc)}
nav{display:flex;align-items:center;gap:18px}
nav a:not(.btn){text-decoration:none;font-weight:500;color:var(--mute)}
nav a:not(.btn):hover{color:var(--ink)}
nav .btn{min-height:40px;padding:0 16px;font-size:.9rem}
.menu-toggle{display:none;width:44px;height:40px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer}
.menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:currentColor;transition:transform .2s,opacity .2s}
@media(max-width:700px){
	.menu-toggle{display:block;z-index:2}
	nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:8px 20px 14px;background:color-mix(in srgb,var(--bg) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 18px 24px -24px rgba(33,22,63,.6);visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
	nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
	nav a:not(.btn){display:block;padding:12px 0;border-bottom:1px solid var(--line)}
	nav .btn{width:100%;margin-top:12px}
	.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
	.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
	.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
.hero{padding:36px 0 56px}.hero .w{display:grid;gap:36px;align-items:center}
@media(min-width:860px){.hero{padding:72px 0}.hero .w{grid-template-columns:1.05fr .95fr;gap:56px}}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
@media(max-width:480px){.cta .btn{width:100%}}
.ad-section{padding:24px 0 40px;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.ad-label{color:var(--mute);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.ad-slot{display:flex;justify-content:center;align-items:center;min-height:90px;margin:12px auto;overflow:hidden}
.ad-slot-wide{min-height:100px}
.ad-direct-link{display:inline-block;margin:2px 0 8px;color:var(--mute);font-size:.85rem}
.facts{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0;color:var(--mute);font-size:.92rem}.facts li::before{content:"✓ ";color:var(--ok);font-weight:700}
.form{background:var(--card);border:1px solid var(--line);border-top:10px solid var(--acc);border-radius:12px;padding:22px;box-shadow:0 18px 40px -22px rgba(33,22,63,.55)}
.form h3{font-size:1.15rem}.form small{color:var(--mute)}.fld{margin-top:16px}.fld span{display:block;font-size:.82rem;color:var(--mute);margin-bottom:2px}.in{min-height:38px;border-bottom:2px solid var(--line);padding:6px 2px;transition:border-color .2s}.in.on{border-color:var(--acc)}.in.big{min-height:66px}.scale{display:flex;gap:8px;margin-top:6px}.scale i{width:34px;height:34px;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.85rem;transition:.2s}.scale i.sel{background:var(--acc);border-color:var(--acc);color:#fff}.prog{height:6px;background:var(--soft);border-radius:3px;margin-top:22px;overflow:hidden}.prog span{display:block;height:100%;width:0;background:var(--ok);transition:width .3s}.stat{font-size:.85rem;color:var(--mute);margin-top:8px}
.steps{list-style:none;padding:0;display:grid;gap:22px;margin-top:30px;counter-reset:s}@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr);gap:32px}}.steps li{counter-increment:s;border-top:3px solid var(--acc);padding-top:14px}.steps li::before{content:counter(s);font-weight:800;font-size:2rem;color:var(--acc);line-height:1}.steps h3{font-size:1.1rem;margin:8px 0 6px}.steps p{color:var(--mute);font-size:.95rem}
#demo{background:var(--soft)}figure{margin-top:28px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}figure img{width:100%;height:auto}.feat{display:grid;gap:0 44px;margin-top:28px}@media(min-width:760px){.feat{grid-template-columns:1fr 1fr}}.feat div{padding:16px 0;border-top:1px solid var(--line)}.feat dt{font-weight:700}.feat dd{color:var(--mute);font-size:.95rem}
.plans{display:grid;gap:16px;margin-top:28px}@media(min-width:800px){.plans{grid-template-columns:1fr 1fr}}.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column}.plan h3{font-size:1.35rem}.plan>p{color:var(--mute);margin:4px 0 18px}.pack{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);margin-bottom:8px;transition:border-color .15s,background .15s}.pack:hover,.pack.pop{border-color:var(--acc);background:var(--soft)}.pack small{display:block;color:var(--mute);line-height:1.3}.pack span{font-weight:800;font-size:1.15rem}.price{font-size:3.4rem;font-weight:800;letter-spacing:-.04em;line-height:1}.price sup{font-size:1.3rem;vertical-align:top;margin-right:2px}.once{color:var(--mute);font-size:.9rem;margin-top:4px}.plan ul{list-style:none;padding:0;margin:16px 0 22px;flex:1}.plan li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.95rem}.plan li::before{content:"✓ ";color:var(--ok);font-weight:700}.note{margin-top:16px;color:var(--mute);font-size:.92rem;max-width:70ch}
details{border-top:1px solid var(--line)}details:last-of-type{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;font-weight:600}summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.5rem;color:var(--mute);transition:transform .2s}details[open] summary::after{transform:rotate(45deg)}details p{color:var(--mute);padding-bottom:18px;max-width:64ch}.faq{margin-top:26px}
.ways{display:grid;gap:12px;margin:26px 0}@media(min-width:760px){.ways{grid-template-columns:repeat(3,1fr)}}.way{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink);overflow-wrap:anywhere}.way:hover{border-color:var(--acc)}.way small{color:var(--mute)}.way.wa{background:var(--wa);border-color:var(--wa);color:#fff}.way.wa small{color:#E6F6EC}.cf{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;max-width:560px}.cf h3{font-size:1.2rem}.cf label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 4px}.cf input,.cf select,.cf textarea{width:100%;min-height:48px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.cf textarea{min-height:96px;resize:vertical}.cf .btn{width:100%;margin-top:18px}
.editorial{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.articles{display:grid;gap:16px;margin-top:26px}@media(min-width:760px){.articles{grid-template-columns:repeat(3,1fr)}}.article-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--bg);display:flex;flex-direction:column}.article-card h3{font-size:1.15rem;margin:8px 0}.article-card p{color:var(--mute);font-size:.95rem;flex:1}.article-card a{font-weight:700;margin-top:16px}.eyebrow{color:var(--acc);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.article{padding:64px 0}.article-header{max-width:720px}.article-header h1{margin:12px 0 18px}.article-body{max-width:720px;margin-top:36px}.article-body h2{font-size:1.5rem;margin:34px 0 10px}.article-body p,.article-body li{color:var(--mute);margin-top:12px}.article-body ul{padding-left:22px}.article-body strong{color:var(--ink)}.legal{max-width:760px}.legal h1{margin-bottom:16px}.legal h2{font-size:1.45rem;margin-top:34px}.legal p,.legal li{color:var(--mute);margin-top:12px}.legal ul{padding-left:22px}
footer{border-top:1px solid var(--line);padding:28px 20px;text-align:center;color:var(--mute);font-size:.88rem}footer a{color:inherit}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;margin-top:10px}.bar-m{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);transition:transform .25s}.bar-m .btn{flex:1;padding:0 10px}.bar-m .btn.wa{flex:2}.bar-m.off{transform:translateY(110%)}@media(min-width:760px){.bar-m{display:none}body{padding-bottom:0}}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px -22px rgba(33,22,63,.7)}
body:has(.bar-m) .cookie{bottom:86px}
.cookie[hidden]{display:none}.cookie p{color:var(--mute);font-size:.9rem}.cookie .btn{min-height:40px;padding:0 16px;white-space:nowrap;background:var(--acc);border-color:var(--acc);color:#fff}@media(max-width:600px){.cookie{align-items:stretch;flex-direction:column;gap:10px}.cookie .btn{width:100%}}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--mute);margin-bottom:24px;flex-wrap:wrap}.breadcrumb a{color:var(--mute);text-decoration:none}.breadcrumb a:hover{color:var(--acc)}.breadcrumb a::after{content:"›";margin-left:8px;color:var(--line)}
.article-meta{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:.88rem;color:var(--mute);flex-wrap:wrap}
.article-cta{margin-top:48px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r);text-align:center}.article-cta h3{margin-bottom:8px}.article-cta p{color:var(--mute);margin-bottom:18px;max-width:48ch;margin-inline:auto}
.toc{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin:28px 0}.toc h4{font-size:1rem;margin-bottom:10px}.toc ol{padding-left:20px;margin:0}.toc li{padding:4px 0;font-size:.95rem}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{color:var(--acc)}
.related{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.related h3{margin-bottom:18px}
.article-body blockquote{border-left:3px solid var(--acc);padding:12px 18px;margin:18px 0;background:var(--soft);border-radius:0 8px 8px 0;font-style:normal}.article-body blockquote p{margin-top:0}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.95rem;overflow-x:auto;display:block}@media(min-width:760px){.article-body table{display:table}}.article-body th,.article-body td{padding:10px 14px;border:1px solid var(--line);text-align:left}.article-body th{background:var(--soft);font-weight:700;white-space:nowrap}
.article-body ol{padding-left:22px}.article-body ol li{padding:4px 0;margin-top:8px}.article-body h3{font-size:1.2rem;margin:28px 0 10px}
.article-body .tip{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:18px 0}.article-body .tip strong{color:var(--acc)}


/* ── Herramienta web ─────────────────────────────────────────────
   Hoja blanca con la franja morada superior de Google Forms (el mundo
   del producto). Una sola familia tipográfica, escala 13/15/16/20/26/34.
   Verde solo en botones que abren WhatsApp; morado oscuro para acciones.
   El único elemento llamativo es el ticket de turno de la fila.
   Los tokens se fijan en claro sobre <body> para que el modo oscuro del
   sistema no deje texto claro sobre fondo blanco (incluye el aviso de
   cookies y los anuncios que viven fuera de <main>). */
body:has(.tool-page){
  --bg:#fff;--card:#fff;--ink:#21163F;--mute:#4F4666;--line:#E2DCEC;--acc:#5B2EA6;--soft:#F1ECF9;--wa:#0F7A41;--ok:#1B5E20;
  --line-strong:#C9BFDC;--err:#9A2A20;--err-bg:#FDF0EE;--warn:#6B4300;--warn-bg:#FFF6E5;--ok-bg:#EDF7EE;
  color-scheme:light;background:#fff;color:#21163F;padding-bottom:0
}
.tool-page{background:#fff;color:#21163F;min-height:100vh;padding-bottom:72px}
.tool-page section{padding:0}
.tool-page h1,.tool-page h2,.tool-page h3{letter-spacing:-.015em;color:var(--ink)}
.tool-page h2{font-size:1.625rem;line-height:1.15;margin:0 0 8px}
.tool-page h3{font-size:1.25rem;line-height:1.2;margin:0 0 8px}
.tool-page p{max-width:66ch}
.tool-page a{color:var(--acc);text-underline-offset:2px}
.tool-page input,.tool-page select,.tool-page textarea{width:100%;min-height:48px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line-strong);border-radius:10px;padding:10px 14px}
.tool-page input:focus,.tool-page select:focus,.tool-page textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--soft)}
.tool-page textarea{min-height:88px;resize:vertical}
.tool-page input[type=checkbox],.tool-page input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:3px 0 0;accent-color:var(--acc);flex:none}
.tool-page select:disabled,.tool-page option:disabled{color:#8A8299}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Barra superior */
.tn{position:sticky;top:0;z-index:50;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--line)}
.tn-inner{max-width:1040px;margin:0 auto;padding:0 20px;min-height:64px;display:flex;align-items:center;gap:28px}
.tn-logo{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--ink)!important;letter-spacing:-.02em}
.tn-logo b{color:var(--acc)}
.tn .tn-links{position:static;visibility:visible;opacity:1;transform:none;pointer-events:auto;flex-direction:row;padding:0;background:none;border:0;box-shadow:none;display:flex;gap:22px;flex:1}
.tn .tn-links a{display:inline;padding:0;border:0;color:var(--mute);font-weight:500;font-size:.9375rem;text-decoration:none}
.tn .tn-links a:hover,.tn .tn-links a[aria-current=page]{color:var(--ink)}
.tn .tn-links a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--acc);padding-bottom:4px}
.tn-account{display:flex;align-items:center;gap:12px;margin-left:auto}
.tn-placeholder{display:block;width:120px;height:36px}
.tn-login{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;border:1.5px solid var(--ink);color:var(--ink)!important;font-weight:700;font-size:.9375rem;text-decoration:none}
.tn-login:hover{background:var(--ink);color:#fff!important}
.tn-balance{display:flex;align-items:baseline;gap:10px;font-size:.8125rem;color:var(--mute)!important;text-decoration:none;white-space:nowrap}
.tn-balance strong{color:var(--ink);font-size:.9375rem;font-variant-numeric:tabular-nums}
.tn-balance-free{padding-left:10px;border-left:1px solid var(--line)}
.tn-menu{position:relative}
.tn-avatar{width:38px;height:38px;border-radius:50%;border:0;background:var(--acc);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.tn-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px -12px rgba(33,22,63,.35);padding:6px;z-index:60}
.tn-dropdown-who{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.tn-dropdown-who strong{display:block;font-size:.9375rem}
.tn-dropdown-who span{display:block;font-size:.8125rem;color:var(--mute);overflow-wrap:anywhere}
.tn-dropdown a,.tn-dropdown button{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;border:0;background:none;font:inherit;font-size:.9375rem;color:var(--ink)!important;text-decoration:none;cursor:pointer}
.tn-dropdown a:hover,.tn-dropdown button:hover{background:var(--soft)}
.tn-dropdown button{color:var(--err)!important}
@media(max-width:760px){
  .tn-inner{flex-wrap:wrap;gap:0 16px;padding-top:10px}
  .tn .tn-links{order:3;flex-basis:100%;gap:20px;overflow-x:auto;padding:10px 0 12px}
  .tn .tn-links a{white-space:nowrap}
  .tn-balance-free{display:none}
}

/* Página */
.tool-wrap{max-width:680px;margin:0 auto;padding:40px 20px 0}
.tool-wrap-wide{max-width:960px}
.intro{margin-bottom:28px}
.intro h1{font-size:clamp(1.75rem,5vw,2.125rem);line-height:1.1;margin:0 0 10px}
.intro p{color:var(--mute);font-size:1rem}

/* Hoja: un solo contenedor por pantalla, con la franja de Google Forms */
.sheet{background:#fff;border:1px solid var(--line);border-top:8px solid var(--acc);border-radius:12px;box-shadow:0 1px 2px rgba(33,22,63,.06);overflow:hidden}
.sheet + .sheet{margin-top:20px}
.sheet-body{padding:28px 28px 32px}
.sheet-lead{color:var(--mute);font-size:1rem;margin:0 0 24px}
.sheet-img{width:100%;height:auto;border-bottom:1px solid var(--line)}
@media(max-width:560px){.sheet-body{padding:22px 18px 26px}}

/* Pasos (es una secuencia real, por eso van numerados) */
.stepper{list-style:none;display:flex;gap:0;padding:14px 28px;margin:0;border-bottom:1px solid var(--line);background:#FBFAFD;counter-reset:none}
.stepper li{display:flex;align-items:center;gap:8px;flex:1;font-size:.8125rem;color:#8A8299}
.stepper-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line-strong);font-weight:700;font-size:.75rem}
.stepper li.is-done{color:var(--mute)}
.stepper li.is-done .stepper-n{background:var(--soft);border-color:var(--soft);color:var(--acc)}
.stepper li.is-now{color:var(--ink);font-weight:700}
.stepper li.is-now .stepper-n{background:var(--acc);border-color:var(--acc);color:#fff}
@media(max-width:480px){.stepper{padding:12px 18px}.stepper li:not(.is-now) .stepper-l{display:none}}

/* Campos */
.field{margin-bottom:18px}
.field label,.tool-page legend{display:block;font-weight:700;font-size:.9375rem;margin:0 0 6px;color:var(--ink)}
.grid-2{display:grid;gap:16px}
@media(min-width:560px){.grid-2{grid-template-columns:1fr 1fr}.grid-2 .field{margin-bottom:0}}
.group{border:0;padding:24px 0 0;margin:24px 0 0;border-top:1px solid var(--line);min-width:0}
.group-first{border-top:0;margin-top:0;padding-top:0}
.group legend{float:left;width:100%;font-size:1.0625rem;margin-bottom:6px}
.group legend + *{clear:both}
.group-hint{color:var(--mute);font-size:.9375rem;margin:0 0 14px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:var(--mute);line-height:1.5;margin:4px 0 14px}
.check label{font-weight:400;font-size:.9375rem;color:var(--mute);margin:0}
.checks .check{margin-bottom:10px}
.inline-field{display:flex;gap:10px}
.inline-field .b{flex:none}
@media(max-width:480px){.inline-field{flex-direction:column}}

/* Botones */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:10px;border:1.5px solid transparent;font:inherit;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.b:disabled,.b[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.b-primary{background:var(--acc);border-color:var(--acc);color:#fff!important}
.b-primary:hover:not(:disabled){background:#4A2389;border-color:#4A2389}
.b-ghost{background:#fff;border-color:var(--line-strong);color:var(--ink)!important}
.b-ghost:hover:not(:disabled){border-color:var(--ink)}
.b-wa{background:var(--wa);border-color:var(--wa);color:#fff!important}
.b-wa:hover{background:#0B5F33}
.b-text{background:none;border:0;color:var(--mute)!important;min-height:40px;padding:0;font-weight:600;font-size:.9375rem;margin-top:12px}
.b-text:hover{color:var(--ink)!important;text-decoration:underline}
.b-small{min-height:40px;padding:0 14px;font-size:.9375rem}
.b-block{width:100%}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.actions-center{justify-content:center}
.fine{color:var(--mute);font-size:.8125rem;margin:10px 0 0}
.fine.center{text-align:center;margin-left:auto;margin-right:auto}

/* Avisos */
.note{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;border:1px solid var(--line);background:#FBFAFD;border-radius:10px;padding:14px 16px;margin:0 0 20px;font-size:.9375rem;position:relative}
.note p{margin:0;flex:1 1 260px}
.note p + p{margin-top:6px}
.note .actions{margin-top:0;flex-basis:100%}
.note-ok{background:var(--ok-bg);border-color:#BFE0C3;color:var(--ok)}
.note-warn{background:var(--warn-bg);border-color:#F1D9A8;color:var(--warn)}
.note-err{background:var(--err-bg);border-color:#F2C9C3;color:var(--err)}
.note-ok strong,.note-warn strong,.note-err strong{color:inherit}
.note-close{border:0;background:none;font-size:1.4rem;line-height:1;color:inherit;cursor:pointer;padding:0 4px}
.msg{font-size:.875rem;color:var(--mute);margin:8px 0 0;min-height:1.2em}
.msg-ok{color:var(--ok)}
.msg-err{color:var(--err)}

/* Preguntas */
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.qlist{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px}
.q{padding:14px 16px;border-top:1px solid var(--line)}
.q:first-child{border-top:0}
.q-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.q-n{flex:none;min-width:24px;font-weight:700;font-size:.875rem;color:var(--acc);font-variant-numeric:tabular-nums;padding-top:1px}
.q-title{font-weight:600;font-size:.9375rem;margin:0;color:var(--ink)}
.q-req{color:var(--err)}
.q-type{font-size:.8125rem;color:var(--mute);margin:2px 0 0}
.q-config{display:grid;gap:8px;padding-left:36px}
@media(min-width:560px){.q-config{grid-template-columns:200px 1fr}.q-config select:only-of-type:last-child{grid-column:1}}
.q-config select,.q-config input{min-height:42px;font-size:.9375rem}
.q-hint{font-size:.8125rem;color:var(--mute);margin:8px 0 0 36px}
.q-hint-strong{color:var(--warn)}
@media(max-width:480px){.q-config{padding-left:0}.q-hint{margin-left:0}}

/* Porcentajes y lista pegada */
.weights,.listed{margin:10px 0 0 36px}
.weights .q-hint,.listed .q-hint{margin:0}
.weights ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
.weights li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--ink)}
.weights li label{flex:1;min-width:0;overflow-wrap:anywhere}
.weights-input{display:inline-flex;align-items:center;gap:4px;color:var(--mute);font-size:.875rem}
.tool-page .weights-input input{width:88px;min-height:38px;padding:6px 10px;text-align:right;font-variant-numeric:tabular-nums}
.weights-foot,.listed-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.weights-sum{font-size:.8125rem;color:var(--warn);font-variant-numeric:tabular-nums}
.weights-sum.ok{color:var(--ok)}
.listed textarea{width:100%;min-height:96px;font-size:.9375rem;font-family:inherit;line-height:1.5}
.link-btn{border:0;background:none;padding:4px 0;color:var(--acc);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{border:0;background:#fff;color:var(--mute);font:inherit;font-size:.8125rem;font-weight:600;padding:6px 12px;cursor:pointer}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-checked="true"]{background:var(--acc);color:#fff}
.seg button:focus-visible,.link-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media(max-width:480px){.weights,.listed{margin-left:0}}

/* Enviar */
.submit-area{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.submit-why{font-size:.9375rem;color:var(--ink);margin:0 0 12px}

/* Inicio de sesión */
.signin{border:1px solid var(--line);border-radius:12px;padding:22px;background:#FBFAFD}
.signin-compact{margin-bottom:8px}
.signin h3{margin-bottom:6px}
.signin-offer{color:var(--ink);font-size:.9375rem;margin:0 0 10px}
.signin-offer strong{color:var(--acc)}
.signin-points{margin:0 0 16px;padding-left:18px;color:var(--mute);font-size:.875rem;line-height:1.6}
.signin-note{font-size:.8125rem;color:var(--mute);margin:8px 0 0}
.gbtn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:0 16px;background:#fff;border:1px solid #747775;border-radius:10px;color:#1F1F1F!important;font-family:Roboto,'Bricolage Grotesque',system-ui,sans-serif;font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:background-color .15s,box-shadow .15s}
.gbtn:hover{background:#F8F8F8;box-shadow:0 1px 3px rgba(60,64,67,.25)}
.gbtn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;background:#fff}

/* Ticket de turno: la fila se ve como el papelito numerado de una ventanilla */
.ticket{position:relative;max-width:300px;margin:4px auto 0;padding:26px 24px 24px;text-align:center;border:1.5px solid var(--ink);border-radius:14px;background:#fff;
  -webkit-mask:radial-gradient(circle 11px at 0 58%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 58%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 58%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 58%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket-label{font-size:.9375rem;font-weight:700;color:var(--mute);margin:0 auto}
.ticket-number{font-size:clamp(4.5rem,18vw,6.5rem);line-height:1;font-weight:800;letter-spacing:-.05em;color:var(--acc);font-variant-numeric:tabular-nums;margin:10px auto 14px}
.ticket-sub{font-size:.9375rem;color:var(--ink);margin:0 auto;padding-top:14px;border-top:1.5px dashed var(--line-strong)}

/* Avance */
.bar{height:10px;background:var(--soft);border-radius:5px;overflow:hidden;margin:4px 0 0}
.bar span{display:block;height:100%;background:var(--acc);transition:width .4s}

/* Software y "te lo lleno yo" */
.pitch{margin-top:28px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pitch img{width:100%;height:auto;border-bottom:1px solid var(--line)}
.pitch-body{padding:18px 20px 20px}
.pitch-body p{color:var(--mute);font-size:.9375rem;margin:0 0 14px}
.concierge{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.concierge p{color:var(--mute);font-size:.9375rem;margin:0 0 10px}
.concierge ul{margin:0 0 16px;padding-left:18px;font-size:.9375rem;line-height:1.7}

/* Fallos */
.failures{margin-top:20px}
.failures ul{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px}
.failures li{padding:12px 16px;border-top:1px solid var(--line);font-size:.9375rem}
.failures li:first-child{border-top:0}
.failures li p{margin:0}
.failure-what{font-weight:700;color:var(--ink)}
.failure-hint{color:var(--acc);margin-top:4px!important}

/* Mi cuenta */
.who{margin-bottom:20px}
.who-name{font-size:1.25rem;font-weight:700;margin:0}
.who-mail{color:var(--mute);font-size:.9375rem;margin:2px 0 0;overflow-wrap:anywhere}
.balances{display:grid;gap:12px}
@media(min-width:560px){.balances{grid-template-columns:1fr 1fr}}
.balance{border:1px solid var(--line);border-radius:10px;padding:16px}
.balance p{margin:0}
.balance-label{font-size:.875rem;font-weight:700;color:var(--mute)}
.balance-value{font-size:2.125rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.15}
.balance-note{font-size:.8125rem;color:var(--mute)}
.jobs{list-style:none;padding:0;margin:0}
.jobs li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.jobs li:first-child{border-top:0;padding-top:0}
.jobs p{margin:0}
.job-title{font-weight:600;font-size:.9375rem;overflow-wrap:anywhere}
.job-meta{font-size:.8125rem;color:var(--mute)}
.status{flex:none;font-size:.8125rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--acc)}
.status-done{background:var(--ok-bg);color:var(--ok)}
.status-failed,.status-rejected{background:var(--err-bg);color:var(--err)}
.status-queued{background:#F3F2F5;color:var(--mute)}

/* Comprar créditos */
.buy > .note{margin-bottom:20px}
.packs{display:grid;gap:10px}
.pk{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--line-strong);border-radius:12px;cursor:pointer;background:#fff;transition:border-color .15s,background-color .15s}
.pk:hover{border-color:var(--acc)}
.pk.is-sel{border-color:var(--acc);background:var(--soft)}
.pk-main{flex:1;display:flex;flex-direction:column}
.pk-qty{font-weight:700;font-size:1.0625rem;color:var(--ink)}
.pk-rate{font-size:.8125rem;color:var(--mute)}
.pk-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pk-tag{font-size:.75rem;font-weight:700;color:var(--ok);background:var(--ok-bg);padding:2px 8px;border-radius:999px}
.pk-price{font-weight:800;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.kr-wrap{min-height:180px;margin-top:14px}
.alt-ways{display:grid;gap:20px;margin-top:20px}
.alt-ways .sheet + .sheet{margin-top:0}
.alt-ways .sheet{border-top-color:var(--line-strong)}
@media(min-width:860px){.alt-ways{grid-template-columns:1fr 1fr;align-items:start}}

/* Se mantiene para /sobre */
.tool-hint{color:var(--mute);font-size:.85rem;margin-top:8px}

.hero-tool-form{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.hero-tool-form input{flex:1;min-width:220px;min-height:54px;font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:12px;padding:0 18px;transition:border-color .15s}
.hero-tool-form input:focus{border-color:var(--acc)}
.hero-tool-form .btn{min-height:54px}
@media(max-width:480px){.hero-tool-form{flex-direction:column}.hero-tool-form .btn{width:100%}}

/* Ventana de pago */
.paymodal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.paymodal-backdrop{position:absolute;inset:0;background:rgba(33,22,63,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.paymodal-card{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#21163F;border-radius:14px;box-shadow:0 24px 60px -20px rgba(33,22,63,.55);padding:20px 20px 12px;border-top:6px solid var(--acc)}
.paymodal-head{margin-bottom:12px}
.paymodal-kicker{margin:2px 0 0;font-size:.875rem;color:var(--mute)}
.paymodal-head h2{margin:0;font-size:1.375rem;line-height:1.2}
body.paying .cookie{display:none!important}
.paymodal-x{border:0;background:none;font-size:1.75rem;line-height:1;color:var(--mute);cursor:pointer;padding:0 4px;border-radius:8px}
.paymodal-x:hover{color:var(--ink)}
.paymodal-x:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.paymodal-sum{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;display:grid;gap:6px;font-size:.9375rem}
.paymodal-sum div{display:flex;justify-content:space-between;gap:12px}
.paymodal-sum dt{color:var(--mute)}
.paymodal-sum dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.paymodal-sum .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;font-size:.8125rem}
.paymodal-loading{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--mute);padding:18px 0}
.spin{width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
.paymodal .kr-wrap{margin:4px 0 12px}
/* Formulario de Izipay a lo ancho de la ventana, sin heredar los estilos de
   campos de la herramienta (alto mínimo y relleno rompían su alineación). */
.paymodal .kr-smart-form,.paymodal .kr-smart-form .kr-embedded,.paymodal .kr-smart-form .kr-smart-form-wrapper,
.paymodal .kr-smart-form .kr-field-element,.paymodal .kr-smart-form .kr-payment-button{width:100%!important;max-width:none!important}
.paymodal .kr-smart-form input:not([type=hidden]),.paymodal .kr-smart-form select{min-height:0;padding:revert;border-radius:revert;font-size:revert}
.paymodal-trust{display:flex;gap:8px;align-items:flex-start;font-size:.8125rem;color:var(--mute);margin:0 0 6px;line-height:1.5}
.paymodal-trust svg{flex:none;margin-top:2px;color:var(--ok)}
@media(max-width:480px){.paymodal{padding:0;place-items:end center}.paymodal-card{max-width:none;border-radius:14px 14px 0 0;max-height:92vh}}

/* Botón del programa de escritorio aún no disponible */
.is-soon{opacity:.6;cursor:not-allowed;pointer-events:none;font-style:normal}

/* Campana de notificaciones */
.nb{position:relative}
.nb-btn{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.nb-btn:hover{border-color:var(--line-strong)}
.nb-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.nb-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#C62828;color:#fff;font-size:.6875rem;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.nb-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:min(360px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px -16px rgba(33,22,63,.35)}
.nb-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.nb-head-actions{display:flex;align-items:center;gap:12px}
.nb-link-mute{color:var(--mute)}
.nb-close{border:0;background:none;color:var(--mute);font-size:1.35rem;line-height:1;padding:2px 4px;cursor:pointer}
.nb-link{border:0;background:none;color:var(--acc);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;padding:0}
.nb-empty{padding:18px 14px;margin:0;color:var(--mute);font-size:.875rem}
.nb-list{list-style:none;margin:0;padding:0}
.nb-item{display:flex;align-items:flex-start;border-bottom:1px solid var(--line)}
.nb-item:last-child{border-bottom:0}
.nb-item.is-unread{background:var(--soft)}
.nb-main{flex:1;min-width:0;display:grid;gap:3px;text-align:left;border:0;background:none;padding:12px 4px 12px 0;cursor:pointer;font:inherit;color:inherit}
.nb-title{font-weight:600;font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}
.nb-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;margin:12px 10px 0 12px;border-radius:50%;background:var(--soft);color:var(--acc);font-size:.8125rem;font-weight:700}
.nb-ico-refund,.nb-ico-account,.nb-ico-alert{background:#FFF3E0;color:#B45309}
.nb-ico-job{background:#E8F5E9;color:#1B7F3B}
.nb-item.is-unread .nb-title::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acc);margin-right:6px;vertical-align:middle}
.nb-body{font-size:.8125rem;line-height:1.45;color:var(--mute);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nb-time{font-size:.75rem;color:var(--mute)}
.nb-del{border:0;background:none;color:var(--mute);font-size:1.1rem;padding:10px 12px;cursor:pointer}
.nb-del:hover{color:var(--ink)}
/* Celular: la campana no está en el borde, así que el panel se ancla a la
   pantalla (antes se salía por la izquierda y se veía "comido"). */
@media(max-width:760px){
  .nb-panel{position:fixed;left:10px;right:10px;top:calc(env(safe-area-inset-top,0px) + 62px);width:auto;max-height:calc(100dvh - 90px);border-radius:14px}
  .nb-head{padding:12px}
  .nb-head-actions{gap:10px}
  .nb-link{font-size:.75rem}
}

/* Compra confirmada */
.cele{text-align:center;padding-top:26px}
.cele-mark{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok)}
.cele h2{margin:0;font-size:1.375rem}
.cele-amount{margin:6px 0 4px;font-size:2rem;font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums}
.cele .sheet-lead{margin:6px auto 4px;max-width:34ch}
.cele .b{margin-top:14px}

/* Ronda 14: ventana de ayuda cuando falla un envío y botón de soporte */
.fh-card{max-width:520px}
.fh-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fh-why{margin:0 0 12px;color:var(--mute)}
.fh-label{margin:14px 0 6px;font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.fh-google{background:var(--err-bg,#FDF0EE);border:1px solid #F1C9C3;border-radius:10px;padding:10px 12px}
.fh-google .fh-label{margin-top:0;color:var(--err,#9A2A20)}
.fh-google p{margin:2px 0}
.fh-q{font-weight:700}
.fh-steps{margin:0;padding-left:22px}
.fh-steps li{margin:4px 0}
.fh-refund{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--ok-bg,#EDF7EE);color:var(--ok);font-weight:700}
.fh-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.fh-actions .b{flex:1 1 200px;text-align:center;justify-content:center}
.support-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:65;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:999px;background:#0F7A41;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 10px 24px -10px rgba(15,122,65,.7)}
.support-fab:hover{background:#0b6635}
body.paying .support-fab{display:none}
@media(max-width:520px){.support-fab span{display:none}.support-fab{padding:0;width:50px;justify-content:center}}

/* Ronda 16: consentimientos, privacidad y cookies */
.consent-checks .check{margin-bottom:10px}
.consent-checks strong{color:var(--ink)}
.fh-err{color:var(--err,#9A2A20);font-weight:700;margin:6px 0 0}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.btn-ghost{border-color:var(--line);color:var(--mute)}
@media(max-width:600px){.cookie{flex-direction:column;align-items:stretch}.cookie-actions .btn{flex:1}}
.login-alert{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:120;width:min(560px,calc(100% - 32px));background:#fff;color:#21163F;border:1px solid #F1C9C3;border-left:6px solid #9A2A20;border-radius:12px;padding:14px 16px;box-shadow:0 18px 40px -20px rgba(33,22,63,.6)}
.login-alert p{margin:0 0 10px}
.login-alert-actions{display:flex;gap:8px;flex-wrap:wrap}
.privacy .toggle{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.privacy .toggle input{width:20px;height:20px;min-height:0;margin-top:3px;flex-shrink:0;accent-color:var(--acc)}
.privacy .toggle small{display:block;color:var(--mute);font-size:.8125rem}
.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.b-danger{border-color:#9A2A20!important;color:#9A2A20!important}
.b-primary.b-danger{background:#9A2A20;color:#fff!important}
.b-primary.b-danger:disabled{opacity:.45}
.delete-box label{display:block;font-weight:700;margin:10px 0 4px}
.delete-box input{margin-bottom:10px}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem;display:block;overflow-x:auto}@media(min-width:760px){.legal table{display:table}}.legal th,.legal td{padding:9px 12px;border:1px solid var(--line);text-align:left;vertical-align:top;color:var(--mute)}.legal th{background:var(--soft);color:var(--ink);font-weight:700}

/* Ronda 16: exportar a Excel */
.is-locked{opacity:.92}
.job-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.xp-card{max-width:620px}
.xp-table{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:10px 0}
.xp-table table{width:100%;border-collapse:collapse;font-size:.8125rem}
.xp-table th{background:#5B2EA6;color:#fff;text-align:left;padding:7px 9px;white-space:nowrap}
.xp-table td{padding:7px 9px;border-top:1px solid var(--line);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.xp-blur td{filter:blur(4px);user-select:none}

/* Ronda 17: fila en vivo */
.lq{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(180deg,#FBF9FF,#fff)}
.lq-paid{border-color:#C9B6F2;background:linear-gradient(180deg,#F3EDFF,#fff)}
.lq-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8125rem;font-weight:700;color:var(--mute)}
.lq-live{display:inline-flex;align-items:center;gap:6px}
.lq-live i{width:9px;height:9px;border-radius:50%;background:#B0A7C4}
.lq-live.on i{background:#12A06A;box-shadow:0 0 0 0 rgba(18,160,106,.6);animation:lqPulse 1.6s infinite}
.lq-kind{padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--acc)}
.lq-ring{position:relative;margin:18px auto 8px;width:200px;height:200px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;box-shadow:inset 0 0 0 10px var(--soft)}
.lq-ring::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:4px solid transparent;border-top-color:var(--acc);border-right-color:var(--acc);animation:lqSpin 2.4s linear infinite}
.lq-label{margin:0;font-size:.8125rem;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.lq-number{margin:0;font-size:4.2rem;line-height:1;font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums;animation:lqPop .45s cubic-bezier(.2,1.4,.4,1)}
.lq-sub{margin:4px 12px 0;font-size:.875rem;color:var(--mute);text-align:center}
.lq-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:12px 0 4px}
.lq-line span{width:14px;height:14px;border-radius:50%;background:#C9B6F2;animation:lqBob 1.8s ease-in-out infinite}
.lq-line em{font-style:normal;font-size:.8125rem;color:var(--mute)}
.lq-line b{padding:2px 10px;border-radius:999px;background:var(--acc);color:#fff;font-size:.8125rem}
.lq-warn{margin-top:14px;padding:12px 14px;border-radius:12px;background:#FFF6E5;border:1px solid #F2D9A6}
.lq-warn p{margin:0 0 10px;color:#6B4300}
@keyframes lqSpin{to{transform:rotate(360deg)}}
@keyframes lqPop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes lqBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes lqPulse{0%{box-shadow:0 0 0 0 rgba(18,160,106,.55)}70%{box-shadow:0 0 0 8px rgba(18,160,106,0)}100%{box-shadow:0 0 0 0 rgba(18,160,106,0)}}
@media(prefers-reduced-motion:reduce){.lq-ring::before,.lq-line span,.lq-live.on i,.lq-number{animation:none}}

/* Ronda 17: menú de soporte */
.support{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:65;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.support .support-fab{position:static;border:0;cursor:pointer;font:inherit}
.support-menu{width:260px;background:#fff;color:#21163F;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -18px rgba(33,22,63,.55);padding:10px;animation:lqPop .25s ease-out}
.support-menu p{margin:2px 6px 8px;font-size:.8125rem;font-weight:700;color:var(--mute)}
.support-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;color:#21163F!important;text-decoration:none;font-weight:700;font-size:.9375rem;overflow-wrap:anywhere}
.support-menu a:hover{background:var(--soft)}
.sm-ico{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.8125rem;font-weight:800}
.sm-wa{background:#0F7A41}.sm-tg{background:#229ED9}.sm-mail{background:#5B2EA6}
body.paying .support{display:none}
.fh-more{margin:4px 0 6px;font-size:.875rem;color:var(--mute)}

/* Ronda 18: controles por tipo de pregunta */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.chip{min-height:38px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line-strong,#C9BFDC);background:#fff;color:var(--ink);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--acc)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
.chips .q-hint{flex-basis:100%;margin:2px 0 0}
.range-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px}
.range-row label{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;font-weight:700;color:var(--mute)}
.range-row input{width:160px}
.range-row .q-hint{flex-basis:100%;margin:0}
.lang-note{margin-top:8px}

/* Ronda 20: elegir medio de pago */
.paymethods{border:0;padding:0;margin:14px 0 10px;display:grid;gap:8px}
.paymethods legend{font-weight:800;font-size:.875rem;margin-bottom:6px}
.paymethod{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid var(--line-strong,#C9BFDC);border-radius:12px;cursor:pointer;background:#fff}
.paymethod input{width:18px;height:18px;min-height:0;accent-color:var(--acc)}
.paymethod small{display:block;color:var(--mute);font-size:.8125rem}
.paymethod.on{border-color:var(--acc);background:var(--soft,#F1ECF9)}

/* Ronda 21: configuraciones guardadas */
.presets{border:1px dashed var(--line-strong,#C9BFDC);border-radius:12px;padding:12px 14px;margin:0 0 16px;background:#FBFAFD}
.presets-title{margin:0 0 8px;font-weight:800;font-size:.9375rem}
.presets-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.presets-row select,.presets-row input{flex:1 1 220px;width:auto}
.presets-locked{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.presets-locked p{margin:0;flex:1 1 260px}

/* Ronda 24: tira de aviso */
.site-banner{position:relative;z-index:80;overflow:hidden;white-space:nowrap;font-weight:700;font-size:.875rem;padding:8px 0;color:#fff}
.site-banner-info{background:#5B2EA6}.site-banner-warn{background:#9A6700}.site-banner-error{background:#9A2A20}
.site-banner-track{display:inline-block;padding-left:100%;animation:bannerMove 22s linear infinite}
@keyframes bannerMove{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.site-banner-track{animation:none;padding-left:16px;white-space:normal}}
.daycount{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0}
.daycount span{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:var(--soft,#F1ECF9);font-size:.8125rem;font-weight:700;color:var(--ink)}
.daycount b{color:var(--acc)}

/* Ronda 24: tienda confiable */
.pk.is-off{opacity:.55}
.pk-tag-off{background:#FDF0EE!important;color:#9A2A20!important}
.trust-box{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0;background:#FBFAFD}
.trust-title{margin:0 0 6px;font-weight:800}
.trust-box ul{margin:0;padding-left:20px}
.trust-box li{margin:4px 0;font-size:.9rem;color:var(--mute)}
.trust-box b{color:var(--ink)}
.fx{margin:10px 0 14px;border:1px solid var(--line);border-radius:12px;padding:8px 14px}
.fx summary{min-height:40px;font-weight:700}
.fx table{width:100%;border-collapse:collapse;font-size:.9rem;margin:6px 0}
.fx td{padding:5px 4px;border-top:1px solid var(--line)}
.fx td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.trust-row{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin:10px 0 0;font-size:.8125rem;color:var(--mute)}
.trust-row span::before{content:"✓ ";color:var(--ok);font-weight:800}

.linkish{background:none;border:0;padding:0;font:inherit;color:var(--acc);font-weight:700;text-decoration:underline;cursor:pointer}
.signin-have{margin-top:10px}

/* Ronda 24: condiciones entre preguntas */
.qrules{margin-top:8px}
.qrules-flow{margin:0 0 4px;font-size:.8125rem;font-weight:700;color:var(--acc)}
.qrules-box{border:1px dashed var(--line-strong,#C9BFDC);border-radius:10px;padding:8px 10px;margin-top:6px}
.qrules-item{margin:4px 0;font-size:.875rem}
.qrules-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.875rem}
.qrules-row select,.qrules-row input{width:auto;min-height:38px;max-width:240px}

.q-jumps{margin:4px 0 0;font-size:.8125rem;color:#6B4300;background:#FFF6E5;border-radius:8px;padding:6px 8px}

/* Ronda 27: flujo del formulario */
.flow{border:1px solid #F2D9A6;background:#FFFBF2;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.flow-title{margin:0 0 4px;font-weight:800}
.flow-q{margin-top:10px}
.flow-qtitle{margin:0 0 4px;font-weight:700;font-size:.9375rem}
.flow ul{list-style:none;margin:0;padding:0}
.flow li{display:grid;grid-template-columns:minmax(80px,auto) 16px 1fr 90px 40px;gap:8px;align-items:center;font-size:.875rem;padding:3px 0}
.flow-opt{font-weight:700}
.flow-arrow{color:var(--mute)}
.flow-bar{height:8px;border-radius:99px;background:#F2E6CC;overflow:hidden}
.flow-bar i{display:block;height:100%;background:var(--acc)}
.flow-pct{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
@media(max-width:560px){.flow li{grid-template-columns:1fr 70px 36px}.flow-arrow{display:none}.flow li>span:nth-child(3){grid-column:1/-1;order:5;font-size:.8125rem;color:var(--mute)}}
.q-gate{margin:4px 0 0;font-size:.8125rem;font-weight:700;color:var(--acc)}

/* Ronda 27: iniciar sesión / registrarse */
.tn-auth{display:flex;gap:8px;align-items:center}
.tn-signup{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;background:var(--acc);border:1.5px solid var(--acc);color:#fff!important;font-weight:700;font-size:.9375rem;text-decoration:none}
.tn-signup:hover{filter:brightness(1.08)}
@media(max-width:520px){.tn-auth{gap:6px}.tn-auth a{min-height:36px;padding:0 10px;font-size:.8125rem}}
.signin-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 14px;border-radius:12px;background:var(--soft,#F1ECF9)}
.signin-tabs button{min-height:42px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:700;color:var(--mute);cursor:pointer}
.signin-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px -4px rgba(33,22,63,.4)}
/* Chat con soporte (botón flotante) */
.support .support-fab{position:relative}
.support-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#C62828;color:#fff;font-size:.6875rem;font-weight:800;line-height:20px;text-align:center}
.support-chat{width:min(370px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 110px));display:flex;flex-direction:column;background:#fff;color:#21163F;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 48px -18px rgba(33,22,63,.55);overflow:hidden;animation:lqPop .25s ease-out}
.sc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:#0F7A41;color:#fff}
.sc-head strong{display:block;font-size:.9375rem}
.sc-head span{display:block;font-size:.75rem;opacity:.85}
.sc-close{border:0;background:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px}
.sc-list{flex:1;min-height:120px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#F6F4FB}
.sc-empty{margin:auto 0;text-align:center;color:var(--mute);font-size:.875rem}
.sc-msg{max-width:85%;padding:8px 11px;border-radius:12px;font-size:.875rem;line-height:1.45;box-shadow:0 1px 0 rgba(33,22,63,.06)}
.sc-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.sc-msg time{display:block;margin-top:3px;font-size:.6875rem;opacity:.7}
.sc-them{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.sc-me{align-self:flex-end;background:#5B2EA6;color:#fff;border-bottom-right-radius:4px}
.sc-who{display:block;font-size:.6875rem;font-weight:800;color:#0F7A41;margin-bottom:2px}
.sc-form{padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.sc-form textarea{width:100%;resize:none;font:inherit;font-size:16px;color:#21163F;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-height:44px}
.sc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:.6875rem;color:var(--mute)}
.sc-err{margin:6px 0 0;font-size:.8125rem;color:#B42318}
.sc-note{margin:0;padding:10px 14px 0;font-size:.8125rem;color:var(--mute);background:#fff}
.support-channels{display:flex;gap:6px;padding:8px 10px 10px;background:#fff;flex-wrap:wrap}
.support-chat .support-channels a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;color:#21163F!important;text-decoration:none;font-weight:700;font-size:.8125rem}
.support-chat .support-channels a:hover{background:var(--soft)}
.support-menu .support-channels{flex-direction:column;padding:0;gap:0}
@media(max-width:520px){.support-chat{max-height:calc(100dvh - 96px)}.support-fab span:not(.sm-ico){display:none}}
.support-chat,.support-menu{--line:#E4DEF2;--mute:#6B6386;--soft:#F1ECFA}
/* Mi cuenta (perfil) */
.acct{overflow:hidden}
.acct-head{display:flex;align-items:center;gap:16px;padding:24px 28px;background:linear-gradient(135deg,#5B2EA6,#7A4CC7);color:#fff;flex-wrap:wrap}
.acct-avatar{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.45);font-size:1.5rem;font-weight:800}
.acct-id{flex:1;min-width:0}
.acct-id p{margin:0}
.acct-name{font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.acct-mail{font-size:.875rem;opacity:.85;overflow-wrap:anywhere}
.acct-badges{margin-top:6px!important}
.acct-badge{display:inline-block;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.75rem;font-weight:700}
.acct-badge-pro{background:#FFD54F;color:#3A2A00}
.acct-head-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Sobre el fondo morado: botones con contraste (.b-primary trae texto blanco con !important). */
.acct-head .b-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);color:#fff!important}
.acct-head .b-ghost:hover{background:rgba(255,255,255,.22)}
.acct-head .b-primary{background:#FFD54F;border-color:#FFD54F;color:#2B1F00!important;box-shadow:0 6px 16px -8px rgba(0,0,0,.45)}
.acct-head .b-primary:hover:not(:disabled){background:#FFCA28;border-color:#FFCA28}
.acct-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.acct-stats div{padding:16px 12px;text-align:center;border-left:1px solid var(--line)}
.acct-stats div:first-child{border-left:0}
.acct-stats strong{display:block;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.acct-stats span{font-size:.75rem;color:var(--mute);font-weight:600}
.acct-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.acct-tabs button{flex:none;border:0;background:none;font:inherit;font-size:.9375rem;font-weight:600;color:var(--mute);padding:14px 10px;cursor:pointer;box-shadow:inset 0 -2px 0 transparent}
.acct-tabs button.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--acc)}
.acct-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.acct-notice{position:relative;padding-right:40px}
.acct-notice-x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:1.3rem;line-height:1;color:inherit;cursor:pointer;padding:4px}
@media(max-width:560px){
  .acct-head{padding:20px 18px;gap:12px}
  .acct-head-actions{width:100%}
  .acct-head-actions .b{flex:1}
  .acct-stats{grid-template-columns:repeat(2,1fr)}
  .acct-stats div:nth-child(3){border-left:0}
  .acct-stats div:nth-child(n+3){border-top:1px solid var(--line)}
  .acct-tabs{padding:0 10px}
  .acct-tabs button{font-size:.875rem;padding:12px 8px}
}
/* Chats anteriores */
.sc-title{flex:1;min-width:0}
.sc-icon{flex:none;display:inline-flex;align-items:center;gap:4px;border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:999px;padding:5px 9px;font:inherit;font-size:.8125rem;cursor:pointer}
.sc-icon:hover{background:rgba(255,255,255,.28)}
.sc-icon b{font-size:.75rem}
.sc-past{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto;min-height:120px;background:#F6F4FB}
.sc-past button{display:grid;gap:3px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 14px;font:inherit;color:#21163F;cursor:pointer}
.sc-past button:hover{background:var(--soft)}
.sc-past-top{display:flex;justify-content:space-between;gap:8px;font-size:.875rem}
.sc-past-top small{color:var(--mute)}
.sc-past-prev{font-size:.8125rem;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-closed{align-self:center;margin:6px 0 0;font-size:.75rem;color:var(--mute);background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px}

/* Invita y gana */
.ref{overflow:hidden}
.ref-hero{display:flex;align-items:center;justify-content:center;gap:18px;padding:28px 20px;background:linear-gradient(135deg,#0F7A41,#16A05A);color:#fff;flex-wrap:wrap}
.ref-gift{text-align:center;min-width:120px}
.ref-gift strong{display:block;font-size:2.6rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.ref-gift span{font-size:.875rem;font-weight:700;opacity:.9}
.ref-plus{font-size:2rem;font-weight:900;opacity:.6}
.ref-label{display:block;font-weight:800;font-size:.875rem;margin-bottom:6px}
.ref #ref-link{font-variant-numeric:tabular-nums}
.ref-share{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.ref-stats{border:1px solid var(--line);border-radius:12px;margin:6px 0 4px}
.ref-steps{margin:8px 0 10px;padding-left:20px;display:grid;gap:6px}
.ref-card{display:flex;align-items:center;gap:14px;margin:16px 0;padding:14px 16px;border:1.5px solid #0F7A41;border-radius:12px;background:#EAF7EF;color:var(--ink)!important;text-decoration:none}
.ref-card strong{display:block;font-size:.9375rem}
.ref-card small{display:block;font-size:.8125rem;color:var(--mute)}
.ref-card>span:nth-child(2){flex:1}
.ref-card-ico{font-size:1.6rem}
.acct-low{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.acct-low p{flex:1;min-width:220px}
.invited-note{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 44px 10px 16px;background:#EAF7EF;border-bottom:1px solid #BFE5CD;color:#0B3D22;font-size:.9375rem;text-align:center}
.invited-note p{margin:0}
.invited-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:1.3rem;cursor:pointer;color:inherit}

/* Invita y gana: colores legibles (texto oscuro sobre verde claro) */
.ref-hero{background:#E3F6EA!important;color:#0B3D22!important;border-bottom:1px solid #BFE5CD}
.ref-gift strong{color:#0F7A41!important}
.ref-gift span{color:#0B3D22!important;opacity:1}
.ref-plus{color:#0F7A41!important;opacity:1}
.ref-rules{margin:6px 0 4px;padding-left:20px;display:grid;gap:4px;font-size:.875rem;color:var(--mute)}
/* Regalo flotante en la tienda */
.gift-fab{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:64;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.gift-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px 0 8px;border-radius:999px;border:2px solid #0F7A41;background:#fff;color:#0B3D22;font:inherit;font-weight:700;font-size:.9375rem;cursor:pointer;box-shadow:0 10px 24px -10px rgba(15,122,65,.55);animation:giftBob 2.6s ease-in-out infinite}
.gift-btn b{color:#0F7A41}
.gift-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#E3F6EA;font-size:1.15rem}
.gift-pop{position:relative;width:min(320px,calc(100vw - 32px));background:#fff;color:#21163F;border:1px solid #D6EADD;border-radius:14px;padding:16px 16px 12px;box-shadow:0 18px 40px -18px rgba(33,22,63,.5);animation:lqPop .25s ease-out}
.gift-pop ul{margin:6px 0 12px;padding-left:18px;display:grid;gap:4px;font-size:.8125rem;color:#4F4666}
.gift-title{margin:0 22px 0 0;font-weight:800;font-size:1rem}
.gift-title b{color:#0F7A41}
.gift-x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:1.3rem;line-height:1;color:#4F4666;cursor:pointer}
.gift-terms{margin:10px 0 0;font-size:.75rem;color:#4F4666}
.gift-terms a{color:#4F4666}
@keyframes giftBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.gift-btn{animation:none}}
@media(max-width:520px){.gift-txt{display:none}.gift-btn{padding:0 6px}}
body.paying .gift-fab{display:none}

/* Tarjeta "Invita y gana" y aviso de invitación: colores fijos y legibles */
.ref-card{background:#E3F6EA!important;border-color:#0F7A41!important;color:#0B3D22!important}
.ref-card strong{color:#0B3D22!important}
.ref-card small{color:#2F5A41!important}
.invited-note{background:#E3F6EA!important;color:#0B3D22!important}
.invited-note a:not(.b){color:#0B3D22;font-weight:700}
.invited-old{background:#FFF6E5!important;color:#4A3200!important;border-bottom-color:#F0D9A8!important}
@media(max-width:760px){body:has(.bar-m) .gift-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* Logos de medios de pago */
.paymethod{flex-wrap:wrap}
.paymethod-txt{flex:1;min-width:170px}
.paylogos{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.paylogo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:72px;height:38px;padding:6px 5px;background:#fff;border:1px solid #E2DCEC;border-radius:8px;box-shadow:0 1px 2px rgba(33,22,63,.08)}
.paylogo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.paysecure{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:12px 0 4px;padding:10px 12px;border:1px solid #E2DCEC;border-radius:12px;background:#FAF8FD}
.paysecure-lock{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:800;color:#1B5E20}
@media(max-width:480px){.paymethod .paylogos{width:100%;padding-left:30px}.paylogo{width:62px;height:34px;padding:5px 4px}}

/* Botón de idioma */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.8125rem;font-weight:800;cursor:pointer}
.lang-btn:hover{border-color:var(--line-strong,#C9BFDC)}
.lang-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:130;list-style:none;margin:0;padding:6px;min-width:170px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px -16px rgba(33,22,63,.35)}
.lang-menu button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:.9375rem;color:#21163F;cursor:pointer}
.lang-menu button b{display:inline-grid;place-items:center;min-width:28px;height:22px;border-radius:6px;background:var(--soft);font-size:.6875rem;color:var(--acc)}
.lang-menu button:hover,.lang-menu button.on{background:var(--soft)}
@media(max-width:760px){
  .tn-account{gap:8px}
  .lang-btn{height:34px;padding:0 8px}
  .lang-btn span{display:none}
  .lang-menu{position:fixed;left:auto;right:10px;top:calc(env(safe-area-inset-top,0px) + 58px)}
}

/* Barra en celular: logo y cuenta siempre en una sola fila; los enlaces debajo. */
@media(max-width:760px){
  .tn-inner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:0;padding-top:8px}
  .tn-logo{flex:none}
  .tn .tn-links{grid-column:1/-1;grid-row:2}
  .tn-account{grid-column:2;grid-row:1;min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:6px}
  .tn-auth{flex-wrap:nowrap}
  .tn-auth a{white-space:nowrap}
  .tn .tn-links{gap:18px;scrollbar-width:none}
  .tn .tn-links::-webkit-scrollbar{display:none}
  .tn .tn-links a{font-size:.875rem}
  .tn-header .menu-toggle,.tn .menu-toggle{display:none!important}
}
@media(max-width:420px){
  .tn-inner{padding-left:14px;padding-right:14px;column-gap:8px}
  .tn-logo{font-size:1.1rem}
  .tn-auth{gap:5px}
  .tn-auth a{min-height:34px;padding:0 9px;font-size:.75rem}
  .lang-btn{height:34px;padding:0 7px}
  .tn-balance{font-size:.75rem;gap:4px}
  .nb-btn,.tn-avatar{width:34px;height:34px}
}

@media(max-width:345px){
  .tn-inner{padding-left:10px;padding-right:10px;column-gap:6px}
  .tn-logo{font-size:1rem}
  .tn-account,.tn-auth{gap:4px}
  .tn-auth a{padding:0 7px;font-size:.6875rem}
  .lang-btn{padding:0 6px}
}

/* Notificaciones: la cabecera no se mueve al marcar como leídas */
.nb-head-actions{flex-wrap:nowrap;white-space:nowrap}
.nb-link:disabled{color:var(--mute);opacity:.55;cursor:default}

/* Calculadora de la tienda */
.calc{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:14px 0;background:var(--card,#fff)}
.calc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px}
.calc-title{margin:0;font-weight:800;font-size:.9375rem}
.calc-input{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--mute)}
.calc-input input{width:110px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;text-align:right;font-variant-numeric:tabular-nums}
.calc-plan{list-style:none;margin:12px 0 0;padding:0}
.calc-plan li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.9rem;font-variant-numeric:tabular-nums}
.calc-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:.9rem}
.calc-ok{margin:10px 0 0;color:var(--ok,#0B8A5F);font-weight:600;font-size:.9rem}
@media(max-width:480px){.calc-input{width:100%;justify-content:space-between}.calc-total .b{width:100%}}

/* Usar mis datos */
.data-pick{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.data-sheet{display:flex;gap:8px;flex:1 1 280px;min-width:0}
.data-sheet input{flex:1;min-width:0;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px}
.data-box{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.data-sum{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--soft)}
.data-sum p{margin:0;font-size:.875rem;font-weight:600}
.data-map{list-style:none;margin:0;padding:0}
.data-map li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px);gap:4px 12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.data-map li:not(.on) .data-q{color:var(--mute)}
.data-q{font-size:.875rem;font-weight:600;overflow-wrap:anywhere}
.data-map select{min-height:38px;width:100%;font:inherit;font-size:.875rem;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#fff}
.data-ex,.data-bad{grid-column:1/-1;font-size:.8125rem;overflow-wrap:anywhere}
.data-ex{color:var(--mute)}
.data-bad{color:#9A4A00}
.data-box+.fine{margin-top:8px}
.q-hint-data{color:var(--acc);font-weight:600}
@media(max-width:560px){.data-map li{grid-template-columns:1fr}.data-sheet{flex-basis:100%}}
.data-issues{padding:10px 14px;border-top:1px solid var(--line);background:#FFF8EC;color:#7A3D00;font-size:.8125rem}
.data-issues p{margin:0}
.data-issues ul{margin:6px 0;padding-left:18px}
.data-issues li{overflow-wrap:anywhere;margin:2px 0}
.data-cols{border-top:1px solid var(--line)}
.data-cols>summary{cursor:pointer;padding:10px 14px;font-size:.875rem;font-weight:600;color:var(--acc)}
.data-cols>summary:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.data-ex,.data-bad{grid-column:auto}
.data-map li{grid-template-columns:minmax(0,1fr) minmax(0,240px)}
.data-map li .data-ex,.data-map li .data-bad{grid-column:1/-1}

/* ── Armazón con sesión: menú lateral (PC) y barra inferior (celular) ── */
.side,.bnav{display:none}
.side-logo{font-weight:800;font-size:1.25rem;letter-spacing:-.02em;text-decoration:none;color:var(--ink)!important;padding:0 10px}
.side-logo b{color:var(--acc)}
@media(min-width:1100px){
  html.sess body{padding-left:236px}
  html.sess .side{display:flex}
  .side{flex-direction:column;gap:18px;position:fixed;left:0;top:0;bottom:0;width:236px;padding:20px 14px;background:var(--card);border-right:1px solid var(--line);z-index:55;overflow-y:auto}
  .side-logo{display:flex;align-items:center;min-height:28px}
  .side nav{display:flex;flex-direction:column;gap:2px}
  .side nav a{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:8px;color:var(--mute);font-weight:600;font-size:.9375rem;text-decoration:none}
  .side nav a:hover{background:var(--bg);color:var(--ink)}
  .side nav a[aria-current=page]{background:var(--soft);color:var(--acc)}
  .side nav a:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
  html.sess body .tn-logo,html.sess body .tn .tn-links{display:none}
  html.sess body .tn-inner{max-width:none;padding:0 28px}
}
@media(max-width:760px){
  html.sess .bnav{display:grid}
  .bnav{grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:66;background:var(--card);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))}
  .bnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border-radius:10px;color:var(--mute);font-size:.6875rem;font-weight:700;text-decoration:none;text-align:center;line-height:1.15}
  .bnav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
  .bnav a[aria-current=page]{color:var(--acc)}
  .bnav a[aria-current=page] svg{stroke-width:2.25}
  .bnav a:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
  /* Con barra inferior: la de arriba queda en una fila y lo flotante sube */
  html.sess body .tn .tn-links{display:none}
  html.sess body .tn-inner{padding-bottom:8px}
  html.sess body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  html.sess body .support,html.sess body .gift-fab{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  /* La barra inferior ya tiene Mensajes: el botón flotante repetido se oculta (el chat se abre igual). */
  html.sess .support>.support-fab{display:none}
  html.sess body .cookie{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}
body.paying .bnav{display:none}

/* Íconos de línea dentro de botones y avisos */
.nb-ico svg,.gift-ico svg,.ref-card-ico svg{display:block}
.is-locked svg,.presets-locked svg{display:inline-block;vertical-align:-3px}

/* Los menús nuevos no heredan el menú desplegable de las páginas estáticas
   (nav oculto en celular, enlaces centrados con borde inferior). */
.side nav{align-items:stretch}
nav.bnav{top:auto;flex-direction:row;gap:0;visibility:visible;opacity:1;transform:none;pointer-events:auto;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
nav.bnav a:not(.btn),.side nav a:not(.btn){border-bottom:0}
nav.bnav a:not(.btn){display:flex;padding:0}

/* Cabeceras sin degradados: tarjeta blanca, el color queda para la acción */
.acct-head{background:var(--card);color:var(--ink);border-bottom:1px solid var(--line)}
.acct-avatar{background:var(--soft);border:0;color:var(--acc)}
.acct-mail{color:var(--mute);opacity:1}
.acct-badge{background:var(--bg);color:var(--mute);border:1px solid var(--line)}
.acct-badge-pro{background:#E8F6EF;color:#0B5A3E;border-color:#BFE3D1}
.acct-head .b-ghost{background:#fff;border-color:var(--line-strong);color:var(--ink)!important}
.acct-head .b-ghost:hover{background:var(--bg)}
.acct-head .b-primary{background:var(--acc);border-color:var(--acc);color:#fff!important;box-shadow:none}
.acct-head .b-primary:hover:not(:disabled){background:#4C2899;border-color:#4C2899}
.ref-hero{background:#EEF8F2;color:#0B3D22;border-bottom:1px solid #CDEBD9}
.ref-plus{opacity:.45}
@media(max-width:480px){.acct-head-actions{width:100%}.acct-head-actions .b{flex:1;white-space:nowrap;padding:0 10px}}

/* Pasos en celular: el paso actual toma el espacio que necesita y los demás
   quedan como círculos (antes la etiqueta larga chocaba con el siguiente). */
@media(max-width:480px){
  .stepper{gap:10px;justify-content:space-between}
  .stepper li{flex:0 0 auto;min-width:0}
  .stepper li.is-now{flex:1 1 auto}
  .stepper li.is-now .stepper-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Usar mis datos en celular: cada control a lo ancho */
@media(max-width:560px){
  .data-pick>.b{width:100%}
  .data-sheet{flex-wrap:wrap}
  .data-sheet input{flex:1 1 100%}
  .data-sheet .b{width:100%}
}
.side nav a span{line-height:1.25}
.nb-item.is-unread .nb-ico{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.nb-ico-job_done,.nb-item.is-unread .nb-ico-job_done{background:#E8F5E9;color:#1B7F3B;box-shadow:none}
.nb-ico-job_failed,.nb-item.is-unread .nb-ico-job_failed{background:#FFF3E0;color:#B45309;box-shadow:none}
/* Botón de Mensajes del menú (abre el chat aquí mismo) con el mismo aspecto que los enlaces */
.side nav button,.bnav button{font:inherit;background:none;border:0;cursor:pointer;text-align:left}
@media(min-width:1100px){.side nav button{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:8px;color:var(--mute);font-weight:600;font-size:.9375rem}.side nav button:hover{background:var(--bg);color:var(--ink)}}
@media(max-width:760px){.bnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border-radius:10px;color:var(--mute);font-size:.6875rem;font-weight:700;line-height:1.15}.bnav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}}
/* En PC con sesión el menú lateral ya tiene Mensajes e Invita y gana: sin
   botones flotantes encima del contenido ni del menú (el chat se abre igual). */
@media(min-width:1100px){html.sess .support>.support-fab,html.sess .gift-fab{display:none}}
.nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#C62828;color:#fff;font-size:.6875rem;font-weight:700;line-height:18px;text-align:center}
.side nav .nav-badge{margin-left:auto}
.bnav button{position:relative}
.bnav .nav-badge{position:absolute;top:4px;left:calc(50% + 6px)}

/* ── Menú lateral contraíble ── */
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}
.side-logo-mini{display:none}
.side-toggle{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--mute);cursor:pointer;flex:none}
.side-toggle:hover{background:var(--bg);color:var(--ink)}
.side-toggle:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
@media(min-width:1100px){
  .side,html.sess body{transition:width .18s ease,padding-left .18s ease}
  html.sess.side-mini body{padding-left:76px}
  html.side-mini .side{width:76px;padding:20px 12px}
  html.side-mini .side-top{flex-direction:column;gap:12px}
  html.side-mini .side-logo{padding:0;justify-content:center}
  html.side-mini .side-logo-full{display:none}
  html.side-mini .side-logo-mini{display:inline}
  html.side-mini .side nav a,html.side-mini .side nav button{justify-content:center;padding:0;gap:0;position:relative}
  html.side-mini .side nav a span,html.side-mini .side nav button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html.side-mini .side .nav-badge{position:absolute;top:4px;right:6px;margin:0;min-width:16px;height:16px;line-height:16px;font-size:.625rem}
}
@media(prefers-reduced-motion:reduce){.side,html.sess body{transition:none}}

/* ── Tienda: dos columnas en PC; el resumen con el pago queda fijo al costado ── */
.buy-sum{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--card);margin:6px 0 16px}
.buy-sum h2{font-size:1.0625rem;letter-spacing:-.01em;margin:0 0 10px}
.buy-sum dl{margin:0;display:grid;gap:8px}
.buy-sum dl div{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.buy-sum dt{color:var(--mute)}
.buy-sum dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.buy-sum-off dd{color:var(--ok)}
.buy-sum-total{border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.buy-sum-total dt{color:var(--ink);font-weight:700}
.buy-sum-total dd{font-size:1.375rem;font-weight:800;letter-spacing:-.02em}
.fx-cur{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.flag{display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}
/* Dos columnas solo si la tarjeta tiene espacio real (con el menú abierto en
   1100 px quedaba una columna de 354 px). */
.buy .sheet-body{container-type:inline-size;container-name:buy}
@container buy (min-width:860px){
  .buy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:32px;align-items:start}
  .buy-side{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto;padding:2px 4px 8px 2px;scrollbar-width:thin}
  .buy-side .buy-sum{margin-top:0}
  .buy-side .group{margin-top:0}
  .buy-side .paymethod{align-items:flex-start}
  .buy-side .paymethod .paylogos{width:100%;justify-content:flex-start}
}
/* El resumen fijo necesita que la tarjeta no sea un contenedor con scroll:
   clip recorta igual que hidden pero deja funcionar position:sticky. */
.sheet{overflow:clip}
@media(min-width:1280px){.tool-wrap-wide{max-width:1120px}}

