:root {
  --navy-950:#0C0F16;--navy-900:#11151D;--navy-800:#151A23;--navy-700:#1E2632;
  --teal-400:#0076FF;--teal-500:#10B981;--teal-600:#059669;
  --indigo-400:#5B8CFF;--indigo-500:#0076FF;
  --slate-50:#F8FAFC;--slate-100:#F1F5F9;--slate-200:#E2E8F0;--slate-300:#CBD5E1;
  --slate-400:#94A3B8;--slate-500:#64748B;--slate-600:#475569;--slate-700:#334155;
  --red-400:#F87171;--red-500:#EF4444;
  --green-400:#4ADE80;--green-500:#22C55E;
  --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--navy-950);color:var(--white);-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh;}

/* ═══════════════════════════════════════
   APP LAYOUT
   ═══════════════════════════════════════ */
.db-app{display:flex;flex-direction:column;height:100vh;}

/* TOP BAR */
.db-topbar{height:56px;background:var(--navy-900);border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;z-index:100;}
.db-topbar-logo{display:flex;align-items:center;gap:8px;margin-right:24px;}
.db-topbar-logo svg{width:28px;height:28px;}
.db-topbar-logo-text{font-size:13px;font-weight:700;color:var(--slate-300);}
.db-topbar-logo-text span{color:var(--teal-400);}
.db-topbar-nav{display:flex;align-items:center;gap:4px;}
.db-topbar-nav a{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--slate-400);transition:all 0.15s;}
.db-topbar-nav a:hover{color:var(--white);background:rgba(255,255,255,0.04);}
.db-topbar-nav a.active{color:var(--white);background:rgba(255,255,255,0.08);}
/* Fund Browser: always prominent */
.db-topbar-nav a.nav-home{display:flex;align-items:center;gap:5px;font-weight:600;border:1px solid rgba(255,255,255,0.06);padding:6px 16px;}
.db-topbar-nav a.nav-home:hover{border-color:rgba(255,255,255,0.12);}
.db-topbar-nav a.nav-home.active{background:rgba(0,118,255,0.08);border-color:rgba(0,118,255,0.2);color:var(--teal-400);}
.db-topbar-nav a.nav-home:not(.active){color:var(--slate-300);}
.db-topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.db-topbar-btn{padding:7px 16px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-300);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 0.15s;}
.db-topbar-btn:hover{border-color:rgba(255,255,255,0.2);color:var(--white);}
.db-topbar-btn-primary{background:var(--teal-500);border-color:var(--teal-500);color:var(--white);}
.db-topbar-btn-primary:hover{background:var(--teal-600);}
.db-topbar-btn-download{background:rgba(0,118,255,0.08);border-color:rgba(0,118,255,0.2);color:var(--teal-400);}
.db-topbar-btn-download:hover{background:rgba(0,118,255,0.12);border-color:rgba(0,118,255,0.3);color:var(--teal-400);}
.db-topbar-user{width:32px;height:32px;border-radius:50%;background:var(--indigo-500);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;}
.cfr-dashboard-account-link{display:inline-flex;align-items:center;gap:6px;color:#94A3B8;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;text-decoration:none;padding:6px 10px;border-radius:6px;transition:color 0.15s,background 0.15s;}
.cfr-dashboard-account-link:hover{color:#F1F5F9;background:rgba(255,255,255,0.06);}
.cfr-dashboard-account-link svg{flex-shrink:0;}

/* ═══════════════════════════════════════
   MAIN CONTENT AREA
   ═══════════════════════════════════════ */
.db-main{flex:1;display:flex;flex-direction:column;overflow:hidden;}

/* TOOLBAR: Filters + Search */
.db-toolbar{padding:16px 24px;background:var(--navy-900);border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap;}
.db-search{position:relative;flex:0 0 280px;}
.db-search input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:var(--white);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border 0.15s;}
.db-search input::placeholder{color:var(--slate-500);}
.db-search input:focus{border-color:var(--teal-400);background:rgba(255,255,255,0.06);}
.db-search input:active,.db-search input:focus{background:rgba(255,255,255,0.08) !important;color:var(--white) !important;-webkit-text-fill-color:var(--white) !important;}
.db-search input:-webkit-autofill,.db-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--navy-900) inset !important;-webkit-text-fill-color:var(--white) !important;}
.db-search-icon{display:none;}
.db-filter-group{display:flex;align-items:center;gap:8px;}
.db-filter{padding:7px 14px;border-radius:6px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:var(--slate-400);font-size:12px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all 0.15s;}
.db-filter:hover{border-color:rgba(255,255,255,0.15);color:var(--slate-300);}
.db-filter.active{border-color:var(--teal-400);color:var(--teal-400);background:rgba(0,118,255,0.06);}
.db-filter svg{width:12px;height:12px;}

