:root { --green:#006847; --green-soft:#eaf5ef; --ink:#132018; --muted:#617268; --line:#d6e4da; --bg:#f4f7f4; --danger:#b42318; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--ink); }
a { color:inherit; }
.shell { max-width:1180px; margin:0 auto; padding:28px 20px 56px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0 28px; }
.brand { font-weight:900; color:var(--green); font-size:22px; }
.brand small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.nav { display:flex; gap:10px; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 16px; border:1px solid var(--green); border-radius:10px; background:#fff; color:var(--green); text-decoration:none; font-weight:800; cursor:pointer; }
.button.primary { background:var(--green); color:#fff; }
.button.danger { border-color:var(--danger); color:var(--danger); }
.hero { background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px; box-shadow:0 12px 30px rgba(10,40,24,.06); }
.hero h1 { margin:0; color:var(--green); font-size:29px; }
.hero p { color:var(--muted); margin:8px 0 0; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; }
.metric,.card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; }
.metric span,.label { display:block; color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.metric strong { display:block; color:var(--green); font-size:27px; margin-top:6px; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.card h2 { margin:0 0 8px; font-size:18px; }
.card p { color:var(--muted); line-height:1.45; }
.table-wrap { overflow:auto; margin-top:18px; border:1px solid var(--line); background:#fff; border-radius:12px; }
table { width:100%; border-collapse:collapse; min-width:720px; }
th,td { text-align:left; padding:13px 15px; border-bottom:1px solid var(--line); font-size:14px; }
th { color:var(--muted); font-size:12px; text-transform:uppercase; background:#f8fbf8; }
.badge { display:inline-flex; padding:5px 9px; border-radius:999px; background:var(--green-soft); color:var(--green); font-size:12px; font-weight:850; }
.badge.draft,.badge.pending { background:#fff5dd; color:#915f00; }
.badge.suspended,.badge.cancelled { background:#fff0ef; color:var(--danger); }
.form { max-width:820px; margin:20px auto; background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1 / -1; }
label { color:var(--muted); font-size:12px; font-weight:850; text-transform:uppercase; }
input,select,textarea { width:100%; min-height:43px; border:1px solid var(--line); border-radius:9px; padding:10px 11px; font:inherit; color:var(--ink); background:#fff; }
textarea { min-height:88px; resize:vertical; }
.steps { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 20px; }
.step { padding:7px 10px; border-radius:999px; background:#edf2ee; color:var(--muted); font-weight:800; font-size:12px; }
.step.active { background:var(--green); color:#fff; }
.notice { padding:13px; border:1px solid var(--line); background:var(--green-soft); border-radius:10px; color:var(--green); font-weight:700; }
.error { padding:13px; border:1px solid #f2b8b5; background:#fff4f3; border-radius:10px; color:var(--danger); font-weight:700; }
.footer-actions { display:flex; justify-content:space-between; gap:12px; margin-top:22px; }
@media (max-width:760px) { .metrics,.grid,.form-grid { grid-template-columns:1fr; } .topbar { align-items:flex-start; flex-direction:column; } .nav { width:100%; } .nav .button { flex:1; } }

/* Public wizard state must win over button display rules. */
[hidden] { display:none !important; }
.wizard-bullets { list-style:none; padding:0; margin:0 0 20px; display:grid; gap:12px; }
.wizard-bullets li { display:flex; gap:10px; align-items:flex-start; color:var(--ink); line-height:1.5; }
.wizard-bullets li::before { content:'✓'; display:grid; place-items:center; flex:0 0 24px; height:24px; border-radius:50%; background:var(--green-soft); color:var(--green); font-weight:900; }

/* Selectable public/admin palettes. Existing components continue using the
   --green token, which now represents the active accent color. */
body.palette-green { --green:#006847; --green-soft:#e7f4ed; --ink:#10251c; --muted:#5e7067; --line:#d2e2d8; --bg:#f4f8f5; }
body.palette-blue { --green:#075ba7; --green-soft:#e8f2fb; --ink:#10243a; --muted:#607184; --line:#d2dfeb; --bg:#f3f7fb; }
body.palette-brand { --green:#0B1F3A; --green-soft:#EAF0F8; --ink:#0B1F3A; --muted:#56677F; --line:#DBE4EF; --bg:#F5F8FC; }
body.palette-mono { --green:#171717; --green-soft:#eeeeec; --ink:#111111; --muted:#626262; --line:#dcdcd8; --bg:#f7f7f5; }

/* Public marketing site */
.marketing { min-height:100vh; overflow-x:hidden; }
.marketing-nav { max-width:1180px; margin:0 auto; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.marketing-brand { display:inline-flex; align-items:center; width:190px; height:76px; overflow:hidden; text-decoration:none; }
.marketing-brand img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
.marketing-nav nav { display:flex; align-items:center; gap:22px; }
.marketing-nav nav > a:not(.button) { color:var(--muted); font-weight:750; text-decoration:none; }
.marketing-nav nav > a:hover { color:var(--green); }
.marketing-hero { max-width:1180px; margin:0 auto; padding:72px 24px 82px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); align-items:center; gap:70px; }
.hero-copy { min-width:0; }
.eyebrow { display:inline-block; color:var(--green); font-size:12px; font-weight:900; letter-spacing:.13em; }
.hero-copy h1 { margin:12px 0 18px; max-width:700px; color:var(--ink); font-size:clamp(48px,7vw,86px); line-height:.94; letter-spacing:-.055em; }
.hero-copy > p:not(.hero-note) { max-width:610px; margin:0; color:var(--muted); font-size:20px; line-height:1.55; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-actions .button { min-height:50px; padding:0 22px; }
.hero-note { margin:16px 0 0; color:var(--muted); font-size:13px; }
.product-preview { position:relative; border:1px solid var(--line); border-radius:26px; padding:26px; background:#fff; box-shadow:0 28px 70px rgba(15,36,25,.14); transform:rotate(1.5deg); }
.product-preview::before { content:''; position:absolute; inset:-18px 24px auto -24px; height:85%; border-radius:28px; background:var(--green-soft); z-index:-1; transform:rotate(-4deg); }
.preview-top { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; font-weight:850; letter-spacing:.08em; }
.preview-top b { color:var(--green); }
.preview-match { margin:30px 0 24px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; text-align:center; font-size:13px; font-weight:900; }
.preview-match strong { padding:13px 16px; border-radius:12px; background:var(--green); color:#fff; font-size:24px; }
.preview-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:18px; }
.preview-actions i { padding:9px 5px; border-radius:8px; background:var(--green-soft); color:var(--green); text-align:center; font-size:11px; font-style:normal; font-weight:850; }
.preview-ranking { display:grid; gap:8px; }
.preview-ranking span { display:grid; grid-template-columns:26px 1fr auto; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:12px; }
.preview-ranking b { color:var(--ink); }
.preview-ranking em { color:var(--green); font-style:normal; font-weight:850; }
.preview-title { margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.preview-title span { color:var(--muted); font-size:11px; font-weight:900; letter-spacing:.1em; }
.preview-title b { color:var(--ink); font-size:12px; }
.sport-example { padding:17px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.sport-example + .sport-example { margin-top:12px; }
.sport-example.nfl { background:#fafaf8; }
.sport-label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sport-label b { color:var(--ink); font-size:12px; letter-spacing:.08em; }
.sport-label span { color:var(--muted); font-size:12px; }
.team-match { margin:14px 0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.team { min-width:0; display:flex; align-items:center; gap:9px; color:var(--ink); font-size:13px; font-weight:850; }
.team:last-child { justify-content:flex-end; text-align:right; }
.team img { width:42px; height:42px; flex:0 0 42px; border-radius:50%; object-fit:contain; background:#fff; }
.team-match > strong { min-width:66px; padding:10px 9px; border-radius:9px; background:var(--ink); color:#fff; text-align:center; font-size:18px; }
.mini-ranking { display:grid; gap:6px; }
.mini-ranking > span { padding:8px 10px; border-radius:8px; display:grid; grid-template-columns:24px 1fr auto; align-items:center; background:#f2f2f0; color:var(--ink); font-size:12px; }
.mini-ranking > span > b { color:var(--muted); }
.mini-ranking em { color:var(--ink); font-size:11px; font-style:normal; font-weight:850; }
.trademark-note { margin:12px 2px 0; color:var(--muted); font-size:10px; line-height:1.4; }
.product-demo { padding:22px; }
.demo-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-bottom:12px; padding:4px; border-radius:11px; background:#efefed; }
.demo-tabs button { min-height:38px; border:0; border-radius:8px; background:transparent; color:var(--muted); font:800 12px/1 inherit; cursor:pointer; }
.demo-tabs button.active { background:#fff; color:var(--ink); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.demo-panel { min-height:350px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.demo-panel[hidden] { display:none; }
.demo-screen-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.demo-screen-head > div { display:grid; gap:3px; }
.demo-screen-head small { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.08em; }
.demo-screen-head strong { color:var(--ink); font-size:15px; }
.demo-screen-head > span { display:grid; grid-template-columns:auto auto; align-items:center; gap:7px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; }
.demo-screen-head > span small { max-width:48px; line-height:1.1; letter-spacing:0; }
.demo-screen-head > span b { color:var(--ink); font-size:17px; }
.demo-ranking-table { overflow:hidden; border:1px solid var(--line); border-radius:10px; }
.demo-ranking-row { display:grid; grid-template-columns:38px 38px minmax(105px,1fr) 74px; align-items:center; min-height:55px; border-top:1px solid var(--line); color:var(--ink); font-size:11px; }
.demo-ranking-row > * { min-width:0; padding:7px; }
.demo-ranking-row.heading { min-height:76px; border-top:0; background:#f3f3f1; color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.demo-ranking-row.current { background:#f7f7f5; }
.demo-ranking-row > b { color:var(--muted); }
.demo-ranking-row > strong { font-size:15px; }
.demo-person { display:flex; align-items:center; gap:7px; }
.demo-person > i { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--ink); color:#fff; font-size:9px; font-style:normal; font-weight:900; }
.demo-person > span { display:grid; overflow:hidden; font-weight:800; }
.demo-person small { overflow:hidden; color:var(--muted); font-size:8px; font-weight:650; text-overflow:ellipsis; }
.demo-ranking-row > em { display:grid; gap:2px; text-align:center; font-style:normal; font-weight:900; }
.demo-ranking-row > em small { color:var(--muted); font-size:8px; font-weight:750; }
.demo-match-head { display:grid; justify-items:center; gap:3px; color:var(--ink); }
.demo-match-head > span:first-child { white-space:nowrap; }
.demo-match-head i { color:var(--muted); font-size:7px; font-style:normal; text-transform:lowercase; }
.demo-match-head > span:nth-child(2) { display:flex; }
.demo-match-head img { width:22px; height:22px; margin-left:-3px; border-radius:50%; object-fit:contain; background:#fff; }
.demo-match-head b { padding:3px 7px; border-radius:5px; background:var(--ink); color:#fff; font-size:9px; }
.demo-legend { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; color:var(--muted); font-size:9px; font-weight:750; }
.demo-legend span { display:flex; align-items:center; gap:5px; }
.demo-legend i { width:8px; height:8px; border-radius:50%; }
.demo-legend .exact { background:#171717; }
.demo-legend .result { background:#a9adb2; }
.demo-progress { height:6px; margin:-3px 0 15px; overflow:hidden; border-radius:999px; background:#e5e5e2; }
.demo-progress span { display:block; width:100%; height:100%; border-radius:inherit; background:var(--ink); }
.demo-pick-card { padding:14px; border:1px solid var(--line); border-radius:12px; }
.demo-pick-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:9px; }
.demo-pick-meta b { padding:5px 7px; border-radius:999px; background:#eceeec; color:#34383d; font-size:8px; }
.demo-nfl-match { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:16px 0; }
.demo-pick-team { display:grid; justify-items:center; gap:5px; color:var(--ink); text-align:center; }
.demo-pick-team small { color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.demo-pick-team img { width:52px; height:52px; object-fit:contain; }
.demo-pick-team strong { font-size:12px; }
.demo-at { color:var(--muted); font-size:16px; font-weight:900; }
.demo-winner-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.demo-winner-options span { padding:9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-align:center; font-size:10px; font-weight:850; }
.demo-winner-options .selected { border-color:var(--ink); background:var(--ink); color:#fff; }
.demo-save { width:100%; min-height:39px; margin-top:12px; border:0; border-radius:8px; background:var(--ink); color:#fff; font:850 11px/1 inherit; }
.demo-note { margin:9px 0 0; color:var(--muted); text-align:center; font-size:9px; }
.proof-band { display:grid; grid-template-columns:repeat(3,1fr); max-width:1180px; margin:0 auto; border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.proof-band > div { padding:22px 26px; display:grid; gap:5px; }
.proof-band > div + div { border-left:1px solid var(--line); }
.proof-band b { color:var(--ink); }
.proof-band span { color:var(--muted); font-size:13px; }
.feature-band,.plans-band { max-width:1180px; margin:0 auto; padding:100px 24px; }
.section-heading { max-width:720px; margin-bottom:38px; }
.section-heading h2,.final-cta h2 { margin:10px 0 12px; color:var(--ink); font-size:clamp(34px,5vw,58px); line-height:1.05; letter-spacing:-.035em; }
.section-heading p { margin:0; color:var(--muted); font-size:17px; line-height:1.6; }
.feature-grid,.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-grid article,.price-card { border:1px solid var(--line); border-radius:18px; padding:26px; background:#fff; }
.feature-grid article > b { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--green-soft); color:var(--green); font-size:12px; }
.feature-grid h3 { margin:24px 0 10px; font-size:21px; }
.feature-grid p,.price-card p { margin:0; color:var(--muted); line-height:1.55; }
.plans-band { padding-top:30px; }
.price-card { display:flex; flex-direction:column; box-shadow:0 12px 32px rgba(15,36,25,.05); }
.price-card.pro { border:2px solid var(--green); transform:translateY(-10px); }
.price-card h3 { margin:0 0 8px; font-size:22px; }
.price-card > strong { display:block; margin-top:24px; color:var(--green); font-size:42px; letter-spacing:-.04em; }
.price-card > strong small { color:var(--muted); font-size:13px; letter-spacing:0; }
.price-card > span { color:var(--muted); font-size:13px; }
.price-card ul { margin:24px 0; padding-left:20px; color:var(--ink); line-height:1.9; }
.price-card .button { margin-top:auto; }
.comparison-heading { margin:72px 0 24px; }
.comparison-heading h3 { margin:8px 0 8px; color:var(--ink); font-size:clamp(28px,4vw,42px); letter-spacing:-.03em; }
.comparison-heading p { margin:0; color:var(--muted); font-size:16px; }
.plan-comparison-desktop { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 14px 40px rgba(15,36,25,.05); }
.plan-comparison table { width:100%; border-collapse:collapse; table-layout:fixed; }
.plan-comparison th,.plan-comparison td { padding:15px 18px; border-bottom:1px solid var(--line); text-align:center; vertical-align:middle; }
.plan-comparison thead th { padding-top:21px; padding-bottom:21px; background:#fafbf9; color:var(--ink); }
.plan-comparison thead th:first-child { width:40%; text-align:left; }
.plan-comparison .plan-column span { display:block; font-size:18px; }
.plan-comparison .plan-column small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
.plan-comparison .plan-column.pro { background:var(--ink); color:#fff; }
.plan-comparison .plan-column.pro small { color:rgba(255,255,255,.72); }
.plan-comparison tbody th { color:var(--ink); font-size:13px; font-weight:750; text-align:left; }
.plan-comparison tbody td { color:var(--muted); font-size:13px; }
.plan-comparison tbody tr:last-child th,.plan-comparison tbody tr:last-child td { border-bottom:0; }
.plan-comparison .comparison-group th { padding:11px 18px; background:var(--green-soft); color:var(--green); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.comparison-status { display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:12px; font-weight:800; }
.comparison-status b { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; font-size:14px; }
.comparison-status.included { color:var(--green); }
.comparison-status.included b { background:var(--green-soft); }
.comparison-status.excluded { color:#9a9f9b; }
.comparison-status.excluded b { background:#f0f1ef; }
.plan-comparison-desktop .comparison-status span { display:none; }
.comparison-value { color:var(--ink); font-weight:850; }
.plan-comparison-mobile { display:none; }
.comparison-trial-note { margin:16px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.wizard-comparison { margin:0 0 30px; }
.wizard-comparison > .wizard-subheading { margin-top:0; }
.wizard-comparison .plan-comparison th,.wizard-comparison .plan-comparison td { padding:11px 9px; }
.wizard-comparison .plan-comparison tbody th { font-size:11px; }
.wizard-comparison .plan-comparison thead th:first-child { width:37%; }
.wizard-comparison .comparison-trial-note { margin-bottom:24px; }
.final-cta { max-width:1132px; margin:0 auto 70px; padding:58px; border-radius:26px; background:var(--ink); text-align:center; }
.final-cta .eyebrow { color:#fff; opacity:.7; }
.final-cta h2 { max-width:720px; margin:12px auto 28px; color:#fff; }
.final-cta .button.primary { border-color:#fff; background:#fff; color:var(--ink); }
.marketing-footer { max-width:1180px; margin:0 auto; padding:30px 24px 45px; border-top:1px solid var(--line); display:flex; align-items:center; gap:14px; color:var(--muted); }
.marketing-footer img { display:block; width:84px; height:42px; object-fit:contain; object-position:left center; }
.marketing-footer span { font-weight:850; color:var(--ink); }
.marketing-footer a { margin-left:auto; }
.experience-list { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.experience-list li { padding:22px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(180px,.65fr) 1fr; gap:30px; }
.experience-list b { color:var(--ink); font-size:17px; }
.experience-list span { color:var(--muted); font-size:16px; line-height:1.5; }

/* Premium light treatment for the black and gray palette. */
body.palette-mono.marketing { background:#f7f7f5; }
body.palette-mono.marketing .marketing-nav { max-width:none; padding-left:max(24px,calc((100vw - 1180px)/2)); padding-right:max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid #e7e7e3; background:rgba(247,247,245,.92); }
body.palette-mono.marketing .eyebrow { color:#303030; letter-spacing:.16em; }
body.palette-mono.marketing .marketing-hero { padding-top:62px; padding-bottom:66px; gap:82px; }
body.palette-mono.marketing .hero-copy h1 { max-width:680px; font-size:clamp(48px,6vw,76px); line-height:.98; }
body.palette-mono.marketing .hero-copy > p:not(.hero-note) { max-width:570px; color:#5e5e5e; }
body.palette-mono.marketing .product-preview { transform:none; border-color:#d7d7d3; border-radius:20px; box-shadow:0 24px 60px rgba(0,0,0,.09); }
body.palette-mono.marketing .product-preview::before { display:none; }
body.palette-mono.marketing .preview-match strong { background:#171717; }
body.palette-mono.marketing .preview-actions i { background:#efefed; color:#292929; }
body.palette-mono.marketing .preview-ranking em { color:#171717; }
body.palette-mono.marketing .sport-example { border-color:#deded9; }
body.palette-mono.marketing .team-match > strong { background:#171717; }
body.palette-mono.marketing .demo-tabs { background:#ececea; }
body.palette-mono.marketing .demo-panel,
body.palette-mono.marketing .demo-ranking-table,
body.palette-mono.marketing .demo-pick-card { border-color:#deded9; }
body.palette-mono.marketing .proof-band { background:transparent; border-left:0; border-right:0; border-radius:0; }
body.palette-mono.marketing .feature-band { padding-top:82px; padding-bottom:72px; display:grid; grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr); gap:80px; }
body.palette-mono.marketing .feature-band .section-heading { margin:0; }
body.palette-mono.marketing .feature-band .section-heading h2 { font-size:clamp(38px,4vw,54px); }
body.palette-mono.marketing .plans-band { padding-top:54px; }
body.palette-mono.marketing .price-card { border-radius:14px; box-shadow:none; }
body.palette-mono.marketing .price-card.pro { transform:none; border:2px solid #171717; }
body.palette-mono.marketing .final-cta { max-width:1132px; padding:46px; border-radius:18px; background:#171717; }
body.palette-mono.marketing .final-cta h2 { font-size:clamp(32px,4vw,48px); }

/* Public onboarding wizard */
.onboarding-shell { max-width:900px; margin:0 auto; padding:44px 22px 80px; }
.onboarding-heading { margin-bottom:26px; }
.onboarding-heading h1 { margin:9px 0 8px; color:var(--ink); font-size:clamp(36px,6vw,58px); letter-spacing:-.04em; }
.onboarding-heading p { margin:0; color:var(--muted); font-size:17px; }
.public-wizard,.onboarding-success { border:1px solid var(--line); border-radius:18px; padding:30px; background:#fff; box-shadow:0 18px 50px rgba(15,36,25,.07); }
.wizard-steps { display:grid; grid-template-columns:repeat(5,1fr); overflow:hidden; margin-bottom:28px; border-radius:10px; background:var(--green-soft); }
.wizard-steps span { min-height:46px; padding:8px 5px; display:grid; place-items:center; color:var(--muted); text-align:center; font-size:12px; font-weight:850; }
.wizard-steps span.active { background:var(--green); color:#fff; }
.public-wizard fieldset { min-width:0; margin:0; padding:0; border:0; }
.public-wizard legend { width:100%; margin:0 0 22px; padding:0 0 12px; border-bottom:1px solid var(--line); color:var(--green); font-size:22px; font-weight:900; }
.public-wizard small { color:var(--muted); }
.public-wizard .onboarding-field { gap:8px; margin-top:20px; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--green-soft); }
.public-wizard .onboarding-field:first-of-type { margin-top:0; }
.public-wizard .onboarding-field label { color:var(--ink); }
.public-wizard .onboarding-field small { font-size:13px; line-height:1.35; }
.public-wizard .onboarding-field input[type="file"] { min-height:48px; padding:8px; }
.subdomain-box { margin-top:20px; padding:16px; border-radius:12px; background:var(--green-soft); }
.subdomain-box > span { display:block; margin-bottom:10px; color:var(--green); font-weight:850; }
.subdomain-options { display:flex; flex-wrap:wrap; gap:8px; }
.subdomain-options button { border:1px solid var(--line); border-radius:999px; padding:8px 12px; background:#fff; color:var(--green); cursor:pointer; font-weight:750; }
.subdomain-options p { margin:0; color:var(--muted); }
.subdomain-options .name-taken { flex-basis:100%; color:#a3332b; font-weight:750; line-height:1.45; }
.subdomain-options .name-option { border-radius:8px; text-align:left; }
.subdomain-options .name-option span { color:var(--muted); font-size:12px; }
.subdomain-options button.selected { border-color:var(--green); background:#fff; box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 16%,transparent); }
.platform-loading[hidden] { display:none; }
.platform-loading { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:20px; background:rgba(13,28,43,.68); backdrop-filter:blur(7px); }
.platform-loading-card { width:min(100%,330px); padding:28px 22px; display:grid; justify-items:center; gap:12px; text-align:center; color:var(--ink); background:#fff; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.22); }
.platform-loading-card img { width:96px; height:96px; object-fit:contain; animation:platform-logo-pulse 1.7s ease-in-out infinite; }
.platform-loading-card strong { font-size:19px; }
.platform-loading-card span { color:var(--muted); line-height:1.4; }
.platform-loading-bar { width:100%; height:5px; overflow:hidden; border-radius:4px; background:var(--line); }
.platform-loading-bar::after { content:""; display:block; width:40%; height:100%; background:var(--green); animation:platform-loading-slide 1.1s ease-in-out infinite; }
.button.is-busy::after { content:""; display:inline-block; width:14px; height:14px; margin-left:8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; vertical-align:-2px; animation:platform-loading-spin .8s linear infinite; }
@keyframes platform-logo-pulse { 50% { transform:scale(1.06); opacity:.65; } }
@keyframes platform-loading-slide { to { transform:translateX(250%); } }
@keyframes platform-loading-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .platform-loading-card img,.platform-loading-bar::after,.button.is-busy::after { animation:none; } }
.billing-summary { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--green-soft); line-height:1.55; }
.onboarding-success h1 { margin:10px 0; font-size:42px; }
.wizard-steps.four { grid-template-columns:repeat(4,1fr); }
.step-intro { margin:-8px 0 22px; color:var(--muted); font-size:16px; line-height:1.55; }
.wizard-subheading { margin:28px 0 12px; color:var(--ink); font-size:16px; }
.public-wizard label { font-size:14px; }
.mode-picker { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.choice-option,.plan-option,.period-picker label { position:relative; cursor:pointer; text-transform:none; }
.choice-option input,.plan-option input,.period-picker input { position:absolute; opacity:0; }
.choice-option > span { min-height:92px; padding:17px; border:2px solid var(--line); border-radius:14px; display:flex; flex-direction:column; justify-content:center; gap:6px; background:#fff; }
.choice-option b { color:var(--ink); font-size:17px; }
.choice-option small { font-size:13px; line-height:1.4; }
.choice-option input:checked + span,.plan-option input:checked + span,.period-picker input:checked + span { border-color:var(--green); background:var(--green-soft); box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent); }
.choice-option input:focus-visible + span,.plan-option input:focus-visible + span,.period-picker input:focus-visible + span { outline:3px solid color-mix(in srgb,var(--green) 32%,transparent); outline-offset:2px; }
.plan-picker { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.plan-option > span { height:100%; min-height:184px; padding:20px; border:2px solid var(--line); border-radius:16px; display:flex; flex-direction:column; background:#fff; }
.plan-option > span > b { color:var(--ink); font-size:18px; }
.plan-option > span > strong { margin:16px 0 3px; color:var(--green); font-size:29px; letter-spacing:-.03em; }
.plan-option > span > strong small { font-size:12px; letter-spacing:0; }
.plan-option > span > small { font-size:12px; line-height:1.45; }
.plan-option em { margin-top:auto; padding-top:16px; color:var(--ink); font-size:13px; font-style:normal; font-weight:800; }
.period-picker { display:flex; gap:10px; }
.period-picker label > span { min-width:126px; min-height:46px; padding:10px 18px; border:2px solid var(--line); border-radius:999px; display:grid; place-items:center; background:#fff; color:var(--ink); font-weight:800; }
.payment-explainer { margin-top:26px; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--green-soft); }
.payment-explainer > div:first-child { display:flex; align-items:flex-start; gap:13px; }
.payment-icon { flex:0 0 34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:17px; font-weight:900; }
.payment-explainer b { color:var(--ink); font-size:16px; }
.payment-explainer p { margin:4px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.payment-explainer .saas-note { margin:14px 0 0 47px; }
.payment-explainer #mp { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.payment-explainer #mp > p { margin:0 0 14px; color:var(--ink); }
.provisioning-status { margin:24px 0 12px; padding:18px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; gap:14px; background:var(--green-soft); }
.provisioning-status p { margin:0; color:var(--ink); font-size:16px; line-height:1.5; }
.status-pulse { position:relative; flex:0 0 14px; width:14px; height:14px; border-radius:50%; background:var(--green); }
.status-pulse::after { content:''; position:absolute; inset:-5px; border:2px solid var(--green); border-radius:50%; opacity:.35; animation:status-pulse 1.6s ease-out infinite; }
.onboarding-success[data-state="completed"] .status-pulse::after,.onboarding-success[data-state="failed"] .status-pulse::after { animation:none; }
.onboarding-success[data-state="failed"] .status-pulse { background:var(--danger); }
.status-note { max-width:650px; margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.55; }
@keyframes status-pulse { from { transform:scale(.7); opacity:.55; } to { transform:scale(1.65); opacity:0; } }

/* Admin palette selector */
.palette-panel { margin:20px 0; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.palette-panel h2 { margin:5px 0; font-size:21px; }
.palette-panel p { margin:0 0 16px; color:var(--muted); }
.palette-form { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.palette-option { cursor:pointer; text-transform:none; }
.palette-option input { position:absolute; opacity:0; pointer-events:none; }
.palette-option span { min-height:46px; padding:8px 13px; border:2px solid var(--line); border-radius:10px; display:flex; align-items:center; gap:8px; color:var(--ink); background:#fff; }
.palette-option input:checked + span { border-color:var(--green); box-shadow:0 0 0 3px var(--green-soft); }
.palette-option i { width:24px; height:24px; border-radius:50%; display:block; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); }
.palette-option.green i { background:linear-gradient(135deg,#006847 50%,#dcefe5 50%); }
.palette-option.blue i { background:linear-gradient(135deg,#075ba7 50%,#dceaf7 50%); }
.palette-option.mono i { background:linear-gradient(135deg,#202327 50%,#d9dcdf 50%); }
.palette-option.brand-colors i { background:linear-gradient(135deg,#0B1F3A 50%,#F7B928 50%); }
.theme-palette-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.theme-palette-choice { position:relative; display:block; cursor:pointer; min-width:0; }
.theme-palette-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.theme-palette-body { display:grid; gap:8px; min-height:120px; padding:16px; border:2px solid var(--line); border-radius:8px; background:#fff; }
.theme-palette-body strong { color:var(--ink); font-size:16px; }
.theme-palette-body small { color:var(--muted); font-size:13px; line-height:1.4; }
.theme-palette-choice input:checked + .theme-palette-body { border-color:var(--green); box-shadow:0 0 0 2px var(--green-soft); }
.theme-palette-choice input:focus-visible + .theme-palette-body { outline:3px solid var(--green); outline-offset:2px; }
.theme-palette-swatches { display:flex; gap:6px; align-self:end; }
.theme-palette-swatches i { width:28px; height:28px; border:1px solid rgba(0,0,0,.12); border-radius:5px; }
.tenant-removing { color:var(--muted); font-size:12px; font-weight:800; }
.tenant-delete-dialog { width:min(92vw,520px); padding:0; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.24); }
.tenant-delete-dialog::backdrop { background:rgba(17,17,17,.48); backdrop-filter:blur(3px); }
.tenant-delete-dialog form { padding:28px; }
.tenant-delete-dialog h2 { margin:7px 0 10px; color:var(--ink); font-size:27px; }
.tenant-delete-dialog p { margin:0 0 20px; color:var(--muted); line-height:1.55; }
.tenant-delete-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }

@media (max-width:900px) {
  .marketing-hero { grid-template-columns:1fr; padding-top:45px; gap:50px; }
  .product-preview { max-width:600px; }
  .feature-grid,.pricing-grid { grid-template-columns:1fr; }
  .price-card.pro { transform:none; }
  .plan-picker { grid-template-columns:1fr; }
  .plan-option > span { min-height:0; }
  body.palette-mono.marketing .feature-band { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:700px) {
  .marketing-nav { padding:14px 18px; }
  .marketing-brand { width:132px; height:58px; }
  .marketing-nav nav { gap:8px; }
  .marketing-nav nav > a:not(.button) { display:none; }
  .marketing-hero { padding:40px 18px 58px; }
  .hero-copy h1 { font-size:48px; }
  .proof-band { margin:0 18px; grid-template-columns:1fr; }
  .proof-band > div + div { border-left:0; border-top:1px solid var(--line); }
  .feature-band,.plans-band { padding:72px 18px; }
  .final-cta { margin:0 18px 50px; padding:38px 20px; }
  .marketing-footer { margin:0 18px; padding-left:0; padding-right:0; flex-wrap:wrap; }
  .wizard-steps,.wizard-steps.four { grid-template-columns:repeat(2,1fr); }
  .public-wizard { padding:20px 16px; }
  .public-wizard .onboarding-field { margin-top:16px; padding:14px; }
  .mode-picker { grid-template-columns:1fr; }
  .theme-palette-picker { grid-template-columns:1fr; }
  .period-picker { display:grid; grid-template-columns:repeat(2,1fr); }
  .period-picker label > span { min-width:0; }
  .payment-explainer .saas-note { margin-left:0; }
  .experience-list li { grid-template-columns:1fr; gap:6px; }
  .team { flex-direction:column; text-align:center; }
  .team:last-child { flex-direction:column; text-align:center; }
  .team-match { gap:8px; }
  .footer-actions { flex-wrap:wrap; }
  .footer-actions .button { flex:1 1 auto; }
  .plan-comparison-desktop { display:none; }
  .plan-comparison-mobile { display:grid; gap:16px; }
  .comparison-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(15,36,25,.05); }
  .comparison-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:19px; border-bottom:1px solid var(--line); }
  .comparison-card > header h3 { margin:0 0 4px; color:var(--ink); font-size:22px; }
  .comparison-card > header p { margin:0; color:var(--muted); font-size:12px; }
  .comparison-card > header > span { padding:6px 8px; border-radius:999px; background:var(--ink); color:#fff; font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
  .comparison-card h4 { margin:0; padding:10px 16px; background:var(--green-soft); color:var(--green); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
  .comparison-card-row { min-height:50px; padding:10px 16px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
  .comparison-card-row > span:first-child { color:var(--ink); font-size:12px; line-height:1.35; }
  .comparison-card-row:last-child { border-bottom:0; }
  .comparison-card .comparison-status b { width:24px; height:24px; }
  .comparison-card .comparison-status span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .comparison-heading { margin-top:52px; }
}

/* Landing comercial (Dirección A · versión clara) */
@font-face { font-family:'Archivo'; font-style:italic; font-weight:400 900; font-stretch:62% 125%; font-display:swap; src:url('fonts/archivo-italic-latin.woff2') format('woff2'); }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:400 900; font-stretch:62% 125%; font-display:swap; src:url('fonts/archivo-latin.woff2') format('woff2'); }
@font-face { font-family:'Figtree'; font-style:normal; font-weight:400 800; font-display:swap; src:url('fonts/figtree-latin.woff2') format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500 700; font-display:swap; src:url('fonts/jetbrains-mono-latin.woff2') format('woff2'); }
.lqc-landing { --lq-navy:#0B1F3A; --lq-navy-2:#13305A; --lq-navy-3:#1D3A63; --lq-gold:#F7B928; --lq-cyan:#36C5F4; --lq-cyan-ink:#0879A8; --lq-bg:#F5F8FC; --lq-line:#DBE4EF; --lq-line-2:#C8D5E6; --lq-body:#2E4260; --lq-muted:#56677F; --lq-on-navy:#C3D2E4; --lq-on-navy-2:#DCE6F2; --lq-on-navy-strong:#F3F7FC; --lq-dim:#A9BCD4; --lq-soft:#EDF2F8; --lq-field:#D5E0EE; --lq-cross:#8595AB; --lq-deep:#06152A; --lq-screen:#0B2140; --lq-bezel:#020A16; --lq-gold-rgb:247,185,40; --lq-cyan-rgb:54,197,244; --lq-shadow-rgb:11,31,58; --lq-section:clamp(64px,7.6vw,110px);
  margin:0; background:var(--lq-bg); color:var(--lq-navy); font-family:'Figtree',system-ui,-apple-system,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
/* Paletas alternativas de la landing (la de marca es la predeterminada) */
.lqc-landing.palette-green { --lq-navy:#0D3B2B; --lq-navy-2:#145239; --lq-navy-3:#1F6647; --lq-gold:#F4C534; --lq-cyan:#3DD68C; --lq-cyan-ink:#00794F; --lq-bg:#F4F8F5; --lq-line:#D4E3D9; --lq-line-2:#BDD3C4; --lq-body:#28443A; --lq-muted:#587066; --lq-on-navy:#C4DBCF; --lq-on-navy-2:#DDEBE3; --lq-on-navy-strong:#F2F8F5; --lq-dim:#9FC0B0; --lq-soft:#E8F1EC; --lq-field:#D2E3D8; --lq-cross:#88A396; --lq-deep:#082519; --lq-screen:#0F3526; --lq-bezel:#03120C; --lq-gold-rgb:244,197,52; --lq-cyan-rgb:61,214,140; --lq-shadow-rgb:13,59,43; }
.lqc-landing.palette-blue { --lq-navy:#0A2A52; --lq-navy-2:#103A6E; --lq-navy-3:#1B4C87; --lq-gold:#FFC23D; --lq-cyan:#4FB3FF; --lq-cyan-ink:#075BA7; --lq-bg:#F3F7FB; --lq-line:#D2DFEB; --lq-line-2:#BCCDE0; --lq-body:#2A405C; --lq-muted:#5B6E84; --lq-on-navy:#C4D4E8; --lq-on-navy-2:#DCE7F4; --lq-on-navy-strong:#F3F7FC; --lq-dim:#A3B8D2; --lq-soft:#E8EFF7; --lq-field:#D3DFEC; --lq-cross:#8598AE; --lq-deep:#061C38; --lq-screen:#0C2C55; --lq-bezel:#020B18; --lq-gold-rgb:255,194,61; --lq-cyan-rgb:79,179,255; --lq-shadow-rgb:10,42,82; }
.lqc-landing.palette-mono { --lq-navy:#151515; --lq-navy-2:#262626; --lq-navy-3:#3A3A3A; --lq-gold:#E6E6E6; --lq-cyan:#BDBDBD; --lq-cyan-ink:#3D3D3D; --lq-bg:#F7F7F5; --lq-line:#E2E2DE; --lq-line-2:#CFCFCA; --lq-body:#333333; --lq-muted:#666666; --lq-on-navy:#CFCFCF; --lq-on-navy-2:#E4E4E4; --lq-on-navy-strong:#F5F5F5; --lq-dim:#A3A3A3; --lq-soft:#EEEEEB; --lq-field:#DEDEDA; --lq-cross:#9A9A9A; --lq-deep:#0B0B0B; --lq-screen:#1C1C1C; --lq-bezel:#050505; --lq-gold-rgb:230,230,230; --lq-cyan-rgb:189,189,189; --lq-shadow-rgb:0,0,0; }
.lqc-landing a { color:var(--lq-cyan-ink); }
.lqc-landing a:hover { color:var(--lq-navy); }
.lqc-landing h1,.lqc-landing h2,.lqc-landing h3 { font-family:'Archivo',sans-serif; font-style:italic; font-weight:900; margin:0; }
.lqc-landing ul,.lqc-landing ol,.lqc-landing dl { margin:0; padding:0; list-style:none; }
.lq-wrap { width:100%; max-width:1440px; margin-inline:auto; padding-inline:clamp(22px,8.33vw,120px); }
.lq-icon { width:18px; height:18px; flex-shrink:0; stroke-width:2.6; }
.lq-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; border-radius:12px; font-size:15px; font-weight:800; text-decoration:none; white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease; }
.lq-btn:hover { transform:translateY(-1px); }
.lq-btn .lq-icon { width:20px; height:20px; stroke-width:2.2; }
.lqc-landing .lq-btn-gold { background:var(--lq-gold); color:var(--lq-navy); }
/* En la paleta mono el acento es gris claro; los botones principales van amarillos como en las demás paletas. */
.lqc-landing.palette-mono .lq-btn-gold { background:#F7B928; color:#151515; }
.lqc-landing.palette-mono .lq-btn-gold.lq-btn-glow { box-shadow:0 10px 24px rgba(247,185,40,.35); }
.lqc-landing .lq-btn-outline { background:#fff; border:1.5px solid var(--lq-line-2); color:var(--lq-navy); }
.lqc-landing .lq-btn-navy { background:var(--lq-navy); color:#fff; }
.lq-btn-lg { padding:18px 26px; border-radius:14px; font-size:17px; }
.lq-btn-xl { padding:20px 30px; border-radius:16px; font-size:18px; }
.lq-btn-glow { box-shadow:0 10px 24px rgba(var(--lq-gold-rgb),.35); }
.lq-btn-block { width:100%; padding:16px 0; border-radius:14px; font-size:16px; }
.lq-kicker,.lq-kicker-cyan,.lq-kicker-gold,.lq-kicker-muted { display:block; font-size:13px; font-weight:800; letter-spacing:.16em; }
.lq-kicker { color:var(--lq-cyan-ink); }
.lq-kicker-cyan { color:var(--lq-cyan); }
.lq-kicker-gold { color:var(--lq-gold); letter-spacing:.12em; font-size:14px; }
.lq-kicker-muted { color:var(--lq-muted); letter-spacing:.12em; font-size:14px; }
.lq-gold-text { color:var(--lq-gold); }

/* Navegación */
.lq-nav { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:20px; height:88px; padding-inline:clamp(20px,8.33vw,120px); background:rgba(255,255,255,.96); border-bottom:1px solid var(--lq-line); backdrop-filter:blur(8px); }
.lq-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.lq-brand img { width:54px; height:56px; object-fit:contain; }
.lq-brand span { font-family:'Archivo',sans-serif; font-stretch:112%; font-weight:800; font-style:italic; font-size:19px; letter-spacing:.02em; color:var(--lq-navy); white-space:nowrap; }
.lq-nav nav { display:flex; align-items:center; gap:34px; }
.lqc-landing .lq-nav-link { color:var(--lq-body); text-decoration:none; font-size:15px; font-weight:600; white-space:nowrap; }
.lq-nav .lq-btn { font-size:15px; }
.lq-nav .lq-btn-outline { padding:12px 18px; }

/* Hero */
.lq-hero { display:grid; grid-template-columns:minmax(0,1fr) 560px; gap:64px; align-items:center; padding-top:76px; padding-bottom:92px; }
.lq-hero-copy { display:flex; flex-direction:column; gap:26px; }
.lq-pill { align-self:flex-start; display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:var(--lq-navy); color:var(--lq-gold); font-family:'Archivo',sans-serif; font-stretch:115%; font-weight:800; font-style:italic; font-size:13px; letter-spacing:.14em; }
.lq-pill i { width:8px; height:8px; border-radius:50%; background:var(--lq-cyan); }
.lq-hero h1 { font-size:clamp(44px,5.42vw,78px); line-height:.98; letter-spacing:-.015em; }
.lq-mark { -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.lq-lead { margin:0; max-width:540px; font-size:20px; line-height:1.55; color:var(--lq-body); }
.lq-hero-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.lq-small { margin:0; font-size:14px; color:var(--lq-muted); }
.lq-hero-checks { display:flex; flex-wrap:wrap; gap:12px 28px; padding-top:20px; border-top:1px solid var(--lq-line); }
.lq-hero-checks li { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:700; }
.lq-hero-checks .lq-icon { color:var(--lq-cyan-ink); }

/* Producto en vivo */
.lq-stage { position:relative; width:560px; height:620px; margin-inline:auto; }
.lq-pitch { position:absolute; inset:0; width:100%; height:100%; color:var(--lq-field); stroke:currentColor; stroke-width:2; }
.lq-pitch-narrow,.lq-short { display:none; }
.lq-table { position:absolute; left:0; top:44px; width:390px; padding:24px; border-radius:22px; background:var(--lq-navy); color:var(--lq-on-navy-strong); box-shadow:0 30px 60px rgba(var(--lq-shadow-rgb),.28); }
.lq-table-head { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:600; color:var(--lq-dim); }
.lq-live { display:inline-flex; align-items:center; gap:8px; font-weight:800; letter-spacing:.12em; color:var(--lq-cyan); }
.lq-live i { width:8px; height:8px; border-radius:50%; background:var(--lq-cyan); box-shadow:0 0 0 5px rgba(var(--lq-cyan-rgb),.2); animation:lq-pulse 1.8s ease-in-out infinite; }
@keyframes lq-pulse { 50% { box-shadow:0 0 0 8px rgba(var(--lq-cyan-rgb),.05); } }
.lq-table-title { display:block; margin-top:14px; font-family:'Archivo',sans-serif; font-weight:800; font-style:italic; font-size:26px; }
.lq-table ol { margin-top:16px; display:flex; flex-direction:column; gap:8px; }
.lq-table li { display:grid; grid-template-columns:36px minmax(0,1fr) 56px 36px; align-items:center; padding:12px 14px; border-radius:12px; font-weight:600; }
.lq-table li > span { font-family:'JetBrains Mono',monospace; font-weight:700; }
.lq-table li > span:first-child { color:var(--lq-dim); }
.lq-table li > span:nth-child(3) { text-align:right; }
.lq-table li em { font-style:normal; font-size:12px; font-weight:800; color:var(--lq-dim); text-align:right; }
.lq-table li em.up { color:var(--lq-cyan); }
.lq-table li.first { background:var(--lq-navy-2); }
.lq-table li.first > span:first-child,.lq-table li.me > span:first-child { color:var(--lq-gold); }
.lq-table li.me { padding:11px 13px; border:1px solid var(--lq-gold); background:rgba(var(--lq-gold-rgb),.1); }
.lq-table li b { font-weight:700; white-space:nowrap; }
.lq-table small { display:block; margin-top:16px; font-size:12px; color:var(--lq-dim); }
.lq-phone { position:absolute; right:0; top:0; width:260px; height:540px; padding:10px; border-radius:40px; background:var(--lq-bezel); box-shadow:0 40px 80px rgba(var(--lq-shadow-rgb),.35); }
.lq-phone-screen { height:100%; padding:26px 16px 16px; border-radius:31px; background:var(--lq-screen); color:var(--lq-on-navy-strong); display:flex; flex-direction:column; gap:12px; }
.lq-phone-kicker { font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--lq-dim); }
.lq-phone-title { font-family:'Archivo',sans-serif; font-weight:800; font-style:italic; font-size:21px; }
.lq-progress { height:6px; border-radius:99px; background:var(--lq-navy-3); }
.lq-progress span { display:block; width:78%; height:100%; border-radius:99px; background:var(--lq-cyan); }
.lq-phone-muted { font-size:11px; color:var(--lq-dim); }
.lq-match { padding:12px; border-radius:16px; background:var(--lq-navy-2); display:flex; flex-direction:column; gap:10px; }
.lq-match > div { display:flex; justify-content:space-between; font-size:12px; font-weight:700; }
.lq-match > div.center { justify-content:center; }
.lq-match p { margin:0; display:flex; justify-content:center; align-items:center; gap:12px; }
.lq-match p b { width:44px; height:40px; border-radius:10px; background:var(--lq-deep); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:20px; }
.lq-match p i { font-style:normal; color:var(--lq-dim); }
.lq-match .lq-pick { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.lq-pick span { padding:9px 0; border-radius:10px; background:var(--lq-deep); color:var(--lq-dim); font-size:12px; font-weight:700; text-align:center; }
.lq-pick span.on { background:var(--lq-gold); color:var(--lq-navy); font-weight:800; }
.lq-phone-save { margin-top:auto; padding:13px 0; border-radius:14px; background:var(--lq-cyan); color:var(--lq-navy); font-size:14px; font-weight:800; text-align:center; }
.lq-toast { position:absolute; left:0; top:486px; width:336px; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid var(--lq-line); display:flex; gap:14px; align-items:center; box-shadow:0 24px 50px rgba(var(--lq-shadow-rgb),.18); }
.lq-toast-icon { flex-shrink:0; width:40px; height:40px; border-radius:12px; background:var(--lq-navy); color:var(--lq-cyan); display:flex; align-items:center; justify-content:center; }
.lq-toast-icon .lq-icon { width:20px; height:20px; stroke-width:2; }
.lq-toast > span:last-child { display:flex; flex-direction:column; gap:3px; }
.lq-toast b { font-size:14px; }
.lq-toast small { font-size:13px; color:var(--lq-muted); }
.lq-paid { position:absolute; right:26px; top:566px; padding:12px 16px; border-radius:14px; background:var(--lq-gold); color:var(--lq-navy); display:flex; gap:10px; align-items:center; font-size:13px; font-weight:800; box-shadow:0 18px 36px rgba(var(--lq-shadow-rgb),.2); }

/* Ligas */
.lq-leagues { background:#fff; border-block:1px solid var(--lq-line); }
.lq-leagues .lq-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:30px; }
.lq-leagues ul { display:flex; align-items:center; justify-content:space-between; flex:1; gap:24px; max-width:980px; }
.lq-leagues li { display:flex; align-items:center; gap:24px; font-family:'Archivo',sans-serif; font-weight:800; font-style:italic; font-stretch:110%; font-size:26px; white-space:nowrap; }
.lq-leagues li + li::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--lq-gold); margin-right:24px; }
.lq-leagues li + li { gap:0; }

/* Secciones */
.lq-section { padding-block:var(--lq-section); display:flex; flex-direction:column; gap:56px; }
.lq-section.lq-white,.lq-section.lq-navy { display:block; }
.lq-section.lq-white > .lq-wrap,.lq-section.lq-navy > .lq-wrap { display:flex; flex-direction:column; gap:56px; }
.lq-section.lq-white > .lq-wrap.lq-faq { display:grid; }
.lq-white { background:#fff; border-block:1px solid var(--lq-line); }
.lq-navy { background:var(--lq-navy); color:var(--lq-on-navy-strong); }
.lq-heading { display:flex; flex-direction:column; gap:16px; }
.lq-heading.center { align-items:center; text-align:center; }
.lq-heading.narrow { max-width:860px; }
.lq-heading h2 { font-size:clamp(34px,3.9vw,56px); line-height:1.02; letter-spacing:-.01em; max-width:820px; }
.lq-heading p { margin:0; max-width:620px; font-size:18px; line-height:1.55; color:var(--lq-muted); }
.lq-heading.split { flex-direction:row; justify-content:space-between; align-items:flex-end; gap:40px; }
.lq-heading.split > div { display:flex; flex-direction:column; gap:16px; }
.lq-heading.split h2 { max-width:none; }

/* Antes y después */
.lq-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.lq-before,.lq-after { padding:40px; border-radius:24px; display:flex; flex-direction:column; gap:22px; }
.lq-before { background:var(--lq-soft); }
.lq-after { background:var(--lq-navy); color:var(--lq-on-navy-strong); box-shadow:0 24px 50px rgba(var(--lq-shadow-rgb),.2); }
.lq-compare ul { display:flex; flex-direction:column; gap:18px; }
.lq-compare li { display:flex; gap:14px; align-items:center; font-size:18px; line-height:1.35; }
.lq-before li { color:var(--lq-body); }
.lq-after li { font-weight:600; }
.lq-compare .lq-icon { width:22px; height:22px; }
.lq-before .lq-icon { color:var(--lq-cross); stroke-width:2.2; }
.lq-after .lq-icon { color:var(--lq-cyan); stroke-width:2.4; }

/* Pasos */
.lq-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lq-steps li { padding:36px; border-radius:24px; background:var(--lq-bg); border:1px solid var(--lq-line); display:flex; flex-direction:column; gap:16px; }
.lq-step-num { align-self:flex-start; font-family:'Archivo',sans-serif; font-weight:900; font-style:italic; font-size:60px; line-height:1; border-bottom:6px solid var(--lq-gold); }
.lq-steps b { font-size:22px; }
.lq-steps p { margin:0; font-size:17px; line-height:1.55; color:var(--lq-muted); }
.lq-steps-cta { padding:16px 22px; border-radius:14px; font-size:16px; }
.lq-steps-cta-mobile { display:none; }

/* Funciones */
.lq-navy .lq-heading h2 { color:var(--lq-on-navy-strong); }
.lq-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lq-features article { padding:32px; border-radius:22px; background:var(--lq-navy-2); display:flex; flex-direction:column; gap:14px; }
.lq-feature-icon { width:52px; height:52px; border-radius:16px; background:var(--lq-navy); color:var(--lq-cyan); display:flex; align-items:center; justify-content:center; }
.lq-feature-icon .lq-icon { width:26px; height:26px; stroke-width:1.9; }
.lq-features b { font-size:21px; }
.lq-features p { margin:0; font-size:16px; line-height:1.55; color:var(--lq-on-navy); }
.lq-tag { align-self:flex-start; padding:5px 10px; border-radius:8px; color:var(--lq-navy); font-size:12px; font-weight:800; }
.lq-tag.gold { background:var(--lq-gold); }
.lq-tag.cyan { background:var(--lq-cyan); }

/* Testimonio */
.lq-testimonial-band { background:#fff; border-bottom:1px solid var(--lq-line); padding-block:clamp(56px,6.25vw,90px); }
.lq-testimonial { margin-block:0; display:flex; gap:40px; align-items:center; }
.lq-quote-mark { font-family:'Archivo',sans-serif; font-weight:900; font-style:italic; font-size:120px; line-height:.8; color:var(--lq-gold); }
.lq-testimonial blockquote { margin:0 0 16px; font-family:'Archivo',sans-serif; font-weight:700; font-style:italic; font-size:clamp(22px,2.2vw,32px); line-height:1.25; }
.lq-testimonial figcaption { font-size:16px; font-weight:700; color:var(--lq-muted); }

/* Planes */
.lq-plans { gap:48px; }
.lq-period { margin-top:8px; display:flex; gap:4px; padding:5px; border-radius:14px; background:#fff; border:1px solid var(--lq-line); }
.lq-period button { padding:11px 22px; border:0; border-radius:10px; background:transparent; color:var(--lq-body); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.lq-period button[aria-pressed="true"] { background:var(--lq-navy); color:#fff; font-weight:800; }
.lq-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.lq-plan { position:relative; padding:40px 36px; border-radius:26px; background:#fff; border:1px solid var(--lq-line); display:flex; flex-direction:column; gap:22px; }
.lq-plan.featured { background:var(--lq-navy); border-color:var(--lq-navy); color:var(--lq-on-navy-strong); box-shadow:0 30px 60px rgba(var(--lq-shadow-rgb),.25); }
.lq-plan-badge { position:absolute; top:-16px; left:36px; padding:7px 14px; border-radius:999px; background:var(--lq-gold); color:var(--lq-navy); font-size:12px; font-weight:900; letter-spacing:.12em; }
.lq-plan-head { display:flex; flex-direction:column; gap:8px; }
.lq-plan h3 { font-size:30px; }
.lq-plan-head p { margin:0; min-height:2.8em; font-size:16px; line-height:1.4; color:var(--lq-muted); }
.lq-plan.featured .lq-plan-head p,.lq-plan.featured .lq-price span,.lq-plan.featured .lq-price-note { color:var(--lq-on-navy); }
.lq-price { display:flex; align-items:baseline; gap:6px; }
.lq-price strong { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(48px,4.45vw,64px); line-height:1; }
.lq-plan.featured .lq-price strong { color:var(--lq-gold); }
.lq-price span { font-size:17px; color:var(--lq-muted); }
.lq-price-note { margin:-8px 0 0; font-size:14px; color:var(--lq-muted); }
.lq-plans [data-period-show="annual"] { display:none; }
.lq-plans[data-period="annual"] [data-period-show="annual"] { display:flex; }
.lq-plans[data-period="annual"] p[data-period-show="annual"] { display:block; }
.lq-plans[data-period="annual"] [data-period-show="monthly"] { display:none; }
.lq-plan-features { display:flex; flex-direction:column; gap:14px; padding-top:22px; border-top:1px solid var(--lq-line); font-size:16px; color:var(--lq-body); }
.lq-plan.featured .lq-plan-features { border-top-color:var(--lq-navy-3); color:var(--lq-on-navy-2); }
.lq-plan-features li { display:flex; gap:10px; align-items:flex-start; line-height:1.35; }
.lq-plan-features .lq-icon { width:20px; height:20px; color:var(--lq-cyan-ink); }
.lq-plan.featured .lq-plan-features .lq-icon { color:var(--lq-gold); }
.lq-plans-foot { margin:0; text-align:center; font-size:16px; color:var(--lq-muted); }
.lq-plans-foot a { font-weight:700; }

/* Preguntas */
.lq-faq { display:grid; grid-template-columns:380px minmax(0,1fr); gap:80px; }
.lq-faq h2 { font-size:clamp(34px,3.6vw,52px); }
.lq-faq .lq-heading p { font-size:17px; }
.lq-faq dl > div { padding:26px 0; border-bottom:1px solid var(--lq-line); display:flex; flex-direction:column; gap:10px; }
.lq-faq dl > div:first-child { padding-top:0; }
.lq-faq dl > div:last-child { border-bottom:0; }
.lq-faq dt { font-size:20px; font-weight:700; }
.lq-faq dd { margin:0; font-size:16px; line-height:1.55; color:var(--lq-muted); }

/* Llamada final y pie */
.lq-final { padding-block:clamp(56px,6.25vw,90px); }
.lq-final-card { position:relative; overflow:hidden; padding:72px 80px; border-radius:32px; background:var(--lq-navy); color:var(--lq-on-navy-strong); display:flex; justify-content:space-between; align-items:center; gap:48px; }
.lq-final-rings { position:absolute; right:-80px; top:-120px; width:420px; height:420px; stroke:var(--lq-navy-3); stroke-width:2; }
.lq-final-card > div,.lq-final-card > a { position:relative; }
.lq-final-card > div { display:flex; flex-direction:column; gap:14px; }
.lq-final h2 { font-size:clamp(36px,4.2vw,60px); line-height:1; letter-spacing:-.01em; }
.lq-final p { margin:0; font-size:19px; color:var(--lq-on-navy); }
.lq-final-card .lq-btn { flex-shrink:0; }
.lq-footer { background:#fff; border-top:1px solid var(--lq-line); color:var(--lq-muted); font-size:14px; }
.lq-footer .lq-wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:36px; padding-bottom:44px; }
.lq-footer-brand { display:flex; align-items:center; gap:16px; }
.lq-footer-brand img { width:40px; height:42px; object-fit:contain; }
.lq-footer-brand b { color:var(--lq-navy); font-size:15px; }
.lq-footer nav { display:flex; gap:16px; flex-wrap:wrap; }
.lqc-landing .lq-footer nav a { color:var(--lq-body); text-decoration:none; }

@media (max-width:1180px) {
  .lq-nav nav { gap:22px; }
  .lq-leagues li { font-size:22px; }
  .lq-leagues li + li::before { margin-right:16px; }
}
@media (max-width:1100px) {
  .lq-hero { grid-template-columns:minmax(0,1fr); gap:56px; }
  .lq-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lq-plan-grid { grid-template-columns:1fr; max-width:560px; margin-inline:auto; width:100%; }
  .lq-plan.featured { order:-1; }
  .lq-plan-head p { min-height:0; }
  .lq-faq { grid-template-columns:1fr; gap:24px; }
  .lq-final-card { flex-direction:column; align-items:flex-start; padding:56px; }
  .lq-leagues .lq-wrap { flex-direction:column; align-items:flex-start; gap:14px; }
  .lq-leagues ul { width:100%; max-width:none; }
}
@media (max-width:1080px) {
  .lq-nav-link { display:none; }
}
@media (max-width:900px) {
  .lq-nav-login { display:none; }
}
@media (max-width:760px) {
  .lq-nav { height:68px; }
  .lq-brand { gap:8px; }
  .lq-brand img { width:40px; height:42px; }
  .lq-brand span { font-size:14px; font-stretch:100%; }
  .lq-nav .lq-btn { padding:12px 14px; font-size:14px; }
  .lq-heading.center { align-items:flex-start; text-align:left; }
  .lq-pitch-wide,.lq-long { display:none; }
  .lq-pitch-narrow { display:block; height:500px; }
  .lq-short { display:inline; }
  .lq-plan-head p { min-height:0; }
  .lq-hero { padding-top:34px; padding-bottom:44px; gap:10px; }
  .lq-hero-copy { gap:22px; }
  .lq-pill { font-size:12px; padding:7px 12px; gap:8px; }
  .lq-lead { font-size:17px; }
  .lq-hero-actions { flex-direction:column; align-items:stretch; }
  .lq-hero-actions .lq-btn { padding-block:17px; }
  .lq-hero-checks { flex-direction:column; gap:10px; padding-top:16px; }
  .lq-stage { width:346px; height:540px; margin-top:10px; }
  .lq-table { display:none; }
  .lq-phone { left:53px; right:auto; width:240px; height:470px; padding:9px; border-radius:36px; }
  .lq-phone-screen { padding:22px 14px 14px; border-radius:28px; gap:10px; }
  .lq-match { padding:10px; border-radius:14px; gap:8px; }
  .lq-match p b { width:40px; height:36px; font-size:18px; }
  .lq-phone-save { font-size:13px; padding:12px 0; }
  .lq-toast { top:404px; width:300px; padding:14px 16px; gap:12px; border-radius:16px; }
  .lq-toast-icon { width:36px; height:36px; }
  .lq-paid { right:0; top:486px; padding:10px 14px; font-size:12px; }
  .lq-leagues .lq-wrap { padding-block:26px; }
  .lq-leagues ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .lq-leagues li { font-size:20px; white-space:normal; }
  .lq-leagues li + li::before { display:none; }
  .lq-section,.lq-section.lq-white > .lq-wrap,.lq-section.lq-navy > .lq-wrap { gap:28px; }
  .lq-heading p { font-size:16px; }
  .lq-heading.split { flex-direction:column; align-items:flex-start; }
  .lq-steps-cta { display:none; }
  .lq-steps-cta-mobile { display:flex; padding:17px 0; border-radius:14px; font-size:16px; }
  .lq-compare,.lq-steps,.lq-features { grid-template-columns:1fr; gap:16px; }
  .lq-before,.lq-after { padding:28px 24px; border-radius:22px; gap:16px; }
  .lq-compare ul { gap:14px; }
  .lq-compare li { font-size:16px; align-items:flex-start; }
  .lq-steps li { padding:24px; border-radius:22px; gap:10px; }
  .lq-step-num { font-size:42px; border-bottom-width:5px; }
  .lq-steps b { font-size:19px; }
  .lq-steps p { font-size:15px; }
  .lq-features article { padding:22px; border-radius:20px; gap:10px; }
  .lq-feature-icon { width:44px; height:44px; border-radius:13px; }
  .lq-features b { font-size:19px; }
  .lq-features p { font-size:15px; }
  .lq-tag { font-size:11px; }
  .lq-testimonial { flex-direction:column; align-items:flex-start; gap:12px; padding:30px 26px; border-radius:22px; }
  .lq-quote-mark { font-size:80px; }
  .lq-plans { gap:26px; }
  .lq-period { width:100%; }
  .lq-period button { flex:1; padding:12px 6px; font-size:14px; }
  .lq-plan { padding:30px 26px; border-radius:24px; gap:18px; }
  .lq-plan.featured { margin-top:6px; padding-top:34px; }
  .lq-plan-badge { top:-14px; left:26px; font-size:11px; padding:6px 12px; }
  .lq-plan h3 { font-size:26px; }
  .lq-plan-features { font-size:15px; gap:12px; padding-top:18px; }
  .lq-faq dl > div { padding:20px 0; gap:8px; }
  .lq-faq dt { font-size:17px; }
  .lq-faq dd { font-size:15px; }
  .lq-final-card { padding:40px 28px; border-radius:26px; gap:16px; }
  .lq-final p { font-size:16px; }
  .lq-final-card .lq-btn { width:100%; margin-top:8px; padding:18px 0; font-size:17px; }
  .lq-footer .lq-wrap { flex-direction:column; align-items:flex-start; padding-top:30px; padding-bottom:40px; }
}
@media (max-width:389px) {
  .lq-stage { left:50%; margin-inline:0; transform:translateX(-50%) scale(.88); transform-origin:top center; margin-bottom:-65px; }
  .lq-brand span { display:none; }
}

/* Animaciones de la landing */
.lq-mark { background:linear-gradient(transparent 60%,var(--lq-gold) 60%,var(--lq-gold) 92%,transparent 92%) no-repeat 0 0 / 100% 100%; animation:lq-underline .9s cubic-bezier(.65,0,.35,1) .35s both; }
@keyframes lq-underline { from { background-size:0 100%; } }
.lq-table { animation:lq-rise .7s cubic-bezier(.2,.8,.2,1) .15s both; }
.lq-phone { animation:lq-rise .8s cubic-bezier(.2,.8,.2,1) .3s both; }
.lq-toast { animation:lq-slide-in .6s cubic-bezier(.2,.9,.3,1.15) 1.1s both; }
.lq-paid { animation:lq-pop .5s cubic-bezier(.3,1.6,.5,1) 1.8s both; }
@keyframes lq-rise { from { opacity:0; transform:translateY(24px); } }
@keyframes lq-slide-in { from { opacity:0; transform:translate(-28px,10px); } }
@keyframes lq-pop { from { opacity:0; transform:scale(.6); } }
.lq-table li { position:relative; transition:background-color .4s ease, border-color .4s ease; }
.lq-table li.moving { transition:transform .6s cubic-bezier(.2,.8,.2,1), background-color .4s ease; }
.lq-gain { display:inline-block; margin-left:8px; padding:2px 7px; border-radius:99px; background:var(--lq-cyan); color:var(--lq-navy); font-family:'JetBrains Mono',monospace; font-size:11px; font-style:normal; font-weight:700; vertical-align:1px; animation:lq-gain 1.6s ease forwards; }
@keyframes lq-gain { 0% { opacity:0; transform:translateY(6px) scale(.8); } 20%,70% { opacity:1; transform:none; } 100% { opacity:0; transform:translateY(-8px); } }
.lq-table li em.flash { animation:lq-flash 1.2s ease; }
@keyframes lq-flash { 0%,100% { opacity:1; } 25%,75% { opacity:.25; } 50% { opacity:1; } }
.lq-js [data-reveal] { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); transition-delay:calc(var(--d,0) * 90ms); }
.lq-js [data-reveal].is-visible { opacity:1; transform:none; }
@media (hover:hover) {
  .lq-steps li,.lq-features article,.lq-plan,.lq-before,.lq-after { transition:transform .25s ease, box-shadow .25s ease, opacity .7s ease; }
  .lq-steps li:hover,.lq-plan:hover,.lq-before:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(var(--lq-shadow-rgb),.1); }
  .lq-features article:hover,.lq-after:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.25); }
  .lq-plan.featured:hover { box-shadow:0 36px 70px rgba(var(--lq-shadow-rgb),.32); }
  .lqc-landing .lq-btn-gold { position:relative; overflow:hidden; isolation:isolate; }
  .lqc-landing .lq-btn-gold::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%); transform:translateX(-120%); }
  .lqc-landing .lq-btn-gold:hover::after { transform:translateX(120%); transition:transform .7s ease; }
  .lqc-landing .lq-btn-gold:hover { box-shadow:0 12px 28px rgba(var(--lq-gold-rgb),.45); }
}
@media (prefers-reduced-motion:reduce) {
  .lq-live i { animation:none; }
  .lq-btn { transition:none; }
  .lq-mark,.lq-table,.lq-phone,.lq-toast,.lq-paid { animation:none; }
  .lq-js [data-reveal] { opacity:1; transform:none; transition:none; }
  .lq-steps li,.lq-features article,.lq-plan,.lq-before,.lq-after { transition:none; }
  .lqc-landing .lq-btn-gold:hover::after { transition:none; }
}

/* Comparativa breve de planes */
.lq-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.lq-compare-table { width:100%; max-width:920px; margin-inline:auto; }
.lq-compare-table h3 { margin:0 0 18px; font-size:26px; text-align:center; }
.lq-compare-table table { width:100%; min-width:0; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--lq-line); border-radius:20px; overflow:hidden; }
.lq-compare-table th,.lq-compare-table td { padding:14px 18px; border-bottom:1px solid var(--lq-line); font-size:15px; text-transform:none; background:transparent; color:var(--lq-body); }
.lq-compare-table tr:last-child th,.lq-compare-table tr:last-child td { border-bottom:0; }
.lq-compare-table thead th { font-family:'Archivo',sans-serif; font-style:italic; font-weight:900; font-size:18px; color:var(--lq-navy); text-align:center; }
.lq-compare-table tbody th { font-weight:600; text-align:left; }
.lq-compare-table td { width:17%; text-align:center; }
.lq-compare-table td b { font-family:'JetBrains Mono',monospace; font-weight:700; color:var(--lq-navy); }
.lq-compare-table .featured { background:rgba(var(--lq-gold-rgb),.12); }
.lq-compare-table thead th.featured { background:var(--lq-navy); color:var(--lq-gold); }
.lq-compare-table .lq-icon { width:20px; height:20px; color:var(--lq-cyan-ink); vertical-align:middle; }
.lq-dash { color:var(--lq-cross); font-weight:700; }
@media (max-width:760px) {
  .lq-compare-table h3 { font-size:22px; text-align:left; }
  .lq-compare-table th,.lq-compare-table td { padding:12px 8px; font-size:13px; }
  .lq-compare-table tbody th { padding-left:14px; }
  .lq-compare-table thead th { font-size:14px; }
  .lq-compare-table td { width:19%; }
}

/* Registro (empezar.php) con el estilo de la landing */
.lq-signup .lq-nav { position:static; }
.lq-signup label { color:inherit; font-size:inherit; font-weight:inherit; text-transform:none; }
.lqc-landing .lq-signup-back { color:var(--lq-body); font-weight:700; text-decoration:none; }
.lq-signup-shell { padding-top:clamp(28px,4vw,56px); padding-bottom:80px; }
.lq-signup-head { max-width:720px; margin-bottom:26px; }
.lq-signup-head h1 { font-size:clamp(36px,4vw,56px); line-height:1; letter-spacing:-.01em; }
.lq-signup-head p { margin:12px 0 0; font-size:17px; color:var(--lq-muted); }
.lq-alert { margin-bottom:20px; padding:14px 18px; border-radius:14px; border:1px solid #F4B8B2; background:#FFF3F1; color:#9B1C12; font-weight:600; }
.lq-signup-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; align-items:start; }
.lq-signup-card { padding:clamp(22px,3vw,36px); border-radius:24px; background:#fff; border:1px solid var(--lq-line); box-shadow:0 20px 50px rgba(var(--lq-shadow-rgb),.06); }
.lq-signup-card fieldset { margin:0; padding:0; border:0; min-width:0; display:flex; flex-direction:column; gap:22px; }
.lq-signup-card fieldset[hidden] { display:none; }
.lq-stepper { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 28px !important; }
.lq-stepper li { display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:4px solid var(--lq-line); color:var(--lq-muted); font-weight:700; font-size:15px; }
.lq-stepper li span { width:28px; height:28px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; background:var(--lq-soft); font-family:'JetBrains Mono',monospace; font-size:13px; }
.lq-stepper li.active { color:var(--lq-navy); border-color:var(--lq-gold); }
.lq-stepper li.active span { background:var(--lq-navy); color:#fff; }
.lq-stepper li.done { color:var(--lq-navy); border-color:var(--lq-navy); }
.lq-stepper li.done span { background:var(--lq-gold); color:var(--lq-navy); }
.lq-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.lq-field label,.lq-label { font-weight:700; font-size:15px; color:var(--lq-navy); }
.lq-field label em,.lq-details summary em { font-style:normal; font-weight:500; color:var(--lq-muted); }
.lq-field small { color:var(--lq-muted); font-size:13px; line-height:1.45; }
.lq-field input:not([type=radio]):not([type=file]) { width:100%; padding:14px 16px; border:1.5px solid var(--lq-line-2); border-radius:12px; background:#fff; color:var(--lq-navy); font:inherit; font-size:16px; }
.lq-field input:focus-visible,.lq-chip:focus-visible,.lq-swatch input:focus-visible + span,.lq-mode input:focus-visible + span,.lq-plan-option input:focus-visible + span,.lq-period input:focus-visible + span { outline:3px solid rgba(var(--lq-cyan-rgb),.45); outline-offset:2px; }
.lq-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lq-chips { display:flex; flex-wrap:wrap; gap:8px; }
.lq-chips p { margin:0; color:var(--lq-muted); font-size:14px; }
.lq-chips .lq-chips-warning { width:100%; color:#9B1C12; font-weight:600; }
.lq-chip { padding:9px 13px; border:1.5px solid var(--lq-line-2); border-radius:999px; background:#fff; color:var(--lq-navy); font:inherit; font-size:14px; cursor:pointer; }
.lq-chip span { color:var(--lq-muted); }
.lq-chip.selected { border-color:var(--lq-navy); background:var(--lq-navy); color:#fff; }
.lq-chip.selected span { color:var(--lq-on-navy); }
.lq-swatches { display:flex; flex-wrap:wrap; gap:10px; }
.lq-swatch,.lq-mode,.lq-plan-option,.lq-signup-period label { position:relative; cursor:pointer; }
.lq-swatch input,.lq-mode input,.lq-plan-option input,.lq-signup-period input { position:absolute; opacity:0; pointer-events:none; }
.lq-swatch span { display:flex; align-items:center; gap:8px; padding:9px 14px 9px 10px; border:1.5px solid var(--lq-line-2); border-radius:999px; font-weight:600; font-size:14px; }
.lq-swatch i { width:22px; height:22px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.lq-swatch input:checked + span { border-color:var(--lq-navy); box-shadow:0 0 0 3px rgba(var(--lq-gold-rgb),.45); }
.lq-file { position:relative; display:flex; align-items:center; gap:12px; padding:8px; border:1.5px dashed var(--lq-line-2); border-radius:12px; cursor:pointer; }
.lq-file input { position:absolute; left:0; top:0; opacity:0; width:1px; height:1px; }
.lq-file:focus-within { outline:3px solid rgba(var(--lq-cyan-rgb),.45); outline-offset:2px; }
.lq-file-button { padding:9px 14px; border-radius:9px; background:var(--lq-soft); color:var(--lq-navy); font-weight:700; font-size:14px; white-space:nowrap; }
.lq-file-name { color:var(--lq-muted); font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lq-modes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lq-mode span { display:flex; flex-direction:column; gap:4px; height:100%; padding:16px 18px; border:1.5px solid var(--lq-line-2); border-radius:16px; }
.lq-mode b { font-size:17px; }
.lq-mode small { color:var(--lq-muted); font-size:14px; line-height:1.4; }
.lq-mode input:checked + span { border-color:var(--lq-navy); background:var(--lq-navy); color:#fff; }
.lq-mode input:checked + span small { color:var(--lq-on-navy); }
.lq-signup-period { margin:0; align-self:flex-start; }
.lq-signup-period span { display:block; padding:10px 20px; border-radius:10px; color:var(--lq-body); font-weight:700; font-size:15px; }
.lq-signup-period input:checked + span { background:var(--lq-navy); color:#fff; font-weight:800; }
.lq-signup-period[hidden],#trial-plan-note[hidden] { display:none; }
.lq-plan-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lq-plan-option > span { position:relative; display:flex; flex-direction:column; gap:6px; height:100%; padding:18px; border:1.5px solid var(--lq-line-2); border-radius:16px; }
.lq-plan-option b { font-family:'Archivo',sans-serif; font-style:italic; font-weight:900; font-size:20px; }
.lq-plan-option strong { font-family:'Archivo',sans-serif; font-weight:900; font-size:28px; line-height:1.1; }
.lq-plan-option strong small { font-family:'Figtree',sans-serif; font-weight:600; font-size:14px; color:var(--lq-muted); margin-left:3px; }
.lq-plan-option > span > small { color:var(--lq-muted); font-size:13px; }
.lq-plan-option-badge { position:absolute; top:-11px; right:14px; padding:3px 9px; border-radius:99px; background:var(--lq-gold); color:var(--lq-navy); font-style:normal; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.lq-plan-option input:checked + span { border-color:var(--lq-navy); box-shadow:0 0 0 3px rgba(var(--lq-gold-rgb),.45); background:rgba(var(--lq-gold-rgb),.07); }
.lq-signup [data-price="annual"],.lq-signup form[data-period="annual"] [data-price="monthly"] { display:none; }
.lq-signup form[data-period="annual"] [data-price="annual"] { display:inline; }
.lq-details { border:1px solid var(--lq-line); border-radius:14px; background:var(--lq-bg); }
.lq-details[hidden] { display:none; }
.lq-details summary { padding:14px 18px; font-weight:700; cursor:pointer; list-style-position:inside; }
.lq-details[open] summary { border-bottom:1px solid var(--lq-line); }
.lq-details > :not(summary) { margin:16px 18px; }
.lq-details .lq-compare-table { width:auto; max-width:none; }
.lq-signup-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:28px; padding-top:22px; border-top:1px solid var(--lq-line); }
.lq-signup-actions button { border:0; font:inherit; font-size:16px; font-weight:800; padding:15px 24px; cursor:pointer; }
.lq-signup-actions .lq-btn-outline { border:1.5px solid var(--lq-line-2); margin-right:auto; }
.lq-signup-actions button:disabled { opacity:.6; cursor:progress; }
.lq-summary { position:sticky; top:24px; padding:24px; border-radius:22px; background:var(--lq-navy); color:var(--lq-on-navy-strong); display:flex; flex-direction:column; gap:16px; }
.lq-summary .lq-kicker-muted { color:var(--lq-gold); }
.lq-summary dl { display:flex; flex-direction:column; gap:10px; }
.lq-summary dl div { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.lq-summary dt { color:var(--lq-dim); }
.lq-summary dd { margin:0; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.lq-summary-total { margin:0; padding-top:16px; border-top:1px solid var(--lq-navy-3); display:grid; gap:2px; }
.lq-summary-total span { color:var(--lq-dim); font-size:14px; }
.lq-summary-total strong { font-family:'Archivo',sans-serif; font-weight:900; font-size:40px; color:var(--lq-gold); line-height:1.1; }
.lq-summary-total small { color:var(--lq-on-navy); font-size:13px; }
.lq-summary .lq-small { color:var(--lq-on-navy); font-size:13px; }
.lqc-landing .lq-summary a { color:var(--lq-gold); }
.lq-status { max-width:640px; margin:0 auto; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.lq-status h1 { font-size:clamp(32px,3.6vw,48px); line-height:1.05; }
.lq-status-line { display:flex; align-items:center; gap:12px; }
.lq-status-line p { margin:0; font-size:17px; color:var(--lq-body); }
.lq-status-pulse { width:12px; height:12px; flex-shrink:0; border-radius:50%; background:var(--lq-cyan); box-shadow:0 0 0 6px rgba(var(--lq-cyan-rgb),.2); animation:lq-pulse 1.8s ease-in-out infinite; }
.lq-status[data-state="ready"] .lq-status-pulse { display:none; }
.lq-status[data-state="ready"] .lq-status-line p { font-weight:700; }
@media (max-width:980px) {
  .lq-signup-grid { grid-template-columns:1fr; }
  .lq-summary { position:static; }
}
@media (max-width:640px) {
  .lq-stepper li { flex-direction:column; align-items:flex-start; gap:6px; font-size:13px; }
  .lq-modes,.lq-plan-picker,.lq-field-row { grid-template-columns:1fr; }
  .lq-plan-option > span { flex-direction:row; flex-wrap:wrap; align-items:baseline; column-gap:12px; }
  .lq-plan-option strong { font-size:24px; margin-left:auto; }
  .lq-plan-option > span > small { width:100%; }
  .lq-signup-actions button { flex:1; padding-inline:12px; }
  .lq-signup-actions .lq-btn-outline { flex:0 0 auto; }
  .lq-signup-period { align-self:stretch; }
  .lq-signup-period label { flex:1; text-align:center; }
}
.lq-branding { display:flex; flex-direction:column; gap:18px; padding:18px; border:1px solid var(--lq-line); border-radius:16px; }
.lq-branding[hidden] { display:none; }
.lq-branding-title { margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.lq-branding-title span { padding:3px 9px; border-radius:99px; background:rgba(var(--lq-gold-rgb),.25); color:var(--lq-navy); font-size:12px; font-weight:800; }

/* Administración (admin.php) con el estilo de la landing */
.lq-admin { min-height:100vh; }
.lq-admin label { color:inherit; font-size:inherit; font-weight:inherit; text-transform:none; }
.lq-admin .la-icon { width:20px; height:20px; flex-shrink:0; }
.lq-admin .lq-btn { border:0; font:inherit; font-size:15px; font-weight:800; cursor:pointer; }
.lq-admin .lq-btn-outline { border:1.5px solid var(--lq-line-2); }
.lqc-landing.lq-admin .la-btn-danger { background:#fff; border:1.5px solid #F1B5AE; color:#B42318; }
.la-btn-block { width:100%; padding:15px 20px; }
.la-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.la-muted { margin:0; color:var(--lq-muted); font-size:14px; line-height:1.5; }
.la-danger-text { color:#B42318; }
.la-sidebar { position:fixed; inset:0 auto 0 0; width:252px; padding:22px 16px; background:var(--lq-navy); color:var(--lq-on-navy-strong); display:flex; flex-direction:column; gap:26px; z-index:30; }
.la-brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; padding:0 6px; }
.la-brand img { width:40px; height:41px; object-fit:contain; }
.la-brand span { font-family:'Archivo',sans-serif; font-style:italic; font-weight:800; font-size:14px; letter-spacing:.02em; line-height:1.15; }
.la-brand small { display:block; font-family:'Figtree',sans-serif; font-style:normal; font-weight:600; font-size:12px; color:var(--lq-dim); letter-spacing:0; }
.la-nav { display:flex; flex-direction:column; gap:4px; }
.lqc-landing .la-nav a { display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:12px; color:var(--lq-on-navy); text-decoration:none; font-weight:700; font-size:15px; }
.lqc-landing .la-nav a:hover { background:var(--lq-navy-2); color:#fff; }
.lqc-landing .la-nav a.active { background:var(--lq-navy-2); color:#fff; box-shadow:inset 3px 0 0 var(--lq-gold); }
.la-nav em,.la-tabbar em { margin-left:auto; min-width:22px; padding:2px 7px; border-radius:99px; background:var(--lq-gold); color:var(--lq-navy); font-style:normal; font-size:12px; font-weight:900; text-align:center; }
.la-user { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border-radius:14px; background:var(--lq-navy-2); font-weight:700; font-size:14px; }
.la-user small { display:block; color:var(--lq-dim); font-weight:600; font-size:12px; }
.lqc-landing .la-user a { color:var(--lq-on-navy); display:grid; place-items:center; width:36px; height:36px; border-radius:10px; }
.lqc-landing .la-user a:hover { background:var(--lq-navy-3); color:#fff; }
.la-main { margin-left:252px; padding:34px clamp(20px,4vw,48px) 60px; max-width:1180px; display:flex; flex-direction:column; gap:20px; }
.la-header { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.la-header h1 { font-size:clamp(30px,3.4vw,44px); line-height:1.05; margin-top:6px; }
.la-mobile-logout { display:none; }
.la-alert { display:flex; align-items:center; gap:10px; padding:13px 16px; border-radius:14px; font-weight:700; font-size:15px; }
.la-alert.ok { background:#E8F7EE; border:1px solid #B7E4C7; color:#1C6B3A; }
.la-alert.error { background:#FFF3F1; border:1px solid #F4B8B2; color:#9B1C12; }
.la-card { padding:clamp(18px,2.4vw,26px); border-radius:20px; background:#fff; border:1px solid var(--lq-line); display:flex; flex-direction:column; gap:16px; }
.la-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.la-card-head h2 { font-size:22px; }
.lqc-landing .la-card-head a { font-weight:700; font-size:14px; }
.la-count { min-width:28px; padding:3px 9px; border-radius:99px; background:var(--lq-gold); color:var(--lq-navy); font-weight:900; text-align:center; }
.la-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.la-metrics div { padding:18px; border-radius:18px; background:#fff; border:1px solid var(--lq-line); }
.la-metrics span { display:block; color:var(--lq-muted); font-size:13px; font-weight:700; }
.la-metrics strong { display:block; margin-top:6px; font-family:'Archivo',sans-serif; font-weight:900; font-size:36px; line-height:1; }
.la-empty { align-items:center; text-align:center; padding:26px 12px; gap:6px; display:flex; flex-direction:column; }
.la-empty > span { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:#E8F7EE; color:#1C6B3A; }
.la-empty b { font-size:18px; }
.la-empty p { margin:0; color:var(--lq-muted); }
.la-list { display:flex; flex-direction:column; gap:12px; }
.la-item { display:flex; flex-direction:column; gap:12px; padding:16px; border-radius:16px; border:1px solid var(--lq-line); background:var(--lq-bg); }
.la-list > .la-card.la-item { background:#fff; }
.la-item-main b { display:block; font-size:17px; }
.la-item-main small { color:var(--lq-muted); font-size:13px; }
.la-tag { align-self:flex-start; padding:4px 10px; border-radius:99px; font-size:12px; font-weight:800; color:var(--lq-navy); }
.la-tag.gold { background:rgba(var(--lq-gold-rgb),.3); }
.la-tag.cyan { background:rgba(var(--lq-cyan-rgb),.25); }
.la-tag.red { background:#FDE3E0; color:#9B1C12; }
.la-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px 16px; margin:0; }
.la-facts dt { color:var(--lq-muted); font-size:12px; font-weight:700; }
.la-facts dd { margin:2px 0 0; font-weight:700; font-size:14px; overflow-wrap:anywhere; }
.la-facts dd small { display:block; color:var(--lq-muted); font-weight:500; font-size:12px; }
.la-facts code { font-family:'JetBrains Mono',monospace; font-size:12px; }
.la-actions { display:flex; flex-wrap:wrap; gap:8px; }
.la-actions form { margin:0; }
.la-error-text { margin:0; padding:10px 12px; border-radius:10px; background:#FFF3F1; color:#9B1C12; font-family:'JetBrains Mono',monospace; font-size:12px; overflow-wrap:anywhere; }
.la-mini-list { display:flex; flex-direction:column; }
.la-mini-list li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--lq-line); }
.la-mini-list li:last-child { border-bottom:0; }
.la-mini-list b { display:block; }
.la-mini-list small { color:var(--lq-muted); font-size:13px; }
.la-plan { font-weight:800; font-size:13px; color:var(--lq-body); }
.la-status { padding:4px 10px; border-radius:99px; font-size:12px; font-weight:800; white-space:nowrap; }
.la-status.trial { background:rgba(var(--lq-cyan-rgb),.2); color:#075B7D; }
.la-status.active { background:#E8F7EE; color:#1C6B3A; }
.la-status.pending { background:rgba(var(--lq-gold-rgb),.3); color:#7A5200; }
.la-status.suspended { background:#FDE3E0; color:#9B1C12; }
.la-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.la-search { flex:1 1 280px; display:flex; align-items:center; gap:10px; padding:0 14px; border:1.5px solid var(--lq-line-2); border-radius:12px; background:#fff; color:var(--lq-muted); }
.la-search input { flex:1; min-width:0; padding:13px 0; border:0; outline:0; font:inherit; font-size:15px; color:var(--lq-navy); background:transparent; }
.la-search:focus-within { border-color:var(--lq-navy); }
.la-filters { display:flex; flex-wrap:wrap; gap:8px; }
.la-filters button,.lqc-landing .la-filters a { padding:9px 14px; border:1.5px solid var(--lq-line-2); border-radius:99px; background:#fff; color:var(--lq-body); font:inherit; font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; }
.la-filters [aria-pressed="true"],.lqc-landing .la-filters a[aria-pressed="true"] { background:var(--lq-navy); border-color:var(--lq-navy); color:#fff; }
.la-tenants { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; }
.la-tenant { display:flex; flex-direction:column; gap:14px; padding:18px; border-radius:18px; background:#fff; border:1px solid var(--lq-line); }
.la-tenant[hidden] { display:none; }
.la-tenant header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.la-tenant h3 { font-size:20px; line-height:1.15; }
.lqc-landing .la-tenant header a { display:inline-flex; align-items:center; gap:5px; margin-top:4px; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.la-tenant header a .la-icon { width:14px; height:14px; }
.la-tenant header small { color:var(--lq-muted); font-size:13px; }
.la-tenant footer { display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid var(--lq-line); }
.la-tenant .la-actions .lq-btn { flex:1; padding:10px 12px; font-size:14px; }
.la-plan-form { display:flex; gap:8px; }
.la-plan-form select { flex:1; min-width:0; padding:10px 12px; border:1.5px solid var(--lq-line-2); border-radius:12px; background:#fff; font:inherit; font-size:14px; color:var(--lq-navy); }
.la-plan-form .lq-btn { padding:10px 14px; font-size:14px; }
.la-form { display:flex; flex-direction:column; gap:16px; }
.la-narrow { max-width:460px; }
.la-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.la-field label { font-weight:700; font-size:14px; color:var(--lq-navy); }
.la-field label em { font-style:normal; font-weight:500; color:var(--lq-muted); }
.la-field small { color:var(--lq-muted); font-size:12px; }
.la-field input { width:100%; padding:12px 14px; border:1.5px solid var(--lq-line-2); border-radius:12px; background:#fff; font:inherit; font-size:15px; color:var(--lq-navy); }
.la-field input:focus-visible,.la-plan-form select:focus-visible { outline:3px solid rgba(var(--lq-cyan-rgb),.45); outline-offset:1px; }
.la-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.la-dialog { width:min(640px,calc(100vw - 28px)); max-height:calc(100vh - 40px); border:0; border-radius:22px; padding:0; box-shadow:0 30px 80px rgba(var(--lq-shadow-rgb),.35); }
.la-dialog::backdrop { background:rgba(11,31,58,.55); }
.la-dialog form { padding:26px; }
.la-dialog h2 { font-size:26px; }
.la-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:6px; }
.la-choices { display:flex; flex-direction:column; gap:8px; }
.la-choices label { position:relative; cursor:pointer; }
.la-choices input { position:absolute; opacity:0; pointer-events:none; }
.la-choices span { display:flex; flex-direction:column; gap:2px; padding:12px 14px; border:1.5px solid var(--lq-line-2); border-radius:14px; }
.la-choices small { color:var(--lq-muted); font-size:13px; }
.la-choices input:checked + span { border-color:var(--lq-navy); box-shadow:0 0 0 3px rgba(var(--lq-gold-rgb),.45); }
.la-palettes { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.la-palettes label { position:relative; cursor:pointer; }
.la-palettes input { position:absolute; opacity:0; pointer-events:none; }
.la-palettes span { display:flex; align-items:center; gap:8px; padding:10px 14px 10px 10px; border:1.5px solid var(--lq-line-2); border-radius:99px; font-weight:700; font-size:14px; }
.la-palettes i { width:22px; height:22px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.la-palettes input:checked + span { border-color:var(--lq-navy); box-shadow:0 0 0 3px rgba(var(--lq-gold-rgb),.45); }
.la-palettes input:focus-visible + span,.la-choices input:focus-visible + span { outline:3px solid rgba(var(--lq-cyan-rgb),.45); outline-offset:2px; }
.lq-admin .plan-prices-form { display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.lq-admin .plan-prices-discount { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; font-size:14px; font-weight:600; }
.lq-admin .plan-prices-discount input { width:68px; padding:9px 10px; border:1.5px solid var(--lq-line-2); border-radius:10px; font:inherit; }
.lq-admin .plan-prices-discount small { color:var(--lq-muted); font-weight:500; }
.lq-admin .plan-prices-grid { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.lq-admin .plan-price-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:16px; border:1px solid var(--lq-line); border-radius:16px; background:var(--lq-bg); }
.lq-admin .plan-price-row header,.lq-admin .plan-price-calc,.lq-admin .plan-price-warning { grid-column:1/-1; }
.lq-admin .plan-price-row header strong { display:block; font-family:'Archivo',sans-serif; font-style:italic; font-weight:900; font-size:20px; }
.lq-admin .plan-price-row header small { color:var(--lq-muted); font-size:13px; }
.lq-admin .plan-price-calc { display:grid; gap:6px; margin:0; padding:10px 12px; border-radius:10px; background:#fff; font-size:13px; }
.lq-admin .plan-price-calc div { display:flex; justify-content:space-between; gap:10px; }
.lq-admin .plan-price-calc dt { color:var(--lq-muted); }
.lq-admin .plan-price-calc dd { margin:0; font-weight:800; }
.lq-admin .plan-price-warning { margin:0; color:#B42318; font-size:13px; font-weight:700; }
.lq-admin .plan-prices-summary { margin:0; font-size:15px; color:var(--lq-body); }
.la-tabbar { display:none; }
.la-login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.la-login-card { width:min(420px,100%); padding:34px 30px; border-radius:24px; background:#fff; border:1px solid var(--lq-line); box-shadow:0 30px 70px rgba(var(--lq-shadow-rgb),.12); display:flex; flex-direction:column; gap:12px; }
.la-login-card img { width:72px; height:74px; object-fit:contain; }
.la-login-card h1 { font-size:36px; }
.la-login-card > p { margin:0 0 6px; color:var(--lq-muted); }
.lqc-landing .la-login-back { align-self:center; margin-top:6px; font-size:14px; font-weight:600; }
@media (max-width:1100px) {
  .la-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lq-admin .plan-prices-grid { grid-template-columns:1fr; }
}
@media (max-width:860px) {
  .la-sidebar { display:none; }
  .la-main { margin-left:0; padding:18px 16px 110px; }
  .la-mobile-logout { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; border:1.5px solid var(--lq-line-2); color:var(--lq-body); background:#fff; }
  .la-tabbar { position:fixed; inset:auto 0 0 0; z-index:30; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:6px 4px calc(6px + env(safe-area-inset-bottom)); background:var(--lq-navy); }
  .lqc-landing .la-tabbar a { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 2px; border-radius:12px; color:var(--lq-dim); text-decoration:none; font-size:10.5px; min-width:0; white-space:nowrap; font-weight:700; }
  .lqc-landing .la-tabbar a.active { color:#fff; background:var(--lq-navy-2); }
  .la-tabbar em { position:absolute; top:2px; right:calc(50% - 22px); margin:0; min-width:18px; padding:1px 5px; font-size:10px; }
  .la-tenants { grid-template-columns:1fr; }
  .la-grid-2 { grid-template-columns:1fr; }
  .la-mini-list li { grid-template-columns:minmax(0,1fr) auto; }
  .la-mini-list .la-plan { display:none; }
  .la-dialog form { padding:20px; }
  .la-dialog-actions .lq-btn { flex:1; }
}
.lqc-landing .la-brand { color:var(--lq-on-navy-strong); }
.la-brand img { padding:4px; border-radius:12px; background:#fff; width:44px; height:44px; }
.la-form > .lq-btn:not(.la-btn-block),.la-card > .lq-btn,.lq-admin .plan-prices-form > .lq-btn { align-self:flex-start; }
.la-removing { display:flex; align-items:center; gap:8px; }
.la-spinner { width:14px; height:14px; border-radius:50%; border:2px solid var(--lq-line-2); border-top-color:var(--lq-navy); animation:la-spin .8s linear infinite; }
@keyframes la-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .la-spinner { animation:none; } }
.la-lead-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.la-actions .lq-btn { padding:10px 14px; font-size:14px; }
.la-subtitle { margin:6px 0 0; font-family:'Figtree',sans-serif; font-style:normal; font-weight:800; font-size:16px; }
.la-subtitle small { color:var(--lq-muted); font-weight:500; font-size:13px; }
.la-failures { display:flex; flex-direction:column; }
.la-failures li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; padding:10px 0; border-bottom:1px solid var(--lq-line); font-size:14px; }
.la-failures li:last-child { border-bottom:0; }
.la-failures small { display:block; color:var(--lq-muted); font-size:12px; }
.la-failures .la-muted { font-size:13px; }

/* ===== Landing dinámica: bullets con emojis, balones y tabla de pagos (2026-09-27) ===== */
.lq-hero { position:relative; }
.lq-hero-bullets { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.lq-hero-bullets li { display:flex; align-items:center; gap:12px; font-size:18px; font-weight:700; color:var(--lq-body); }
.lq-hero-bullets li span, .lq-pay-bullets li span { flex:0 0 auto; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#fff; border:1px solid var(--lq-line); font-size:19px; box-shadow:0 6px 14px rgba(var(--lq-shadow-rgb),.06); }
.lq-float { position:absolute; z-index:0; font-size:34px; line-height:1; pointer-events:none; filter:drop-shadow(0 8px 10px rgba(0,0,0,.18)); animation:lq-bob 6s ease-in-out infinite; }
.lq-float-1 { left:46%; top:40px; }
.lq-float-2 { right:8px; bottom:40px; font-size:30px; animation-delay:-2s; }
.lq-float-3 { left:44%; bottom:28px; font-size:26px; animation-delay:-4s; opacity:.85; }
@keyframes lq-bob { 0%,100% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-14px) rotate(24deg); } }
.lq-stage, .lq-hero-copy { position:relative; z-index:1; }

/* Ligas: línea que se desliza sola */
.lq-ticker { flex:1; min-width:0; overflow:hidden; padding-block:4px; margin-left:12px; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%); }
.lq-ticker-track { display:flex; width:max-content; animation:lq-ticker 24s linear infinite; }
.lq-leagues .lq-league-list { display:flex; flex:0 0 auto; flex-wrap:nowrap; justify-content:flex-start; gap:0; max-width:none; width:auto; }
.lq-leagues .lq-league-list li, .lq-leagues .lq-league-list li + li { display:inline-flex; align-items:center; gap:10px; padding:0 .35em 0 0; margin-right:56px; white-space:nowrap; }
.lq-leagues .lq-league-list li + li::before { display:none; }
.lq-leagues .lq-league-list li span { display:inline-block; font-style:normal; font-size:.9em; }
@keyframes lq-ticker { to { transform:translateX(-50%); } }

/* Antes / después y pasos con emojis */
.lq-emo { flex:0 0 auto; width:30px; text-align:center; font-size:22px; line-height:1; }
.lq-step-top { display:flex; align-items:flex-end; justify-content:space-between; }
.lq-step-emo { font-size:44px; line-height:1; transition:transform .3s ease; }
.lq-steps li:hover .lq-step-emo { transform:rotate(-12deg) scale(1.12); }
.lq-steps ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.lq-steps ul li { all:unset; display:flex; align-items:center; gap:10px; font-size:17px; font-weight:600; color:var(--lq-muted); }
.lq-steps ul li::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--lq-gold); flex:0 0 auto; }
.lq-feature-emo { font-size:28px; }
.lq-features p { font-size:17px; }

/* Cobros: tabla de pagos de ejemplo */
.lq-pay { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:center; }
.lq-pay-copy { display:flex; flex-direction:column; gap:20px; }
.lq-pay-copy h2 { font-size:clamp(34px,3.9vw,56px); line-height:1.02; letter-spacing:-.01em; }
.lq-pay-bullets { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.lq-pay-bullets li { display:flex; align-items:center; gap:12px; font-size:18px; font-weight:700; }
.lq-paytable { position:relative; padding:24px; border-radius:24px; background:var(--lq-navy); color:var(--lq-on-navy-strong); box-shadow:0 30px 60px rgba(var(--lq-shadow-rgb),.25); }
.lq-paytable-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 16px; }
.lq-paytable-head b { font-family:'Archivo',sans-serif; font-style:italic; font-weight:800; font-size:22px; }
.lq-paytable-head span { font-size:12px; font-weight:700; color:var(--lq-dim); }
.lq-paytable-legend { display:flex; gap:14px; margin:12px 0 10px; font-size:12px; font-weight:700; color:var(--lq-dim); }
.lq-paytable-legend span { display:inline-flex; align-items:center; gap:6px; }
.lq-paytable table { width:100%; min-width:0; border-collapse:separate; border-spacing:0 6px; }
.lq-paytable th, .lq-paytable td { border-bottom:0; text-transform:none; background:transparent; }
.lq-paytable th, .lq-paytable td { padding:0 3px; text-align:center; font-size:12px; }
.lq-paytable thead th { color:var(--lq-dim); font-weight:800; letter-spacing:.06em; padding-bottom:2px; }
.lq-paytable thead th.now { color:var(--lq-gold); }
.lq-paytable tbody th { text-align:left; font-size:14px; font-weight:700; white-space:nowrap; padding-left:10px; color:var(--lq-on-navy-strong); }
.lq-paytable tbody tr > * { background:var(--lq-navy-2); transition:background-color .5s ease; }
.lq-paytable tbody tr > :first-child { border-radius:12px 0 0 12px; }
.lq-paytable tbody tr > :last-child { border-radius:0 12px 12px 0; padding:9px 10px 9px 6px; text-align:right; }
.lq-paytable tbody tr.just-paid > * { background:rgba(var(--lq-cyan-rgb),.22); }
.lq-paytable i, .lq-paytable-legend i { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:7px; font-style:normal; font-size:12px; font-weight:900; }
.lq-paytable i.ok, .lq-paytable-legend i.ok { background:#16A34A; color:#fff; }
.lq-paytable i.due, .lq-paytable-legend i.due { background:#DC2626; color:#fff; }
.lq-paytable i.part, .lq-paytable-legend i.part { background:#F59E0B; color:#1F2937; }
.lq-paytable i.flip { animation:lq-flip .6s ease; }
@keyframes lq-flip { 0% { transform:rotateY(90deg) scale(.7); } 100% { transform:none; } }
.lq-owe, .lq-ok { display:inline-block; padding:4px 9px; border-radius:999px; font-style:normal; font-size:11.5px; font-weight:800; white-space:nowrap; }
.lq-owe { background:rgba(220,38,38,.18); color:#FCA5A5; }
.lq-ok { background:rgba(22,163,74,.2); color:#86EFAC; }
.lq-paytable-foot { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:10px; font-size:13px; font-weight:800; }
.lq-paytable-foot .ok { color:#86EFAC; }
.lq-paytable-foot .due { color:#FCA5A5; }
.lq-paytoast { position:absolute; right:18px; top:-18px; padding:10px 14px; border-radius:14px; background:#fff; color:var(--lq-navy); font-size:13px; font-weight:700; box-shadow:0 18px 36px rgba(var(--lq-shadow-rgb),.22); opacity:0; transform:translateY(8px); pointer-events:none; }
.lq-paytoast.show { animation:lq-toast 3s ease forwards; }
@keyframes lq-toast { 0% { opacity:0; transform:translateY(10px) scale(.95); } 12%,78% { opacity:1; transform:none; } 100% { opacity:0; transform:translateY(-6px); } }

@media (max-width:1100px) {
  .lq-pay { grid-template-columns:minmax(0,1fr); gap:32px; }
  .lq-ticker { width:100%; flex:none; margin-left:0; }
}
@media (max-width:760px) {
  .lq-hero-bullets li, .lq-pay-bullets li { font-size:16px; }
  .lq-hero-bullets li span, .lq-pay-bullets li span { width:34px; height:34px; font-size:17px; }
  .lq-float { font-size:24px; }
  .lq-float-1 { left:auto; right:12px; top:18px; }
  .lq-float-2 { display:none; }
  .lq-leagues .lq-league-list { display:flex; }
  .lq-leagues .lq-league-list li, .lq-leagues .lq-league-list li + li { font-size:20px; margin-right:36px; }
  .lq-ticker-track { animation-duration:18s; }
  .lq-step-emo { font-size:36px; }
  .lq-steps ul li { font-size:15px; }
  .lq-features p { font-size:15px; }
  .lq-paytable { padding:16px 10px; border-radius:20px; }
  .lq-paytable th, .lq-paytable td { padding:0 1px; }
  .lq-paytable tbody th { font-size:12.5px; padding-left:8px; }
  .lq-paytable i, .lq-paytable-legend i { width:20px; height:20px; font-size:11px; border-radius:6px; }
  .lq-owe, .lq-ok { padding:3px 6px; font-size:10px; }
  .lq-paytoast { right:10px; top:-22px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .lq-float, .lq-ticker-track { animation:none; }
}

/* Aviso de privacidad y términos */
.lq-legal { max-width:860px; padding-top:48px; padding-bottom:72px; display:flex; flex-direction:column; gap:22px; }
.lq-legal h1 { font-size:clamp(34px,4.4vw,54px); line-height:1.02; }
.lq-legal-date { margin:-10px 0 6px; color:var(--lq-muted); font-size:14px; font-weight:700; }
.lq-legal-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.lq-legal-tabs a { padding:9px 14px; border-radius:999px; border:1px solid var(--lq-line); background:#fff; color:var(--lq-body); font-size:14px; font-weight:800; text-decoration:none; }
.lq-legal-tabs a[aria-current="page"] { background:var(--lq-navy); border-color:var(--lq-navy); color:#fff; }
.lq-legal section { padding:24px 26px; border-radius:20px; background:#fff; border:1px solid var(--lq-line); display:flex; flex-direction:column; gap:12px; }
.lq-legal h2 { font-size:22px; }
.lq-legal p, .lq-legal li { margin:0; font-size:16px; line-height:1.6; color:var(--lq-body); }
.lq-legal ul { display:grid; gap:8px; padding-left:20px; list-style:disc; }
.lq-legal a { font-weight:700; }
.lq-consent { display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:14px; line-height:1.45; color:var(--lq-body); }
.lq-consent input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; }
@media (max-width:760px) { .lq-legal { padding-top:28px; gap:16px; } .lq-legal section { padding:18px; } .lq-legal p, .lq-legal li { font-size:15px; } }

/* Botón flotante de soporte (landing) */
.lq-help-fab { position:fixed; right:22px; bottom:22px; z-index:30; display:inline-flex; align-items:center; gap:10px; padding:13px 18px 13px 14px; border-radius:999px; background:var(--lq-navy); color:#fff; font-size:15px; text-decoration:none; box-shadow:0 14px 30px rgba(var(--lq-shadow-rgb),.3); transition:transform .2s ease, box-shadow .2s ease; }
.lq-help-fab span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#25D366; color:#fff; font-size:16px; }
.lq-help-fab b { font-weight:800; color:#fff; }
.lq-help-fab:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(var(--lq-shadow-rgb),.36); }
@media (max-width:760px) {
  .lq-help-fab { right:14px; bottom:14px; padding:8px; }
  .lq-help-fab b { display:none; }
  .lq-help-fab { background:#25D366; }
  .lq-help-fab span { width:40px; height:40px; font-size:19px; }
  .lq-help-fab svg { width:26px; height:26px; }
}

/* Analítica (administración) */
.la-an-period { display:flex; gap:6px; }
.la-an-period a { padding:8px 14px; border-radius:999px; border:1px solid var(--lq-line); background:#fff; color:var(--lq-body); font-size:14px; font-weight:800; text-decoration:none; }
.la-an-period a[aria-pressed="true"] { background:var(--lq-navy); border-color:var(--lq-navy); color:#fff; }
.la-an-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
.la-an-metrics small { display:block; margin-top:6px; color:var(--lq-muted); font-size:12px; font-weight:700; }
.la-an-bars { height:160px; display:flex; align-items:flex-end; gap:3px; padding-top:18px; border-bottom:1px solid var(--lq-line); }
.la-an-bars span { position:relative; flex:1; min-width:0; height:max(3px, var(--h)); border-radius:5px 5px 0 0; background:var(--lq-navy); opacity:.85; }
.la-an-bars span:hover { opacity:1; }
.la-an-bars i { position:absolute; left:50%; top:-18px; transform:translateX(-50%); min-width:16px; height:16px; padding:0 3px; border-radius:99px; background:var(--lq-gold); color:var(--lq-navy); font-size:10px; font-style:normal; font-weight:900; line-height:16px; text-align:center; }
.la-an-note { margin:0; font-size:13px; }
.la-an-table { overflow-x:auto; }
.la-an-table table { min-width:560px; }
.la-an-table th, .la-an-table td { padding:10px 12px; text-align:right; }
.la-an-table th:first-child, .la-an-table tbody th { text-align:left; }
.la-an-table tbody th { text-transform:none; background:transparent; color:var(--lq-body); font-size:14px; }
.la-an-links { display:grid; gap:8px; }
.la-an-links li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--lq-line); border-radius:14px; }
.la-an-links li > span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.la-an-links code, .la-an-builder code { font-size:13px; color:var(--lq-muted); overflow-wrap:anywhere; }
.la-an-links .lq-btn { flex:0 0 auto; padding:8px 14px; font-size:14px; }
.la-an-builder { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; align-items:end; padding:14px; border-radius:14px; background:var(--lq-soft); }
.la-an-builder label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:800; }
.la-an-builder input { padding:10px 12px; border:1px solid var(--lq-line); border-radius:10px; font:inherit; }
.la-an-builder code { grid-column:1 / -1; }
.la-an-builder .lq-btn { grid-column:1 / -1; justify-self:start; }
@media (max-width:1100px) { .la-an-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .la-an-builder { grid-template-columns:1fr; } .la-an-links li { flex-direction:column; align-items:flex-start; } }
