/* ======================================================================
   IR COMMAND CENTER — DASHBOARD
   Canonical stylesheet
   ----------------------------------------------------------------------
   01  Design tokens
   02  Base
   03  Welcome + quick navigation
   04  Company scope picker
   05  Shared cards
   06  Notifications
   07  Communication center
   08  Calendar / agenda
   09  Recent activity
   10  Val.AI
   11  Meeting / intelligence cards
   12  Responsive profiles
   13  Accessibility
   ====================================================================== */

/* 01 — DESIGN TOKENS */
:root {
  /* Palette */
  --db-bg: #f6f5fa;
  --db-surface: #ffffff;
  --db-surface-soft: #faf9fd;
  --db-surface-purple: #f2efff;
  --db-border: #ece9f2;
  --db-border-strong: #dfd9ec;
  --db-text: #272a3c;
  --db-title: #222536;
  --db-muted: #7f8498;
  --db-muted-soft: #989cad;
  --db-purple: #6c4cf5;
  --db-purple-2: #8068f6;
  --db-purple-soft: #f1edff;
  --db-green: #178b77;
  --db-green-soft: #eaf8f4;
  --db-red: #c95669;
  --db-red-soft: #fff0f3;
  --db-orange: #b97720;
  --db-orange-soft: #fff5e7;
  --db-blue: #5273c7;
  --db-blue-soft: #edf3ff;

  /* Typography */
  --db-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --db-font-xs: 10px;
  --db-font-sm: 11px;
  --db-font-md: 12px;
  --db-font-body: 13px;
  --db-font-lg: 14px;
  --db-font-xl: 16px;
  --db-font-2xl: 18px;
  --db-font-3xl: 20px;
  --db-font-4xl: 24px;
  --db-font-title: 34px;
  --db-font-title-windows: 28px;
  --db-font-title-mobile: 29px;
  --db-font-metric: 18px;
  --db-font-ai-title: 19px;
  --db-font-ai-title-mobile: 22px;

  --db-weight-medium: 500;
  --db-weight-semibold: 600;
  --db-weight-bold: 700;
  --db-weight-extrabold: 800;
  --db-weight-black: 900;

  --db-line-tight: 1;
  --db-line-title: 1.08;
  --db-line-card: 1.25;
  --db-line-body: 1.42;
  --db-line-copy: 1.5;

  --db-track-tight: -.03em;
  --db-track-title: -.02em;
  --db-track-label: .08em;
  --db-track-overline: .12em;
  --db-track-ai: .18em;

  /* Shared component sizing */
  --db-control-h: 34px;
  --db-icon-inline: 14px;
  --db-icon-card: 15px;
  --db-icon-feature: 30px;
  --db-icon-action: 17px;
  --db-icon-box: 34px;
  --db-radius-sm: 9px;
  --db-radius-md: 13px;
  --db-radius-lg: 18px;
  --db-radius-xl: 22px;
  --db-card-pad: 14px;
  --db-card-gap: 14px;
  --db-section-gap: 14px;

  /* MacBook / standard desktop profile */
  --db-page-max-macbook: 1480px;
  --db-page-pad-x-macbook: 22px;
  --db-page-pad-y-macbook: 16px;
  --db-feature-gap-macbook: 12px;
  --db-feature-radius-macbook: 19px;
  --db-feature-pad-macbook: 12px;
  --db-middle-min-h-macbook: 190px;
  --db-lower-min-h-macbook: 238px;
  --db-ai-width-macbook: 100%;

  /* Compact laptop / scaled desktop profile through 1600px */
  --db-page-pad-x-windows: 12px;
  --db-page-pad-y-windows: 8px;
  --db-card-pad-windows: 10px;
  --db-card-gap-windows: 10px;
  --db-section-gap-windows: 10px;
  --db-feature-gap-windows: 8px;
  --db-feature-size-windows: 104px;
  --db-middle-h-windows: 166px;
  --db-lower-h-windows: 188px;
  --db-ai-width-windows: 154px;

  /* Large monitor profile */
  --db-page-max-monitor: 1510px;
  --db-page-pad-x-monitor: 18px;
  --db-page-pad-y-monitor: 10px;

  /* Mobile */
  --db-page-pad-x-mobile: 14px;
  --db-page-pad-y-mobile: 14px;
  --db-card-pad-mobile: 14px;
  --db-card-gap-mobile: 12px;
  --db-section-gap-mobile: 14px;
}