/* Recent Performance Toggle */
.db-recent-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 8px;user-select:none;}
.db-recent-toggle input{display:none;}
.db-recent-toggle-check{width:16px;height:16px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.15);background:transparent;display:flex;align-items:center;justify-content:center;transition:all 0.15s;flex-shrink:0;}
.db-recent-toggle input:checked ~ .db-recent-toggle-check{background:var(--teal-500);border-color:var(--teal-500);}
.db-recent-toggle input:checked ~ .db-recent-toggle-check::after{content:'✓';color:var(--white);font-size:10px;font-weight:700;}
.db-recent-toggle-label{font-size:12px;color:var(--slate-400);font-weight:500;white-space:nowrap;transition:color 0.15s;}
.db-recent-toggle:hover .db-recent-toggle-label{color:var(--slate-300);}
.db-recent-toggle input:checked ~ .db-recent-toggle-label{color:var(--teal-400);}

.db-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.db-toolbar-count{font-size:12px;color:var(--slate-500);margin-right:8px;}
.db-compare-btn{padding:7px 14px;border-radius:6px;border:1px solid var(--indigo-500);background:rgba(0,118,255,0.08);color:var(--indigo-400);font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;display:none;align-items:center;gap:5px;}
.db-compare-btn.visible{display:flex;}

/* ═══════════════════════════════════════
   DATA TABLE
   ═══════════════════════════════════════ */
.db-table-wrap{flex:1;overflow:auto;}
.db-table{width:100%;border-collapse:collapse;font-size:13px;}
.db-table thead{position:sticky;top:0;z-index:10;}
.db-table th{background:var(--navy-800);padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid rgba(255,255,255,0.06);white-space:nowrap;cursor:pointer;user-select:none;transition:color 0.15s;}
.db-table th:hover{color:var(--slate-200);}
.db-table th.sorted{color:var(--teal-400);}
.db-table th .sort-arrow{display:inline-block;margin-left:4px;opacity:0.3;font-size:9px;}
.db-table th.sorted .sort-arrow{opacity:1;color:var(--teal-400);}
.db-table th:first-child{width:40px;text-align:center;}

.db-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.03);white-space:nowrap;transition:background 0.1s;}
.db-table tbody td{color:var(--slate-300);}
.db-table td:first-child{text-align:center;}
.db-table tr:hover td{background:rgba(255,255,255,0.02);}
.db-table tr.selected td{background:rgba(0,118,255,0.06);}

/* Checkbox */
.db-check{width:16px;height:16px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.15);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;appearance:none;-webkit-appearance:none;}
.db-check:checked{background:var(--indigo-500);border-color:var(--indigo-500);}
.db-check:checked::after{content:'✓';color:var(--white);font-size:10px;font-weight:700;}

