/* tcv2 70: analytics / report pages (an-wrap, 21 pages via analytics/_shared.php), gradient KPI tiles of every page group, ui-/ev- report systems, chart cards.
   Every rule starts with body.tcv2; page <style> blocks (specificity 0,1,0 to 0,2,0, no !important) lose to body.tcv2 + class (0,2,1+);
   !important is used only where the page paints an INLINE gradient/colour on the element. Design only. */
@media screen{

/* ── KPI tiles: every X-stat / X-kpi tile with an inline gradient (an-, dv-, ev-, gs-, cm-, ps-, cc-, ft- ...) → white outlined tile + accent bar ── */
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]{--acc:var(--tc2-brand);--acc-bg:var(--tc2-mint);position:relative;background:var(--tc2-surface)!important;color:var(--tc2-ink)!important;border:2px solid var(--tc2-outline)!important;border-radius:var(--tc2-r-card)!important;box-shadow:inset 0 5px 0 0 var(--acc)!important;transform:none!important;overflow:hidden;padding-top:19px!important}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:hover{transform:none!important;box-shadow:inset 0 5px 0 0 var(--acc)!important;border-color:var(--acc)!important}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]::after{display:none!important}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="1d4ed8" i],[style*="1a56db" i],[style*="2563eb" i],[style*="1e40af" i]){--acc:var(--tc2-info);--acc-bg:var(--tc2-info-bg)}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="b45309" i],[style*="c2410c" i],[style*="9a3412" i],[style*="d4a017" i],[style*="d97706" i],[style*="f97316" i]){--acc:var(--tc2-warn-solid);--acc-bg:var(--tc2-warn-bg)}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="b91c1c" i],[style*="be123c" i],[style*="991b1b" i],[style*="dc2626" i]){--acc:var(--tc2-danger);--acc-bg:var(--tc2-danger-bg)}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="be185d" i],[style*="9d174d" i]){--acc:#BE185D;--acc-bg:#FCE7F3}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="6d28d9" i],[style*="7c3aed" i],[style*="4338ca" i]){--acc:#6D28D9;--acc-bg:#EDE9FE}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="0e7490" i],[style*="0f766e" i]){--acc:#0E7490;--acc-bg:#CFFAFE}
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"]:is([style*="0f172a" i],[style*="475569" i],[style*="374151" i]){--acc:var(--tc2-ink);--acc-bg:#F3F4F6}
body.tcv2 :is([class$="-stat-val"],[class$="-kpi-val"]){color:var(--tc2-ink)!important;font-size:22px!important;font-weight:800!important;letter-spacing:-.3px;line-height:1.15!important;white-space:nowrap}
body.tcv2 :is([class$="-stat-lbl"],[class$="-kpi-lbl"]){color:var(--tc2-mut)!important;opacity:1!important;font-size:12px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin-top:4px!important}
body.tcv2 :is([class$="-stat-sub"],[class$="-kpi-sub"],[class$="-stat-trend"],[class$="-stat-note"]){color:var(--tc2-mut)!important;opacity:1!important;font-size:11.5px!important;font-weight:700!important}
body.tcv2 :is([class$="-stat-sub"],[class$="-kpi-sub"],[class$="-stat-trend"]) a{color:var(--tc2-brand)!important;font-weight:800}
body.tcv2 :is([class$="-stat-icon"],[class$="-kpi-icon"]){color:var(--acc)!important;opacity:.22!important}
/* tiles whose val/lbl are plain text inside (no -val child): keep readable */
body.tcv2 :is([class*="-stat"],[class*="-kpi"])[style*="gradient"] :is(div,span,small):not([class]){color:inherit}

/* ── page header block (an-page-hdr) ── */
body.tcv2 .an-page-hdr{padding:6px 0 4px;gap:12px}
body.tcv2 .an-page-title{font-size:var(--tc2-fs-h);font-weight:800;color:var(--tc2-ink);letter-spacing:-.005em;gap:10px}
body.tcv2 .an-page-title i{color:var(--tc2-brand)!important;font-size:.9em}
body.tcv2 .an-breadcrumb{font-size:11.5px;font-weight:700;color:var(--tc2-mut)}
body.tcv2 .an-breadcrumb a{color:var(--tc2-mut)}
body.tcv2 .an-breadcrumb a:hover{color:var(--tc2-brand)}
body.tcv2 .an-back{border:1.5px solid var(--tc2-line);background:var(--tc2-neutral-btn);color:var(--tc2-neutral-fg);border-radius:var(--tc2-r-btn);font-size:12.5px;font-weight:800;padding:8px 14px}
body.tcv2 .an-back:hover{background:var(--tc2-neutral-btn-h);border-color:var(--tc2-mut2);color:var(--tc2-neutral-fg)}

/* ── cards ── */
body.tcv2 .an-card,body.tcv2 .an-profile-card,body.tcv2 .ui-section{background:var(--tc2-surface);border:1px solid var(--tc2-line);border-radius:var(--tc2-r-card);box-shadow:none}
body.tcv2 .an-card-hdr{background:var(--tc2-surface);border-bottom:1px solid var(--tc2-line);padding:12px 18px}
body.tcv2 .an-card-title{font-size:14px;font-weight:800;color:var(--tc2-ink)}
body.tcv2 .an-card-icon{width:30px;height:30px;border-radius:9px;background:var(--tc2-mint);color:var(--tc2-brand)}
body.tcv2 .an-card-body{padding:16px 18px}
body.tcv2 .an-card>div[style*="height:6px"],body.tcv2 .an-card>div[style*="height: 6px"]{height:5px!important}
body.tcv2 .an-card-body>div[style*="gradient"]{background:var(--tc2-mint)!important;border-radius:12px!important}
body.tcv2 .an-card-body>div[style*="gradient"] i{color:var(--tc2-brand)!important}
body.tcv2 a:hover>.an-card{border-color:var(--tc2-outline)}
body.tcv2 .an-card-body [style*="color:#1a1a2e"]{color:var(--tc2-ink)!important}
body.tcv2 .an-card-body [style*="color:#94a3b8"]{color:var(--tc2-mut)!important}
body.tcv2 .an-section-title{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--tc2-mut);border-bottom:1px solid var(--tc2-line)}
body.tcv2 .an-section-title i{color:var(--tc2-brand)}
body.tcv2 .an-kpi-card{background:var(--tc2-surface-2);border:1px solid var(--tc2-line);border-radius:12px}
body.tcv2 .an-kpi-card-label{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--tc2-mut)}
body.tcv2 .an-kpi-card-value{font-size:16px;font-weight:800;color:var(--tc2-ink)}
body.tcv2 .an-profile-card{padding:18px 20px}
body.tcv2 .an-profile-avatar{background:var(--tc2-mint);color:var(--tc2-brand);font-weight:800}

