/* =================================================================
   WHManager — Site institucional — folha de estilos única
   Consolidada a partir dos blocos <style> inline de cada página.
   ================================================================= */

/* ─────────────────────────────────────────────────────────────────
   BASE / COMPARTILHADO — usado por todas as páginas
   ───────────────────────────────────────────────────────────────── */
    :root {
      --primary:       #4f46e5;
      --primary-dark:  #3730a3;
      --primary-darker:#1e1b4b;
      --primary-light: #818cf8;
      --secondary:     #06b6d4;
      --accent:        #f59e0b;
      --success:       #10b981;
      --dark:          #0f172a;
      --dark-2:        #1e293b;
      --dark-3:        #334155;
      --gray-600:      #475569;
      --gray-500:      #64748b;
      --gray-300:      #cbd5e1;
      --gray-100:      #f1f5f9;
      --white:         #ffffff;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      font-family: 'Inter', sans-serif;
      color: var(--dark);
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* ─── NAVBAR ────────────────────────────────────── */
    #mainNav {
      background: rgba(10, 10, 26, 0.92);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid rgba(255,255,255,0.05);
      padding: 16px 0;
      transition: padding .3s ease, box-shadow .3s ease;
    }
    #mainNav.scrolled {
      padding: 10px 0;
      box-shadow: 0 4px 24px rgba(0,0,0,0.35);
    }
    .navbar-brand {
      font-size: 1.5rem;
      font-weight: 900;
      color: #fff !important;
      letter-spacing: -0.5px;
    }
    .navbar-brand .accent { color: var(--primary-light); }
    .navbar .nav-link {
      color: rgba(255,255,255,0.65) !important;
      font-weight: 500;
      font-size: .875rem;
      padding: 8px 14px !important;
      border-radius: 8px;
      transition: color .2s, background .2s;
    }
    .navbar .nav-link:hover { color: #fff !important; background: rgba(255,255,255,.08); }
    .btn-central {
      background: linear-gradient(135deg, var(--primary), var(--primary-light));
      color: #fff !important;
      font-weight: 700 !important;
      padding: 10px 22px !important;
      border-radius: 50px;
      font-size: .875rem !important;
      box-shadow: 0 4px 18px rgba(79,70,229,.4);
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .btn-central:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(79,70,229,.5); }

    /* ─── FOOTER ────────────────────────────────────── */
    footer {
      background: #060614;
      border-top: 1px solid rgba(255,255,255,.05);
      padding: 60px 0 28px;
    }
    .ft-brand { font-size: 1.4rem; font-weight: 900; color: #fff; letter-spacing: -.5px; }
    .ft-brand span { color: var(--primary-light); }
    .ft-desc { font-size: .84rem; color: rgba(255,255,255,.38); line-height: 1.7; margin-top: 12px; max-width: 260px; }
    .ft-h { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.3); margin-bottom: 16px; }
    .ft-links { list-style: none; padding: 0; margin: 0; }
    .ft-links li { margin-bottom: 10px; }
    .ft-links a { color: rgba(255,255,255,.48); text-decoration: none; font-size: .84rem; transition: color .2s; }
    .ft-links a:hover { color: #fff; }
    .ft-div { border: none; border-top: 1px solid rgba(255,255,255,.05); margin: 40px 0 22px; }
    .ft-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .ft-bottom p { color: rgba(255,255,255,.28); font-size: .78rem; margin: 0; }
    .ft-socials { display: flex; gap: 8px; }
    .ft-social {
      width: 36px; height: 36px;
      border-radius: 9px;
      background: rgba(255,255,255,.05);
      color: rgba(255,255,255,.45);
      display: flex; align-items: center; justify-content: center;
      text-decoration: none; font-size: .9rem;
      transition: background .2s, color .2s;
    }
    .ft-social:hover { background: rgba(79,70,229,.3); color: #fff; }

    /* ─── SCROLL TOP ────────────────────────────────── */
    #scrollTop {
      position: fixed; bottom: 28px; right: 28px;
      width: 44px; height: 44px;
      border-radius: 12px;
      background: var(--primary);
      color: #fff; border: none;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem; cursor: pointer;
      box-shadow: 0 4px 16px rgba(79,70,229,.4);
      transition: opacity .3s, transform .3s, box-shadow .3s;
      opacity: 0; pointer-events: none; z-index: 9999;
    }
    #scrollTop.show { opacity: 1; pointer-events: auto; }
    #scrollTop:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(79,70,229,.5); }

    /* ─── WHATSAPP FLUTUANTE ─────────────────────────── */
    #waFloat {
      position: fixed; bottom: 28px; left: 28px;
      width: 56px; height: 56px;
      border-radius: 50%;
      background: #25d366;
      color: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.7rem;
      box-shadow: 0 4px 18px rgba(37,211,102,.45);
      z-index: 9999;
      transition: transform .3s, box-shadow .3s;
      text-decoration: none;
    }
    #waFloat:hover { transform: translateY(-4px) scale(1.05); box-shadow: 0 10px 28px rgba(37,211,102,.55); color: #fff; }
    #waFloat::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: #25d366;
      z-index: -1;
      animation: waPulse 2.2s ease-out infinite;
    }
    @keyframes waPulse {
      0%   { transform: scale(1);   opacity: .55; }
      100% { transform: scale(1.7); opacity: 0; }
    }
    @media (max-width: 767px) {
      #waFloat { width: 50px; height: 50px; font-size: 1.5rem; bottom: 20px; left: 20px; }
    }

    /* ─── UTILS ─────────────────────────────────────── */
    .text-grad {
      background: linear-gradient(135deg, #a5b4fc, #67e8f9);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

/* ─────────────────────────────────────────────────────────────────
   HOME (/)
   ───────────────────────────────────────────────────────────────── */
    /* ─── HERO ──────────────────────────────────────── */
    #home {
      min-height: 100vh;
      background: radial-gradient(ellipse at 70% 40%, rgba(99,102,241,.18) 0%, transparent 60%),
                  radial-gradient(ellipse at 20% 80%, rgba(6,182,212,.10) 0%, transparent 50%),
                  linear-gradient(145deg, #060614 0%, #0e0c2e 40%, #1e1b4b 70%, #0e0c2e 100%);
      display: flex;
      align-items: center;
      padding: 120px 0 80px;
      position: relative;
      overflow: hidden;
    }
    #home::after {
      content: '';
      position: absolute;
      inset: 0;
      background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1' fill='%23ffffff' fill-opacity='.04'/%3E%3C/svg%3E") repeat;
      pointer-events: none;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(129,140,248,.12);
      border: 1px solid rgba(129,140,248,.25);
      color: var(--primary-light);
      padding: 6px 16px;
      border-radius: 50px;
      font-size: .8rem;
      font-weight: 600;
      margin-bottom: 28px;
      letter-spacing: .3px;
    }
    .badge-dot {
      width: 7px; height: 7px;
      background: var(--primary-light);
      border-radius: 50%;
      animation: blink 2s ease-in-out infinite;
    }
    @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.25} }

    .hero-title {
      font-size: clamp(2.4rem, 5vw, 4rem);
      font-weight: 900;
      color: #fff;
      line-height: 1.08;
      letter-spacing: -1.5px;
      margin-bottom: 24px;
    }
    .hero-title .hl {
      background: linear-gradient(135deg, #a5b4fc, #67e8f9);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hero-sub {
      font-size: 1.1rem;
      color: rgba(255,255,255,.58);
      line-height: 1.75;
      max-width: 520px;
      margin-bottom: 40px;
    }
    .hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 56px; }
    .btn-hp {
      display: inline-flex; align-items: center; gap: 8px;
      background: linear-gradient(135deg, #4f46e5, #6366f1);
      color: #fff;
      font-weight: 700;
      padding: 15px 34px;
      border-radius: 50px;
      font-size: 1rem;
      border: none;
      cursor: pointer;
      box-shadow: 0 8px 28px rgba(79,70,229,.45);
      transition: transform .3s, box-shadow .3s;
      text-decoration: none;
    }
    .btn-hp:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(79,70,229,.55); color: #fff; }
    .btn-hs {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.07);
      color: #fff;
      font-weight: 600;
      padding: 15px 34px;
      border-radius: 50px;
      font-size: 1rem;
      border: 1px solid rgba(255,255,255,.14);
      cursor: pointer;
      transition: background .3s, transform .3s;
      text-decoration: none;
      backdrop-filter: blur(8px);
    }
    .btn-hs:hover { background: rgba(255,255,255,.13); transform: translateY(-2px); color: #fff; }

    .hero-stats { display: flex; gap: 40px; flex-wrap: wrap; }
    .hstat-num { font-size: 2.2rem; font-weight: 900; color: #fff; line-height: 1; }
    .hstat-lbl { font-size: .8rem; color: rgba(255,255,255,.42); margin-top: 4px; }
    .hstat-sep { width: 1px; background: rgba(255,255,255,.1); align-self: stretch; }

    /* Browser mockup */
    .mock-browser {
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 40px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
      position: relative;
    }
    .mock-bar {
      background: #1c2333;
      padding: 11px 16px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .md { width: 12px; height: 12px; border-radius: 50%; }
    .md-r{background:#ef4444;} .md-y{background:#f59e0b;} .md-g{background:#10b981;}
    .mock-url {
      flex: 1;
      background: rgba(255,255,255,.05);
      border-radius: 6px;
      padding: 5px 12px;
      font-size: .72rem;
      color: rgba(255,255,255,.3);
      margin-left: 8px;
    }
    .mock-body { display: flex; height: 340px; background: #f1f5f9; }

    /* Sidebar sim */
    .ms-sidebar {
      width: 190px;
      background: #0f172a;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
    }
    .ms-logo {
      padding: 14px 16px;
      border-bottom: 1px solid rgba(255,255,255,.06);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ms-logo-icon {
      width: 28px; height: 28px;
      border-radius: 7px;
      background: linear-gradient(135deg, #4f46e5, #818cf8);
      display: flex; align-items: center; justify-content: center;
      font-size: .75rem; color: #fff; font-weight: 900;
    }
    .ms-logo-txt { color: #fff; font-size: .8rem; font-weight: 700; }
    .ms-menu { padding: 10px 6px; flex: 1; }
    .ms-item {
      display: flex; align-items: center; gap: 8px;
      padding: 8px 10px; border-radius: 7px; margin-bottom: 1px;
    }
    .ms-item.act { background: rgba(79,70,229,.22); }
    .ms-item i { font-size: .8rem; width: 14px; text-align: center; }
    .ms-item.act i { color: #818cf8; }
    .ms-item:not(.act) i { color: rgba(255,255,255,.3); }
    .ms-item span { font-size: .73rem; font-weight: 500; }
    .ms-item.act span { color: rgba(255,255,255,.88); }
    .ms-item:not(.act) span { color: rgba(255,255,255,.35); }

    /* Main sim */
    .ms-main { flex: 1; padding: 16px; overflow: hidden; }
    .ms-ptitle { font-size: .85rem; font-weight: 800; color: #0f172a; margin-bottom: 14px; }
    .ms-cards { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-bottom: 12px; }
    .ms-card {
      background: #fff;
      border-radius: 8px;
      padding: 10px 8px;
      box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }
    .ms-cd { width: 22px; height: 22px; border-radius: 50%; margin-bottom: 6px; }
    .ms-cn { font-size: .85rem; font-weight: 800; color: #0f172a; line-height: 1; }
    .ms-cl { font-size: .58rem; color: #94a3b8; margin-top: 2px; }
    .ms-chart {
      background: #fff;
      border-radius: 8px;
      padding: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }
    .ms-chtitle { font-size: .72rem; font-weight: 700; color: #0f172a; margin-bottom: 8px; }

    /* ─── FEATURES BAR ──────────────────────────────── */
    .features-bar {
      background: var(--dark-2);
      padding: 28px 0;
      border-top: 1px solid rgba(255,255,255,.04);
      border-bottom: 1px solid rgba(255,255,255,.04);
    }
    .fp { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.65); font-size: .85rem; font-weight: 500; }
    .fp i { color: var(--primary-light); font-size: 1rem; }
    .fp-sep { width: 1px; height: 22px; background: rgba(255,255,255,.08); }

    /* ─── SECTION BASE ──────────────────────────────── */
    section { padding: 96px 0; }
    .sec-badge {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(79,70,229,.07);
      border: 1px solid rgba(79,70,229,.15);
      color: var(--primary);
      padding: 5px 14px;
      border-radius: 50px;
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .6px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }
    .sec-title {
      font-size: clamp(1.9rem, 3vw, 2.8rem);
      font-weight: 900;
      letter-spacing: -.5px;
      line-height: 1.15;
      margin-bottom: 16px;
    }
    .sec-sub {
      font-size: 1.05rem;
      color: var(--gray-500);
      line-height: 1.75;
      max-width: 560px;
    }

    /* ─── SOBRE ─────────────────────────────────────── */
    #sobre { background: #fff; }
    .feat-card {
      background: var(--gray-100);
      border-radius: 18px;
      padding: 28px 24px;
      height: 100%;
      border: 1.5px solid transparent;
      transition: transform .3s, border-color .3s, box-shadow .3s, background .3s;
    }
    .feat-card:hover {
      background: #fff;
      border-color: rgba(79,70,229,.12);
      box-shadow: 0 12px 32px rgba(79,70,229,.09);
      transform: translateY(-5px);
    }
    .feat-icon {
      width: 50px; height: 50px;
      border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.4rem;
      margin-bottom: 18px;
      flex-shrink: 0;
    }
    .feat-card h5 { font-size: .95rem; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
    .feat-card p  { font-size: .875rem; color: var(--gray-500); line-height: 1.65; margin: 0; }

    .whitelabel-block {
      background: linear-gradient(135deg, var(--primary-darker), var(--primary-dark));
      border-radius: 24px;
      padding: 48px;
      color: #fff;
      position: relative;
      overflow: hidden;
    }
    .whitelabel-block::before {
      content: '';
      position: absolute;
      width: 400px; height: 400px;
      background: radial-gradient(circle, rgba(129,140,248,.2) 0%, transparent 70%);
      top: -100px; right: -80px;
      border-radius: 50%;
    }

    /* ─── DEMO ──────────────────────────────────────── */
    #demo {
      background: linear-gradient(180deg, #f8fafc 0%, #0f172a 40%);
      padding-bottom: 0;
    }
    .demo-tabs-wrap {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 50px;
      padding: 5px;
      display: inline-flex;
      gap: 4px;
      margin-bottom: 40px;
    }
    .dtab {
      padding: 9px 22px;
      border-radius: 50px;
      font-size: .875rem;
      font-weight: 600;
      cursor: pointer;
      border: none;
      background: transparent;
      color: rgba(255,255,255,.5);
      transition: all .25s ease;
    }
    .dtab.active { background: #fff; color: var(--dark); box-shadow: 0 2px 10px rgba(0,0,0,.15); }

    .demo-panel { display: none; }
    .demo-panel.active { display: block; }

    .demo-window {
      border-radius: 14px 14px 0 0;
      overflow: hidden;
      box-shadow: 0 -16px 48px rgba(79,70,229,.18), 0 0 0 1px rgba(255,255,255,.07);
    }
    .dw-bar {
      background: #1c2333;
      padding: 13px 20px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .dw-url {
      flex: 1;
      background: rgba(255,255,255,.05);
      border-radius: 8px;
      padding: 5px 14px;
      font-size: .75rem;
      color: rgba(255,255,255,.32);
      margin-left: 12px;
    }

    /* Admin Demo */
    .adm-demo { display: flex; height: 500px; }
    .adm-sb {
      width: 210px;
      background: #0f172a;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
    }
    .adm-sb-logo {
      padding: 18px 16px;
      border-bottom: 1px solid rgba(255,255,255,.06);
      display: flex; align-items: center; gap: 10px;
    }
    .adm-logo-box {
      width: 34px; height: 34px;
      border-radius: 9px;
      background: linear-gradient(135deg, #4f46e5, #818cf8);
      display: flex; align-items: center; justify-content: center;
      font-size: .8rem; color: #fff; font-weight: 900;
    }
    .adm-logo-txt { color: #fff; font-size: .88rem; font-weight: 800; }
    .adm-menu { padding: 10px 8px; flex: 1; overflow: hidden; }
    .adm-item {
      display: flex; align-items: center; gap: 10px;
      padding: 9px 10px; border-radius: 8px; margin-bottom: 2px;
    }
    .adm-item.on { background: rgba(79,70,229,.25); }
    .adm-item i { font-size: .85rem; width: 16px; text-align: center; }
    .adm-item.on i { color: #a5b4fc; }
    .adm-item:not(.on) i { color: rgba(255,255,255,.28); }
    .adm-item span { font-size: .78rem; font-weight: 500; }
    .adm-item.on span { color: rgba(255,255,255,.9); }
    .adm-item:not(.on) span { color: rgba(255,255,255,.38); }
    .adm-usr {
      padding: 14px 16px;
      border-top: 1px solid rgba(255,255,255,.06);
      display: flex; align-items: center; gap: 8px;
    }
    .adm-usr-av {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: linear-gradient(135deg, #4f46e5, #818cf8);
      display: flex; align-items: center; justify-content: center;
      font-size: .65rem; font-weight: 800; color: #fff;
    }
    .adm-usr-info { flex: 1; overflow: hidden; }
    .adm-usr-name { font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .adm-usr-role { font-size: .62rem; color: rgba(255,255,255,.35); }

    .adm-main { flex: 1; background: #f1f5f9; padding: 22px; overflow: hidden; }
    .adm-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
    .adm-ptitle { font-size: 1.15rem; font-weight: 900; color: #0f172a; }
    .adm-topbadge { background: rgba(16,185,129,.1); color: #10b981; border-radius: 6px; padding: 4px 10px; font-size: .7rem; font-weight: 700; }
    .adm-stats { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-bottom: 14px; }
    .adm-scard { background: #fff; border-radius: 10px; padding: 12px 10px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
    .adm-scard .ico { width: 28px; height: 28px; border-radius: 50%; margin-bottom: 7px; }
    .adm-scard .num { font-size: 1rem; font-weight: 900; color: #0f172a; }
    .adm-scard .lbl { font-size: .6rem; color: #94a3b8; margin-top: 2px; }
    .adm-chart-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .adm-chrt { background: #fff; border-radius: 10px; padding: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
    .adm-chrt-title { font-size: .72rem; font-weight: 700; color: #0f172a; margin-bottom: 8px; }
    .adm-table-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid #f1f5f9; }
    .adm-table-row:last-child { border: none; }
    .adm-table-lbl { font-size: .65rem; color: #64748b; }
    .adm-pill { display: inline-block; padding: 2px 8px; border-radius: 50px; font-size: .58rem; font-weight: 700; }
    .pill-g { background: rgba(16,185,129,.1); color: #10b981; }
    .pill-y { background: rgba(245,158,11,.1); color: #d97706; }
    .pill-r { background: rgba(239,68,68,.1); color: #dc2626; }

    /* Portal Demo */
    .prt-demo { height: 500px; background: #f8fafc; overflow: hidden; display: flex; flex-direction: column; }
    .prt-nav {
      background: #fff;
      padding: 12px 24px;
      display: flex; align-items: center; justify-content: space-between;
      border-bottom: 1px solid #e2e8f0;
      flex-shrink: 0;
    }
    .prt-logo { font-size: .95rem; font-weight: 900; color: var(--primary); }
    .prt-nav-r { display: flex; gap: 10px; align-items: center; }
    .prt-btn-o { padding: 6px 14px; border: 1.5px solid var(--primary); border-radius: 6px; font-size: .72rem; font-weight: 700; color: var(--primary); background: transparent; }
    .prt-btn-f { padding: 6px 14px; background: var(--primary); border-radius: 6px; font-size: .72rem; font-weight: 700; color: #fff; border: none; }
    .prt-hero {
      background: linear-gradient(135deg, #1e1b4b, #4f46e5);
      padding: 28px 24px;
      text-align: center;
      color: #fff;
      flex-shrink: 0;
    }
    .prt-hero h2 { font-size: 1.2rem; font-weight: 900; margin-bottom: 6px; }
    .prt-hero p  { font-size: .78rem; opacity: .65; margin-bottom: 16px; }
    .prt-hero-btns { display: flex; gap: 10px; justify-content: center; }
    .prt-hbtn-p { padding: 8px 20px; background: #fff; color: var(--primary); font-size: .78rem; font-weight: 700; border-radius: 50px; border: none; }
    .prt-hbtn-s { padding: 8px 20px; background: rgba(255,255,255,.12); color: #fff; font-size: .78rem; font-weight: 600; border-radius: 50px; border: 1px solid rgba(255,255,255,.2); }
    .prt-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding: 20px 24px; }
    .prt-feat { background: #fff; border-radius: 10px; padding: 14px; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
    .prt-feat-ico { font-size: 1.2rem; margin-bottom: 6px; }
    .prt-feat h6 { font-size: .72rem; font-weight: 700; color: #0f172a; margin-bottom: 3px; }
    .prt-feat p  { font-size: .62rem; color: #94a3b8; margin: 0; line-height: 1.4; }

    /* ─── INTEGRAÇÕES ───────────────────────────────── */
    #integracoes {
      background: var(--dark);
      position: relative;
      overflow: hidden;
    }
    #integracoes::before {
      content: '';
      position: absolute;
      width: 800px; height: 800px;
      background: radial-gradient(circle, rgba(79,70,229,.12) 0%, transparent 65%);
      top: 50%; left: 50%;
      transform: translate(-50%,-50%);
      pointer-events: none;
    }
    .int-card {
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 18px;
      padding: 28px 18px;
      text-align: center;
      transition: transform .3s, border-color .3s, background .3s;
    }
    .int-card:hover {
      background: rgba(255,255,255,.08);
      border-color: rgba(129,140,248,.28);
      transform: translateY(-5px);
    }
    .int-icon {
      width: 58px; height: 58px;
      border-radius: 15px;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 14px;
      font-size: 1.6rem;
    }
    .int-card h6 { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: 5px; }
    .int-card p  { font-size: .75rem; color: rgba(255,255,255,.4); line-height: 1.55; margin: 0; }
    .int-badge { display: inline-block; background: rgba(16,185,129,.15); color: #34d399; font-size: .62rem; font-weight: 700; padding: 2px 8px; border-radius: 50px; margin-bottom: 8px; }

    /* ─── PREÇO ─────────────────────────────────────── */
    #preco { background: var(--gray-100); }
    .period-selector {
      display: inline-flex;
      background: #e2e8f0;
      border-radius: 50px;
      padding: 4px;
      gap: 4px;
      margin-bottom: 48px;
    }
    .period-btn {
      padding: 9px 24px;
      border-radius: 50px;
      border: none;
      background: transparent;
      font-size: .875rem;
      font-weight: 600;
      color: var(--gray-500);
      cursor: pointer;
      transition: all .25s ease;
      position: relative;
    }
    .period-btn.active {
      background: #fff;
      color: var(--dark);
      box-shadow: 0 2px 8px rgba(0,0,0,.12);
    }
    .period-btn .discount-tag {
      position: absolute;
      top: -8px; right: -4px;
      background: var(--success);
      color: #fff;
      font-size: .58rem;
      font-weight: 700;
      padding: 2px 6px;
      border-radius: 50px;
      letter-spacing: .3px;
      white-space: nowrap;
    }

    /* ─── CUPOM DE LANÇAMENTO (etiqueta) ────────────── */
    .promo-ticket {
      position: relative;
      max-width: 620px;
      margin: 0 auto 40px;
      background: #fff;
      border: 2px dashed var(--accent);
      border-radius: 16px;
      padding: 30px 40px;
      text-align: center;
      box-shadow: 0 16px 40px rgba(245,158,11,.16);
    }
    .promo-ticket::before,
    .promo-ticket::after {
      content: '';
      position: absolute;
      top: 50%;
      width: 30px;
      height: 30px;
      background: var(--gray-100);
      border-radius: 50%;
      transform: translateY(-50%);
    }
    .promo-ticket::before { left: -17px; }
    .promo-ticket::after  { right: -17px; }
    .promo-tag {
      display: inline-block;
      background: var(--accent);
      color: #fff;
      font-size: .68rem;
      font-weight: 800;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 50px;
      margin-bottom: 14px;
    }
    .promo-headline {
      font-size: 2rem;
      font-weight: 900;
      line-height: 1.15;
      letter-spacing: -.5px;
      color: var(--dark);
      margin-bottom: 6px;
    }
    .promo-headline .promo-off { color: var(--accent); }
    .promo-sub {
      font-size: .95rem;
      font-weight: 600;
      color: var(--gray-600);
      margin-bottom: 18px;
    }
    .promo-code {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: 'Courier New', ui-monospace, monospace;
      font-size: 1.9rem;
      font-weight: 900;
      letter-spacing: 3px;
      color: var(--primary-dark);
      background: rgba(245,158,11,.1);
      border: 2px dashed var(--accent);
      border-radius: 10px;
      padding: 10px 24px;
      margin-bottom: 16px;
    }
    .promo-code i { font-size: 1.3rem; color: var(--accent); }
    .promo-fine {
      font-size: .8rem;
      color: var(--gray-500);
      line-height: 1.6;
      max-width: 440px;
      margin: 0 auto;
    }
    .promo-fine strong { color: var(--gray-600); }
    @media (max-width: 767px) {
      .promo-ticket { padding: 26px 22px; }
      .promo-headline { font-size: 1.5rem; }
      .promo-code { font-size: 1.4rem; letter-spacing: 2px; padding: 9px 18px; }
    }

    .pc { background: #fff; border-radius: 24px; padding: 36px 32px; border: 2px solid transparent; height: 100%; transition: transform .3s, border-color .3s, box-shadow .3s; position: relative; overflow: hidden; }
    .pc:hover { transform: translateY(-6px); border-color: rgba(79,70,229,.18); box-shadow: 0 20px 44px rgba(79,70,229,.1); }
    .pc.hot { background: linear-gradient(145deg, #1e1b4b 0%, #312e81 50%, #4338ca 100%); border-color: #4f46e5; box-shadow: 0 20px 50px rgba(79,70,229,.35); }
    .pc.hot::after { content: 'MAIS POPULAR'; position: absolute; top: 24px; right: -32px; background: var(--accent); color: #fff; font-size: .62rem; font-weight: 700; padding: 5px 44px; transform: rotate(45deg); letter-spacing: 1px; }
    .pc-plan { font-size: .72rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 8px; }
    .pc:not(.hot) .pc-plan { color: var(--primary); }
    .pc.hot .pc-plan { color: rgba(255,255,255,.6); }
    .pc-price { display: flex; align-items: baseline; gap: 2px; margin-bottom: 6px; }
    .pc-cur { font-size: 1rem; font-weight: 700; }
    .pc-amt { font-size: 3.2rem; font-weight: 900; letter-spacing: -2px; line-height: 1; }
    .pc-per { font-size: .85rem; font-weight: 500; align-self: flex-end; padding-bottom: 4px; }
    .pc:not(.hot) .pc-cur,.pc:not(.hot) .pc-amt,.pc:not(.hot) .pc-per { color: var(--dark); }
    .pc.hot .pc-cur,.pc.hot .pc-amt,.pc.hot .pc-per { color: #fff; }
    .pc-desc { font-size: .84rem; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid; }
    .pc:not(.hot) .pc-desc { color: var(--gray-500); border-color: var(--gray-300); }
    .pc.hot .pc-desc { color: rgba(255,255,255,.55); border-color: rgba(255,255,255,.12); }
    .pc-feats { list-style: none; padding: 0; margin: 0 0 30px; }
    .pc-feats li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; font-size: .86rem; }
    .pc:not(.hot) .pc-feats li { color: var(--dark-3); }
    .pc.hot .pc-feats li { color: rgba(255,255,255,.82); }
    .chk { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .65rem; flex-shrink: 0; margin-top: 1px; }
    .pc:not(.hot) .chk { background: rgba(79,70,229,.1); color: var(--primary); }
    .pc.hot .chk { background: rgba(255,255,255,.14); color: #fff; }
    .btn-pc { width: 100%; padding: 13px; border-radius: 12px; font-weight: 700; font-size: .9rem; border: 2px solid; cursor: pointer; transition: all .3s; text-decoration: none; display: block; text-align: center; }
    .pc:not(.hot) .btn-pc { background: transparent; color: var(--primary); border-color: rgba(79,70,229,.25); }
    .pc:not(.hot) .btn-pc:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
    .pc.hot .btn-pc { background: #fff; color: var(--primary-dark); border-color: #fff; }
    .pc.hot .btn-pc:hover { background: rgba(255,255,255,.9); }

    /* ─── DÚVIDAS ───────────────────────────────────── */
    #duvidas { background: #fff; }
    .faq-item {
      border: 1.5px solid var(--gray-300);
      border-radius: 14px;
      overflow: hidden;
      margin-bottom: 10px;
      transition: border-color .3s;
    }
    .faq-item:hover { border-color: rgba(79,70,229,.3); }
    .faq-item.open { border-color: rgba(79,70,229,.3); }
    .faq-q {
      width: 100%;
      padding: 18px 22px;
      background: #fff;
      border: none;
      text-align: left;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      cursor: pointer;
      font-size: .92rem;
      font-weight: 600;
      color: var(--dark);
      transition: background .2s;
    }
    .faq-q:hover { background: var(--gray-100); }
    .faq-ico {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: rgba(79,70,229,.08);
      color: var(--primary);
      display: flex; align-items: center; justify-content: center;
      font-size: .8rem;
      flex-shrink: 0;
      transition: transform .3s, background .3s, color .3s;
    }
    .faq-item.open .faq-ico { background: var(--primary); color: #fff; transform: rotate(45deg); }
    .faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height .35s ease, padding .35s ease;
      padding: 0 22px;
      font-size: .875rem;
      color: var(--gray-500);
      line-height: 1.75;
    }
    .faq-item.open .faq-a { max-height: 400px; padding: 0 22px 18px; }

    /* ─── CONTATO ───────────────────────────────────── */
    #contato {
      background: var(--dark);
      position: relative;
      overflow: hidden;
    }
    #contato::before {
      content: '';
      position: absolute;
      width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(79,70,229,.1) 0%, transparent 65%);
      top: 50%; left: 50%;
      transform: translate(-50%,-50%);
      pointer-events: none;
    }
    .ct-card {
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 20px;
      padding: 32px 24px;
      text-align: center;
      transition: transform .3s, border-color .3s, background .3s;
      height: 100%;
    }
    .ct-card:hover { background: rgba(255,255,255,.07); border-color: rgba(129,140,248,.25); transform: translateY(-4px); }
    .ct-icon { width: 58px; height: 58px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 1.5rem; }
    .ct-card h5 { color: #fff; font-weight: 700; font-size: 1rem; margin-bottom: 8px; }
    .ct-card p  { color: rgba(255,255,255,.45); font-size: .875rem; margin-bottom: 18px; line-height: 1.6; }
    .btn-ct {
      display: inline-flex; align-items: center; gap: 6px;
      padding: 10px 22px;
      border-radius: 50px;
      font-size: .82rem;
      font-weight: 700;
      text-decoration: none;
      transition: transform .3s, box-shadow .3s;
    }
    .btn-ct:hover { transform: translateY(-2px); }
    .btn-ct-wa { background: #25d366; color: #fff; }
    .btn-ct-wa:hover { box-shadow: 0 8px 20px rgba(37,211,102,.4); color: #fff; }
    .btn-ct-em { background: var(--primary); color: #fff; }
    .btn-ct-em:hover { box-shadow: 0 8px 20px rgba(79,70,229,.4); color: #fff; }
    .btn-ct-tg { background: #229ed9; color: #fff; }
    .btn-ct-tg:hover { box-shadow: 0 8px 20px rgba(34,158,217,.4); color: #fff; }

    /* ─── CTA STRIP ─────────────────────────────────── */
    .cta-strip {
      background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 60%, #4f46e5 100%);
      padding: 80px 0;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cta-strip::before {
      content: '';
      position: absolute;
      inset: 0;
      background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E") repeat;
      pointer-events: none;
    }
    .cta-strip h2 { font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 900; color: #fff; letter-spacing: -.5px; margin-bottom: 14px; }
    .cta-strip p  { font-size: 1.05rem; color: rgba(255,255,255,.65); margin-bottom: 36px; }
    .yt-wrap  { margin-top: 52px; display: flex; justify-content: center; }
    .yt-frame {
      width: 100%; max-width: 760px;
      border-radius: 16px; overflow: hidden;
      box-shadow: 0 24px 64px rgba(0,0,0,.45);
      border: 1px solid rgba(255,255,255,.08);
      aspect-ratio: 16/9;
      position: relative;
    }
    .yt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

    @media (max-width: 991px) {
      #home { padding: 110px 0 70px; }
      .mock-body { flex-direction: column; height: auto; }
      .ms-sidebar,.adm-sb { display: none; }
      .adm-stats { grid-template-columns: repeat(3,1fr); }
      .adm-chart-row { grid-template-columns: 1fr; }
      .prt-features { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 767px) {
      section { padding: 70px 0; }
      .hero-title { font-size: 2rem; }
      .hero-ctas { flex-direction: column; }
      .hero-ctas a { width: 100%; justify-content: center; }
      .hero-stats { gap: 24px; }
      .hstat-sep { display: none; }
      .adm-demo,.prt-demo { height: auto; }
      .prt-features { grid-template-columns: 1fr; }
    }

/* ─────────────────────────────────────────────────────────────────
   CHANGELOG (/changelog)
   ───────────────────────────────────────────────────────────────── */
    :root {
      --warning: #f59e0b; --info: #06b6d4; --danger: #ef4444;
    }

    .page-hero {
      background: radial-gradient(ellipse at 60% 50%, rgba(99,102,241,.15) 0%, transparent 65%),
                  linear-gradient(145deg, #060614 0%, #0e0c2e 50%, #1e1b4b 100%);
      padding: 130px 0 60px; text-align: center;
    }
    .page-hero .badge-lbl {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(129,140,248,.12); border: 1px solid rgba(129,140,248,.22);
      color: var(--primary-light); padding: 5px 14px; border-radius: 50px;
      font-size: .78rem; font-weight: 600; margin-bottom: 18px;
    }
    .page-hero h1 { font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 900; color: #fff; letter-spacing: -.5px; margin-bottom: 12px; }
    .page-hero p  { color: rgba(255,255,255,.48); font-size: .95rem; }

    .page-content { background: var(--gray-100); padding: 64px 0 80px; }

    /* Timeline */
    .timeline { max-width: 820px; margin: 0 auto; }
    .release {
      background: #fff;
      border-radius: 20px;
      border: 1.5px solid var(--gray-300);
      overflow: hidden;
      margin-bottom: 24px;
      transition: border-color .3s, box-shadow .3s;
    }
    .release:hover { border-color: rgba(79,70,229,.2); box-shadow: 0 8px 24px rgba(79,70,229,.07); }
    .release.latest { border-color: var(--primary); box-shadow: 0 8px 30px rgba(79,70,229,.12); }

    .release-header {
      padding: 22px 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      border-bottom: 1px solid var(--gray-300);
    }
    .release.latest .release-header { background: linear-gradient(135deg, rgba(79,70,229,.05), rgba(129,140,248,.05)); }

    .release-version { font-size: 1.3rem; font-weight: 900; color: var(--dark); letter-spacing: -.3px; display: flex; align-items: center; gap: 10px; }
    .v-badge { font-size: .68rem; font-weight: 700; padding: 3px 10px; border-radius: 50px; letter-spacing: .5px; }
    .v-latest { background: rgba(79,70,229,.12); color: var(--primary); }
    .v-stable { background: rgba(16,185,129,.1); color: #059669; }
    .v-beta   { background: rgba(245,158,11,.1); color: #b45309; }

    .release-date { font-size: .82rem; color: var(--gray-500); font-weight: 500; display: flex; align-items: center; gap: 5px; }
    .release-date i { font-size: .75rem; }

    .release-body { padding: 22px 28px; }
    .release-summary { font-size: .9rem; color: var(--gray-500); line-height: 1.7; margin-bottom: 20px; }

    .change-group { margin-bottom: 18px; }
    .change-group:last-child { margin-bottom: 0; }
    .change-label {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .8px;
      padding: 3px 10px; border-radius: 50px; margin-bottom: 10px;
    }
    .cl-new  { background: rgba(79,70,229,.1); color: var(--primary); }
    .cl-fix  { background: rgba(239,68,68,.08); color: #dc2626; }
    .cl-imp  { background: rgba(16,185,129,.1); color: #059669; }
    .cl-sec  { background: rgba(245,158,11,.1); color: #b45309; }

    .change-list { list-style: none; padding: 0; margin: 0; }
    .change-list li {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 6px 0;
      font-size: .875rem; color: #334155;
      border-bottom: 1px solid #f1f5f9;
    }
    .change-list li:last-child { border: none; }
    .change-list .dot {
      width: 6px; height: 6px; border-radius: 50%;
      flex-shrink: 0; margin-top: 7px;
    }
    .dot-new  { background: var(--primary); }
    .dot-fix  { background: var(--danger); }
    .dot-imp  { background: var(--success); }
    .dot-sec  { background: var(--warning); }


/* ─────────────────────────────────────────────────────────────────
   COMUNIDADE (/comunidade)
   ───────────────────────────────────────────────────────────────── */
    :root {
      --wa-green: #25d366; --wa-dark: #128c7e;
    }

    /* Hero da comunidade */
    .comm-hero {
      background: radial-gradient(ellipse at 50% 40%, rgba(37,211,102,.12) 0%, transparent 55%),
                  radial-gradient(ellipse at 80% 20%, rgba(99,102,241,.15) 0%, transparent 50%),
                  linear-gradient(145deg, #060614 0%, #0a1a12 40%, #0e1f15 100%);
      min-height: 100vh;
      display: flex; align-items: center;
      padding: 100px 0 60px;
      position: relative; overflow: hidden;
    }
    .comm-hero::before {
      content: '';
      position: absolute;
      width: 500px; height: 500px;
      background: radial-gradient(circle, rgba(37,211,102,.08) 0%, transparent 70%);
      bottom: -100px; left: -100px;
      border-radius: 50%;
      animation: glow 6s ease-in-out infinite alternate;
    }
    @keyframes glow { from { transform: scale(1); } to { transform: scale(1.2); } }

    .wa-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(37,211,102,.15);
      border: 1px solid rgba(37,211,102,.25);
      color: #4ade80;
      padding: 6px 16px; border-radius: 50px;
      font-size: .8rem; font-weight: 600; margin-bottom: 24px;
    }
    .wa-badge .dot { width: 7px; height: 7px; background: #4ade80; border-radius: 50%; animation: blink 2s ease-in-out infinite; }
    @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

    .comm-title {
      font-size: clamp(2.2rem, 5vw, 3.6rem);
      font-weight: 900; color: #fff; line-height: 1.08;
      letter-spacing: -1.5px; margin-bottom: 20px;
    }
    .comm-title .hl-wa {
      background: linear-gradient(135deg, #4ade80, #22d3ee);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .comm-sub { font-size: 1.05rem; color: rgba(255,255,255,.55); line-height: 1.75; max-width: 480px; margin-bottom: 40px; }

    /* Botão de entrada no grupo */
    .btn-join {
      display: inline-flex; align-items: center; gap: 12px;
      background: var(--wa-green);
      color: #fff;
      font-weight: 800; font-size: 1.1rem;
      padding: 18px 40px; border-radius: 50px;
      border: none; cursor: pointer;
      box-shadow: 0 10px 32px rgba(37,211,102,.4);
      transition: transform .3s, box-shadow .3s;
      text-decoration: none;
    }
    .btn-join:hover { transform: translateY(-3px); box-shadow: 0 16px 44px rgba(37,211,102,.5); color: #fff; }
    .btn-join i { font-size: 1.4rem; }

    .btn-join-sub { font-size: .78rem; color: rgba(255,255,255,.38); margin-top: 12px; }

    /* Mockup de grupo WhatsApp */
    .wa-mockup {
      background: #e5ddd5;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 30px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.05);
    }
    .wa-header {
      background: #075e54;
      padding: 14px 16px;
      display: flex; align-items: center; gap: 12px;
    }
    .wa-avatar {
      width: 42px; height: 42px; border-radius: 50%;
      background: linear-gradient(135deg, var(--wa-green), var(--wa-dark));
      display: flex; align-items: center; justify-content: center;
      font-size: 1.2rem; color: #fff;
    }
    .wa-group-info h6 { color: #fff; font-size: .88rem; font-weight: 700; margin-bottom: 2px; }
    .wa-group-info span { color: rgba(255,255,255,.65); font-size: .72rem; }
    .wa-body {
      padding: 14px 12px;
      display: flex; flex-direction: column; gap: 10px;
      min-height: 260px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Crect width='400' height='400' fill='%23e5ddd5'/%3E%3C/svg%3E") center;
    }
    .wa-msg {
      max-width: 78%;
      padding: 8px 12px;
      border-radius: 10px;
      font-size: .8rem;
      line-height: 1.5;
      position: relative;
    }
    .wa-msg.recv {
      background: #fff;
      align-self: flex-start;
      border-top-left-radius: 3px;
      box-shadow: 0 1px 2px rgba(0,0,0,.08);
    }
    .wa-msg.sent {
      background: #d9fdd3;
      align-self: flex-end;
      border-top-right-radius: 3px;
      box-shadow: 0 1px 2px rgba(0,0,0,.08);
    }
    .wa-msg .wa-name { font-size: .7rem; font-weight: 700; color: var(--wa-dark); margin-bottom: 3px; }
    .wa-msg .wa-time { font-size: .62rem; color: #94a3b8; margin-top: 4px; text-align: right; }
    .wa-msg.sent .wa-time { color: #7ec8a4; }
    .wa-input {
      background: #f0f2f5;
      padding: 10px 14px;
      display: flex; align-items: center; gap: 10px;
      border-top: 1px solid #dce0e5;
    }
    .wa-input-box {
      flex: 1; background: #fff; border-radius: 24px;
      padding: 9px 16px; font-size: .8rem; color: #94a3b8;
      border: none;
    }
    .wa-send {
      width: 36px; height: 36px; border-radius: 50%;
      background: var(--wa-dark); color: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: .9rem;
    }

    /* Benefits section */
    .benefits-section { background: #fff; padding: 80px 0; }
    .benefit-card {
      background: var(--gray-100);
      border-radius: 16px;
      padding: 28px 24px;
      height: 100%;
      border: 1.5px solid transparent;
      transition: transform .3s, border-color .3s, box-shadow .3s, background .3s;
    }
    .benefit-card:hover {
      background: #fff; border-color: rgba(37,211,102,.2);
      box-shadow: 0 10px 28px rgba(37,211,102,.08);
      transform: translateY(-4px);
    }
    .ben-icon {
      width: 48px; height: 48px; border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.3rem; margin-bottom: 16px;
    }
    .benefit-card h5 { font-size: .95rem; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
    .benefit-card p  { font-size: .875rem; color: var(--gray-500); line-height: 1.65; margin: 0; }

    /* Rules section */
    .rules-section { background: var(--gray-100); padding: 60px 0; }
    .rule-item {
      display: flex; align-items: flex-start; gap: 12px;
      padding: 14px 0; border-bottom: 1px solid var(--gray-300);
    }
    .rule-item:last-child { border: none; }
    .rule-item i { font-size: 1rem; margin-top: 2px; flex-shrink: 0; }
    .rule-item p { font-size: .875rem; color: var(--gray-500); line-height: 1.65; margin: 0; }
    .rule-item strong { color: var(--dark); }


/* ─────────────────────────────────────────────────────────────────
   LICENÇA (/licenca)
   ───────────────────────────────────────────────────────────────── */
    :root {
      --warning: #f59e0b;
    }

    .page-hero {
      background: radial-gradient(ellipse at 60% 50%, rgba(99,102,241,.15) 0%, transparent 65%),
                  linear-gradient(145deg, #060614 0%, #0e0c2e 50%, #1e1b4b 100%);
      padding: 130px 0 60px; text-align: center;
    }
    .page-hero .badge-lbl {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(129,140,248,.12); border: 1px solid rgba(129,140,248,.22);
      color: var(--primary-light); padding: 5px 14px; border-radius: 50px;
      font-size: .78rem; font-weight: 600; margin-bottom: 18px;
    }
    .page-hero h1 { font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 900; color: #fff; letter-spacing: -.5px; margin-bottom: 12px; }
    .page-hero p  { color: rgba(255,255,255,.48); font-size: .95rem; }
    .page-hero .update { color: rgba(255,255,255,.3); font-size: .78rem; margin-top: 8px; }

    .page-content { background: #fff; padding: 64px 0 80px; }
    .prose { max-width: 800px; margin: 0 auto; }
    .prose h2 {
      font-size: 1.05rem; font-weight: 700; color: var(--dark);
      margin: 36px 0 10px; padding-top: 36px;
      border-top: 1px solid var(--gray-300);
      display: flex; align-items: center; gap: 8px;
    }
    .prose h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
    .prose h2 i { color: var(--primary); }
    .prose p, .prose li { font-size: .925rem; color: var(--gray-500); line-height: 1.85; margin-bottom: 10px; }
    .prose ul { padding-left: 20px; margin-bottom: 10px; }
    .prose li { margin-bottom: 6px; }
    .prose strong { color: var(--dark); }

    .lic-card {
      background: linear-gradient(135deg, #1e1b4b, #312e81, #4338ca);
      border-radius: 20px; padding: 36px 32px; color: #fff; margin-bottom: 40px;
      position: relative; overflow: hidden;
    }
    .lic-card::before {
      content: '';
      position: absolute; top: -60px; right: -60px;
      width: 200px; height: 200px;
      background: radial-gradient(circle, rgba(129,140,248,.25) 0%, transparent 70%);
    }
    .lic-card-title { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: rgba(255,255,255,.5); margin-bottom: 6px; }
    .lic-key-box {
      background: rgba(0,0,0,.3);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 10px;
      padding: 14px 18px;
      font-family: 'Courier New', monospace;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 2px;
      color: #a5b4fc;
      margin: 14px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .lic-key-placeholder { opacity: .5; font-size: .85rem; letter-spacing: .5px; }
    .lic-meta { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 16px; }
    .lic-meta-item { display: flex; flex-direction: column; }
    .lic-meta-label { font-size: .68rem; color: rgba(255,255,255,.4); margin-bottom: 3px; }
    .lic-meta-value { font-size: .88rem; font-weight: 700; color: rgba(255,255,255,.85); }

    .step-list { counter-reset: step; list-style: none; padding: 0; margin: 16px 0; }
    .step-list li {
      counter-increment: step;
      display: flex; align-items: flex-start; gap: 14px;
      padding: 14px 0;
      border-bottom: 1px solid var(--gray-300);
    }
    .step-list li:last-child { border: none; }
    .step-num {
      width: 32px; height: 32px; border-radius: 50%;
      background: linear-gradient(135deg, var(--primary), var(--primary-light));
      color: #fff; font-size: .8rem; font-weight: 800;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; margin-top: 1px;
    }
    .step-num::before { content: counter(step); }
    .step-body strong { display: block; font-size: .9rem; color: var(--dark); margin-bottom: 3px; }
    .step-body span { font-size: .85rem; color: var(--gray-500); line-height: 1.6; }

    .info-box {
      border-radius: 12px; padding: 16px 18px; margin: 14px 0;
      font-size: .875rem; line-height: 1.65;
      display: flex; align-items: flex-start; gap: 10px;
    }
    .info-box i { font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
    .info-blue  { background: rgba(79,70,229,.06); border: 1px solid rgba(79,70,229,.15); color: #334155; }
    .info-blue i { color: var(--primary); }
    .info-green { background: rgba(16,185,129,.06); border: 1px solid rgba(16,185,129,.15); color: #1e4d3b; }
    .info-green i { color: var(--success); }
    .info-warn  { background: rgba(245,158,11,.07); border: 1px solid rgba(245,158,11,.2); color: #78350f; }
    .info-warn i { color: var(--warning); }

    .ioncube-box {
      background: var(--gray-100); border-radius: 14px; padding: 24px;
      display: flex; align-items: center; gap: 20px; margin: 16px 0;
    }
    .ioncube-icon {
      width: 56px; height: 56px; border-radius: 14px;
      background: linear-gradient(135deg, #1e1b4b, #4f46e5);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.5rem; color: #fff; flex-shrink: 0;
    }
    .ioncube-box h6 { font-size: .9rem; font-weight: 700; color: var(--dark); margin-bottom: 4px; }
    .ioncube-box p  { font-size: .82rem; color: var(--gray-500); margin: 0; line-height: 1.55; }


/* ─────────────────────────────────────────────────────────────────
   PRIVACIDADE (/privacidade)
   ───────────────────────────────────────────────────────────────── */
    .page-hero {
      background: radial-gradient(ellipse at 60% 50%, rgba(99,102,241,.15) 0%, transparent 65%),
                  linear-gradient(145deg, #060614 0%, #0e0c2e 50%, #1e1b4b 100%);
      padding: 130px 0 60px; text-align: center;
    }
    .page-hero .badge-lbl {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(129,140,248,.12); border: 1px solid rgba(129,140,248,.22);
      color: var(--primary-light); padding: 5px 14px; border-radius: 50px;
      font-size: .78rem; font-weight: 600; margin-bottom: 18px;
    }
    .page-hero h1 { font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 900; color: #fff; letter-spacing: -.5px; margin-bottom: 12px; }
    .page-hero p  { color: rgba(255,255,255,.48); font-size: .95rem; }
    .page-hero .update { color: rgba(255,255,255,.3); font-size: .78rem; margin-top: 8px; }

    .page-content { background: #fff; padding: 64px 0 80px; }
    .prose { max-width: 760px; margin: 0 auto; }
    .prose h2 {
      font-size: 1.05rem; font-weight: 700; color: var(--dark);
      margin: 36px 0 10px; padding-top: 36px;
      border-top: 1px solid var(--gray-300);
      display: flex; align-items: center; gap: 8px;
    }
    .prose h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
    .prose h2 i { color: var(--primary); }
    .prose p, .prose li { font-size: .925rem; color: var(--gray-500); line-height: 1.85; margin-bottom: 10px; }
    .prose ul { padding-left: 20px; margin-bottom: 10px; }
    .prose li { margin-bottom: 6px; }
    .prose strong { color: var(--dark); }
    .highlight-box {
      background: rgba(79,70,229,.06); border: 1px solid rgba(79,70,229,.15);
      border-radius: 12px; padding: 18px 20px; margin: 16px 0;
      font-size: .875rem; color: #334155;
    }
    .highlight-box i { color: var(--primary); margin-right: 6px; }

    /* LGPD badges */
    .rights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
    .right-item {
      background: var(--gray-100); border-radius: 10px; padding: 14px 16px;
      display: flex; align-items: flex-start; gap: 10px;
    }
    .right-item i { color: var(--primary); font-size: 1rem; margin-top: 2px; flex-shrink: 0; }
    .right-item strong { display: block; font-size: .82rem; color: var(--dark); margin-bottom: 2px; }
    .right-item span { font-size: .77rem; color: var(--gray-500); line-height: 1.5; }

    @media (max-width: 600px) { .rights-grid { grid-template-columns: 1fr; } }


/* ─────────────────────────────────────────────────────────────────
   TERMOS (/termos)
   ───────────────────────────────────────────────────────────────── */
    /* Page hero */
    .page-hero {
      background: radial-gradient(ellipse at 60% 50%, rgba(99,102,241,.15) 0%, transparent 65%),
                  linear-gradient(145deg, #060614 0%, #0e0c2e 50%, #1e1b4b 100%);
      padding: 130px 0 60px;
      text-align: center;
    }
    .page-hero .badge-lbl {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(129,140,248,.12); border: 1px solid rgba(129,140,248,.22);
      color: var(--primary-light); padding: 5px 14px; border-radius: 50px;
      font-size: .78rem; font-weight: 600; margin-bottom: 18px;
    }
    .page-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; color: #fff; letter-spacing: -.5px; margin-bottom: 12px; }
    .page-hero p  { color: rgba(255,255,255,.48); font-size: .95rem; }
    .page-hero .update { color: rgba(255,255,255,.3); font-size: .78rem; margin-top: 8px; }

    /* Content */
    .page-content { background: #fff; padding: 64px 0 80px; }
    .prose { max-width: 760px; margin: 0 auto; }
    .prose h2 {
      font-size: 1.05rem; font-weight: 700; color: var(--dark);
      margin: 36px 0 10px; padding-top: 36px;
      border-top: 1px solid var(--gray-300);
      display: flex; align-items: center; gap: 8px;
    }
    .prose h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
    .prose h2 i { color: var(--primary); font-size: .95rem; }
    .prose p, .prose li { font-size: .925rem; color: var(--gray-500); line-height: 1.85; margin-bottom: 10px; }
    .prose ul { padding-left: 20px; margin-bottom: 10px; }
    .prose li { margin-bottom: 6px; }
    .prose strong { color: var(--dark); }
    .prose .highlight-box {
      background: rgba(79,70,229,.06); border: 1px solid rgba(79,70,229,.15);
      border-radius: 12px; padding: 18px 20px; margin: 16px 0;
      font-size: .875rem; color: #334155;
    }
    .prose .highlight-box i { color: var(--primary); margin-right: 6px; }