/* Fund name cell */
.db-fund-name{display:flex;align-items:center;gap:10px;cursor:pointer;}
.db-fund-logo{width:28px;height:28px;border-radius:6px;background:var(--navy-700);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--teal-400);overflow:hidden;flex-shrink:0;}
.db-fund-logo img{width:100%;height:100%;object-fit:cover;}
.db-fund-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.db-fund-info{}
.db-fund-vehicle{font-weight:600;color:var(--white);font-size:13px;transition:color 0.15s;}
.db-fund-name:hover .db-fund-vehicle{color:var(--teal-400);}
.db-firm-name{font-size:12px;color:var(--slate-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;}

/* Type badge */
.db-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:0.03em;}
.db-type-hf{background:rgba(0,118,255,0.1);color:var(--teal-400);}
.db-type-vc{background:rgba(0,118,255,0.1);color:var(--indigo-400);}
.db-type-tf{background:rgba(251,191,36,0.1);color:#FBBF24;}
.db-type-idx{background:rgba(248,113,113,0.1);color:var(--red-400);}
.db-type-fof{background:rgba(168,85,247,0.1);color:#A855F7;}
.db-type-mft{background:rgba(56,189,248,0.1);color:#38BDF8;}
.db-type-mf{background:rgba(56,189,248,0.1);color:#38BDF8;}
.db-type-ltp{background:rgba(251,146,60,0.1);color:#FB923C;}
.db-type-map{background:rgba(0,118,255,0.06);color:#5B8CFF;}
.db-type-default{background:rgba(148,163,184,0.1);color:#94A3B8;}

/* Number cells */
.db-num{font-family:'DM Mono',monospace;font-size:12px;color:var(--slate-300);}
.db-neutral{color:var(--slate-400);}

/* Positive values: green - MUST override .db-num */
.db-table tbody td.db-positive,
td.db-num.db-positive,
.db-positive{color:#4ADE80 !important;}

/* Negative values: red - MUST override .db-num */
.db-table tbody td.db-negative,
td.db-num.db-negative,
.db-negative{color:#F87171 !important;}

/* Strategy pill */
.db-strategy{font-size:11px;color:var(--slate-400) !important;max-width:140px;overflow:hidden;text-overflow:ellipsis;}

/* ═══════════════════════════════════════
   FUND DETAIL SLIDE-OVER PANEL
   ═══════════════════════════════════════ */
.db-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:200;opacity:0;pointer-events:none;transition:opacity 0.25s;}
.db-panel-overlay.open{opacity:1;pointer-events:auto;}

.db-panel{position:fixed;top:0;right:0;width:100%;max-width:680px;height:100vh;background:var(--navy-900);border-left:1px solid rgba(255,255,255,0.08);z-index:201;transform:translateX(100%);transition:transform 0.3s ease;display:flex;flex-direction:column;overflow:hidden;}
.db-panel.open{transform:translateX(0);}

/* Panel header */
.db-panel-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:flex-start;gap:16px;flex-shrink:0;}
.db-panel-close{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-400);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all 0.15s;flex-shrink:0;}
.db-panel-close:hover{color:var(--white);border-color:rgba(255,255,255,0.2);}
.db-panel-logo{width:48px;height:48px;border-radius:10px;background:var(--navy-700);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--teal-400);flex-shrink:0;overflow:hidden;}
.db-panel-logo img{width:100%;height:100%;object-fit:contain;display:block;}
.db-panel-title-wrap{flex:1;min-width:0;}
.db-panel-company{font-size:20px;font-weight:700;color:var(--white);margin-bottom:2px;}
.db-panel-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--slate-400);flex-wrap:wrap;}
.db-panel-meta a{color:var(--teal-400);text-decoration:none;}
.db-panel-meta a:hover{text-decoration:underline;}
.db-panel-meta-sep{color:var(--slate-600);}
.db-panel-actions{display:flex;gap:8px;flex-shrink:0;}
.db-panel-action{padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-300);cursor:pointer;display:flex;align-items:center;gap:5px;}
.db-panel-action:hover{border-color:rgba(255,255,255,0.2);color:var(--white);}

/* Panel body (scrollable) */
.db-panel-body{flex:1;overflow-y:auto;padding:0;}

/* Panel sections */
.db-panel-section{padding:24px;border-bottom:1px solid rgba(255,255,255,0.06);}
.db-panel-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate-500);margin-bottom:16px;display:flex;align-items:center;gap:8px;}

/* Key People */
.db-people-grid{display:flex;gap:16px;flex-wrap:wrap;}
.db-person{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,0.03);border-radius:8px;border:1px solid rgba(255,255,255,0.05);flex:0 0 calc(50% - 8px);}
.db-person-avatar{width:36px;height:36px;border-radius:50%;background:var(--navy-700);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--teal-400);flex-shrink:0;}
.db-person-photo{object-fit:cover;border-radius:50%;}
.db-person-name{font-size:13px;font-weight:600;color:var(--white);}
.db-person-title{font-size:11px;color:var(--slate-400);}
.db-person-links{display:flex;gap:6px;margin-top:3px;}
.db-person-links a{font-size:10px;color:var(--teal-400);text-decoration:none;}
.db-person-links a:hover{text-decoration:underline;}

/* DDQ Info Grid */
.db-ddq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,0.04);border-radius:8px;overflow:hidden;}
.db-ddq-item{padding:10px 14px;background:var(--navy-900);}
.db-ddq-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--slate-500);margin-bottom:3px;}
.db-ddq-value{font-size:13px;color:var(--white);}

/* Fund Documents */
.db-ddq-docs{padding:14px 0 0;}
.db-ddq-docs .db-returns-subtitle{padding:0 14px;}
.db-ddq-doc-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 0;}
.db-ddq-doc-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1px solid rgba(0,118,255,0.2);background:rgba(0,118,255,0.06);color:var(--teal-400);font-size:12px;font-weight:500;text-decoration:none;transition:all 0.15s;font-family:'DM Sans',sans-serif;}
.db-ddq-doc-link:hover{background:rgba(0,118,255,0.12);border-color:rgba(0,118,255,0.35);color:var(--white);}
.db-ddq-doc-link svg{flex-shrink:0;stroke:currentColor;}
.db-ddq-doc-size{font-size:10px;color:var(--slate-500);margin-left:2px;}

