:root {
  --family-dark:#0f172a;
  --family-blue:#2563eb;
  --family-gold:#f59e0b;
  --family-soft:#f3f6fb;
}
body { background: var(--family-soft); }
.family-sidebar { background: linear-gradient(180deg,#0f172a 0%,#111827 55%,#1e293b 100%) !important; }
.family-sidebar .brand-link { padding: 1.05rem .8rem; }
.brand-icon { width:36px; height:36px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; margin-right:8px; }
.avatar-circle { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; }
.family-content { background: radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 28%), #f3f6fb; }
.elegant-line { height:4px; border-radius:999px; background: linear-gradient(90deg,#2563eb,#7c3aed,#f59e0b); box-shadow:0 10px 24px rgba(37,99,235,.25); }
.hero-panel { border-radius:24px; padding:32px; color:#fff; background: linear-gradient(135deg,#111827 0%,#1e3a8a 55%,#0f766e 100%); box-shadow: 0 24px 55px rgba(15,23,42,.22); position:relative; overflow:hidden; }
.hero-panel:after { content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px; background:rgba(255,255,255,.08); border-radius:50%; }
.hero-panel h1 { font-weight:800; margin:4px 0 8px; letter-spacing:-.04em; }
.hero-panel p { margin:0; opacity:.86; }
.eyebrow { text-transform:uppercase; font-size:.76rem; letter-spacing:.13em; opacity:.75; font-weight:700; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; z-index:1; }
.premium-card { border:0; border-radius:18px; box-shadow: 0 18px 45px rgba(15,23,42,.08); overflow:hidden; }
.premium-card .card-header { background:#fff; }
.family-table thead th { background:#f8fafc; color:#475569; font-size:.73rem; text-transform:uppercase; letter-spacing:.06em; border-top:0; }
.family-table tbody td { border-color:#eef2f7; }
.score-pill { background:#111827; color:#fff; border-radius:999px; padding:6px 10px; font-weight:800; min-width:82px; display:inline-block; text-align:center; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.score-good { background:linear-gradient(135deg,#047857,#10b981); }
.score-low { background:linear-gradient(135deg,#991b1b,#ef4444); }
.table-duplicate { opacity:.72; background:#fff7ed; }
.page-title { font-weight:800; letter-spacing:-.03em; }
.btn { border-radius:10px; }
.form-control { border-radius:10px; border-color:#dbe3ef; }
.provider-grid { display:flex; flex-wrap:wrap; gap:8px; }
.provider-pill { border-radius:999px; padding:8px 12px; background:#f1f5f9; color:#64748b; font-weight:700; border:1px solid #e2e8f0; }
.provider-pill.on { background:#dcfce7; color:#166534; border-color:#86efac; }
.elegant-callout { border-radius:16px; background:#f8fafc; }
.login-bg { background: radial-gradient(circle at 20% 10%, #dbeafe, transparent 28%), radial-gradient(circle at 90% 5%, #ddd6fe, transparent 25%), linear-gradient(135deg,#e0f2fe,#f8fafc); }
.family-login .login-logo a { color:#111827; font-weight:800; }
.glass-card { border:1px solid rgba(255,255,255,.75); border-radius:26px; backdrop-filter: blur(18px); background:rgba(255,255,255,.88); }
.login-icon { width:74px; height:74px; border-radius:24px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:30px; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 18px 35px rgba(37,99,235,.32); }
.small-box { border-radius:18px; box-shadow:0 16px 35px rgba(15,23,42,.12); overflow:hidden; }
.small-box .icon { opacity:.22; }
.products-list .item { border-bottom:1px solid #edf2f7; padding:12px 4px; }
@media (max-width: 767px) {
  .hero-panel { padding:24px; }
  .hero-actions { margin-top:18px; }
}
/* V3.4/V3.5 Deluxe premium visual layer */
.main-header { backdrop-filter: blur(18px); background:rgba(255,255,255,.92)!important; }
.family-sidebar { box-shadow: 18px 0 45px rgba(15,23,42,.22)!important; }
.family-sidebar .nav-sidebar .nav-link { border-radius:14px; margin:.12rem .45rem; transition:all .18s ease; }
.family-sidebar .nav-sidebar .nav-link.active { background:linear-gradient(135deg,#2563eb,#7c3aed)!important; box-shadow:0 14px 26px rgba(37,99,235,.34); }
.family-sidebar .nav-sidebar .nav-link:hover { transform:translateX(3px); background:rgba(255,255,255,.09); }
.deluxe-hero { background: radial-gradient(circle at 10% 20%,rgba(59,130,246,.35),transparent 22%), radial-gradient(circle at 84% 12%,rgba(236,72,153,.28),transparent 22%), linear-gradient(135deg,#020617 0%,#172554 42%,#312e81 72%,#0f766e 100%); min-height:210px; }
.deluxe-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.11),transparent); transform:translateX(-100%); animation:shine 7s infinite; }
@keyframes shine { 0%{transform:translateX(-120%)} 45%,100%{transform:translateX(120%)} }
.hero-copy, .hero-actions { position:relative; z-index:2; }
.hero-badges { display:flex; flex-wrap:wrap; gap:9px; }
.hero-badges span { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.11); border-radius:999px; padding:7px 12px; font-size:.82rem; font-weight:700; }
.glow-btn { box-shadow:0 0 0 1px rgba(255,255,255,.2), 0 16px 42px rgba(245,158,11,.35); }
.kpi-card { position:relative; border-radius:22px; padding:19px 18px; color:#fff; overflow:hidden; min-height:132px; box-shadow:0 18px 40px rgba(15,23,42,.13); margin-bottom:18px; }
.kpi-card:after { content:""; position:absolute; right:-34px; top:-34px; width:118px; height:118px; border-radius:50%; background:rgba(255,255,255,.13); }
.kpi-card span { display:block; opacity:.82; font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; }
.kpi-card strong { display:block; font-size:2.25rem; line-height:1; margin:10px 0 5px; letter-spacing:-.04em; }
.kpi-card small { opacity:.85; }
.kpi-card i { position:absolute; right:16px; bottom:14px; font-size:2.1rem; opacity:.28; }
.kpi-blue{background:linear-gradient(135deg,#2563eb,#06b6d4)} .kpi-green{background:linear-gradient(135deg,#047857,#22c55e)} .kpi-purple{background:linear-gradient(135deg,#7c3aed,#db2777)} .kpi-gold{background:linear-gradient(135deg,#f59e0b,#ea580c)} .kpi-dark{background:linear-gradient(135deg,#111827,#334155)} .kpi-slate{background:linear-gradient(135deg,#475569,#0f172a)}
.deluxe-card { border:1px solid rgba(226,232,240,.75); }
.deluxe-card .card-header { background:linear-gradient(180deg,#fff,#f8fafc); }
.deluxe-table tbody tr:hover { background:#f8fbff; transform:scale(1.002); }
.proposal-cell strong { font-size:1rem; }
.score-premium { background:linear-gradient(135deg,#f59e0b,#f97316); color:#111827; box-shadow:0 10px 20px rgba(245,158,11,.25); }
.mini-bars { height:8px; border-radius:999px; background:#e2e8f0; overflow:hidden; min-width:110px; }
.mini-bars span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#2563eb,#22c55e,#f59e0b); }
.agent-status-card { background:linear-gradient(180deg,#ffffff,#f8fbff); }
.automation-ring { margin:0 auto 18px; width:132px; height:132px; border-radius:50%; padding:10px; background:conic-gradient(#2563eb 0 70%, #e2e8f0 70% 100%); display:flex; align-items:center; justify-content:center; }
.automation-ring div { background:#fff; width:100%; height:100%; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px #e2e8f0; }
.automation-ring strong { font-size:2rem; line-height:1; }
.automation-ring span { font-size:.72rem; text-transform:uppercase; font-weight:800; color:#64748b; }
.automation-tile { border-radius:22px; padding:22px; background:#fff; border:1px solid #e8eef7; box-shadow:0 18px 40px rgba(15,23,42,.08); margin-bottom:18px; position:relative; overflow:hidden; }
.automation-tile:before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,#2563eb,#7c3aed,#f59e0b); }
.automation-tile i { font-size:1.7rem; color:#2563eb; margin-bottom:12px; }
.automation-tile span { display:block; font-size:.75rem; text-transform:uppercase; color:#64748b; font-weight:900; letter-spacing:.08em; }
.automation-tile strong { display:block; font-size:1.7rem; letter-spacing:-.03em; }
.automation-tile small { color:#64748b; }
.timeline-steps { position:relative; display:grid; gap:14px; }
.timeline-steps div { position:relative; display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:14px; border-radius:16px; background:#f8fafc; border:1px solid #e2e8f0; }
.timeline-steps b { grid-row:1/3; width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; display:flex; align-items:center; justify-content:center; }
.timeline-steps span { font-weight:900; color:#111827; }
.timeline-steps small { color:#64748b; }
.pulse-badge { animation:pulseBadge 1.8s infinite; }
@keyframes pulseBadge { 0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.45)} 50%{box-shadow:0 0 0 8px rgba(34,197,94,0)} }
@media (max-width: 767px) { .kpi-card strong{font-size:1.8rem}.deluxe-hero{min-height:auto}.automation-ring{width:110px;height:110px} }

/* V3.5 — Visual marketplace deluxe + transparência de fontes externas */
.source-disclaimer { border-left:4px solid #f59e0b!important; background:linear-gradient(90deg,#fff7ed,#fffbeb)!important; color:#78350f; border-radius:16px; font-weight:600; }
.glass-info-strip { display:flex; flex-wrap:wrap; gap:10px; padding:12px 14px; border-radius:18px; background:rgba(15,23,42,.92); color:#fff; box-shadow:0 18px 50px rgba(15,23,42,.20); }
.glass-info-strip span { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); font-weight:800; font-size:.82rem; }
.opportunity-market-table tbody tr { transition:.18s ease; }
.opportunity-market-table tbody tr:hover { transform:translateY(-1px); box-shadow:0 14px 34px rgba(15,23,42,.10); position:relative; z-index:2; }
.offer-title-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.link-badge { display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.035em; border:1px solid #e2e8f0; background:#f8fafc; color:#334155; }
.link-direct_offer, .link-official_offer_page { background:linear-gradient(135deg,#dcfce7,#bbf7d0); color:#065f46; border-color:#86efac; }
.link-targeted_search { background:linear-gradient(135deg,#dbeafe,#e0e7ff); color:#1e40af; border-color:#bfdbfe; }
.link-general_search { background:linear-gradient(135deg,#fee2e2,#ffedd5); color:#991b1b; border-color:#fecaca; }
.link-official_portal { background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; border-color:#fcd34d; }
.offer-hero-card { overflow:hidden; border-radius:28px; background:#fff; box-shadow:0 30px 90px rgba(15,23,42,.13); }
.offer-visual { min-height:260px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0f172a,#1d4ed8,#7c3aed); background-size:cover; background-position:center; color:#fff; position:relative; }
.offer-visual i { font-size:5rem; opacity:.35; }
.hot-ribbon { position:absolute; top:18px; right:18px; border-radius:999px; background:linear-gradient(135deg,#f59e0b,#f97316); color:#fff; padding:9px 14px; font-weight:900; box-shadow:0 14px 34px rgba(249,115,22,.32); }
.offer-body { padding:26px; }
.offer-body h3 { font-size:2.1rem; font-weight:950; letter-spacing:-.04em; color:#0f172a; margin-bottom:0; }
.price-block { min-width:170px; text-align:right; padding:14px 16px; border-radius:18px; background:linear-gradient(135deg,#ecfdf5,#f0fdf4); border:1px solid #bbf7d0; }
.price-block span, .compact-facts span, .agent-score-grid span { display:block; color:#64748b; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:900; }
.price-block strong { display:block; font-size:2rem; letter-spacing:-.04em; color:#065f46; }
.compact-facts > div { margin-bottom:12px; }
.compact-facts strong { display:block; color:#0f172a; font-weight:950; font-size:1.08rem; }
.agent-score-grid > div { margin-bottom:10px; }
.agent-score-grid > div { background:#f8fafc; border:1px solid #e2e8f0; border-radius:16px; padding:14px; text-align:center; }
.agent-score-grid strong { display:block; font-size:1.7rem; color:#111827; letter-spacing:-.04em; }
.source-card code { white-space:normal; background:#f8fafc; padding:10px; border-radius:12px; border:1px solid #e2e8f0; color:#334155; }
.text-break { word-break:break-word; }
@media (max-width: 767px){ .price-block{text-align:left;margin-top:14px}.offer-body h3{font-size:1.55rem}.glass-info-strip span{width:100%;justify-content:center} }
