:root { --ec-primary: #0b6e4f; --ec-dark: #08281f; --ec-accent: #f2a541; --bs-primary: #0b6e4f; --bs-primary-rgb: 11,110,79; --bs-link-color: #0b6e4f; --bs-link-hover-color: #08513a; }
body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1f2a26; }
.btn-primary { --bs-btn-bg: var(--ec-primary); --bs-btn-border-color: var(--ec-primary); --bs-btn-hover-bg: #08513a; --bs-btn-hover-border-color: #08513a; --bs-btn-active-bg: #063f2d; }
.btn-outline-primary { --bs-btn-color: var(--ec-primary); --bs-btn-border-color: var(--ec-primary); --bs-btn-hover-bg: var(--ec-primary); --bs-btn-hover-border-color: var(--ec-primary); }
.topbar { background: var(--ec-dark); color: #fff; }
.brand-e { color: var(--ec-accent); }
.navbar-brand { font-size: 1.5rem; letter-spacing: -.5px; color: var(--ec-dark); }
.hero { background: linear-gradient(120deg, var(--ec-dark), var(--ec-primary)); color: #fff; padding: 4rem 0; }
.hero .lead { color: rgba(255,255,255,.85); }
.offer-card { transition: box-shadow .15s; border-color: #e6ecea; }
.offer-card:hover { box-shadow: 0 .5rem 1.25rem rgba(8,40,31,.08); }
.price { font-weight: 700; color: var(--ec-primary); }
.price-lg { font-size: 1.75rem; font-weight: 700; color: var(--ec-primary); }
.locked { background: #f6f8f7; border: 1px dashed #b9c8c2; border-radius: .5rem; padding: 1.25rem; }
.spec-table th { width: 45%; font-weight: 500; color: #5d6b66; }
.footer { background: var(--ec-dark); color: #dbe5e1; }
.footer a { color: #fff; }
.step-num { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--ec-accent); color: var(--ec-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.plan-card.featured { border: 2px solid var(--ec-primary); }
.status-badge { font-size: .75rem; }