/* Fund Vehicle Accordion */
.db-vehicle{border:1px solid rgba(255,255,255,0.06);border-radius:10px;overflow:hidden;margin-bottom:12px;}
.db-vehicle:last-child{margin-bottom:0;}
.db-vehicle-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background 0.15s;}
.db-vehicle-header:hover{background:rgba(255,255,255,0.02);}
.db-vehicle-header-left{display:flex;align-items:center;gap:12px;}
.db-vehicle-name{font-size:14px;font-weight:600;color:var(--white);}
.db-vehicle-badges{display:flex;gap:6px;}
.db-vehicle-toggle{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--slate-400);transition:transform 0.2s;}
.db-vehicle.open .db-vehicle-toggle{transform:rotate(180deg);}
.db-vehicle-body{display:none;border-top:1px solid rgba(255,255,255,0.06);}
.db-vehicle.open .db-vehicle-body{display:block;}

/* Vehicle summary stats bar */
.db-vehicle-stats{display:flex;padding:14px 18px;gap:24px;background:rgba(255,255,255,0.02);border-bottom:1px solid rgba(255,255,255,0.04);}
.db-vehicle-stat-label{font-size:10px;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.04em;}
.db-vehicle-stat-value{font-size:16px;font-weight:700;font-family:'DM Mono',monospace;margin-top:2px;color:var(--white);}

/* Monthly Returns Year x Month Grid */
.db-returns-section{padding:18px;}
.db-returns-subtitle{font-size:11px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:10px;}
.db-returns-grid{width:100%;border-collapse:collapse;font-size:11px;}
.db-returns-grid th{padding:5px 6px;text-align:center;font-size:9px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.04em;}
.db-returns-grid td{padding:4px 5px;text-align:center;font-family:'DM Mono',monospace;font-size:10px;border-radius:3px;}
.db-returns-grid .year-label{text-align:left;font-weight:700;color:var(--slate-300);font-family:'DM Sans',sans-serif;font-size:11px;padding-left:0;}
.db-returns-grid .ytd-cell{font-weight:600;font-size:11px;border-left:1px solid rgba(255,255,255,0.08);padding-left:8px;}

/* Heatmap colors */
.ret-pos-1{background:rgba(0,118,255,0.08);color:var(--teal-400);}
.ret-pos-2{background:rgba(0,118,255,0.15);color:var(--teal-400);}
.ret-pos-3{background:rgba(0,118,255,0.25);color:#0076FF;}
.ret-neg-1{background:rgba(248,113,113,0.08);color:var(--red-400);}
.ret-neg-2{background:rgba(248,113,113,0.15);color:var(--red-400);}
.ret-neg-3{background:rgba(248,113,113,0.25);color:#F87171;}
.ret-na{color:var(--slate-600);}

/* Performance Chart */
.db-chart-section{padding:18px;}
.db-chart-wrap{height:200px;background:rgba(255,255,255,0.02);border-radius:8px;border:1px solid rgba(255,255,255,0.04);position:relative;overflow:hidden;}
.db-chart-legend{display:flex;gap:16px;padding:10px 14px;}
.db-chart-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--slate-400);}
.db-chart-legend-dot{width:8px;height:8px;border-radius:2px;}

/* Metrics Panels */
.db-metrics-section{padding:18px;display:block !important;}
.db-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.04);border-radius:8px;overflow:hidden;}
.db-metric{padding:12px;background:var(--navy-900);text-align:center;}
.db-metric-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--slate-500);margin-bottom:4px;}
.db-metric-value{font-size:16px;font-weight:700;font-family:'DM Mono',monospace;color:var(--white);}

/* Advanced metrics accordion */
.db-adv-toggle{padding:12px 18px;font-size:12px;font-weight:600;color:var(--slate-400);cursor:pointer;display:flex;align-items:center;gap:6px;border-top:1px solid rgba(255,255,255,0.04);transition:color 0.15s;}
.db-adv-toggle:hover{color:var(--slate-300);}
.db-adv-body{display:none;padding:0 18px 18px;}
.db-adv-body.open{display:block;}
.db-adv-category{margin-bottom:14px;}
.db-adv-category:last-child{margin-bottom:0;}
.db-adv-cat-title{font-size:10px;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px;}
.db-adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.04);border-radius:6px;overflow:hidden;}
.db-adv-item{padding:8px 10px;background:var(--navy-900);}
.db-adv-item-label{font-size:9px;color:var(--slate-500);}
.db-adv-item-value{font-size:12px;font-weight:600;font-family:'DM Mono',monospace;margin-top:1px;color:var(--white);}

