:root { color-scheme:light; font-family:Inter,"Segoe UI",Arial,sans-serif; color:#172b3a; background:#f3f6f9; }
* { box-sizing:border-box; }
body { margin:0; }
button,input,select { font:inherit; }
button,a,input,select,[tabindex] { -webkit-tap-highlight-color:transparent; }
:is(button,a,input,select,[tabindex]):focus-visible { outline:3px solid #0f766e; outline-offset:3px; }
[hidden] { display:none !important; }
.connection-screen { min-height:100dvh; display:grid; place-items:center; padding:24px; }
.connection-card { max-width:500px; padding:40px; border:1px solid #dce6ec; border-radius:20px; background:white; box-shadow:0 16px 60px #1e293b0a; }
.connection-card h1 { font-size:26px; margin:24px 0 10px; }
.connection-card p { color:#64748b; line-height:1.6; }
.connection-card button { border:0; border-radius:8px; padding:12px 16px; margin:12px 10px 8px 0; color:white; background:#0f766e; cursor:pointer; }
.connection-card a { color:#0f766e; font-size:13px; }
.brand-mark { width:38px; height:38px; display:inline-grid; place-items:center; background:#0f766e; color:#fff; font-size:23px; font-weight:700; border-radius:12px; }
.extension-status { position:fixed; inset:auto 24px 20px auto; z-index:200010; max-width:440px; background:#fff7ed; border:1px solid #fdba74; padding:14px 18px; border-radius:10px; color:#9a3412; }
#crm-fab { display:none !important; }
#crm-report-modal.rp-modal { padding:0 !important; background:#f3f6f9 !important; height:100dvh !important; }
#crm-report-modal > .rp-content { padding:0 !important; width:100vw !important; height:100dvh !important; border-radius:0 !important; box-shadow:none !important; }
.app-shell { display:grid; grid-template-columns:218px minmax(0,1fr); flex:1; min-height:0; }
.app-sidebar { display:flex; flex-direction:column; min-height:0; background:#fff; border-right:1px solid #e2e8f0; padding:25px 14px 18px; }
.app-brand { display:flex; gap:10px; align-items:center; padding:0 9px 24px; }
.app-brand strong { display:block; font-size:14px; letter-spacing:1px; color:#183f3c; }
.app-brand small { display:block; margin-top:5px; font-size:11px; color:#78888d; }
.app-nav-caption { color:#849399; font-size:10px; letter-spacing:1.1px; padding:0 12px; margin:10px 0 14px; }
.app-sidebar .rp-tabs { flex-direction:column; gap:5px; border:0; margin:0; white-space:normal; overflow:auto; }
.app-sidebar .rp-tab-btn { position:relative; width:100%; text-align:left; padding:12px 14px; font-size:12px; line-height:1.45; font-weight:600; border:0; border-radius:8px; color:#5d6e7a; margin:0; }
.app-sidebar .rp-tab-btn.active { color:#0f766e; background:#eaf6f2; }
.app-sidebar .rp-tab-btn[aria-selected=true]::before { content:""; position:absolute; inset:10px auto 10px 0; border-left:3px solid #0f766e; border-radius:3px; }
.app-session { margin-top:auto; padding:20px 12px 0; border-top:1px solid #edf1f4; color:#526974; font-size:12px; }
.app-session small { display:block; margin-top:7px; color:#849399; font-size:10px; }
.app-main { display:flex; flex-direction:column; min-height:0; min-width:0; padding:25px 25px 20px; overflow:hidden; }
.app-header { position:relative; display:flex; flex:none; align-items:center; justify-content:space-between; padding-right:46px; margin-bottom:20px; gap:16px; }
.app-header p { margin:0 0 7px; font-size:10px; font-weight:600; letter-spacing:1.3px; color:#0f766e; }
.app-header h1 { font-size:23px; letter-spacing:-.6px; line-height:1.25; margin:0 0 6px; color:#163942; }
.app-header span { font-size:12px; color:#7b8b96; }
.app-header a { font-size:12px; color:#58727f; text-decoration:none; border:1px solid #d6e0e5; background:#fff; border-radius:7px; padding:9px 12px; white-space:nowrap; }
.app-header .rp-close { top:8px; right:0; font-size:24px; min-width:30px; }
.app-main #rp-global-filters { gap:10px; padding:13px 15px; background:#fff; border:1px solid #dfe7ec; border-radius:10px; margin-bottom:12px; flex-wrap:wrap; }
.app-main .rp-filter-group { min-width:120px; }
.app-main .rp-filter-group label { color:#637583 !important; font-size:11px; font-weight:600; }
.app-main .rp-filter-group input[type=date] { color:#344c5b; min-height:34px; border-color:#d6e1e8; background:#fbfcfd; }
.app-main .rp-ms-trigger { min-height:34px; border-color:#d6e1e8; background:#fbfcfd; }
.app-main .rp-ms-text { font-size:12px; }
.app-main .rp-btn { background:#0f766e; height:34px; font-size:12px; border-radius:7px; }
.app-main .rp-btn:hover { background:#115e59; }
.app-main .rp-mode-toggle { border:1px solid #dbe5ec; background:#edf2f6; border-radius:7px; }
.app-main .rp-mode-btn { font-size:11px; color:#526575; padding:6px 9px; }
.app-main .rp-mode-btn.active { color:#0f766e; box-shadow:0 1px 3px #0f172a12; }
.app-main #rp-customer-journey { padding:12px 15px; border-color:#dfe7ec; margin-bottom:13px; }
.app-main .rp-journey-heading h2 { color:#244650; font-size:12px; }
.app-main .rp-journey-heading p { font-size:10px; margin-bottom:8px; }
.app-main .rp-journey-option { min-width:145px; justify-content:space-between; font-size:11px; padding:7px 11px; }
.app-main .rp-journey-option strong { font-size:17px; font-weight:650; }
.app-main .rp-journey-option.active { background:#edf8f4; color:#0f766e; border-color:#0f766e; box-shadow:inset 0 0 0 1px #0f766e; }
.app-main .rp-journey-details { color:#0f766e; font-size:11px; }
.app-main .rp-journey-panels { max-height:min(220px,25dvh); }
.app-main > [id^="rp-tab-content-"] { min-width:0; min-height:0; }
.app-main > [id^="rp-tab-content-"] > div:first-child { flex-wrap:wrap; }
.app-main > [id^="rp-tab-content-"] > div:first-child > div { flex-wrap:wrap; }
.app-main .rp-pivot-container { flex:1; min-height:120px; border:1px solid #dbe5ec; border-radius:9px; background:#fff; overflow:auto; scrollbar-gutter:stable; overscroll-behavior:contain; }
.app-main :is(.rp-pivot-table,.rp-table,.rp-exec-table) { border-collapse:separate; border-spacing:0; font-size:12px; }
.app-main :is(.rp-pivot-table,.rp-exec-table) thead { position:sticky; top:0; z-index:30; }
.app-main .rp-pivot-table thead th { position:static; padding:11px 12px; background:#f2f6f9; border-top:0; border-bottom:1px solid #dce5ec; color:#40596b; }
.app-main .rp-pivot-table thead .sticky-col { position:sticky; left:0; z-index:32; }
.app-main .rp-pivot-table tbody td { padding:9px 12px; border-color:#edf1f5; line-height:1.5; }
.app-main .rp-pivot-table tbody tr:hover > td { filter:brightness(.98); }
.app-main .rp-pivot-table .sticky-col { min-width:210px; max-width:300px; }
.app-main .rp-pivot-table tfoot th { border-top:1px solid #c8d9e3; }
.app-main .rp-group-row td { font-size:11px; }
.app-main :is(.rp-kpi,.rp-box,.rp-exec-section,.rp-exec-kpi) { border-color:#dfe7ec; border-radius:10px; box-shadow:none; }
.app-main .rp-kpi-title { font-size:10px; letter-spacing:.5px; }
.app-main .rp-kpi-value { font-size:28px; letter-spacing:-1px; }
.app-main .rp-kpis { gap:12px; margin-bottom:15px; }
.app-main .rp-layout { gap:15px; }
.app-main .rp-table-wrapper { max-height:320px; }
.app-main .rp-exec-kpis { gap:12px; }
#rp-drilldown-modal { padding:24px !important; }
#rp-drilldown-modal .rp-content { width:calc(100vw - 48px) !important; height:calc(100dvh - 48px) !important; padding:20px !important; border-radius:12px !important; }
#rp-drilldown-modal table { border-collapse:separate; border-spacing:0; }
#rp-drilldown-modal th { white-space:nowrap; }
#rp-drilldown-modal td { max-width:250px; }
#rp-drilldown-modal :is(th,td) { font-size:12px; padding:10px; }
#rp-drilldown-modal button { min-height:28px; }
@media (max-width:1100px) {
  .app-shell { grid-template-columns:180px minmax(0,1fr); }
  .app-main { padding:20px 16px 16px; }
  .app-sidebar { padding-inline:9px; }
  .app-brand { gap:7px; padding-inline:4px; }
  .app-brand strong { font-size:12px; }
  .app-main .rp-filter-group { min-width:110px; }
}
@media (max-width:780px) {
  .app-shell { display:flex; flex-direction:column; overflow:auto; }
  .app-sidebar { flex:none; padding:10px; border-right:0; border-bottom:1px solid #e2e8f0; }
  .app-brand,.app-nav-caption,.app-session { display:none; }
  .app-sidebar .rp-tabs { flex-direction:row; min-height:40px; overflow-x:auto; }
  .app-sidebar .rp-tab-btn { width:auto; white-space:nowrap; padding:10px; }
  .app-main { overflow:visible; min-height:700px; flex:1; }
  .app-header h1 { font-size:20px; }
  .app-header a { display:none; }
  .app-main .rp-pivot-container { min-height:400px; }
  .app-main .rp-layout { grid-template-columns:1fr; }
}
@media (forced-colors:active) { .rp-journey-option.active { outline:2px solid Highlight; } }