/* 02 — BASE */
.ido-ref-dashboard {
  width: min(100%, var(--db-page-max-macbook));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--db-section-gap);
  padding: var(--db-page-pad-y-macbook) var(--db-page-pad-x-macbook) 20px;
  color: var(--db-text);
  font-family: var(--db-font-family);
  font-size: var(--db-font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.ido-ref-dashboard *,
.ido-ref-dashboard *::before,
.ido-ref-dashboard *::after { box-sizing: border-box; }
.ido-ref-dashboard a { color: inherit; text-decoration: none; }
.ido-ref-dashboard button,
.ido-ref-dashboard input { font: inherit; }
.ido-ref-dashboard svg.lucide,
.ido-ref-dashboard [data-lucide] { stroke-width: 1.8; }
.ido-mobile-label { display: none; }

/* 03 — WELCOME + QUICK NAVIGATION */
.ido-ref-top-grid {
  display: grid;
  grid-template-columns: minmax(390px, 1.35fr) minmax(0, 1.85fr);
  gap: 18px;
  align-items: start;
}
.ido-ref-welcome {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 4px 0 0;
}
.ido-ref-eyebrow {
  margin-bottom: 9px;
  color: #786cb0;
  font-size: var(--db-font-xs);
  line-height: var(--db-line-tight);
  font-weight: var(--db-weight-extrabold);
  letter-spacing: var(--db-track-overline);
  text-transform: uppercase;
}
.ido-ref-welcome h1 {
  max-width: 560px;
  margin: 0;
  color: var(--db-title);
  font-size: var(--db-font-title);
  line-height: 1.01;
  font-weight: var(--db-weight-extrabold);
  letter-spacing: var(--db-track-tight);
}
.ido-ref-welcome p {
  max-width: 590px;
  margin: 12px 0 0;
  color: var(--db-muted);
  font-size: var(--db-font-md);
  line-height: 1.48;
  font-weight: var(--db-weight-medium);
}
.ido-ref-welcome-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 13px;
}
.ido-ref-link {
  height: var(--db-control-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid var(--db-border);
  border-radius: 10px;
  background: var(--db-surface);
  color: #626579;
  font-size: var(--db-font-sm);
  font-weight: var(--db-weight-semibold);
  transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.ido-ref-link:hover { transform: translateY(-1px); border-color: #d9d1ff; color: #5f46da; }
.ido-ref-link.strong { border-color: #e1d9ff; background: var(--db-purple-soft); color: #5f46da; }
.ido-ref-link svg { width: var(--db-icon-inline); height: var(--db-icon-inline); color: #7258e7; }

.ido-ref-feature-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--db-feature-gap-macbook);
  align-items: start;
}
.ido-ref-feature-card {
  min-width: 0;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
  padding: var(--db-feature-pad-macbook);
  border: 1px solid #efecf5;
  border-radius: var(--db-feature-radius-macbook);
  background: var(--db-surface);
  box-shadow: 0 12px 28px rgba(56, 43, 111, .07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ido-ref-feature-card:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(56, 43, 111, .10); }
.ido-ref-feature-art {
  min-height: 72px;
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 9px;
  border-radius: 15px;
  background: linear-gradient(145deg, #f4f0ff, #fff);
}
.ido-ref-feature-art::before,
.ido-ref-feature-art::after { content: ""; position: absolute; border-radius: 50%; }
.ido-ref-feature-art::before { width: 70px; height: 70px; right: -18px; bottom: -28px; background: #e7ddff; }
.ido-ref-feature-art::after { width: 48px; height: 48px; left: -10px; top: -15px; background: #fff4d6; }
.ido-ref-feature-art svg { width: var(--db-icon-feature); height: var(--db-icon-feature); position: relative; z-index: 1; color: #5e49c9; stroke-width: 1.55; }
.ido-ref-feature-art.art-earnings { background: linear-gradient(145deg, #fff9e9, #fff); }
.ido-ref-feature-art.art-earnings svg { color: #c88926; }
.ido-ref-feature-art.art-relations { background: linear-gradient(145deg, #eef9f4, #fff); }
.ido-ref-feature-art.art-relations svg { color: #2f9270; }
.ido-ref-feature-card > strong,
.ido-ref-scope-copy strong {
  color: #25263a;
  font-size: var(--db-font-md);
  line-height: var(--db-line-card);
  font-weight: var(--db-weight-extrabold);
}
.ido-ref-feature-card > span:last-child,
.ido-ref-scope-copy span {
  margin-top: 3px;
  color: #8d8fa0;
  font-size: var(--db-font-xs);
  line-height: 1.35;
  font-weight: var(--db-weight-medium);
}

/* 04 — COMPANY SCOPE PICKER */
.ido-ref-scope-card {
  justify-content: flex-end;
  cursor: pointer;
  border: 1.5px dashed #d9d2e8;
  background: rgba(255, 255, 255, .42);
  box-shadow: none;
}
.ido-ref-scope-card:hover { background: #fff; box-shadow: 0 12px 28px rgba(56, 43, 111, .07); }
.ido-ref-add-btn {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -62%);
  border: 0;
  border-radius: 10px;
  background: #c9ff65;
  color: #3d4a19;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(128, 170, 51, .18);
}
.ido-ref-add-btn svg { width: var(--db-icon-action); height: var(--db-icon-action); }
.ido-ref-scope-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; pointer-events: none; }
.ido-ref-scope-copy small,
.ido-company-menu-label {
  color: #9895aa;
  font-size: var(--db-font-xs);
  line-height: var(--db-line-tight);
  font-weight: var(--db-weight-extrabold);
  letter-spacing: var(--db-track-overline);
  text-transform: uppercase;
}
.ido-ref-scope-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ido-ref-scope-card .ido-company-picker-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}
.ido-ref-scope-card.open .ido-company-picker-input {
  z-index: 20;
  inset: 12px 12px auto;
  width: calc(100% - 24px);
  height: 36px;
  padding: 0 10px;
  border: 1px solid #ded8ed;
  border-radius: 10px;
  outline: 0;
  background: #fff;
  color: #33364b;
  opacity: 1;
  pointer-events: auto;
  font-size: var(--db-font-sm);
  font-weight: var(--db-weight-medium);
}
.ido-ref-scope-card.open .ido-company-picker-input:focus { border-color: #cfc5ff; box-shadow: 0 0 0 3px rgba(108, 76, 245, .07); }
.ido-ref-scope-card.static .ido-ref-feature-art { min-height: 72px; border: 1px dashed #d9d2e8; background: transparent; }
.ido-company-suggestions {
  z-index: 30;
  position: absolute;
  top: 56px;
  left: 12px;
  right: 12px;
  max-height: 300px;
  display: none;
  overflow: auto;
  padding: 8px;
  border: 1px solid #e7e2f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 44px rgba(48, 33, 106, .15);
  scrollbar-width: thin;
  scrollbar-color: rgba(105, 82, 198, .18) transparent;
}
.ido-ref-scope-card.open .ido-company-suggestions { display: block; }
.ido-company-menu-label { padding: 4px 7px 7px; }
.ido-company-option {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 7px 8px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #343749;
  text-align: left;
  cursor: pointer;
}
.ido-company-option:hover,
.ido-company-option.active { background: #f7f4ff; }
.ido-company-option.selected { background: #f2efff; color: #6047d7; }
.ido-company-option-icon,
.ido-company-empty-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f0edff;
  color: #654bd8;
}
.ido-company-option-icon.all { background: #edf7ff; color: #5273c7; }
.ido-company-option-icon svg,
.ido-company-empty-icon svg { width: 14px; height: 14px; }
.ido-company-option-copy { min-width: 0; }
.ido-company-option-copy strong,
.ido-company-empty strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--db-font-sm); font-weight: var(--db-weight-bold); }
.ido-company-option-copy small,
.ido-company-empty small { display: block; margin-top: 2px; color: #9195a7; font-size: var(--db-font-xs); font-weight: var(--db-weight-medium); }
.ido-company-option-check { display: grid; place-items: center; color: #654bd8; opacity: 0; }
.ido-company-option.selected .ido-company-option-check { opacity: 1; }
.ido-company-option-check svg { width: 14px; height: 14px; }
.ido-company-empty { min-height: 58px; display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 9px; padding: 8px; color: #777b8d; }
.ido-company-empty[hidden] { display: none; }

/* 05 — SHARED CARDS */
.ido-ref-middle-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(0, .92fr);
  gap: var(--db-card-gap);
  align-items: stretch;
}
.ido-ref-card,
.ido-ref-meeting-card,
.ido-ref-score-card {
  min-width: 0;
  border: 1px solid #efecf5;
  background: var(--db-surface);
}
.ido-ref-card {
  min-height: var(--db-middle-min-h-macbook);
  padding: var(--db-card-pad);
  border-radius: var(--db-radius-lg);
  box-shadow: 0 5px 16px rgba(39, 33, 78, .03);
}
.ido-ref-card-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}
.ido-ref-card-head h2 {
  min-width: 0;
  margin: 0;
  color: #292c3f;
  font-size: var(--db-font-lg);
  line-height: var(--db-line-title);
  font-weight: var(--db-weight-extrabold);
  letter-spacing: var(--db-track-title);
}
.ido-ref-card-head > span,
.ido-ref-card-head > a {
  flex: 0 0 auto;
  color: #8d91a3;
  font-size: var(--db-font-xs);
  line-height: 1.2;
  font-weight: var(--db-weight-semibold);
}
.ido-ref-card-head > a { display: inline-flex; align-items: center; gap: 5px; color: #7563cf; }
.ido-ref-card-head > a svg { width: 12px; height: 12px; }
.ido-pill {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 7px;
  border-radius: 999px;
  background: #f1f2f6;
  color: #777c8e;
  font-size: var(--db-font-xs);
  font-weight: var(--db-weight-bold);
  white-space: nowrap;
}
.ido-pill.negative { background: var(--db-red-soft); color: var(--db-red); }
.ido-pill.attention { background: var(--db-orange-soft); color: var(--db-orange); }
.ido-pill.positive { background: var(--db-green-soft); color: var(--db-green); }
.ido-pill.neutral { background: var(--db-purple-soft); color: #6d52db; }
.ido-ref-empty {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #9397a8;
  font-size: var(--db-font-sm);
  line-height: var(--db-line-body);
  text-align: center;
}
.ido-ref-empty.small { min-height: 66px; }
.ido-ref-empty svg { width: 16px; height: 16px; color: #8b74ec; }

/* 06 — NOTIFICATIONS */
.ido-ref-notifications { display: flex; flex-direction: column; }
.ido-ref-notice-stack { display: grid; gap: 7px; }
.ido-ref-notice-item {
  min-width: 0;
  display: block;
  padding: 9px 10px;
  border: 1px solid #f0edf5;
  border-radius: 13px;
  background: #fbfafe;
  transition: background .15s ease, border-color .15s ease;
}
.ido-ref-notice-item:hover { border-color: #ddd6ff; background: #f8f5ff; }
.ido-ref-notice-item.primary { background: #fff; }
.ido-ref-notice-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.ido-ref-notice-top strong {
  min-width: 0;
  overflow: hidden;
  color: #343749;
  font-size: var(--db-font-sm);
  line-height: var(--db-line-card);
  font-weight: var(--db-weight-bold);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ido-ref-notice-top svg { width: 12px; height: 12px; flex: 0 0 12px; color: #a2a5b3; }
.ido-ref-notice-item p {
  margin: 4px 0 0;
  color: #808497;
  font-size: var(--db-font-sm);
  line-height: 1.35;
  font-weight: var(--db-weight-medium);
}
.ido-ref-notice-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.ido-ref-notice-meta > span { color: #9296a8; font-size: var(--db-font-xs); font-weight: var(--db-weight-medium); }

/* 07 — COMMUNICATION CENTER */
.ido-ref-communications-card { display: flex; flex-direction: column; }
.ido-ref-comm-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 10px;
}
.ido-ref-comm-metrics > span {
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid #f0edf5;
  border-radius: 12px;
  background: var(--db-surface-soft);
}
.ido-ref-comm-metrics > span.attention { border-color: #f8e0e5; background: #fff5f6; }
.ido-ref-comm-metrics small,
.ido-ref-latest-campaign small,
.ido-ref-intel-row small,
.ido-ref-earnings-summary small,
.ido-ref-earnings-next small,
.ido-ref-score-card small,
.ido-ref-ai-image-kicker {
  display: block;
  color: #9699aa;
  font-size: var(--db-font-xs);
  line-height: var(--db-line-tight);
  font-weight: var(--db-weight-extrabold);
  letter-spacing: var(--db-track-label);
  text-transform: uppercase;
}
.ido-ref-comm-metrics small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ido-ref-comm-metrics strong,
.ido-ref-earnings-summary strong {
  display: block;
  margin-top: 4px;
  color: #27293d;
  font-size: var(--db-font-metric);
  line-height: var(--db-line-tight);
  font-weight: var(--db-weight-bold);
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
.ido-ref-latest-campaign {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid #f0edf5;
  border-radius: 13px;
  background: #fff;
}
.ido-ref-campaign-icon,
.ido-ref-activity-icon,
.ido-ref-intel-icon,
.ido-ref-agenda-mini-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 9px;
  background: #f0edff;
  color: #6e52e6;
}
.ido-ref-campaign-icon svg,
.ido-ref-activity-icon svg,
.ido-ref-intel-icon svg,
.ido-ref-agenda-mini-icon svg { width: 14px; height: 14px; }
.ido-ref-latest-campaign > span:nth-child(2) { min-width: 0; }
.ido-ref-latest-campaign strong,
.ido-ref-activity-copy strong,
.ido-ref-stat-card strong,
.ido-ref-intel-row strong,
.ido-ref-earnings-next strong {
  display: block;
  overflow: hidden;
  color: #292b3e;
  font-size: var(--db-font-sm);
  line-height: var(--db-line-card);
  font-weight: var(--db-weight-bold);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ido-ref-latest-campaign em,
.ido-ref-activity-copy small,
.ido-ref-activity-row time,
.ido-ref-stat-card p,
.ido-ref-intel-row p,
.ido-ref-earnings-next p,
.ido-ref-earnings-empty {
  display: block;
  margin-top: 3px;
  color: #898d9f;
  font-size: var(--db-font-xs);
  line-height: 1.35;
  font-style: normal;
  font-weight: var(--db-weight-medium);
}
.ido-ref-latest-campaign em { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ido-ref-latest-campaign > svg { width: 11px; height: 11px; color: #aaa8b8; }

/* 08 — CALENDAR / AGENDA */
.ido-ref-calendar-card { display: flex; flex-direction: column; }
.ido-ref-week-strip {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  padding: 3px 0 8px;
  border-bottom: 1px solid #f0edf4;
}
.ido-ref-week-strip span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 4px 2px; border-radius: 9px; }
.ido-ref-week-strip small { color: #a0a1b0; font-size: var(--db-font-xs); font-weight: var(--db-weight-medium); }
.ido-ref-week-strip strong { color: #646678; font-size: var(--db-font-sm); font-weight: var(--db-weight-semibold); }
.ido-ref-week-strip span.active { background: #f0ebff; }
.ido-ref-week-strip span.active strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #7455e9; color: #fff; }
.ido-ref-agenda-mini { display: grid; gap: 1px; margin-top: 4px; }
.ido-ref-agenda-mini-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 9px;
  padding: 7px 0;
  border-bottom: 1px solid #f2eff5;
}
.ido-ref-agenda-mini-row:last-child { border-bottom: 0; }
.ido-ref-agenda-mini-row > span:nth-child(2) { min-width: 0; }
.ido-ref-agenda-mini-row strong { display: block; overflow: hidden; color: #292b3e; font-size: var(--db-font-sm); font-weight: var(--db-weight-bold); white-space: nowrap; text-overflow: ellipsis; }
.ido-ref-agenda-mini-row small { display: block; margin-top: 3px; color: #8f91a2; font-size: var(--db-font-xs); font-weight: var(--db-weight-medium); white-space: nowrap; }
.ido-ref-agenda-mini-row > svg { width: 11px; height: 11px; color: #a1a2b1; }

/* 09 — RECENT ACTIVITY */
.ido-ref-bottom-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(165px, .4fr) minmax(0, .82fr);
  gap: var(--db-card-gap);
  align-items: stretch;
}
.ido-ref-tasks-card,
.ido-ref-ai-card,
.ido-ref-right-bottom { min-height: var(--db-lower-min-h-macbook); }
.ido-ref-activity-card { display: flex; flex-direction: column; overflow: hidden; }
.ido-ref-activity-list { flex: 1 1 auto; min-height: 0; display: grid; gap: 1px; }
.ido-ref-activity-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto 11px;
  align-items: center;
  gap: 9px;
  padding: 10px 3px;
  border-bottom: 1px solid #f0edf4;
}
.ido-ref-activity-row:last-child { border-bottom: 0; }
.ido-ref-activity-copy { min-width: 0; }
.ido-ref-activity-copy strong { font-weight: var(--db-weight-semibold); }
.ido-ref-activity-copy small { overflow: hidden; color: var(--db-muted); white-space: nowrap; text-overflow: ellipsis; }
.ido-ref-activity-row time { white-space: nowrap; }
.ido-ref-activity-row > svg { width: 10px; height: 10px; color: #aaa8b7; }

/* 10 — VAL.AI */
.ido-ref-ai-card { position: relative; overflow: hidden; border-radius: var(--db-radius-xl); background: #4b27ca; color: #fff; }
.ido-ref-ai-image-card { min-width: 0; min-height: 0; aspect-ratio: 1102 / 1376; isolation: isolate; }
.ido-ref-ai-image-bg {
  z-index: 0;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.064, 1.038);
  transform-origin: center;
  pointer-events: none;
}
.ido-ref-ai-image-shade {
  z-index: 1;
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,12,74,0) 0%, rgba(20,12,74,0) 36%, rgba(20,12,74,.09) 50%, rgba(20,12,74,.46) 79%, rgba(20,12,74,.68) 100%);
  pointer-events: none;
}
.ido-ref-ai-image-copy {
  z-index: 2;
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 54px;
  color: #fff;
}
.ido-ref-ai-image-kicker { margin-bottom: 6px; color: rgba(255,255,255,.78); letter-spacing: var(--db-track-ai); }
.ido-ref-ai-image-copy h3 { margin: 0; color: #fff; font-size: var(--db-font-ai-title); line-height: 1.05; font-weight: var(--db-weight-semibold); letter-spacing: -.035em; text-shadow: 0 2px 12px rgba(24,13,77,.18); }
.ido-ref-ai-image-copy h3 strong { color: #fff; font-weight: var(--db-weight-extrabold); }
.ido-ref-ai-image-copy p { margin: 7px 0 0; color: rgba(255,255,255,.86); font-size: var(--db-font-sm); line-height: 1.38; font-weight: var(--db-weight-medium); text-shadow: 0 2px 10px rgba(24,13,77,.18); }
.ido-ref-ai-image-copy p strong { color: #fff; font-weight: var(--db-weight-bold); }
.ido-ref-ai-image-cta {
  z-index: 3;
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 9px;
  background: rgba(26,23,51,.94);
  color: #fff;
  font-size: var(--db-font-sm);
  font-weight: var(--db-weight-bold);
  letter-spacing: -.01em;
  box-shadow: 0 10px 24px rgba(20,13,63,.24);
  backdrop-filter: blur(8px);
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.ido-ref-ai-image-cta:hover { transform: translateY(-1px); background: #18162d; box-shadow: 0 13px 28px rgba(20,13,63,.3); }
.ido-ref-ai-image-cta svg { width: 13px; height: 13px; }

/* 11 — MEETING / INTELLIGENCE CARDS */
.ido-ref-right-bottom { min-width: 0; display: grid; grid-template-rows: auto 1fr; gap: 7px; }
.ido-ref-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ido-ref-score-card { min-width: 0; min-height: 60px; display: flex; align-items: center; gap: 9px; padding: 10px 11px; border-radius: 13px; }
.ido-ref-score-card > div:last-child { min-width: 0; }
.ido-ref-stat-icon {
  width: var(--db-icon-box);
  height: var(--db-icon-box);
  display: grid;
  place-items: center;
  flex: 0 0 var(--db-icon-box);
  border-radius: 10px;
  background: var(--db-blue-soft);
  color: #5574df;
}
.ido-ref-stat-icon.purple { background: var(--db-purple-soft); color: #6f53e8; }
.ido-ref-stat-icon svg { width: var(--db-icon-card); height: var(--db-icon-card); }
.ido-ref-score-card small { color: #9a9bab; }
.ido-ref-stat-card strong { margin-top: 2px; }
.ido-ref-stat-card p { margin: 3px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ido-ref-meeting-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 13px;
  border-radius: 15px;
}
.ido-ref-meeting-card .ido-ref-card-head { margin-bottom: 9px; }
.ido-ref-intelligence-card { justify-content: flex-start; }
.ido-ref-intel-list { display: grid; gap: 7px; }
.ido-ref-intel-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px;
  border: 1px solid #f0edf5;
  border-radius: 11px;
  background: var(--db-surface-soft);
}
.ido-ref-intel-row p { margin: 2px 0 0; }
.ido-ref-earnings-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 9px; }
.ido-ref-earnings-summary span { padding: 9px 10px; border: 1px solid #f0edf5; border-radius: 11px; background: var(--db-surface-soft); }
.ido-ref-earnings-next { min-width: 0; display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: start; gap: 8px; }
.ido-ref-meeting-dot { width: 7px; height: 7px; display: block; margin-top: 4px; border-radius: 50%; background: #b5f06d; }
.ido-ref-earnings-empty { margin: 4px 0 0; }

/* 12 — RESPONSIVE PROFILES */
/* Large monitor: same component proportions, centered rather than stretched. */
@media (min-width: 1800px) and (min-height: 820px) {
  .ido-ref-dashboard {
    width: min(100%, var(--db-page-max-monitor));
    padding: var(--db-page-pad-y-monitor) var(--db-page-pad-x-monitor) 18px;
  }
}

/* Compact laptop / Windows profile. Reuses the same components at denser spacing. */
@media (min-width: 981px) and (max-width: 1600px) and (max-height: 900px) {
  .ido-ref-dashboard {
    width: 100%;
    max-width: none;
    gap: var(--db-section-gap-windows);
    padding: var(--db-page-pad-y-windows) var(--db-page-pad-x-windows) 10px;
  }
  .ido-ref-top-grid { grid-template-columns: minmax(330px, 1.25fr) minmax(0, 1.75fr); gap: 12px; }
  .ido-ref-welcome { padding-top: 1px; }
  .ido-ref-eyebrow { margin-bottom: 6px; }
  .ido-ref-welcome h1 { max-width: 480px; font-size: var(--db-font-title-windows); }
  .ido-ref-welcome p { max-width: 520px; margin-top: 8px; font-size: var(--db-font-sm); line-height: 1.38; }
  .ido-ref-welcome-actions { margin-top: 8px; }
  .ido-ref-link { height: 30px; padding-inline: 8px; border-radius: 8px; font-size: var(--db-font-xs); }

  .ido-ref-feature-strip { grid-template-columns: repeat(4, var(--db-feature-size-windows)); justify-content: end; gap: var(--db-feature-gap-windows); }
  .ido-ref-feature-card { width: var(--db-feature-size-windows); height: var(--db-feature-size-windows); aspect-ratio: auto; padding: 8px; border-radius: 14px; }
  .ido-ref-feature-art { min-height: 48px; margin-bottom: 5px; border-radius: 10px; }
  .ido-ref-feature-art svg { width: 23px; height: 23px; }
  .ido-ref-feature-card > strong,
  .ido-ref-scope-copy strong { font-size: var(--db-font-sm); }
  .ido-ref-feature-card > span:last-child,
  .ido-ref-scope-copy span,
  .ido-ref-scope-copy small { font-size: var(--db-font-xs); }
  .ido-ref-add-btn { width: 28px; height: 28px; border-radius: 8px; }

  .ido-ref-middle-grid { height: var(--db-middle-h-windows); min-height: var(--db-middle-h-windows); gap: var(--db-card-gap-windows); }
  .ido-ref-middle-grid > .ido-ref-card { height: var(--db-middle-h-windows); min-height: 0; overflow: hidden; padding: var(--db-card-pad-windows); border-radius: 13px; }
  .ido-ref-card-head { min-height: 17px; margin-bottom: 5px; gap: 6px; }
  .ido-ref-card-head h2 { font-size: var(--db-font-md); }
  .ido-ref-notice-stack { flex: 1 1 auto; min-height: 0; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .ido-ref-notice-item { min-height: 0; overflow: hidden; padding: 6px 8px; border-radius: 9px; }
  .ido-ref-notice-item p { margin-top: 2px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--db-font-xs); }
  .ido-ref-notice-meta { margin-top: 3px; }

  .ido-ref-comm-metrics { gap: 5px; margin-bottom: 5px; }
  .ido-ref-comm-metrics > span { padding: 5px 6px; border-radius: 8px; }
  .ido-ref-comm-metrics strong { font-size: var(--db-font-lg); }
  .ido-ref-latest-campaign { min-height: 42px; grid-template-columns: 24px minmax(0, 1fr) 9px; gap: 6px; padding: 6px; border-radius: 9px; }
  .ido-ref-campaign-icon { width: 24px; height: 24px; border-radius: 7px; }
  .ido-ref-latest-campaign strong { display: -webkit-box; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

  .ido-ref-week-strip { gap: 2px; padding: 0 0 4px; }
  .ido-ref-week-strip span { gap: 1px; padding: 1px; border-radius: 6px; }
  .ido-ref-week-strip span.active strong { width: 19px; height: 19px; }
  .ido-ref-agenda-mini { flex: 1 1 auto; min-height: 0; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 1px; }
  .ido-ref-agenda-mini-row { min-height: 0; overflow: hidden; grid-template-columns: 22px minmax(0, 1fr) 8px; gap: 5px; padding: 2px 0; }
  .ido-ref-agenda-mini-icon { width: 22px; height: 22px; border-radius: 7px; }

  .ido-ref-bottom-grid { height: var(--db-lower-h-windows); min-height: var(--db-lower-h-windows); grid-template-columns: minmax(0, 1.48fr) var(--db-ai-width-windows) minmax(0, .82fr); gap: var(--db-card-gap-windows); }
  .ido-ref-bottom-grid > * { height: var(--db-lower-h-windows); min-height: 0; }
  .ido-ref-activity-card { padding-bottom: 7px; }
  .ido-ref-activity-list { grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 0; }
  .ido-ref-activity-row { min-height: 0; overflow: hidden; grid-template-columns: 22px minmax(0, 1fr) auto 8px; gap: 6px; padding: 3px 1px; }
  .ido-ref-activity-icon { width: 22px; height: 22px; border-radius: 7px; }
  .ido-ref-ai-image-card { width: var(--db-ai-width-windows); height: var(--db-lower-h-windows); aspect-ratio: auto; border-radius: 14px; }
  .ido-ref-ai-image-copy { left: 8px; right: 8px; bottom: 34px; }
  .ido-ref-ai-image-kicker { margin-bottom: 2px; }
  .ido-ref-ai-image-copy h3 { font-size: var(--db-font-body); line-height: 1.02; }
  .ido-ref-ai-image-copy p { margin-top: 3px; font-size: var(--db-font-xs); line-height: 1.18; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .ido-ref-ai-image-cta { left: 6px; right: 6px; bottom: 7px; height: 24px; border-radius: 7px; font-size: var(--db-font-xs); }

  .ido-ref-right-bottom { height: var(--db-lower-h-windows); grid-template-rows: 50px minmax(0, 1fr); gap: 7px; }
  .ido-ref-score-grid { gap: 7px; height: 50px; }
  .ido-ref-score-card { height: 50px; min-height: 0; overflow: hidden; gap: 6px; padding: 7px 8px; border-radius: 10px; }
  .ido-ref-stat-icon { width: 28px; height: 28px; flex-basis: 28px; border-radius: 8px; }
  .ido-ref-meeting-card { min-height: 0; overflow: hidden; padding: 9px; border-radius: 10px; }
  .ido-ref-earnings-summary { gap: 6px; margin-bottom: 6px; }
  .ido-ref-earnings-summary span { padding: 5px 6px; border-radius: 8px; }
}

/* Tablet */
@media (max-width: 820px) {
  .ido-ref-dashboard { width: 100%; max-width: none; padding: var(--db-page-pad-y-mobile) var(--db-page-pad-x-mobile) 24px; gap: var(--db-section-gap-mobile); }
  .ido-ref-top-grid { grid-template-columns: 1fr; gap: 14px; }
  .ido-ref-welcome { padding: 0; }
  .ido-ref-welcome h1 { max-width: 620px; }
  .ido-ref-feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ido-ref-feature-card { aspect-ratio: auto; min-height: 150px; }
  .ido-ref-middle-grid,
  .ido-ref-bottom-grid { grid-template-columns: 1fr; gap: var(--db-card-gap-mobile); }
  .ido-ref-card { min-height: 0; }
  .ido-ref-comm-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ido-ref-activity-row { grid-template-columns: 34px minmax(0, 1fr) 11px; }
  .ido-ref-activity-row time { display: none; }
  .ido-ref-ai-image-card { width: min(100%, 340px); justify-self: center; }
  .ido-ref-ai-image-copy { left: 16px; right: 16px; bottom: 58px; }
  .ido-ref-ai-image-kicker { margin-bottom: 8px; }
  .ido-ref-ai-image-copy h3 { font-size: var(--db-font-ai-title-mobile); line-height: 1.08; }
  .ido-ref-ai-image-copy p { margin-top: 10px; font-size: var(--db-font-body); line-height: 1.5; }
  .ido-ref-ai-image-cta { left: 14px; right: 14px; bottom: 14px; height: 38px; font-size: var(--db-font-body); }
  .ido-ref-right-bottom { min-height: 0; grid-template-rows: auto auto; }
}

/* Phone */
@media (max-width: 600px) {
  .ido-desktop-label { display: none; }
  .ido-mobile-label { display: inline; }
  .ido-ref-dashboard { padding-inline: 12px; }
  .ido-ref-eyebrow { margin-bottom: 7px; }
  .ido-ref-welcome h1 { font-size: var(--db-font-title-mobile); line-height: 1.05; }
  .ido-ref-welcome p { margin-top: 9px; font-size: var(--db-font-md); }
  .ido-ref-welcome-actions { width: 100%; }
  .ido-ref-link { flex: 1 1 0; min-width: 0; }
  .ido-ref-feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ido-ref-feature-card { min-height: 138px; padding: 10px; border-radius: 16px; }
  .ido-ref-feature-art { min-height: 66px; }
  .ido-ref-scope-card.open .ido-company-picker-input { inset: 9px 9px auto; width: calc(100% - 18px); }
  .ido-company-suggestions { top: 50px; left: 8px; right: 8px; }
  .ido-ref-card { padding: var(--db-card-pad-mobile); border-radius: 16px; }
  .ido-ref-card-head h2 { font-size: var(--db-font-body); }
  .ido-ref-notice-item p { font-size: var(--db-font-sm); }
  .ido-ref-score-grid { grid-template-columns: 1fr 1fr; }
  .ido-ref-score-card { padding: 9px; }
  .ido-ref-stat-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .ido-ref-ai-image-card { width: 100%; max-width: 340px; }
}

/* 13 — ACCESSIBILITY */
.ido-ref-dashboard :is(a, button, input):focus-visible {
  outline: 2px solid rgba(108, 76, 245, .55);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .ido-ref-dashboard *,
  .ido-ref-dashboard *::before,
  .ido-ref-dashboard *::after {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}