/* Period tabs */
.db-period-tabs{display:flex;gap:4px;margin-bottom:12px;}
.db-period-tab{padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;color:var(--slate-500);cursor:pointer;transition:all 0.15s;}
.db-period-tab:hover{color:var(--slate-300);}
.db-period-tab.active{background:rgba(0,118,255,0.1);color:var(--teal-400);}

/* ═══════════════════════════════════════
   STATUS BAR (bottom)
   ═══════════════════════════════════════ */
.db-statusbar{height:32px;background:var(--navy-800);border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;padding:0 24px;gap:20px;font-size:11px;color:var(--slate-300);flex-shrink:0;position:sticky;bottom:0;z-index:20;}
.db-statusbar-item{display:flex;align-items:center;gap:6px;color:var(--slate-300);}
.db-statusbar-dot{width:6px;height:6px;border-radius:50%;background:var(--green-500);}

/* ═══════════════════════════════════════
   COMPANY DETAILS ACCORDION
   ═══════════════════════════════════════ */
.db-company-toggle{display:flex;align-items:center;gap:8px;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,0.06);cursor:pointer;transition:background 0.15s;}
.db-company-toggle:hover{background:rgba(255,255,255,0.02);}
.db-company-toggle-icon{width:20px;height:20px;border-radius:4px;background:rgba(0,118,255,0.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.db-company-toggle-text{font-size:12px;font-weight:600;color:var(--slate-400);}
.db-company-toggle-arrow{margin-left:auto;color:var(--slate-500);transition:transform 0.2s;}
.db-company-toggle.open .db-company-toggle-arrow{transform:rotate(180deg);}
.db-company-body{display:none;padding:0 24px 20px;border-bottom:1px solid rgba(255,255,255,0.06);}
.db-company-toggle.open + .db-company-body{display:block;}
.db-company-desc{font-size:13px;color:var(--slate-400);line-height:1.6;margin-bottom:16px;padding-top:4px;}
.db-company-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,0.04);border-radius:8px;overflow:hidden;margin-bottom:16px;}
.db-company-item{padding:10px 14px;background:var(--navy-900);}
.db-company-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--slate-500);margin-bottom:3px;}
.db-company-value{font-size:13px;color:var(--white);}
.db-company-value a{color:var(--teal-400);text-decoration:none;}
.db-company-value a:hover{text-decoration:underline;}
.db-company-socials{display:flex;gap:8px;}
.db-company-social{padding:5px 12px;border-radius:6px;border:1px solid rgba(255,255,255,0.08);font-size:11px;font-weight:500;color:var(--slate-400);text-decoration:none;transition:all 0.15s;display:flex;align-items:center;gap:5px;}
.db-company-social:hover{border-color:rgba(255,255,255,0.15);color:var(--slate-200);}

/* ═══════════════════════════════════════
   COMPARISON VIEW
   ═══════════════════════════════════════ */
.db-compare-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--navy-950);z-index:300;display:none;flex-direction:column;}
.db-compare-overlay.open{display:flex;}
.db-compare-topbar{height:56px;background:var(--navy-900);border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;}
.db-compare-back{padding:7px 14px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-300);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:'DM Sans',sans-serif;}
.db-compare-back:hover{border-color:rgba(255,255,255,0.2);color:var(--white);}
.db-compare-title{font-size:16px;font-weight:700;color:var(--white);}
.db-compare-subtitle{font-size:12px;color:var(--slate-500);margin-left:8px;}
.db-compare-body{flex:1;overflow-y:auto;padding:24px;}

/* Comparison Chart */
.db-compare-chart-section{margin-bottom:32px;}
.db-compare-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate-500);margin-bottom:14px;}
.db-compare-chart-wrap{height:280px;background:rgba(255,255,255,0.02);border-radius:10px;border:1px solid rgba(255,255,255,0.06);position:relative;overflow:hidden;}
.db-compare-chart-legend{display:flex;gap:20px;padding:12px 16px;}
.db-compare-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--slate-400);}
.db-compare-legend-dot{width:10px;height:3px;border-radius:2px;}
.db-compare-chart-note{font-size:11px;color:var(--slate-600);padding:0 16px 12px;}

/* Comparison Metrics Table */
.db-compare-metrics-section{margin-bottom:32px;}
.db-compare-table{width:100%;border-collapse:collapse;font-size:13px;}
.db-compare-table thead th{background:var(--navy-800);padding:10px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:0.04em;border-bottom:1px solid rgba(255,255,255,0.06);}
.db-compare-table thead th:not(:first-child){text-align:center;}
.db-compare-table thead th.best-col{color:var(--teal-400);}
.db-compare-table tbody td{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,0.03);color:var(--slate-300);}
.db-compare-table tbody td:not(:first-child){text-align:center;font-family:'DM Mono',monospace;font-size:12px;}
.db-compare-table tbody td.metric-label{font-weight:500;color:var(--slate-400);font-size:12px;}
.db-compare-table tbody td.best-val{color:var(--teal-400);font-weight:700;}
.db-compare-table tbody tr:hover td{background:rgba(255,255,255,0.02);}
.db-compare-table .section-row td{background:rgba(255,255,255,0.03);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate-500);padding:8px 16px;border-bottom:none;}

