
/* helpers.css — minimal, non-intrusive */
html, body { height:100%; }
body { min-height:100vh; display:flex; flex-direction:column; }
main.site-main { flex:1 0 auto; }
.footer, footer { margin-top:auto; }
.section { padding: 40px 0; }
.container-narrow { max-width: 980px; margin: 0 auto; }
.card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 22px; }
.grid-2 { display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:860px){ .grid-2 { grid-template-columns: 1fr 1fr; } }
.input, input[type="text"], input[type="email"], input[type="password"], select, textarea {
  width:100%; padding:14px 16px; border-radius:12px; border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25); color: inherit; outline: none;
}
.input:focus, input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(108,168,255,.18); border-color: rgba(108,168,255,.35); }
.btn, .button { display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:12px 18px; text-decoration:none; font-weight: 700; }
.btn-primary { border-color: #1e4631; background: linear-gradient(135deg,#0e1c16,#143a28); }
.badge { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius: 999px; border:1px solid rgba(255,255,255,.2); font-weight:700; font-size:12px; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border:1px solid rgba(255,255,255,.12); padding:10px 12px; }
.alert { padding:12px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); }
.alert-danger { border-color: #4b1e2a; background: rgba(255,100,130,.12); }
.alert-ok { border-color: #1e4631; background: rgba(0,255,169,.12); }
hr.soft { border:0; height:1px; background: linear-gradient(90deg,transparent,rgba(0,255,169,.5),transparent); margin:18px 0; }

.btn-green { border-color:#166534; background:linear-gradient(135deg,#166534,#16a34a); color:#eafff4; }
.btn-green:hover { filter: brightness(1.05); }
.pricecards { display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:980px){ .pricecards { grid-template-columns:1fr 1fr; } }
.pricecard { background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:22px; }
.pricecard h3 { margin:0 0 6px; }
.pricecard ul { margin: 8px 0 0 18px; }
.pricecard .cta { margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }
.subtle { color: rgba(255,255,255,.7); font-size:.95rem }

/* V8.3 — Visual polish to match landings */
.header-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}
.brandline{font-weight:900;font-size:1.25rem;letter-spacing:.2px}
.navline{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 18px;text-decoration:none;font-weight:800;background:linear-gradient(135deg,#1f2937,#0f172a);color:#eaf2ff;transition:transform .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 20px rgba(108,168,255,.18)}
.btn-primary{border-color:#1e4631;background:linear-gradient(135deg,#0e1c16,#143a28);color:#c9ffe8;box-shadow:0 0 12px rgba(0,229,168,.25)}
.btn-green{border-color:#166534;background:linear-gradient(135deg,#166534,#16a34a);color:#eafff4}
.btn-ghost{background:transparent;border:1px dashed rgba(255,255,255,.24)}
.card{background:linear-gradient(180deg,rgba(14,20,34,.78),rgba(9,14,24,.62));border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.03)}
.card h1, .card h2, .card h3{margin-top:0}
.pricecard{background:linear-gradient(180deg,rgba(18,26,44,.6),rgba(10,14,25,.5));border:1px solid rgba(111,167,255,.18);border-radius:18px;padding:24px;box-shadow:0 0 22px rgba(108,168,255,.12)}
.pricecard .cta .btn{min-width:180px;justify-content:center}
.alert{backdrop-filter: blur(4px)}
.table th{background:rgba(255,255,255,.03)}

/* V8.5 — align closer to landing visuals, keep existing landing classes */
.btn--primary { background: linear-gradient(135deg,#0e1c16,#143a28); border-color:#1e4631; color:#c9ffe8; }
.btn--xl { padding:14px 22px; font-size:1.05rem }
.pulse { animation: pulse 2s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(0,229,168,.35);} 70%{box-shadow:0 0 0 14px rgba(0,229,168,0);} 100%{box-shadow:0 0 0 0 rgba(0,229,168,0);} }

/* V8.9 Dashboard polish */
.grid-3{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:980px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.kpi{background:linear-gradient(180deg,rgba(18,26,44,.6),rgba(10,14,25,.5));border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px}
.kpi-top{font-size:.9rem;opacity:.85}
.kpi-val{font-size:1.2rem;font-weight:900;margin-top:6px}
.kpi-sub{opacity:.7;margin-top:6px}
.timeline{display:flex;gap:12px;margin:12px 0}
.tl-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(108,168,255,.5);margin-top:8px}
.tl-title{font-weight:800}
.tl-date{font-size:.85rem;opacity:.7}
.tl-text{margin:.3rem 0 0}
.actions{display:flex;gap:10px;flex-wrap:wrap}
