/* GeloSabor landing 2026 — modern SaaS aesthetic.
 * Herda tokens de app.css. Gradientes mesh, hero bold, dark mode toggle, prova social.
 */

body.landing {
  /* Paleta refinada (glacial) — escopada na landing, nao afeta o painel.
     Fundo branco puro, sem degrade. */
  --blue: #0e7aa8;   /* azul-glacial primario (antes ciano neon #0ea5e9) */
  --blue2: #0b6088;  /* variacao escura para hover/contraste */
  --ice: #eef6fa;    /* tint frio bem suave para preenchimentos internos */
  --gold: #c2933a;   /* dourado mais sobrio, so como acento pontual */
  --ink: #0b1c2e;    /* navy profundo para titulos/texto */
  --muted: #5a6b7b;  /* texto secundario */
  --line: #e8eef3;   /* hairline suave */
  background: #ffffff;
  color: var(--ink);
  min-height: 100vh;
  overflow-x: hidden;
}
/* Modo escuro da landing (o toggle existe no menu) */
body.landing.theme-dark {
  --blue: #38b6e0; --blue2: #7dd3fc;
  --ink: #e8eef4; --muted: #9fb0bf; --line: #22303f; --ice: #14212d;
  background: #0a141d;
}
body.landing.theme-dark .ln-nav { background: rgba(10,20,29,.82); border-bottom-color: #1b2836; }
body.landing.theme-dark .ln-menu { background: #0d1b26; }
/* Contraste do menu no modo escuro (textos eram fixos p/ tema claro) */
body.landing.theme-dark .ln-name { color: #eaf1f7; }
body.landing.theme-dark .ln-menu a { color: #c2cfda; }
body.landing.theme-dark .ln-menu a:hover,
body.landing.theme-dark .ln-menu a.ln-active { color: #ffffff; }
body.landing.theme-dark .ln-menu a.ln-cta-ghost { color: #eaf1f7 !important; border-color: #33475a; }
body.landing.theme-dark .ln-menu a.ln-cta-ghost:hover { background: #14212d; }
body.landing.theme-dark .ln-burger { background: #14212d; color: #eaf1f7; border-color: #33475a; }

/* ============= ICONS (SVG inline) ============= */
.ln-icon { width: 22px; height: 22px; flex: 0 0 22px; display: inline-block; vertical-align: middle; }
.ln-icon-lg { width: 32px; height: 32px; flex: 0 0 32px; }
.ln-icon-sm { width: 16px; height: 16px; flex: 0 0 16px; }
.ln-icon-xl { width: 46px; height: 46px; flex: 0 0 46px; }

/* ============= NAV ============= */
.ln-nav {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 14px 28px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border-bottom: 1px solid rgba(215,233,241,0.6);
}
.ln-brand { display: flex; align-items: center; gap: 10px; }
.ln-mark {
  display: grid; place-items: center;
  width: 38px; height: 38px;
  background: var(--blue);
  color: #fff; border-radius: 11px;
  font-size: 19px; box-shadow: 0 2px 8px rgba(14,122,168,.28);
}
.ln-logo { width: 38px; height: 38px; object-fit: contain; border-radius: 9px; background: #fff; padding: 4px; }
.ln-name { font-weight: 900; letter-spacing: .08em; color: var(--nav); font-size: 15px; }
.ln-burger {
  display: none; border: 1px solid #cbdde5; background: #fff;
  color: #0b1c2e;            /* sem isto, herda color:#fff da regra global de button e o ☰ some */
  width: 42px; height: 42px; border-radius: 10px;
  font-size: 18px; line-height: 1; cursor: pointer;
  align-items: center; justify-content: center;
}
.ln-menu { display: flex; align-items: center; gap: 22px; }
.ln-menu a { font-weight: 700; color: #1f3a4d; font-size: 14px; transition: color .15s ease; }
.ln-menu a:hover { color: var(--blue2); }
.ln-menu a.ln-active { color: var(--nav); position: relative; }
.ln-menu a.ln-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px;
  height: 3px; background: var(--gold); border-radius: 2px;
}
.ln-menu a.ln-cta-ghost {
  padding: 9px 14px; border-radius: 10px;
  background: transparent; color: var(--nav) !important;
  border: 1px solid #cbdde5;
}
.ln-menu a.ln-cta-ghost:hover { background: #f4f9fc; }
.ln-menu a.ln-cta {
  padding: 10px 18px; border-radius: 10px;
  background: linear-gradient(145deg, var(--blue), var(--blue2));
  color: #fff !important;
  box-shadow: 0 6px 18px #0284c740;
}

/* ============= HERO 2026 ============= */
.ln-hero {
  position: relative;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px;
  align-items: center; padding: 80px 28px 40px;
  max-width: 1240px; margin: 0 auto;
}
.ln-hero::before {
  content: ""; position: absolute; inset: -40px auto auto -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(14,165,233,0.18), transparent 70%);
  filter: blur(40px); pointer-events: none; z-index: 0;
}
.ln-hero-text { position: relative; z-index: 1; }
.ln-hero-text h1 {
  font-size: clamp(38px, 6vw, 68px);
  line-height: 1.02; margin: 0 0 22px;
  color: var(--nav); font-weight: 900; letter-spacing: -.025em;
}
.ln-accent {
  background: linear-gradient(120deg, var(--blue2) 0%, var(--blue) 50%, #0891b2 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ln-hero-lede { font-size: 19px; color: #34566b; margin: 0 0 28px; max-width: 560px; line-height: 1.55; }
.ln-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.ln-trust { color: var(--muted); margin-top: 22px; }

.ln-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: 12px; border: 0; cursor: pointer;
  font-weight: 800; font-size: 15px; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ln-btn:hover { transform: translateY(-1px); }
.ln-btn-primary {
  background: linear-gradient(145deg, var(--blue), var(--blue2));
  color: #fff; box-shadow: 0 10px 28px #0284c750;
}
.ln-btn-ghost {
  background: #fff; color: var(--nav); border: 1px solid #cbdde5;
}
.ln-btn-ghost:hover { background: #f4f9fc; }
.ln-btn-large { padding: 17px 28px; font-size: 17px; }
.ln-link { color: var(--blue2); font-weight: 700; text-decoration: none; }
.ln-link:hover { text-decoration: underline; }

/* Micro trust signals no hero */
.ln-trust-row {
  display: flex; gap: 14px; margin-top: 28px; flex-wrap: wrap;
  padding-top: 24px; border-top: 1px solid #d7e9f1;
}
.ln-trust-row > div {
  display: flex; flex-direction: column; gap: 2px;
}
.ln-trust-row strong { font-size: 22px; color: var(--nav); font-weight: 900; }
.ln-trust-row span { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }

/* ============= HERO ART (mockups flutuantes) ============= */
.ln-hero-art { position: relative; min-height: 380px; z-index: 1; }
.ln-art-card {
  position: absolute; background: #fff;
  border: 1px solid #d7e9f1; border-radius: 18px;
  padding: 18px 20px; box-shadow: 0 20px 50px #11394c1c;
  width: 250px; transition: transform .3s ease;
}
.ln-art-card-1 { top: 0; left: 0; transform: rotate(-2deg); }
.ln-art-card-2 { top: 130px; right: 0; transform: rotate(2deg); }
.ln-art-card-3 { bottom: 0; left: 50px; transform: rotate(-1deg); }
.ln-art-card strong { display: block; margin-top: 8px; color: var(--nav); font-size: 15px; }
.ln-art-card small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.ln-art-icon {
  display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: 11px;
  background: var(--ice); font-size: 22px;
}

/* ============= STATS ============= */
.ln-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  margin: 30px auto; max-width: 1240px; padding: 0 28px;
}
.ln-stats > div {
  background: linear-gradient(145deg, #fff, #f0faff);
  border: 1px solid #d7e9f1; border-radius: 16px;
  padding: 24px 20px; text-align: center;
  box-shadow: 0 6px 22px #11394c0a;
}
.ln-stats strong {
  display: block; font-size: 30px; color: var(--nav); font-weight: 900;
  margin-bottom: 6px;
}
.ln-stats span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }

/* ============= FEATURES ============= */
.ln-features { padding: 70px 28px; max-width: 1240px; margin: 0 auto; }
.ln-features h2 { font-size: clamp(28px, 3.4vw, 44px); color: var(--nav); margin: 0 0 14px; text-align: center; letter-spacing: -.02em; }
.ln-section-lead { text-align: center; color: var(--muted); margin: 0 auto 36px; max-width: 660px; font-size: 17px; }
.ln-feature-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
.ln-feature-grid article {
  background: #fff; border: 1px solid #d7e9f1; border-radius: 18px;
  padding: 26px; box-shadow: 0 6px 22px #11394c08;
  transition: transform .25s ease, box-shadow .25s ease;
}
.ln-feature-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px #11394c18;
}
.ln-feature-grid article span {
  display: inline-grid; place-items: center;
  width: 46px; height: 46px; border-radius: 13px;
  background: linear-gradient(145deg, var(--ice), #cfe8f3);
  font-size: 22px; margin-bottom: 14px;
}
.ln-feature-grid article h3 { margin: 0 0 10px; color: var(--nav); font-size: 19px; }
.ln-feature-grid article p { margin: 0; color: #34566b; line-height: 1.5; font-size: 14px; }

/* ============= SCREENSHOT + LIST ============= */
.ln-screen {
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px;
  align-items: center;
  padding: 70px 28px; max-width: 1240px; margin: 30px auto;
  border-top: 1px solid #d7e9f1;
  border-bottom: 1px solid #d7e9f1;
}
.ln-screen h2 { font-size: clamp(26px, 3vw, 40px); color: var(--nav); margin: 8px 0 18px; letter-spacing: -.02em; }
.ln-eyebrow { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: #1683ad; margin: 0 0 8px; }
.ln-check-list { list-style: none; padding: 0; margin: 22px 0; }
.ln-check-list li { padding: 11px 0 11px 36px; position: relative; color: #34566b; line-height: 1.6; }
.ln-check-list li::before { content: ""; position: absolute; left: 0; top: 14px; width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, #22c55e, #16a34a); box-shadow: 0 2px 6px #16a34a40; }
.ln-check-list li::after { content: ""; position: absolute; left: 6px; top: 19px; width: 8px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }

/* Mockup do painel */
.ln-mock {
  background: linear-gradient(145deg, #ffffff, #f4f9fc);
  border: 1px solid #cbdde5; border-radius: 18px;
  box-shadow: 0 24px 70px #11394c20, 0 4px 12px #11394c0d;
  overflow: hidden; transform: perspective(1200px) rotateY(-3deg) rotateX(2deg);
  transition: transform .4s ease;
}
.ln-mock:hover { transform: perspective(1200px) rotateY(0deg) rotateX(0deg); }
.ln-mock-top {
  background: linear-gradient(145deg, #f7fbfd, #eaf5ff);
  padding: 12px 16px; display: flex; align-items: center; gap: 6px;
  border-bottom: 1px solid #d7e9f1;
}
.ln-mock-dot { width: 11px; height: 11px; border-radius: 50%; background: #d1d5db; }
.ln-mock-dot:nth-child(1) { background: #ef4444; }
.ln-mock-dot:nth-child(2) { background: #f59e0b; }
.ln-mock-dot:nth-child(3) { background: #22c55e; }
.ln-mock-top small { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: 600; }
.ln-mock-body { padding: 22px; display: grid; gap: 14px; }
.ln-mock-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 16px; border-radius: 12px; background: #f4f9fc;
  font-size: 14px; color: #34566b; font-weight: 500;
}
.ln-mock-row strong { color: var(--nav); font-size: 16px; font-weight: 800; }
.ln-mock-row.ln-mock-accent { background: linear-gradient(145deg, #fee2e2, #fecaca); color: #991b1b; }
.ln-mock-row.ln-mock-accent strong { color: #991b1b; }
.ln-mock-bar { height: 1px; background: #e1ecf3; margin: 0 16px; }

/* ============= PRICING ============= */
.ln-plans-teaser {
  padding: 80px 28px; display: grid; place-items: center;
  background:
    radial-gradient(circle at 80% 20%, rgba(14,165,233,0.10), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(217,181,74,0.08), transparent 50%);
}
.ln-plans-teaser-card {
  width: min(640px, 100%);
  background: linear-gradient(145deg, #ffffff, #eaf5ff);
  border: 1px solid #cfe8f3; border-radius: 28px;
  padding: 50px 40px; text-align: center;
  box-shadow: 0 24px 70px #11394c1c, 0 0 0 1px #ffffff20 inset;
  position: relative; overflow: hidden;
}
.ln-plans-teaser-card::before {
  content: "RECOMENDADO";
  position: absolute; top: 24px; right: -32px;
  background: linear-gradient(145deg, var(--gold), #b58a26);
  color: #071d2b; padding: 6px 44px;
  font-size: 10px; font-weight: 900; letter-spacing: .12em;
  transform: rotate(35deg);
  box-shadow: 0 4px 12px #b58a2640;
}
.ln-plans-teaser-card h2 {
  font-size: clamp(40px, 5vw, 64px); color: var(--nav); margin: 8px 0;
  font-weight: 900; letter-spacing: -.02em;
}
.ln-plans-teaser-card h2 span { font-size: 18px; color: var(--muted); margin-left: 8px; font-weight: 600; }
.ln-plans-teaser-card .ln-btn { margin-top: 24px; }
.ln-plans-teaser-card .ln-link { display: inline-block; margin-top: 14px; }
.ln-plans-teaser-card .ln-plan-bullets { list-style: none; padding: 0; margin: 24px auto; max-width: 420px; text-align: left; }
.ln-plans-teaser-card .ln-plan-bullets li { padding: 8px 0 8px 28px; position: relative; }
.ln-plans-teaser-card .ln-plan-bullets li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 900; }

/* ============= FAQ ============= */
.ln-faq-mini.ln-content { padding-top: 60px; padding-bottom: 60px; }
.ln-faq-mini h2 { text-align: center; font-size: 36px; color: var(--nav); margin-bottom: 30px; }
.ln-faq-mini details {
  background: #fff; border: 1px solid #d7e9f1; border-radius: 14px;
  padding: 0; margin: 12px 0; transition: all .2s ease;
}
.ln-faq-mini details:hover { border-color: #b6d7e8; }
.ln-faq-mini summary {
  cursor: pointer; font-weight: 700; color: var(--nav);
  list-style: none; padding: 18px 22px;
  display: flex; justify-content: space-between; align-items: center;
}
.ln-faq-mini summary::after { content: "+"; font-size: 22px; color: var(--blue2); font-weight: 400; transition: transform .2s; }
.ln-faq-mini details[open] summary::after { transform: rotate(45deg); }
.ln-faq-mini summary::-webkit-details-marker { display: none; }
.ln-faq-mini details[open] { background: #f4f9fc; border-color: #cfe8f3; box-shadow: 0 4px 12px #11394c0a; }
.ln-faq-mini details > p { margin: 0; padding: 0 22px 18px; color: #34566b; line-height: 1.6; }

/* ============= CTA FINAL ============= */
.ln-cta {
  margin: 30px auto; padding: 80px 28px;
  background: linear-gradient(145deg, #071d2b, #0a2a3d);
  border-radius: 32px; color: #dff7ff; text-align: center;
  max-width: 1240px;
  position: relative; overflow: hidden;
}
.ln-cta::before {
  content: ""; position: absolute; inset: -50%;
  background: radial-gradient(circle at 30% 50%, rgba(14,165,233,0.3), transparent 50%);
  pointer-events: none;
}
.ln-cta h2 { font-size: clamp(28px, 3.6vw, 44px); margin: 0 0 14px; position: relative; letter-spacing: -.02em; }
.ln-cta p { opacity: .85; margin: 0 0 32px; font-size: 17px; position: relative; }
.ln-cta .ln-hero-cta { justify-content: center; position: relative; }

/* ============= FOOTER ============= */
.ln-footer {
  background: linear-gradient(145deg, #071d2b, #0a1822);
  color: #dff7ff;
  padding: 50px 28px 30px; margin-top: 60px;
}
.ln-foot-inner {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr 1.6fr 1fr; gap: 40px;
  align-items: start;
}
.ln-foot-brand { display: flex; flex-direction: column; gap: 10px; }
.ln-foot-brand img { width: 40px; height: 40px; object-fit: contain; border-radius: 9px; background: #fff; padding: 4px; margin-bottom: 4px; }
.ln-foot-brand strong { font-size: 16px; }
.ln-foot-brand small { opacity: .7; font-size: 13px; max-width: 320px; }
.ln-foot-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }
.ln-foot-nav h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #d4af37; margin: 0 0 10px; font-weight: 800; }
.ln-foot-nav a { color: #a9c6d2; text-decoration: none; font-size: 14px; }
.ln-foot-nav a:hover { color: #fff; }
.ln-foot-contact { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; font-size: 13px; }
.ln-foot-contact a { color: #dff7ff; }
.ln-foot-contact small { opacity: .7; font-size: 11px; margin-top: 12px; }

/* ============= FLASH ============= */
.ln-main { max-width: 1240px; margin: 0 auto; padding: 0 28px 60px; }
.ln-flash { max-width: 1240px; margin: 12px auto 0; padding: 14px 22px; border-radius: 12px; font-weight: 700; font-size: 14px; }
.ln-flash.success { background: #dcfce7; color: #166534; border: 1px solid #86efac; }
.ln-flash.error { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }

/* ============= RESPONSIVE ============= */
@media (max-width: 900px) {
  .ln-hero { grid-template-columns: 1fr; gap: 40px; padding: 50px 22px 30px; }
  .ln-hero-text h1 { font-size: 42px; }
  .ln-stats { grid-template-columns: repeat(2, 1fr); }
  .ln-screen { grid-template-columns: 1fr; gap: 30px; padding: 50px 22px; }
  .ln-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .ln-foot-inner { grid-template-columns: 1fr; gap: 24px; }
  .ln-foot-nav { grid-template-columns: 1fr 1fr; }
  .ln-foot-contact { align-items: flex-start; }
  .ln-mock { transform: none; }
}

/* O menu vira "gaveta" (hamburguer) ja no tablet: os itens inline
   estouravam a largura entre ~700 e 900px. */
@media (max-width: 900px) {
  .ln-burger { display: grid; }
  .ln-menu {
    position: fixed; top: 0; bottom: 0; left: 0;
    height: 100vh; height: 100dvh;           /* preenche a tela toda (inset dava 92px) */
    width: 86vw; max-width: 320px;
    flex-direction: column; gap: 14px; align-items: stretch;
    padding: 70px 22px 22px; background: #fff;
    overflow-y: auto;                         /* rola se tiver muitos itens */
    transform: translateX(-105%); transition: transform .22s ease;
    z-index: 60; box-shadow: 4px 0 24px #11394c20;
  }
  .ln-menu.is-open { transform: translateX(0); }
  .ln-menu a { padding: 10px 12px; border-radius: 10px; }
}
body.theme-dark .ln-menu { background: #0d1b26; }

@media (max-width: 700px) {
  .ln-feature-grid, .ln-all-features, .ln-stats { grid-template-columns: 1fr; }
}

/* ============= FORM SIGNUP / CONTENT ============= */
.ln-content { max-width: 760px; margin: 0 auto; padding: 40px 28px 60px; }
.ln-content h1 { font-size: 36px; color: var(--nav); margin: 0 0 18px; letter-spacing: -.02em; }
.ln-content h2 { font-size: 22px; margin: 28px 0 10px; color: #1f3a4d; }
.ln-content p, .ln-content li { color: #34566b; line-height: 1.7; }
.ln-content ul { padding-left: 22px; }
.ln-content code { background: #eef6fa; padding: 1px 6px; border-radius: 4px; font-size: 13px; }

.ln-plan-card {
  background: #fff; border: 1px solid #d7e9f1; border-radius: 22px;
  padding: 40px; margin-bottom: 30px;
  box-shadow: 0 18px 48px #11394c12;
  text-align: center;
  position: relative; overflow: hidden;
}
.ln-plan-card::before {
  content: "RECOMENDADO"; position: absolute; top: 26px; right: -32px;
  background: linear-gradient(145deg, var(--gold), #b58a26);
  color: #071d2b; padding: 6px 44px;
  font-size: 10px; font-weight: 900; letter-spacing: .12em;
  transform: rotate(35deg);
}
.ln-plan-card h2 { font-size: 54px; color: var(--nav); margin: 8px 0; font-weight: 900; letter-spacing: -.02em; }
.ln-plan-card h2 span { font-size: 18px; color: var(--muted); margin-left: 8px; font-weight: 600; }
.ln-plan-card .ln-plan-desc { color: var(--muted); margin: 0 0 20px; }
.ln-plan-card ul { list-style: none; padding: 0; margin: 22px auto; text-align: left; max-width: 420px; }
.ln-plan-card li { padding: 8px 0 8px 28px; position: relative; }
.ln-plan-card li::before { content: "✓"; position: absolute; left: 0; color: #16a34a; font-weight: 900; }
.ln-plan-foot { margin-top: 10px; color: var(--muted); }

.ln-signup-wrap { max-width: 540px; margin: 40px auto 60px; padding: 0 28px; }
.ln-signup-wrap h1 { font-size: 36px; color: var(--nav); margin: 0 0 6px; letter-spacing: -.02em; }
.ln-signup-card {
  display: grid; gap: 14px; margin-top: 18px;
  background: #fff; border: 1px solid #d7e9f1; border-radius: 18px;
  padding: 26px; box-shadow: 0 12px 36px #11394c0d;
}
.ln-signup-card label { display: block; font-size: 13px; font-weight: 700; color: #334b5b; }
.ln-signup-card input[type=text],
.ln-signup-card input[type=email],
.ln-signup-card input[type=password] {
  width: 100%; padding: 12px 14px; margin-top: 6px;
  border: 1px solid #cbdde5; border-radius: 11px;
  background: #fff; color: var(--ink); font: inherit;
}
.ln-signup-card input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #0ea5e918; outline: 0; }
.ln-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; font-weight: 600; color: #34566b; }
.ln-check input { margin-top: 4px; }
.ln-check a { color: var(--blue2); }
.ln-signup-card .ln-btn { margin-top: 6px; }

/* ============= ADMIN (cards) ============= */
.ln-counts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 20px 0; }
.ln-counts > div { padding: 18px 16px; background: #fff; border: 1px solid #d7e9f1; border-radius: 14px; text-align: center; box-shadow: 0 4px 14px #11394c08; }
.ln-counts span { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 6px; }
.ln-counts strong { font-size: 24px; color: var(--nav); font-weight: 900; }
.ln-counts .ln-rev { background: linear-gradient(145deg, var(--nav), #0a2a3d); border-color: var(--nav); }
.ln-counts .ln-rev span, .ln-counts .ln-rev strong { color: #fff; }

.ln-filters { display: flex; gap: 8px; margin: 20px 0; flex-wrap: wrap; }
.ln-filters input, .ln-filters select { padding: 11px 14px; border: 1px solid #cbdde5; border-radius: 10px; background: #fff; font: inherit; }
.ln-filters input { flex: 1; min-width: 200px; }

.ln-table-wrap { overflow-x: auto; border-radius: 14px; box-shadow: 0 4px 18px #11394c0a; background: #fff; }
.ln-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ln-table th, .ln-table td { padding: 12px 14px; border-bottom: 1px solid #e1ecf3; text-align: left; }
.ln-table th { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); background: #f4f9fc; font-weight: 800; }
.ln-table tr:hover td { background: #f9fcfe; }
.ln-table form select { padding: 6px 8px; border: 1px solid #cbdde5; border-radius: 8px; background: #fff; font: inherit; }
.ln-table form button { padding: 6px 12px; font-size: 12px; box-shadow: none; }

.ln-pill { display: inline-block; padding: 4px 12px; border-radius: 99px; font-size: 11px; font-weight: 800; text-transform: capitalize; letter-spacing: .04em; }
.ln-pill-trial { background: linear-gradient(145deg, #dbeafe, #bfdbfe); color: #1d4ed8; }
.ln-pill-active { background: linear-gradient(145deg, #dcfce7, #bbf7d0); color: #166534; }
.ln-pill-overdue { background: linear-gradient(145deg, #fee2e2, #fecaca); color: #991b1b; }
.ln-pill-canceled { background: #f1f5f9; color: #475569; }
.ln-pill-pending { background: linear-gradient(145deg, #fef3c7, #fde68a); color: #92400e; }

.ln-settings-form { display: grid; gap: 14px; max-width: 640px; background: #fff; border: 1px solid #d7e9f1; border-radius: 14px; padding: 22px; margin-top: 18px; box-shadow: 0 6px 22px #11394c0d; }
.ln-settings-form label { display: block; font-size: 13px; font-weight: 700; color: #334b5b; }
.ln-settings-form input { display: block; width: 100%; margin-top: 6px; padding: 11px 13px; border: 1px solid #cbdde5; border-radius: 10px; font: inherit; }
.ln-settings-form input:focus { border-color: var(--blue); outline: 0; box-shadow: 0 0 0 3px #0ea5e918; }

.ln-btn-danger { background: linear-gradient(145deg, #ef4444, #b91c1c); color: #fff; box-shadow: 0 4px 10px #b91c1c29; }
.ln-btn-danger:hover { transform: translateY(-1px); }

/* ================= MODO ESCURO — demais paginas da landing ================= */
/* Titulos e textos (ficavam com cor escura fixa e sumiam no fundo escuro) */
body.landing.theme-dark .ln-content h1,
body.landing.theme-dark .ln-signup-wrap h1,
body.landing.theme-dark .ln-plan-card h2,
body.landing.theme-dark .ln-counts strong { color: #eaf1f7; }
body.landing.theme-dark .ln-content h2 { color: #cdd9e3; }
body.landing.theme-dark .ln-content p,
body.landing.theme-dark .ln-content li,
body.landing.theme-dark .ln-signup-card label,
body.landing.theme-dark .ln-settings-form label,
body.landing.theme-dark .ln-check { color: #b4c2ce; }
body.landing.theme-dark .ln-content code { background: #14212d; color: #cfe0ec; }

/* Cards passam a ser escuros (antes ficavam brancos sobre fundo escuro) */
body.landing.theme-dark .ln-plan-card,
body.landing.theme-dark .ln-signup-card,
body.landing.theme-dark .ln-counts > div,
body.landing.theme-dark .ln-table-wrap,
body.landing.theme-dark .ln-settings-form,
body.landing.theme-dark .ln-faq-mini details {
  background: #111c26; border-color: #22303f;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
body.landing.theme-dark .ln-faq-mini details[open] { background: #16232f; border-color: #2b3d4e; }
body.landing.theme-dark .ln-faq-mini h2,
body.landing.theme-dark .ln-faq-mini summary { color: #eaf1f7; }
body.landing.theme-dark .ln-faq-mini details > p { color: #b4c2ce; }
body.landing.theme-dark .ln-faq-mini details:hover { border-color: #33475a; }

/* Campos de formulario escuros */
body.landing.theme-dark .ln-signup-card input,
body.landing.theme-dark .ln-settings-form input,
body.landing.theme-dark .ln-filters input,
body.landing.theme-dark .ln-filters select,
body.landing.theme-dark .ln-table form select {
  background: #0e1a24; border-color: #2b3d4e; color: #eaf1f7;
}

/* Tabelas (painel master) */
body.landing.theme-dark .ln-table th { background: #0e1a24; color: #9fb0bf; }
body.landing.theme-dark .ln-table th,
body.landing.theme-dark .ln-table td { border-bottom-color: #22303f; }
body.landing.theme-dark .ln-table tr:hover td { background: #16232f; }

/* Botao secundario (paginas internas) */
body.landing.theme-dark .ln-btn-ghost { background: #14212d; color: #eaf1f7; border-color: #33475a; }
body.landing.theme-dark .ln-btn-ghost:hover { background: #1a2b39; }