/* ── filter bar, date range, presets, buttons ── */
body.tcv2 .an-filter-bar{background:var(--tc2-surface);border:1px solid var(--tc2-line);border-radius:var(--tc2-r-card);box-shadow:none;padding:14px 16px;gap:12px}
body.tcv2 .an-fg{gap:5px}
body.tcv2 .an-fg label{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--tc2-mut);margin:0}
body.tcv2 :is(.an-fg input,.an-fg select,.an-search){border:2px solid var(--tc2-outline);border-radius:var(--tc2-r-ctl);height:38px;padding:0 12px;font-size:13px;font-weight:700;color:var(--tc2-ink);background-color:var(--tc2-surface)}
body.tcv2 :is(.an-fg input,.an-fg select,.an-search):focus{border-color:var(--tc2-brand);outline:2px solid var(--tc2-focus);outline-offset:1px}
body.tcv2 .an-fg select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'%3E%3Cpath d='M0 0h7L3.5 4z' fill='%231A1A1A'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
body.tcv2 .btn-an{border:1.5px solid var(--tc2-line);border-radius:var(--tc2-r-btn);padding:8px 14px;font-size:13px;font-weight:800;gap:7px;line-height:1.3;height:38px}
body.tcv2 .btn-an-green{background:var(--tc2-brand);border-color:var(--tc2-brand);color:#fff}
body.tcv2 .btn-an-green:hover{background:var(--tc2-brand-hover);border-color:var(--tc2-brand-hover);color:#fff}
body.tcv2 .btn-an-light{background:var(--tc2-neutral-btn);border-color:var(--tc2-line);color:var(--tc2-neutral-fg)}
body.tcv2 .btn-an-light:hover{background:var(--tc2-neutral-btn-h);border-color:var(--tc2-mut2)}
body.tcv2 .btn-an-export{background:var(--tc2-surface);border:2px solid var(--tc2-outline);color:var(--tc2-ink)}
body.tcv2 .btn-an-export:hover{background:var(--tc2-ink);border-color:var(--tc2-ink);color:#fff}
body.tcv2 .an-preset{background:var(--tc2-surface);color:var(--tc2-text-2);border:1.5px solid var(--tc2-line);border-radius:var(--tc2-r-pill);padding:6px 13px;font-size:12px;font-weight:800;line-height:1.2}
body.tcv2 .an-preset:hover{background:var(--tc2-mint-soft);border-color:var(--tc2-brand);color:var(--tc2-brand)}
body.tcv2 .an-preset.active{background:var(--tc2-mint);border-color:var(--tc2-brand);color:var(--tc2-brand)}

/* ── tables ── */
body.tcv2 .an-table thead th,body.tcv2 .ui-table thead th{background:var(--tc2-surface-2);color:var(--tc2-mut);font-size:10.5px;font-weight:800;letter-spacing:.06em;border-bottom:1px solid var(--tc2-line);padding:9px 14px}
body.tcv2 .an-table tbody td,body.tcv2 .ui-table tbody td{padding:10px 14px;border-top:0;border-bottom:1px solid var(--tc2-line-soft);font-size:12.5px;font-weight:600;color:var(--tc2-ink)}
body.tcv2 .an-table tbody tr:last-child td,body.tcv2 .ui-table tbody tr:last-child td{border-bottom:0}
body.tcv2 .an-table tbody tr:hover td,body.tcv2 .ui-table tbody tr:hover td{background:var(--tc2-hover)}
body.tcv2 .an-rank{background:var(--tc2-mint);color:var(--tc2-brand);font-weight:800;font-size:11px}
body.tcv2 .an-rank-1{background:var(--tc2-warn-bg);color:var(--tc2-warn);box-shadow:inset 0 0 0 1.5px var(--tc2-warn-bd)}
body.tcv2 .an-rank-2{background:var(--tc2-chip-grey);color:var(--tc2-neutral-fg)}
body.tcv2 .an-rank-3{background:#FFEDD5;color:#9A3412}
body.tcv2 .an-page-row{border-top:1px solid var(--tc2-line-soft);font-size:12px;font-weight:700;color:var(--tc2-mut)}
body.tcv2 .an-drill{color:var(--tc2-brand);font-weight:800;font-size:12.5px}
body.tcv2 .an-drill:hover{color:var(--tc2-brand-hover)}
body.tcv2 .an-money{color:var(--tc2-brand);font-weight:800}
body.tcv2 .an-money-neg{color:var(--tc2-danger);font-weight:800}
body.tcv2 .an-loading,body.tcv2 .an-empty{color:var(--tc2-mut)}
body.tcv2 .an-loading i{color:var(--tc2-brand)}
body.tcv2 .an-empty{border:2px dashed var(--tc2-line);border-radius:var(--tc2-r-card);background:var(--tc2-surface-2);padding:36px 20px;margin:12px}
body.tcv2 .an-empty-title{font-size:13.5px;font-weight:800;color:var(--tc2-text-2)}
body.tcv2 .an-empty-sub{font-size:12px;font-weight:600}

/* ── badges / chips ── */
body.tcv2 .an-badge{padding:4px 10px;font-size:11.5px;font-weight:800;gap:5px;border:0}
body.tcv2 .an-badge-green,body.tcv2 .an-score-excellent,body.tcv2 .an-urgency-ok,body.tcv2 .an-seg-active,body.tcv2 .an-seg-reactivated{background:var(--tc2-ok-bg);color:var(--tc2-ok);border:0}
body.tcv2 .an-badge-red,body.tcv2 .an-score-poor,body.tcv2 .an-urgency-expired,body.tcv2 .an-seg-churned{background:var(--tc2-danger-bg);color:var(--tc2-danger);border:0;box-shadow:inset 0 0 0 1.5px var(--tc2-danger-bd)}
body.tcv2 .an-badge-amber,body.tcv2 .an-score-fair,body.tcv2 .an-urgency-critical,body.tcv2 .an-urgency-warn,body.tcv2 .an-seg-at-risk{background:var(--tc2-warn-bg);color:var(--tc2-warn);border:0;box-shadow:inset 0 0 0 1.5px var(--tc2-warn-bd)}
body.tcv2 .an-badge-blue,body.tcv2 .an-score-good,body.tcv2 .an-urgency-info,body.tcv2 .an-seg-new{background:var(--tc2-info-bg);color:var(--tc2-info);border:0}
body.tcv2 .an-badge-grey,body.tcv2 .an-seg-dormant{background:#F3F4F6;color:var(--tc2-mut);border:0}
body.tcv2 .an-badge-purple,body.tcv2 .an-seg-never{background:#EDE9FE;color:#6D28D9;border:0}
body.tcv2 .an-score-bar{background:var(--tc2-line);height:6px}
body.tcv2 .an-time-good{color:var(--tc2-ok)}body.tcv2 .an-time-ok{color:var(--tc2-info)}body.tcv2 .an-time-warn,body.tcv2 .an-mins-warn{color:var(--tc2-warn)}body.tcv2 .an-time-bad,body.tcv2 .an-mins-bad{color:var(--tc2-danger)}

/* ── chart cards (canvas hosts) ── */
body.tcv2 :is(.an-card-body,.dv-card-body,.ui-section) canvas{max-width:100%}
body.tcv2 .an-card-body:has(>canvas){padding:14px 18px 16px}

/* ── Intelligence-style report blocks (ui-*) ── */
body.tcv2 .ui-section-title{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--tc2-mut)}
body.tcv2 .ui-section-title .badge{background:var(--tc2-mint)!important;color:var(--tc2-brand)!important;border-radius:var(--tc2-r-pill);font-size:10.5px}
body.tcv2 .score-bar-bg{background:var(--tc2-line)}

/* ── daterangepicker opened from report filters: sits above sticky headers ── */
body.tcv2 .daterangepicker{z-index:3000}

/* ── in-page tab strips (ui-tabs, ev-tabs): same language as .nav-tabs, scroll sideways on a phone ── */
body.tcv2 :is(.ui-tabs,.ev-tabs){border-bottom:1px solid var(--tc2-line);gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.tcv2 :is(.ui-tab,.ev-tab){border:0;border-bottom:3px solid transparent;border-radius:0;padding:11px 14px;font-size:13px;font-weight:800;color:var(--tc2-mut);background:transparent;white-space:nowrap;margin-bottom:-1px}
body.tcv2 :is(.ui-tab,.ev-tab):hover{color:var(--tc2-ink);border-bottom-color:var(--tc2-line)}
body.tcv2 :is(.ui-tab,.ev-tab).active{color:var(--tc2-brand);border-bottom-color:var(--tc2-brand);background:transparent}

/* ── phone: nothing pushes the page sideways ── */
@media (max-width:767.98px){
body.tcv2 .an-filter-bar{align-items:stretch}
body.tcv2 .an-fg{max-width:100%;min-width:0}
body.tcv2 :is(.an-fg input,.an-fg select){max-width:100%}
body.tcv2 .an-filter-bar .an-fg:has(input[style*="width"]) input{width:100%!important}
body.tcv2 :is(.an-stat,.ev-kpi,.ui-kpi){min-width:calc(50% - 8px)}
body.tcv2 .an-table-wrap,body.tcv2 .an-card-body:has(>table){overflow-x:auto}
}
}
