:root{
  --accent:#ff5a3d;
  --accent2:#f97316;
  --dark:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --soft:#f8fafc;
  --shadow:0 18px 45px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#111827;overflow-x:hidden}.fw-black{font-weight:900}.text-accent{color:var(--accent)!important}.app-navbar{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 8px 30px rgba(15,23,42,.04)}.brand-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#fff1ec;color:var(--accent);border:1px solid rgba(255,90,61,.18)}.nav-link{font-weight:750;color:#334155!important}.nav-link.active,.nav-link:hover{color:var(--accent)!important}.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent2));border:0;color:#fff;font-weight:800;box-shadow:0 14px 30px rgba(255,90,61,.22)}.btn-accent:hover{color:#fff;transform:translateY(-1px)}.page-shell{padding:2.2rem 0 4rem;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);min-height:calc(100vh - 66px)}.container-wide{width:min(1240px,calc(100% - 2rem));margin-inline:auto}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 5% 15%,rgba(255,90,61,.30) 0 38px,transparent 39px),radial-gradient(circle at 95% 35%,rgba(255,90,61,.24) 0 100px,transparent 102px),radial-gradient(ellipse at 88% -12%,rgba(255,247,244,.98) 0 35%,transparent 36%),#fff;min-height:calc(100vh - 66px);padding:4.5rem 0 4rem}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:3rem;align-items:center}.hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.04;font-weight:950;letter-spacing:-.06em;color:#111827}.hero p{font-size:1.08rem;line-height:1.75;color:#64748b;max-width:650px}.phone-preview{max-width:540px;width:100%;filter:drop-shadow(0 30px 45px rgba(15,23,42,.18))}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.section-title{font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.04em;font-weight:900}.card-soft{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.metric-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.15rem;box-shadow:0 12px 30px rgba(15,23,42,.05);height:100%}.metric-label{font-size:.82rem;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:1.4rem;font-weight:900;color:#0f172a}.metric-detail{font-size:.86rem;color:#64748b}.feature-icon{width:44px;height:44px;border-radius:16px;background:#fff1ec;color:var(--accent);display:grid;place-items:center;font-size:1.2rem}.ticker-strip{display:flex;gap:.8rem;overflow-x:auto;padding:.7rem 0}.ticker-pill{min-width:145px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.8rem 1rem;box-shadow:0 10px 24px rgba(15,23,42,.04)}.up{color:#079455!important}.down{color:#dc2626!important}.table{--bs-table-bg:transparent}.table thead th{font-size:.77rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.table td,.table th{vertical-align:middle}.sticky-filter{position:sticky;top:78px;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:22px;padding:1rem;box-shadow:0 16px 36px rgba(15,23,42,.07)}.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline-flex}.htmx-request .hide-while-loading{opacity:.45}.form-control,.form-select{border-radius:14px;border-color:#dbe3ef;padding:.72rem .9rem}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.chart-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.alert{border-radius:18px}.tabulator{border-radius:18px;overflow:hidden;border:1px solid var(--line)!important}.tabulator .tabulator-header{background:#f8fafc!important}@media(max-width:992px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero p{margin-inline:auto}.hero-actions{justify-content:center}.phone-preview{max-width:390px}.sticky-filter{position:relative;top:auto}}@media(max-width:640px){.container-wide{width:min(100% - 1rem,1240px)}.hero{padding:2.5rem 0}.hero h1{font-size:2.35rem}.metric-card{padding:1rem}.page-shell{padding-top:1rem}.phone-preview{max-width:105%;transform:translateX(-2%)}}

/* Ranking Graham — tabela larga com paginação amigável */
.ranking-table-card{overflow:hidden}.ranking-table-card .tabulator{width:100%;font-size:.9rem}.ranking-table-card .tabulator-tableholder{overflow-x:auto!important}.ranking-table-card .tabulator-footer{gap:.45rem;align-items:center}.ranking-table-card .tabulator-paginator label{font-weight:700;color:#475569;margin-right:.35rem}.ranking-table-card .tabulator-page-size{border:1px solid #dbe3ef;border-radius:10px;padding:.35rem .55rem;background:#fff}.ranking-table-card .tabulator .tabulator-cell{white-space:nowrap}.ranking-table-card .tabulator .tabulator-col-title{white-space:nowrap}

.info-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#fff1ec;color:var(--accent);font-size:.8rem;font-weight:900;border:1px solid rgba(255,90,61,.18);cursor:help;line-height:1}
.info-dot:hover{transform:translateY(-1px)}
.kpi-stack{display:flex;flex-direction:column;gap:.25rem}
.kpi-caption{font-size:.78rem;color:#64748b;line-height:1.4}
.metric-card.soft-accent{background:linear-gradient(180deg,#fff,#fff7f3)}
.chart-card h4,.card-soft h4,.card-soft h5{letter-spacing:-.02em}
.list-tight li{margin-bottom:.45rem}
.pie-wrap{min-height:380px}
.indicator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.indicator-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.indicator-card .title-row{display:flex;align-items:center;gap:.45rem;margin-bottom:.3rem}
.indicator-card .value{font-size:1.35rem;font-weight:900;color:#0f172a}
.indicator-card .help{font-size:.84rem;color:#64748b;line-height:1.5}
.graham-badge{font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:.4rem .65rem;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:#334155}
.macro-highlight{background:linear-gradient(135deg,rgba(255,90,61,.08),rgba(249,115,22,.08));border:1px solid rgba(255,90,61,.12);border-radius:22px;padding:1rem}
.tooltip-inner{max-width:320px;text-align:left}