/* Correlation Matrix */
.db-compare-corr-section{margin-bottom:32px;}
.db-corr-grid{display:inline-grid;gap:2px;border-radius:8px;overflow:hidden;}
.db-corr-cell{width:90px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;}
.db-corr-header{background:var(--navy-800);color:var(--slate-400);font-weight:600;font-size:10px;}
.db-corr-value{font-family:'DM Mono',monospace;font-weight:600;}
.db-corr-high{background:rgba(0,118,255,0.15);color:var(--teal-400);}
.db-corr-med{background:rgba(251,191,36,0.1);color:#FBBF24;}
.db-corr-low{background:rgba(248,113,113,0.08);color:var(--slate-400);}
.db-corr-self{background:rgba(255,255,255,0.04);color:var(--slate-500);}

/* Monthly Returns Comparison */
.db-compare-returns-section{margin-bottom:32px;}
.db-compare-returns-table{width:100%;border-collapse:collapse;font-size:11px;}
.db-compare-returns-table th{padding:6px 8px;text-align:center;font-size:9px;font-weight:600;color:var(--slate-500);text-transform:uppercase;background:var(--navy-800);position:sticky;top:0;}
.db-compare-returns-table td{padding:5px 6px;text-align:center;font-family:'DM Mono',monospace;font-size:10px;border-bottom:1px solid rgba(255,255,255,0.02);}
.db-compare-returns-table .fund-label{text-align:left;font-family:'DM Sans',sans-serif;font-weight:600;font-size:11px;padding-left:8px;white-space:nowrap;}
.db-compare-returns-table .month-group{border-bottom:2px solid rgba(255,255,255,0.06);}

/* Download popup */
.dl-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:500;display:none;align-items:center;justify-content:center;}
.dl-overlay.open{display:flex;}

/* ═══════════════════════════════════════
   EXPORT MODAL
   ═══════════════════════════════════════ */
.ex-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:400;display:none;align-items:center;justify-content:center;}
.ex-overlay.open{display:flex;}
.ex-modal{background:var(--navy-900);border:1px solid rgba(255,255,255,0.08);border-radius:14px;width:540px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 24px 48px rgba(0,0,0,0.4);}
.ex-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between;}
.ex-title{font-size:16px;font-weight:700;color:var(--white);}
.ex-close{width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-400);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;}
.ex-close:hover{color:var(--white);border-color:rgba(255,255,255,0.2);}
.ex-body{padding:20px 24px;}
.ex-section{margin-bottom:20px;}
.ex-section:last-child{margin-bottom:0;}
.ex-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate-500);margin-bottom:10px;}
.ex-option{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background 0.15s;margin-bottom:2px;}
.ex-option:hover{background:rgba(255,255,255,0.03);}
.ex-radio,.ex-checkbox{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,0.15);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;flex-shrink:0;margin-top:1px;appearance:none;-webkit-appearance:none;}
.ex-checkbox{border-radius:4px;}
.ex-radio:checked{border-color:var(--teal-400);background:var(--teal-400);}
.ex-radio:checked::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--navy-900);}
.ex-checkbox:checked{border-color:var(--teal-400);background:var(--teal-400);}
.ex-checkbox:checked::after{content:'✓';color:var(--navy-900);font-size:11px;font-weight:700;}
.ex-option-text{flex:1;}
.ex-option-name{font-size:13px;font-weight:600;color:var(--white);}
.ex-option-desc{font-size:11px;color:var(--slate-500);margin-top:1px;}
.ex-option.disabled{opacity:0.35;pointer-events:none;}
.ex-strategy-sub{padding:4px 0 4px 40px;display:none;}
.ex-strategy-sub.visible{display:block;}
.ex-strategy-sub .ex-option{padding:5px 12px;}
.ex-strategy-sub .ex-option-name{font-size:12px;font-weight:500;}
.ex-divider{height:1px;background:rgba(255,255,255,0.06);margin:16px 0;}
.ex-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between;}
.ex-format{display:flex;align-items:center;gap:8px;}
.ex-format-label{font-size:11px;color:var(--slate-500);font-weight:600;}
.ex-format-btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--slate-400);font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.ex-format-btn.active{border-color:var(--teal-400);color:var(--teal-400);background:rgba(0,118,255,0.06);}
.ex-format-btn:hover{border-color:rgba(255,255,255,0.2);color:var(--slate-200);}
.ex-download{padding:9px 24px;border-radius:8px;border:none;background:var(--teal-500);color:var(--white);font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:6px;transition:background 0.15s;}
.ex-download:hover{background:var(--teal-600);}

