:root{
  --ps-dark:#0b1220;
  --ps-dark-2:#111827;
  --ps-red:#dc2626;
  --ps-red-2:#ef4444;
  --ps-soft:#94a3b8;
  --ps-border:rgba(255,255,255,.12);
}
body{
  font-family:'Inter',sans-serif;
  background:var(--ps-dark);
  color:#fff;
}
.navbar-custom{
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.85);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero{
  background:
    radial-gradient(circle at top left, rgba(220,38,38,.25), transparent 30%),
    radial-gradient(circle at bottom right, rgba(239,68,68,.22), transparent 28%),
    linear-gradient(135deg, #0b1220 0%, #111827 55%, #2a0a0a 100%);
  padding: 120px 0 90px;
  overflow: hidden;
}
.hero-badge{
  display:inline-block;padding:.7rem 1rem;border:1px solid rgba(239,68,68,.25);border-radius:999px;
  background:rgba(220,38,38,.12);color:#fecaca;font-weight:700;font-size:.95rem;
}
.hero h1{font-size:clamp(2.5rem,5vw,4.7rem);font-weight:900;line-height:1.05;margin-top:1.25rem}
.hero p.lead,.text-soft{color:#cbd5e1}
.glass-card,.stat-card,.feature-box,.plan-card,.benefit-card,.admin-card{
  background: rgba(255,255,255,.04);border:1px solid var(--ps-border);border-radius:24px;box-shadow:0 12px 40px rgba(0,0,0,.2);
}
.stat-card{padding:1.25rem;height:100%}
.stat-card .num{font-size:2rem;font-weight:900;color:#f87171;line-height:1}
.feature-box{padding:1rem;color:#e5e7eb;height:100%}
.section-title{font-size:clamp(2rem,3vw,3.2rem);font-weight:900}
.section-sub{color:var(--ps-soft);max-width:760px;margin:0 auto}
.plan-card{padding:2rem;height:100%;position:relative;transition:all .25s ease}
.plan-card:hover{transform:translateY(-6px);border-color:rgba(248,113,113,.35)}
.plan-featured{border:1px solid rgba(248,113,113,.55);background:linear-gradient(180deg, rgba(220,38,38,.16), rgba(255,255,255,.04))}
.plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,var(--ps-red),var(--ps-red-2));border-radius:999px;padding:.55rem 1rem;font-weight:800;font-size:.88rem;box-shadow:0 12px 25px rgba(220,38,38,.3)}
.plan-name{color:#fca5a5;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;font-weight:800;margin-bottom:.5rem}
.plan-price{font-size:3rem;font-weight:900;line-height:1;margin-bottom:.35rem}
.plan-note{color:var(--ps-soft);margin-bottom:1.5rem}
.plan-list{list-style:none;padding:0;margin:0 0 1.75rem}
.plan-list li{background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:.95rem 1rem;margin-bottom:.8rem;color:#e5e7eb}
.benefit-card{padding:1.35rem;height:100%;color:#e5e7eb}
.cta-box{border-radius:32px;background:linear-gradient(90deg,var(--ps-red),var(--ps-red-2));box-shadow:0 16px 50px rgba(220,38,38,.28)}
footer{color:#94a3b8;border-top:1px solid rgba(255,255,255,.08)}
.admin-bg{background:linear-gradient(135deg,#0b1220 0%,#111827 100%);min-height:100vh}
.table-dark-custom{--bs-table-bg: rgba(255,255,255,.03);--bs-table-color:#fff;--bs-table-border-color: rgba(255,255,255,.08)}
.form-control,.form-select,.form-check-input, .input-group-text{background:#0f172a;border-color:rgba(255,255,255,.1);color:#fff}
.form-control:focus,.form-select:focus{background:#0f172a;color:#fff;border-color:#ef4444;box-shadow:0 0 0 .25rem rgba(239,68,68,.15)}
@media (max-width:991.98px){.hero{padding-top:100px}}

/* ==== FORMULARIO PRO ==== */
.form-pro {
  background: #ffffff;
  border-radius: 20px;
  padding: 25px;
}

.form-pro-input {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px;
  padding: 12px 14px;
}

.form-pro-input::placeholder {
  color: #6b7280;
}

.form-pro-input:focus {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,0.15);
}

.btn-pro {
  background: #dc2626;
  border-radius: 12px;
  padding: 12px;
  font-weight: bold;
}

.btn-pro:hover {
  background: #b91c1c;
}
