:root {
  --ink: #161b3d;
  --muted: #677089;
  --violet: #7057ff;
  --violet-dark: #5540dc;
  --mint: #65e1bd;
  --paper: #f6f7fb;
  --line: #e7e9f2;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; font-family: "Manrope", sans-serif; color: var(--ink); background: var(--paper); }
main { flex: 1 0 auto; }
a { color: var(--violet-dark); text-decoration: none; }
.fw-800 { font-weight: 800; letter-spacing: -.035em; }
.app-navbar { background: rgba(22,27,61,.97); backdrop-filter: blur(14px); }
.brand { display:flex; align-items:center; gap:.65rem; font-weight:800; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--ink); background:linear-gradient(135deg,var(--mint),#fff); }
.btn-luminvs { color:#fff; background:linear-gradient(135deg,var(--violet),var(--violet-dark)); border:0; box-shadow:0 10px 25px rgba(112,87,255,.25); }
.btn-luminvs:hover { color:#fff; transform:translateY(-1px); background:var(--violet-dark); }
.hero-section { overflow:hidden; background:radial-gradient(circle at 90% 15%,rgba(101,225,189,.25),transparent 28%),linear-gradient(180deg,#fff,#f6f7fb); }
.eyebrow { display:inline-flex; padding:.42rem .75rem; border-radius:999px; color:var(--violet-dark); background:#ece9ff; font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow.light { color:#d9d2ff; background:rgba(255,255,255,.1); }
.trust-row { display:flex; flex-wrap:wrap; gap:1rem; color:var(--muted); font-size:.84rem; font-weight:600; }
.trust-row span::before { content:"✓"; color:#129270; margin-right:.35rem; }
.hero-visual { position:relative; min-height:430px; display:grid; place-items:center; }
.hero-panel { width:min(100%,390px); padding:2rem; border-radius:28px; color:var(--ink); background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9); box-shadow:0 35px 80px rgba(30,35,75,.18); transform:rotate(-2deg); }
.mini-card { position:absolute; z-index:2; padding:.8rem 1rem; background:#fff; border:1px solid var(--line); border-radius:14px; font-size:.78rem; font-weight:700; box-shadow:0 15px 35px rgba(30,35,75,.12); }
.card-one { top:42px; right:0; }.card-two { bottom:48px; left:0; }
.status-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#20bf8f; margin-right:.35rem; }
.progress { height:9px; background:#eceef5; border-radius:999px; }.progress-bar { background:linear-gradient(90deg,var(--violet),var(--mint)); border-radius:999px; }
.tool-preview { display:flex; justify-content:space-between; padding:.9rem 0; border-top:1px solid var(--line); }.tool-preview strong { color:#128663; font-size:.8rem; }
.section-heading { max-width:620px; }
.product-card,.content-card,.license-card,.plan-card,.stat-card { padding:1.5rem; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 12px 35px rgba(30,35,75,.055); }
.product-card { transition:.2s ease; }.product-card:hover,.plan-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(30,35,75,.1); }
.product-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--violet),#9482ff); font-weight:800; }
.free-pill,.product-label { display:inline-flex; padding:.35rem .65rem; border-radius:999px; color:#166b54; background:#e4fbf3; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.auth-section { min-height:calc(100vh - 150px); display:grid; place-items:center; padding:3rem 1rem; background:radial-gradient(circle at 20% 20%,rgba(112,87,255,.12),transparent 28%); }
.portal-section { min-height:calc(100vh - 150px); display:grid; place-items:center; background:radial-gradient(circle at 80% 10%,rgba(101,225,189,.22),transparent 32%),radial-gradient(circle at 10% 80%,rgba(112,87,255,.13),transparent 30%); }
.portal-card { width:min(100%,520px); padding:2.4rem; text-align:center; background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 30px 80px rgba(30,35,75,.13); }
.portal-brand { display:flex; justify-content:center; margin-bottom:1.25rem; }.portal-brand .brand-mark { width:52px; height:52px; font-size:1.35rem; }
.portal-help { margin-top:1.5rem; color:var(--muted); font-size:.8rem; }
.auth-card { width:min(100%,500px); padding:2rem; background:#fff; border:1px solid var(--line); border-radius:26px; box-shadow:0 28px 70px rgba(30,35,75,.12); }.auth-card-wide { width:min(100%,720px); }
.verify-icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 1rem; border-radius:18px; color:var(--violet-dark); background:#ece9ff; font-size:1.5rem; }
.verification-code { text-align:center; font-size:2rem; font-weight:800; letter-spacing:.45rem; }
.form-control,.form-select { border-color:#dfe2ec; border-radius:12px; padding:.75rem .9rem; }.form-control:focus,.form-select:focus { border-color:var(--violet); box-shadow:0 0 0 .2rem rgba(112,87,255,.12); }
.dashboard-header { min-height:245px; background:radial-gradient(circle at 85% 10%,rgba(101,225,189,.2),transparent 28%),linear-gradient(135deg,var(--ink),#29205f); }
.dashboard-content { margin-top:-55px; position:relative; z-index:2; }
.status-badge { display:inline-flex; padding:.35rem .65rem; border-radius:999px; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.status-trial { color:#8b5c00; background:#fff2cb; }.status-active,.status-liberado { color:#0d7658; background:#ddf8ef; }.status-blocked,.status-bloqueado,.status-cancelled { color:#a32b3e; background:#ffe4e8; }
.status-pending { color:#8b5c00; background:#fff2cb; }
.product-chip { display:inline-flex; margin:.15rem .2rem .15rem 0; padding:.3rem .55rem; border-radius:999px; color:#5540dc; background:#ece9ff; font-size:.7rem; font-weight:800; }
.step-number-small { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:var(--violet); font-size:.78rem; font-weight:800; }
.learning-step { display:grid; grid-template-columns:52px 1fr; gap:1rem; }
.step-rail { display:flex; flex-direction:column; align-items:center; }
.step-number { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--violet),var(--violet-dark)); font-size:1.05rem; font-weight:800; box-shadow:0 10px 25px rgba(112,87,255,.25); }
.step-line { width:2px; min-height:45px; flex:1; background:linear-gradient(var(--violet),#dcd7ff); }
.step-content { margin-bottom:1rem; }
.linked-resource { min-height:82px; display:flex; align-items:center; gap:.8rem; padding:.9rem; border:1px solid var(--line); border-radius:16px; background:#fafaff; }
.linked-resource small,.linked-resource strong { display:block; }.linked-resource small { color:var(--muted); font-size:.7rem; }.linked-resource strong { margin-top:.15rem; font-size:.86rem; }
.resource-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:12px; color:#fff; background:var(--violet); }
.support-resource .resource-icon { color:#166b54; background:#dff8ef; }
.product-learning-section { padding-top:1.5rem; border-top:1px solid var(--line); }
.product-learning-section:first-of-type { border-top:0; }
.product-learning-heading { display:flex; align-items:center; gap:1rem; }
.notice-card { padding:1rem 1.2rem; color:#6f5900; background:#fff8dd; border:1px solid #f4e5a5; border-radius:16px; }
.email-list { border:1px solid var(--line); border-radius:16px; overflow:hidden; }.email-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid var(--line); }.email-row:last-child{border:0}.email-row span{display:flex;flex-direction:column}.email-row small{color:var(--muted)}
.license-info-note { margin:1rem 0; padding:.8rem 1rem; color:#586079; background:#f5f6fb; border-radius:14px; font-size:.82rem; line-height:1.5; }
.empty-state { padding:2rem; text-align:center; color:var(--muted); background:#fff; border:1px dashed #cfd3e2; border-radius:20px; }
.plan-card { cursor:pointer; }.plan-card.selected { border-color:var(--violet); box-shadow:0 0 0 3px rgba(112,87,255,.12); }.plan-price { font-size:2.3rem; font-weight:800; margin:1rem 0 .35rem; }.plan-price small{font-size:1rem;color:var(--muted)}
.payment-method.active { color:#fff; background:var(--ink); }
.billing-page { max-width: 1200px; }
.billing-heading { max-width: 760px; }
.billing-trust-row { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 0; }
.billing-trust-row span { padding:.6rem .9rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-size:.82rem; font-weight:700; }
.billing-product-card { padding:1.35rem 1.5rem; }
.billing-product-top { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.billing-product-badge { min-width:110px; padding:.8rem 1rem; border:1px solid var(--line); border-radius:16px; background:#fafaff; text-align:right; }
.billing-product-badge small,.billing-product-badge strong { display:block; }
.billing-product-badge small,.billing-label { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.billing-product-badge strong { margin-top:.15rem; font-size:1rem; }
.plan-card-modern { position:relative; padding:1.6rem; border-radius:26px; overflow:hidden; transition:.2s ease; }
.plan-card-modern::after { content:""; position:absolute; inset:auto -40px -55px auto; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle,rgba(112,87,255,.12),transparent 70%); pointer-events:none; }
.plan-card-modern:hover { transform:translateY(-4px); }
.plan-card-modern.selected { border-color:var(--violet); box-shadow:0 0 0 3px rgba(112,87,255,.12), 0 22px 48px rgba(30,35,75,.12); }
.plan-card-head { display:flex; justify-content:space-between; align-items:center; gap:.75rem; }
.plan-cycle { display:inline-flex; padding:.35rem .7rem; border-radius:999px; color:var(--violet-dark); background:#f1eeff; font-size:.75rem; font-weight:800; }
.plan-feature-list { display:grid; gap:.65rem; margin-top:1rem; color:var(--muted); font-size:.9rem; }
.plan-feature-list span { display:flex; align-items:flex-start; gap:.55rem; }
.plan-feature-list span::before { content:""; flex:0 0 8px; width:8px; height:8px; margin-top:.38rem; border-radius:50%; background:linear-gradient(135deg,var(--violet),var(--mint)); }
.billing-sidebar { position:sticky; top:92px; padding:1.5rem; border-radius:26px; }
.billing-sidebar-top { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.billing-summary-card { margin-top:1.25rem; padding:1.1rem; border:1px solid var(--line); border-radius:20px; background:linear-gradient(180deg,#fff,#f8f8ff); }
.billing-summary-price { margin:.4rem 0 1rem; font-size:2.2rem; font-weight:800; letter-spacing:-.03em; }
.billing-summary-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.8rem; margin-bottom:1rem; }
.billing-summary-grid div { padding:.85rem .9rem; border-radius:16px; background:#fff; border:1px solid var(--line); }
.billing-summary-grid small,.billing-summary-grid strong { display:block; }
.billing-summary-grid small { color:var(--muted); font-size:.72rem; }
.billing-summary-grid strong { margin-top:.2rem; font-size:.95rem; }
.billing-methods { margin-top:1.25rem; }
.billing-methods-head small { color:var(--muted); }
.billing-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.payment-method { padding:.95rem .8rem; border:1px solid #cfd5e6; border-radius:14px; background:#fff; color:var(--ink); font-weight:700; transition:.2s ease; }
.payment-method:hover { border-color:var(--violet); color:var(--violet-dark); }
.payment-method.active { border-color:var(--ink); box-shadow:0 8px 24px rgba(22,27,61,.12); }
.billing-note { display:flex; flex-direction:column; gap:.3rem; margin-top:1.25rem; padding:1rem 1.1rem; border:1px solid #e3dcff; border-radius:18px; background:#f6f2ff; color:#54468f; font-size:.85rem; }
.billing-note strong { color:var(--ink); }
.billing-profile-alert { display:flex; flex-direction:column; gap:.35rem; margin-top:1rem; padding:1rem 1.1rem; border:1px solid #f0c1c8; border-radius:18px; background:#fff1f3; color:#8c2e3a; font-size:.88rem; }
.billing-profile-alert strong { color:#6f2230; }
.profile-modal { border:1px solid var(--line); border-radius:26px; box-shadow:0 30px 90px rgba(30,35,75,.16); }
.btn:disabled.btn-luminvs { opacity:.7; cursor:not-allowed; transform:none; }
.stat-card span { color:var(--muted); font-size:.8rem; font-weight:700; }.stat-card strong { display:block; margin-top:.35rem; font-size:2rem; }
.danger-card { border-color:#ffd1d8; background:#fffafb; }
.client-table-link { display:flex; align-items:center; gap:.7rem; color:var(--ink); }.client-table-link:hover strong { color:var(--violet-dark); }.client-table-link span:last-child { display:flex; flex-direction:column; }.client-table-link small { color:var(--muted); }
.client-avatar { display:grid!important; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--violet),var(--violet-dark)); font-weight:800; }
.profile-summary>div { display:grid; grid-template-columns:120px 1fr; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); }.profile-summary>div:last-child{border:0}.profile-summary dt{color:var(--muted);font-size:.76rem}.profile-summary dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.product-license-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.modern-license-card { padding:1.5rem; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 14px 40px rgba(30,35,75,.06); }
.modern-license-top { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.license-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:1.4rem; }.license-metrics div{padding:.9rem;border-radius:15px;background:#f6f7fb}.license-metrics small,.license-metrics strong{display:block}.license-metrics small{color:var(--muted);font-size:.7rem}.license-metrics strong{margin-top:.2rem}
.authorized-box { padding:1rem; border:1px solid #d9f3e9; border-radius:16px; background:#f3fcf9; }.authorized-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.authorized-heading small,.authorized-heading strong{display:block}.authorized-heading small{color:var(--muted);font-size:.7rem}.authorized-box p{margin-top:.6rem!important;color:var(--muted);font-size:.78rem}.status-dot-label{white-space:nowrap;color:#16765a;font-size:.72rem;font-weight:800}.status-dot-label .status-dot{margin-right:.25rem}
.modern-license-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.65rem; margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.fiscal-notice { display:flex; flex-direction:column; gap:.25rem; padding:1rem; color:#5c4a00; background:#fff8dd; border:1px solid #f0dfa0; border-radius:15px; font-size:.82rem; }
.table>:not(caption)>*>* { padding:.85rem; border-color:var(--line); white-space:nowrap; }
footer { flex-shrink:0; background:#fff; border-top:1px solid var(--line); }
@media (max-width: 991px) { .navbar-collapse { padding:1rem 0; }.hero-visual { min-height:370px; }.card-one{right:8px}.card-two{left:8px} }
@media (max-width: 991px) { .product-license-grid{grid-template-columns:1fr} }
@media (max-width: 991px) { .billing-sidebar{position:static;top:auto}.billing-product-top,.billing-sidebar-top{flex-direction:column}.billing-product-badge{text-align:left} }
@media (max-width: 575px) { .display-4{font-size:2.35rem}.hero-visual{min-height:330px}.hero-panel{padding:1.35rem}.mini-card{font-size:.7rem}.card-one{top:20px}.card-two{bottom:20px}.auth-card,.content-card,.license-card,.plan-card{padding:1.2rem}.dashboard-header{min-height:220px}.email-row{align-items:flex-start;flex-direction:column}.email-row form,.email-row button{width:100%} }
@media (max-width: 575px) { .learning-step{grid-template-columns:38px 1fr;gap:.65rem}.step-number{width:36px;height:36px;flex-basis:36px}.linked-resource{align-items:flex-start;flex-wrap:wrap}.linked-resource .btn{width:100%} }
@media (max-width: 575px) { .modern-license-top,.authorized-heading{align-items:flex-start;flex-direction:column}.license-metrics{grid-template-columns:1fr 1fr}.modern-license-actions .btn{width:100%}.profile-summary>div{grid-template-columns:1fr;gap:.2rem} }
@media (max-width: 575px) { .billing-trust-row{justify-content:flex-start}.billing-trust-row span{width:100%;justify-content:center}.billing-method-grid,.billing-summary-grid{grid-template-columns:1fr}.plan-card-head{align-items:flex-start;flex-direction:column}.billing-summary-price{font-size:1.9rem} }