/* ═══════════════════════════════════════
   SCROLLBAR STYLING
   ═══════════════════════════════════════ */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.15);}

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
    /* Topbar: wrap to two rows */
    .db-topbar {
        height: auto;
        flex-wrap: wrap;
        padding: 12px 16px;
        gap: 8px;
    }
    .db-topbar-logo { flex: 0 0 auto; }
    .db-topbar-right { margin-left: auto; gap: 8px; }
    .db-topbar-btn { padding: 7px 10px; font-size: 0; }
    .db-topbar-btn svg { font-size: initial; }
    .db-topbar-user { width: 28px; height: 28px; font-size: 11px; }

    /* Nav tabs: full width second row, scrollable */
    .db-topbar-nav {
        order: 3;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        gap: 4px;
        padding-bottom: 4px;
    }
    .db-topbar-nav::-webkit-scrollbar { display: none; }
    .db-topbar-nav a {
        white-space: nowrap;
        flex-shrink: 0;
        font-size: 12px;
        padding: 5px 12px;
    }

    /* Toolbar */
    .db-toolbar { flex-wrap: wrap; padding: 12px 16px; gap: 8px; }
    .db-search { width: 100%; flex: 1 1 100%; order: -1; }
    .db-search input { width: 100%; }
    .db-filter-group {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
        width: 100%;
    }
    .db-filter-group::-webkit-scrollbar { display: none; }
    .db-filter { white-space: nowrap; flex-shrink: 0; font-size: 11px; padding: 5px 10px; }
    .db-toolbar-right { width: 100%; justify-content: flex-end; }

    /* Table: horizontal scroll + sticky fund name */
    .db-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .db-table th:nth-child(2),
    .db-table td:nth-child(2) { position: sticky; left: 0; z-index: 5; background: inherit; }
    .db-table th:nth-child(2) { background: var(--navy-800); }
    .db-table td:nth-child(2) { background: var(--navy-950); }
    .db-table tr:hover td:nth-child(2) { background: var(--navy-900); }
    .db-table th, .db-table td { padding: 8px 10px; font-size: 12px; }

    /* Status bar */
    .db-statusbar { padding: 0 16px; font-size: 10px; }
}

@media (max-width: 680px) {
    .db-panel { max-width: 100vw; width: 100vw; overflow-x: hidden; }
    .db-panel-header { flex-wrap: wrap; padding: 16px; }
    .db-panel-actions { width: 100%; justify-content: flex-end; margin-top: 8px; }
    .db-panel-body { overflow-x: hidden; }
    .db-metrics-grid { grid-template-columns: repeat(2, 1fr); }
    .db-adv-grid { grid-template-columns: repeat(2, 1fr); }
    .db-panel-section { padding: 16px; overflow-x: hidden; }
    .db-people-grid .db-person { flex: 0 0 100%; }
}

/* ═══════════════════════════════════════
   FILTER DROPDOWNS
   ═══════════════════════════════════════ */
.db-filter{position:relative;}
.db-filter-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-height:280px;overflow-y:auto;background:var(--navy-800);border:1px solid rgba(255,255,255,0.1);border-radius:8px;box-shadow:0 12px 24px rgba(0,0,0,0.4);z-index:50;padding:4px 0;}
.db-filter-btn.open .db-filter-dropdown{display:block;}
.db-filter-option{padding:8px 14px;font-size:12px;color:var(--slate-300);cursor:pointer;transition:background 0.1s;display:flex;align-items:center;gap:8px;}
.db-filter-option:hover{background:rgba(255,255,255,0.04);}
.db-filter-option.selected{color:var(--teal-400);font-weight:600;}
.db-filter-option .db-filter-count{margin-left:auto;font-size:10px;color:var(--slate-500);}

