/* THRev V0.33 UI foundation — Flat Able shell, THRev design tokens. */
:root {
  --threv-brand-primary: #27bdbe;
  --threv-brand-primary-rgb: 39, 189, 190;
  --threv-brand-strong: #1f9899;
  --threv-sidebar: #111827;
  --threv-sidebar-muted: #9ca3af;
  --threv-surface: #ffffff;
  --threv-surface-subtle: #f8fafc;
  --threv-border: #e5e7eb;
  --threv-text: #111827;
  --threv-muted: #64748b;
  --threv-radius: 14px;
  --threv-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
  --threv-chart-actual: #27bdbe;
  --threv-chart-expected: #1f4e79;
  --threv-chart-forecast: #7030a0;
}
html, body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { background: #f6f8fb; color: var(--threv-text); }
a { text-decoration: none; }
.pc-sidebar { background: var(--threv-sidebar); }
.pc-sidebar .m-header { min-height: 74px; }
.threv-brand { display:flex; align-items:center; gap:.65rem; color:#fff; font-weight:800; font-size:1.2rem; letter-spacing:-.025em; }
.threv-brand-mark { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:var(--threv-brand-primary); color:#fff; font-weight:800; }
.threv-product-tag { font-size:.68rem; color:#cbd5e1; border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:.15rem .45rem; }
.pc-sidebar .pc-navbar > .pc-item.active > .pc-link,
.pc-sidebar .pc-navbar > .pc-item:hover > .pc-link { color:#fff; }
.pc-sidebar .pc-navbar > .pc-item.active > .pc-link { background:rgba(var(--threv-brand-primary-rgb), .2); }
.pc-sidebar .pc-navbar .pc-caption label { color:#64748b; letter-spacing:.08em; font-size:.68rem; }
.pc-header { background:rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom:1px solid var(--threv-border); }
.pc-container .pc-content { padding-top:28px; }
.card { border:1px solid var(--threv-border); border-radius:var(--threv-radius); box-shadow:var(--threv-shadow); }
.card-header { border-bottom:1px solid var(--threv-border); background:transparent; }
.threv-page-title { font-weight:750; letter-spacing:-.035em; margin:0; }
.threv-page-subtitle { color:var(--threv-muted); margin:.35rem 0 0; }
.threv-context-pill { display:inline-flex; align-items:center; gap:.4rem; border:1px solid var(--threv-border); background:#fff; border-radius:999px; padding:.45rem .7rem; color:#334155; font-size:.82rem; }
.threv-kpi { min-height:132px; }
.threv-kpi-label { color:var(--threv-muted); font-size:.78rem; font-weight:650; text-transform:uppercase; letter-spacing:.04em; }
.threv-kpi-value { margin-top:.45rem; font-size:1.85rem; line-height:1.1; font-weight:780; letter-spacing:-.04em; }
.threv-kpi-delta { margin-top:.55rem; font-size:.8rem; color:var(--threv-muted); }
.threv-chart-wrap { min-height:330px; }
.threv-chart-wrap.tall { min-height:410px; }
.threv-shell-note { border:1px dashed #cbd5e1; background:#fff; border-radius:12px; padding:1rem; color:#475569; }
.threv-badge-console { background:#111827; color:#fff; }
.threv-badge-portal { background:#ecfdf5; color:#047857; }
.btn-primary { --bs-btn-bg:var(--threv-brand-primary); --bs-btn-border-color:var(--threv-brand-primary); --bs-btn-hover-bg:var(--threv-brand-strong); --bs-btn-hover-border-color:var(--threv-brand-strong); }
.text-primary { color:var(--threv-brand-primary)!important; }
.bg-light-primary { background:rgba(var(--threv-brand-primary-rgb),.09)!important; }
@media (max-width: 767.98px) {
  .threv-kpi-value { font-size:1.55rem; }
  .pc-container .pc-content { padding-top:18px; }
}