/* === Kadence Override Block === */
body.cfr-dashboard-page .cfr-header,
body.cfr-dashboard-page .cfr-footer,
body.cfr-dashboard-page #cfr-header {
  display: none !important;
}
body.cfr-dashboard-page {
  overflow: hidden !important;
  background: #0C0F16 !important;
}
body.cfr-dashboard-page #wrapper,
body.cfr-dashboard-page .site,
body.cfr-dashboard-page .wp-site-blocks {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
body.cfr-dashboard-page #inner-wrap,
body.cfr-dashboard-page .wrap,
body.cfr-dashboard-page main {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
body.cfr-dashboard-page .content-area {
  margin: 0 !important;
  padding: 0 !important;
}
body.cfr-dashboard-page .entry-content-wrap {
  padding: 0 !important;
  margin: 0 !important;
}
body.cfr-dashboard-page .db-app {
  position: fixed !important;
  top: 32px;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex !important;
  flex-direction: column !important;
  background: var(--navy-950, #0C0F16) !important;
  z-index: 100;
}
body.cfr-dashboard-page:not(.admin-bar) .db-app {
  top: 0;
}
@media screen and (max-width: 782px) {
  body.cfr-dashboard-page.admin-bar .db-app {
    top: 46px;
  }
}

/* ═══════════════════════════════════════
   EXPORT MESSAGE & SPINNER — Additional CSS
   ═══════════════════════════════════════ */

.ex-message {
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 500;
    font-family: 'DM Sans', sans-serif;
}

.ex-message-success {
    color: #22C55E;
    background: rgba(34, 197, 94, 0.06);
    border-top: 1px solid rgba(34, 197, 94, 0.15);
}

.ex-message-error {
    color: #F87171;
    background: rgba(248, 113, 113, 0.06);
    border-top: 1px solid rgba(248, 113, 113, 0.15);
}

.ex-download:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ex-spinner {
    animation: ex-spin 0.8s linear infinite;
}

@keyframes ex-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════
   FUND DOCUMENTS SECTION (in slide-in panel)
   ═══════════════════════════════════════ */

.db-panel-docs-section {
  border-top: 1px solid rgba(255,255,255,0.06);
}

.db-docs-count {
  font-size: 11px;
  color: var(--slate-500);
  font-weight: 400;
  margin-left: 6px;
}

.db-docs-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.db-doc-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
  text-decoration: none;
}

.db-doc-item:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.08);
}

.db-doc-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: rgba(248,113,113,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.db-doc-icon svg {
  color: #F87171;
}

.db-doc-info {
  flex: 1;
  min-width: 0;
}

.db-doc-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.db-doc-meta {
  font-size: 10px;
  color: var(--slate-500);
  margin-top: 2px;
}

.db-doc-open {
  font-size: 10px;
  color: var(--teal-400);
  font-weight: 600;
  letter-spacing: 0.03em;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s;
}

.db-doc-item:hover .db-doc-open {
  opacity: 1;
}

/* Methodology link in topbar */
.db-topbar-methodology{font-size:12px;font-weight:500;color:var(--slate-400);text-decoration:none !important;padding:7px 8px;transition:color 0.15s;font-family:'DM Sans',sans-serif;}
.db-topbar-methodology:hover{color:var(--teal-400);text-decoration:none !important;}

/* Methodology modal */
.cfr-methodology-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s;}
.cfr-methodology-overlay.open{opacity:1;pointer-events:auto;}
.cfr-methodology-modal{width:720px;max-width:92vw;max-height:85vh;background:var(--navy-900);border:1px solid rgba(255,255,255,0.08);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px);transition:transform 0.25s;}
.cfr-methodology-overlay.open .cfr-methodology-modal{transform:translateY(0);}
.cfr-methodology-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid rgba(255,255,255,0.06);flex-shrink:0;}
.cfr-methodology-title{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;color:#FFFFFF;margin:0;}
.cfr-methodology-close{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:#94A3B8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.cfr-methodology-close:hover{color:#FFFFFF;border-color:rgba(255,255,255,0.2);}
.cfr-methodology-body{flex:1;overflow-y:auto;padding:28px;-webkit-overflow-scrolling:touch;}
.cfr-methodology-body::-webkit-scrollbar{width:6px;}
.cfr-methodology-body::-webkit-scrollbar-track{background:transparent;}
.cfr-methodology-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px;}
.cfr-methodology-body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.2);}
.cfr-meth-section{margin-bottom:28px;}
.cfr-meth-section h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:var(--teal-400);margin:0 0 12px;text-transform:uppercase;letter-spacing:0.03em;}
.cfr-meth-section p{font-size:13px;color:var(--slate-300);line-height:1.7;margin:0 0 8px;}
.cfr-meth-section p:last-child{margin-bottom:0;}
.cfr-meth-section ul{font-size:13px;color:var(--slate-300);line-height:1.7;margin:0 0 8px;padding-left:20px;}
.cfr-meth-section li{margin-bottom:4px;}
.cfr-meth-section a{color:var(--teal-400);text-decoration:none;}
.cfr-meth-section a:hover{text-decoration:underline;}
