:root {
  --navy-950: #071b2e;
  --navy-900: #0b2742;
  --navy-800: #113856;
  --blue: #3159d8;
  --blue-soft: #edf1ff;
  --gold: #b98a45;
  --gold-soft: #fbf4e9;
  --green: #168264;
  --green-soft: #e9f6f1;
  --red: #c9464c;
  --red-soft: #fff0f1;
  --amber: #a96819;
  --amber-soft: #fff5e7;
  --ink: #17212b;
  --muted: #697582;
  --soft: #f4f6f8;
  --line: #e3e7eb;
  --white: #fff;
  --shadow: 0 12px 35px rgba(14, 37, 58, .07);
  --radius: 18px;
}

.pulse-dashboard {
  --clean-bg: #f4f4f1;
  --clean-card: #ffffff;
  --clean-ink: #171a1f;
  --clean-muted: #747981;
  --clean-line: #e7e6e1;
  --clean-dark: #17191e;
  --clean-coral: #f2664f;
  --clean-blue: #526ad9;
}

/* Clean two-source workspace */
.clean-dashboard {
  --clean-bg: #f4f4f1;
  --clean-card: #ffffff;
  --clean-ink: #171a1f;
  --clean-muted: #747981;
  --clean-line: #e7e6e1;
  --clean-dark: #17191e;
  --clean-coral: #f2664f;
  --clean-blue: #526ad9;
  min-height: 100vh;
  color: var(--clean-ink);
  background: var(--clean-bg);
}

.clean-dashboard .app-shell { min-height: 100vh; }
.clean-dashboard .sidebar {
  display: flex;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: 244px;
  padding: 26px 18px 20px;
  flex-direction: column;
  color: #fff;
  background: var(--clean-dark);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow-y: auto;
}
.clean-dashboard .brand-block { padding: 0 8px 28px; border-bottom: 1px solid rgba(255,255,255,.09); }
.clean-dashboard .brand-mark { width: 40px; height: 40px; border-radius: 10px; color: #1a1b1f; background: #d7ad6a; box-shadow: none; }
.clean-dashboard .brand-block strong { color: #fff; font-size: 14px; letter-spacing: .13em; }
.clean-dashboard .brand-block span { color: #858b94; font-size: 11px; }
.clean-dashboard .nav-label { margin: 29px 10px 10px; color: #656b74; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.clean-dashboard .primary-nav { display: grid; gap: 7px; }
.clean-dashboard .nav-item {
  min-height: 68px;
  display: grid;
  grid-template-columns: 38px 1fr 8px;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #a3a8b0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.clean-dashboard .nav-item:hover { color: #fff; background: #22252b; border-color: #2d3037; transform: none; }
.clean-dashboard .nav-item.active { color: #fff; background: #272a31; border-color: #343840; box-shadow: inset 3px 0 0 var(--clean-coral); }
.clean-dashboard .nav-item > span:nth-child(2) { min-width: 0; }
.clean-dashboard .nav-item b, .clean-dashboard .nav-item small { display: block; }
.clean-dashboard .nav-item b { font-size: 13px; font-weight: 720; }
.clean-dashboard .nav-item small { margin-top: 3px; color: #737983; font-size: 10px; font-weight: 550; }
.clean-dashboard .source-nav-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; font-size: 14px; font-weight: 850; }
.clean-dashboard .ga4-icon { color: #f2b563; background: rgba(242,181,99,.13); }
.clean-dashboard .meta-icon { color: #8091f1; background: rgba(99,119,232,.15); }
.clean-dashboard .source-live { width: 7px; height: 7px; border-radius: 50%; background: #55ba8c; box-shadow: 0 0 0 3px rgba(85,186,140,.12); }
.clean-dashboard .sidebar-foot { margin-top: auto; padding: 18px 9px 4px; border-top: 1px solid rgba(255,255,255,.09); }
.clean-dashboard .connection-summary span, .clean-dashboard .connection-summary small { display: block; }
.clean-dashboard .connection-summary span { color: #d8dbe0; font-size: 11px; font-weight: 700; }
.clean-dashboard .connection-summary span i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #55ba8c; }
.clean-dashboard .connection-summary small { margin: 5px 0 0 15px; color: #6f757e; font-size: 9px; }

.clean-dashboard .app-main { min-width: 0; margin-left: 244px; }
.clean-dashboard .topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 78px;
  margin: 0;
  padding: 0 34px;
  border: 0;
  border-bottom: 1px solid var(--clean-line);
  border-radius: 0;
  background: rgba(250,250,248,.94);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.clean-dashboard .menu-button { display: none; }
.clean-dashboard .page-identity .eyebrow { color: #96999f; font-size: 9px; letter-spacing: .17em; }
.clean-dashboard .page-identity h1 { margin-top: 4px; color: var(--clean-ink); font-size: 21px; font-weight: 760; letter-spacing: -.025em; }
.clean-dashboard .topbar-actions { margin-left: auto; }
.clean-dashboard .sync-status { color: var(--clean-ink); background: transparent; border: 0; box-shadow: none; }
.clean-dashboard .sync-status > i { background: #42aa7c; }
.clean-dashboard .sync-status small { color: #8b8f96; }
.clean-dashboard .icon-button { width: 38px; height: 38px; border: 1px solid var(--clean-line); border-radius: 11px; color: #565b63; background: #fff; box-shadow: none; }
.clean-dashboard .icon-button:hover { color: #111318; border-color: #cfcfc9; background: #fff; }

.clean-dashboard .filterbar {
  position: sticky;
  top: 78px;
  z-index: 25;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 34px;
  border: 0;
  border-bottom: 1px solid var(--clean-line);
  background: rgba(250,250,248,.94);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.clean-dashboard .period-filter { display: flex; align-items: center; gap: 18px; }
.clean-dashboard .period-filter-head { min-width: 154px; display: grid; gap: 7px; }
.clean-dashboard .period-filter-head > span { color: #858990; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.clean-dashboard .period-presets { display: flex; gap: 4px; }
.clean-dashboard .period-presets button { padding: 4px 7px; border: 0; border-radius: 6px; color: #8a8e94; background: transparent; font-size: 9px; font-weight: 800; cursor: pointer; }
.clean-dashboard .period-presets button:hover, .clean-dashboard .period-presets button.active { color: #fff; background: #282b31; }
.clean-dashboard .date-range-control { min-height: 45px; display: flex; align-items: center; gap: 10px; padding: 5px 6px 5px 12px; border: 1px solid var(--clean-line); border-radius: 11px; background: #fff; box-shadow: none; }
.clean-dashboard .calendar-mark { color: #8b8f96; }
.clean-dashboard .date-field { display: grid; gap: 1px; }
.clean-dashboard .date-field span { color: #a1a4a9; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.clean-dashboard .date-field input { width: 112px; padding: 0; border: 0; color: #32363c; background: transparent; font-size: 11px; font-weight: 680; }
.clean-dashboard .date-separator { color: #b6b8bc; }
.clean-dashboard #applyDateFilter { height: 33px; padding: 0 12px; border: 0; border-radius: 8px; color: #fff; background: var(--clean-dark); font-size: 10px; font-weight: 750; cursor: pointer; }
.clean-dashboard #applyDateFilter svg { width: 12px; }
.clean-dashboard .filter-source-pill { margin-left: auto; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #dce8e2; border-radius: 999px; color: #3d765e; background: #f3faf6; font-size: 9px; font-weight: 750; }
.clean-dashboard .filter-source-pill i { width: 6px; height: 6px; border-radius: 50%; background: #45aa7c; }

.clean-dashboard .content { width: 100%; max-width: 1540px; margin: 0 auto; padding: 30px 34px 54px; }
.clean-dashboard .view { display: none; }
.clean-dashboard .view.active { display: block; }
.clean-page { display: grid; gap: 22px; }
.clean-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 2px 2px 5px; }
.clean-page-head h2 { margin: 6px 0 6px; color: #171a1f; font-size: clamp(25px, 2.3vw, 35px); line-height: 1.08; letter-spacing: -.045em; }
.clean-page-head p { max-width: 670px; margin: 0; color: var(--clean-muted); font-size: 12px; line-height: 1.55; }
.clean-kicker { color: var(--clean-coral); font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.clean-connection { min-width: 174px; display: flex; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid #dde9e3; border-radius: 12px; background: #f6fbf8; }
.clean-connection > i { width: 10px; height: 10px; border-radius: 50%; background: #42aa7c; box-shadow: 0 0 0 4px rgba(66,170,124,.11); }
.clean-connection span, .clean-connection b, .clean-connection small { display: block; }
.clean-connection b { color: #2e6f54; font-size: 11px; }
.clean-connection small { margin-top: 2px; color: #7b8a82; font-size: 8px; }
.clean-connection.meta { border-color: #e1e4f4; background: #f7f8fd; }
.clean-connection.meta > i { background: var(--clean-blue); box-shadow: 0 0 0 4px rgba(82,106,217,.10); }
.clean-connection.meta b { color: #4558af; }

.clean-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.clean-kpi-grid > article { min-width: 0; padding: 17px 18px 16px; border: 1px solid var(--clean-line); border-radius: 14px; background: var(--clean-card); box-shadow: 0 4px 14px rgba(24,27,32,.025); }
.clean-kpi-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.clean-kpi-grid span { color: #656a72; font-size: 10px; font-weight: 700; }
.clean-kpi-grid em { color: #a0a3a8; font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .10em; }
.clean-kpi-grid strong { display: block; margin: 13px 0 5px; color: #171a1f; font-size: clamp(24px, 2.1vw, 34px); line-height: 1; letter-spacing: -.045em; }
.clean-kpi-grid small { color: #92959a; font-size: 9px; }
.clean-kpi-grid small.positive { color: #2d9468; }
.clean-kpi-grid small.negative { color: #c65e4a; }

.clean-grid { display: grid; gap: 14px; }
.clean-grid-main { grid-template-columns: minmax(0, 1.65fr) minmax(330px, .85fr); }
.clean-grid-detail { grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr); }
.clean-grid-meta { grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); }
.clean-card { min-width: 0; padding: 20px; border: 1px solid var(--clean-line); border-radius: 15px; background: var(--clean-card); box-shadow: 0 4px 18px rgba(24,27,32,.025); }
.clean-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.clean-card-head h3 { margin: 0; color: #25282e; font-size: 13px; letter-spacing: -.01em; }
.clean-card-head p { margin: 4px 0 0; color: #96999e; font-size: 9px; }
.clean-card-head > span { padding: 5px 8px; border: 1px solid #ecebe7; border-radius: 7px; color: #898d93; background: #fafaf8; font-size: 8px; font-weight: 750; white-space: nowrap; }

.clean-trend-card { min-height: 282px; }
.clean-trend-bars { height: 205px; display: flex; align-items: flex-end; gap: clamp(3px, .45vw, 7px); padding: 8px 2px 22px; border-bottom: 1px solid #ebeae6; background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(25% - 1px), #efeee9 25%); }
.clean-trend-bars > i { position: relative; min-width: 3px; flex: 1; border-radius: 4px 4px 1px 1px; background: linear-gradient(180deg, #6478df, #aeb7ec); transition: opacity .15s ease, transform .15s ease; }
.clean-trend-bars > i:hover { opacity: .75; transform: scaleY(1.015); transform-origin: bottom; }
.clean-trend-bars > i span { position: absolute; top: calc(100% + 7px); left: 50%; color: #a0a3a8; font-size: 7px; font-style: normal; transform: translateX(-50%); white-space: nowrap; }

.clean-funnel-list { display: grid; gap: 14px; }
.clean-funnel-list > div { display: grid; grid-template-columns: 88px 1fr 52px; gap: 10px; align-items: center; }
.clean-funnel-list section b, .clean-funnel-list section small { display: block; }
.clean-funnel-list section b { color: #3a3e44; font-size: 9px; }
.clean-funnel-list section small { margin-top: 2px; color: #a0a3a8; font-size: 7px; }
.clean-funnel-list > div > i { height: 7px; overflow: hidden; border-radius: 999px; background: #f0efeb; }
.clean-funnel-list > div > i em { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: var(--clean-coral); }
.clean-funnel-list > div > strong { text-align: right; color: #30343a; font-size: 10px; }

.clean-channel-list { display: grid; }
.clean-channel-list > div { display: grid; grid-template-columns: 25px minmax(120px, 1fr) 70px 72px; gap: 10px; align-items: center; min-height: 42px; border-top: 1px solid #efeee9; }
.clean-channel-list > div:first-child { border-top: 0; }
.clean-channel-list > div > span { color: #b2b4b8; font-size: 8px; font-weight: 750; }
.clean-channel-list section b { display: block; margin-bottom: 5px; color: #383c42; font-size: 9px; }
.clean-channel-list section i { height: 3px; display: block; overflow: hidden; border-radius: 999px; background: #f0efeb; }
.clean-channel-list section i em { height: 100%; display: block; border-radius: inherit; background: #697add; }
.clean-channel-list strong { text-align: right; font-size: 9px; }
.clean-channel-list small { color: #92959a; font-size: 8px; text-align: right; }

.clean-property-list { display: grid; }
.clean-property-list > div { display: grid; grid-template-columns: 34px minmax(120px, 1fr) 88px 78px; gap: 10px; align-items: center; min-height: 59px; border-top: 1px solid #efeee9; }
.clean-property-list > div:first-child { border-top: 0; }
.clean-property-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #5268cf; background: #f0f2fc; font-size: 9px; font-weight: 850; }
.clean-property-list section b, .clean-property-list section small { display: block; }
.clean-property-list section b { color: #373b41; font-size: 9px; }
.clean-property-list section small { margin-top: 3px; color: #a0a3a8; font-size: 7px; }
.clean-property-list > div > strong { text-align: right; font-size: 10px; }
.clean-property-list > div > strong small { color: #a0a3a8; font-size: 7px; font-weight: 550; }
.clean-property-list > div > em { padding: 5px 6px; border-radius: 6px; font-size: 7px; font-style: normal; font-weight: 780; text-align: center; }
.clean-property-list > div > em.ok { color: #2d855f; background: #eef8f3; }
.clean-property-list > div > em.warn { color: #a46525; background: #fff7ec; }
.clean-note { margin-top: 15px; display: grid; gap: 4px; padding: 11px 12px; border-left: 3px solid #e0ad60; color: #777b81; background: #fbf8f1; font-size: 8px; line-height: 1.5; }
.clean-note b { color: #5e503c; font-size: 8px; }

.clean-spend-list { display: grid; }
.clean-spend-list > div { display: grid; grid-template-columns: 25px minmax(160px, 1fr) 90px; gap: 11px; align-items: center; min-height: 55px; border-top: 1px solid #efeee9; }
.clean-spend-list > div:first-child { border-top: 0; }
.clean-spend-list > div > span { color: #b1b3b7; font-size: 8px; font-weight: 750; }
.clean-spend-list section b, .clean-spend-list section small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clean-spend-list section b { color: #353940; font-size: 9px; }
.clean-spend-list section small { margin-top: 2px; color: #9a9da2; font-size: 7px; }
.clean-spend-list section i { height: 4px; display: block; margin-top: 7px; overflow: hidden; border-radius: 999px; background: #f1efec; }
.clean-spend-list section i em { height: 100%; display: block; border-radius: inherit; background: var(--clean-coral); }
.clean-spend-list > div > strong { text-align: right; font-size: 9px; }
.clean-outcome-card { display: flex; flex-direction: column; }
.clean-card-head .directional { color: #a5692b; border-color: #f0e2cb; background: #fff9ef; }
.clean-outcome-value { padding: 5px 0 17px; border-bottom: 1px solid #efeee9; }
.clean-outcome-value span, .clean-outcome-value small { display: block; }
.clean-outcome-value span { color: #777b82; font-size: 9px; }
.clean-outcome-value strong { display: block; margin: 7px 0 4px; font-size: 36px; letter-spacing: -.05em; }
.clean-outcome-value small { color: #96999e; font-size: 8px; }
.clean-efficiency-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 15px; overflow: hidden; border: 1px solid #ecebe7; border-radius: 10px; background: #ecebe7; }
.clean-efficiency-grid > div { padding: 11px; background: #fafaf8; }
.clean-efficiency-grid span, .clean-efficiency-grid strong { display: block; }
.clean-efficiency-grid span { color: #93969b; font-size: 7px; }
.clean-efficiency-grid strong { margin-top: 5px; font-size: 13px; }
.clean-note.meta-note { margin-top: auto; border-left-color: var(--clean-coral); color: #846f69; background: #fff6f3; }
.clean-note.meta-note b { color: #a14f3f; }

.clean-campaign-table-card { padding-bottom: 12px; }
.clean-table-wrap { width: 100%; overflow: auto; }
.clean-table-wrap table { width: 100%; min-width: 930px; border-collapse: collapse; }
.clean-table-wrap th { padding: 9px 10px; border-bottom: 1px solid #deddd8; color: #989ba0; font-size: 7px; font-weight: 850; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.clean-table-wrap th:first-child { text-align: left; }
.clean-table-wrap td { padding: 12px 10px; border-bottom: 1px solid #efeee9; color: #4a4e54; font-size: 9px; text-align: right; white-space: nowrap; }
.clean-table-wrap td:first-child { max-width: 270px; text-align: left; white-space: normal; }
.clean-table-wrap td b, .clean-table-wrap td small { display: block; }
.clean-table-wrap td b { color: #282c32; font-size: 9px; }
.clean-table-wrap td small { margin-top: 3px; color: #9b9ea3; font-size: 7px; }
.clean-roas { padding: 4px 6px; border-radius: 6px; color: #8b8e93; background: #f4f3f0; font-weight: 750; }
.clean-roas.good { color: #287b58; background: #eef8f3; }
.clean-no-data { color: #95989d; font-size: 10px; }

.kpi-dashboard-page { gap: 26px; }
.clean-section { display: grid; gap: 12px; }
.clean-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 0 2px; }
.clean-section-heading > div > span { color: var(--clean-coral); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.clean-section-heading h3 { margin: 4px 0 0; color: #24272c; font-size: 15px; letter-spacing: -.015em; }
.clean-section-heading p { margin: 0; color: #92969c; font-size: 10px; text-align: right; }
.clean-kpi-grid.wide { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.clean-kpi-grid.compact { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.clean-kpi-grid.compact > article { min-height: 118px; }
.clean-kpi-grid.compact strong { font-size: clamp(22px, 1.8vw, 29px); }
.compact-table { min-width: 680px !important; }
.campaign-wide { min-width: 1260px !important; }

.clean-device-list { display: grid; gap: 4px; }
.clean-device-list > div { display: grid; grid-template-columns: 135px 1fr 82px; gap: 12px; align-items: center; min-height: 58px; border-top: 1px solid #efeee9; }
.clean-device-list > div:first-child { border-top: 0; }
.clean-device-list section b, .clean-device-list section small { display: block; }
.clean-device-list section b { color: #353940; font-size: 10px; text-transform: capitalize; }
.clean-device-list section small { margin-top: 4px; color: #96999e; font-size: 8px; }
.clean-device-list > div > i { height: 6px; overflow: hidden; border-radius: 99px; background: #f0efeb; }
.clean-device-list > div > i em { display: block; height: 100%; border-radius: inherit; background: var(--clean-blue); }
.clean-device-list > div > strong { color: #373b42; font-size: 11px; text-align: right; }
.clean-device-list > div > strong small { color: #999ca1; font-size: 7px; }

.clean-data-alert { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid #f1d8d1; border-radius: 12px; background: #fff6f3; }
.clean-data-alert b, .clean-data-alert span { display: block; }
.clean-data-alert b { color: #9d493a; font-size: 11px; }
.clean-data-alert span { margin-top: 4px; color: #97766f; font-size: 9px; }
.clean-data-alert button { padding: 8px 12px; border: 0; border-radius: 8px; color: #fff; background: #b95643; font-size: 9px; font-weight: 750; cursor: pointer; }
.clean-connection.offline { border-color: #f0ddd8; background: #fff8f6; }
.clean-connection.offline > i { background: #cf6c58; box-shadow: 0 0 0 4px rgba(207,108,88,.10); }
.clean-connection.offline b { color: #9d493a; }
.meta-funnel .clean-funnel-list > div > i em, .meta-funnel > div > i em { background: var(--clean-blue); }

.video-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid #ecebe7; border-radius: 11px; background: #ecebe7; }
.video-metric-grid > div { min-height: 76px; display: grid; align-content: center; gap: 7px; padding: 12px; background: #fafaf8; }
.video-metric-grid span { color: #92969c; font-size: 8px; }
.video-metric-grid strong { color: #292d33; font-size: 17px; }
.organic-kpi-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid #ecebe7; border-radius: 10px; background: #ecebe7; }
.organic-kpi-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; padding: 8px 10px; background: #fafaf8; }
.organic-kpi-list span { color: #767b82; font-size: 8px; }
.organic-kpi-list strong { color: #b0b2b6; font-size: 13px; }
.clean-card-head .pending-source { color: #a46525; border-color: #f0e2cb; background: #fff8ed; }

.clean-empty-state { min-height: 430px; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; }
.clean-source-logo { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: #24272d; font-size: 18px; font-weight: 850; }
.clean-empty-state h2 { margin: 7px 0 0; font-size: 20px; }
.clean-empty-state p { max-width: 520px; margin: 0; color: #878b92; font-size: 11px; }
.clean-empty-state button { margin-top: 5px; padding: 8px 12px; border: 0; border-radius: 8px; color: #fff; background: #24272d; font-size: 10px; cursor: pointer; }

@media (max-width: 1050px) {
  .clean-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clean-kpi-grid.wide, .clean-kpi-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clean-grid-main, .clean-grid-detail, .clean-grid-meta { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .clean-dashboard .sidebar { width: 244px; transform: translateX(-100%); transition: transform .2s ease; }
  .clean-dashboard .sidebar.open { transform: none; }
  .clean-dashboard .app-main { margin-left: 0; }
  .clean-dashboard .menu-button { display: grid; }
  .clean-dashboard .topbar { height: 66px; padding: 0 14px; }
  .clean-dashboard .filterbar { top: 66px; padding: 9px 14px; flex-wrap: wrap; }
  .clean-dashboard .period-filter { width: 100%; display: grid; gap: 8px; }
  .clean-dashboard .period-filter-head { display: flex; align-items: center; justify-content: space-between; }
  .clean-dashboard .date-range-control { width: 100%; }
  .clean-dashboard .date-field { flex: 1; }
  .clean-dashboard .date-field input { width: 100%; }
  .clean-dashboard .filter-source-pill { display: none; }
  .clean-dashboard .sync-status { display: none; }
  .clean-dashboard .content { padding: 22px 14px 40px; }
  .clean-page-head { align-items: flex-start; }
  .clean-page-head .clean-connection { display: none; }
  .clean-kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .clean-kpi-grid.wide, .clean-kpi-grid.compact { grid-template-columns: 1fr 1fr; }
  .clean-kpi-grid > article { padding: 14px; }
  .clean-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .clean-section-heading p { text-align: left; }
  .clean-data-alert { align-items: flex-start; flex-direction: column; }
  .video-metric-grid { grid-template-columns: repeat(2, 1fr); }
  .clean-channel-list > div { grid-template-columns: 22px minmax(100px, 1fr) 58px; }
  .clean-channel-list small { display: none; }
}

/* Readability pass — 10px minimum for supporting copy, with hierarchy scaled up */
.pulse-dashboard small { font-size: 10px; line-height: 1.4; }
.pulse-dashboard .pulse-brand small,
.pulse-dashboard .nav-item small,
.pulse-sidebar-foot small,
.pulse-sidebar-foot p { font-size: 10px; }
.pulse-nav-label,
.pulse-title span,
.pulse-dashboard .sync-status small,
.period-trigger small,
.period-popover-head span,
.period-popover .date-field span,
.pulse-page-intro > div:first-child > span,
.pulse-card-head > div > span,
.pulse-card-head time,
.pulse-card-head > em,
.pulse-funnel-groups span,
.pulse-stage header span,
.pulse-funnel-arrow span,
.pulse-funnel-foot p,
.pulse-funnel-foot span,
.pulse-source-badge,
.pulse-systems > div > span,
.pulse-identity-line b,
.pulse-actions p { font-size: 10px; }
.pulse-dashboard .sync-status span,
.period-trigger b,
.period-popover .period-presets button,
.period-popover .date-field input,
.period-apply,
.pulse-intro-status b,
.pulse-summary-grid span,
.pulse-summary-grid small,
.pulse-card-head p,
.pulse-stage > b,
.pulse-stage > small,
.pulse-systems section small,
.pulse-actions b { font-size: 11px; }
.pulse-dashboard .nav-item b,
.pulse-systems section b { font-size: 12px; }
.pulse-dashboard .nav-item { min-height: 72px; }
.pulse-topbar { min-height: 90px; }
.period-trigger { height: 56px; }
.pulse-summary-grid > article { min-height: 145px; padding: 22px; }
.pulse-summary-grid strong { font-size: clamp(29px, 2.3vw, 38px); }
.pulse-stage { min-height: 174px; padding: 17px 14px; }
.pulse-stage > strong { font-size: clamp(22px, 1.8vw, 29px); }
.pulse-panel { padding: 25px; }
.pulse-systems > div { min-height: 66px; }

/* GA4 and Meta supporting typography */
.pulse-dashboard .clean-kicker,
.pulse-dashboard .clean-connection small,
.pulse-dashboard .clean-kpi-grid em,
.pulse-dashboard .clean-card-head > span,
.pulse-dashboard .clean-trend-bars > i span,
.pulse-dashboard .clean-funnel-list section small,
.pulse-dashboard .clean-channel-list > div > span,
.pulse-dashboard .clean-channel-list small,
.pulse-dashboard .clean-property-list section small,
.pulse-dashboard .clean-property-list > div > strong small,
.pulse-dashboard .clean-property-list > div > em,
.pulse-dashboard .clean-note,
.pulse-dashboard .clean-note b,
.pulse-dashboard .clean-spend-list > div > span,
.pulse-dashboard .clean-spend-list section small,
.pulse-dashboard .clean-outcome-value small,
.pulse-dashboard .clean-efficiency-grid span,
.pulse-dashboard .clean-table-wrap th,
.pulse-dashboard .clean-table-wrap td small { font-size: 10px; }
.pulse-dashboard .clean-connection b,
.pulse-dashboard .clean-kpi-grid span,
.pulse-dashboard .clean-kpi-grid small,
.pulse-dashboard .clean-card-head p,
.pulse-dashboard .clean-funnel-list section b,
.pulse-dashboard .clean-funnel-list > div > strong,
.pulse-dashboard .clean-channel-list section b,
.pulse-dashboard .clean-channel-list strong,
.pulse-dashboard .clean-property-list section b,
.pulse-dashboard .clean-property-list > div > strong,
.pulse-dashboard .clean-spend-list section b,
.pulse-dashboard .clean-spend-list > div > strong,
.pulse-dashboard .clean-outcome-value span,
.pulse-dashboard .clean-table-wrap td,
.pulse-dashboard .clean-table-wrap td b { font-size: 11px; }
.pulse-dashboard .clean-page-head p { font-size: 14px; }
.pulse-dashboard .clean-card-head h3 { font-size: 18px; }
.pulse-dashboard .clean-card-head p { line-height: 1.5; }
.pulse-dashboard .clean-card { padding: 25px; }
.pulse-dashboard .clean-funnel-list > div { grid-template-columns: 105px 1fr 66px; min-height: 45px; }
.pulse-dashboard .clean-channel-list > div { min-height: 49px; }
.pulse-dashboard .clean-property-list > div { min-height: 66px; }
.pulse-dashboard .clean-spend-list > div { min-height: 64px; }
.pulse-dashboard .clean-table-wrap table { min-width: 1080px; }
.pulse-dashboard .clean-table-wrap th { padding-block: 11px; }
.pulse-dashboard .clean-table-wrap td { padding-block: 14px; }

@media (max-width: 760px) {
  .pulse-dashboard .pulse-topbar { min-height: 82px; }
  .pulse-summary-grid > article { min-height: 132px; }
}

@media (max-width: 480px) {
  .clean-kpi-grid { grid-template-columns: 1fr; }
  .clean-dashboard .period-presets button { padding-inline: 5px; }
  .clean-dashboard .calendar-mark, .clean-dashboard .date-separator { display: none; }
  .clean-property-list > div { grid-template-columns: 31px minmax(100px, 1fr) 78px; }
  .clean-property-list > div > em { display: none; }
}

* { box-sizing: border-box; }
html { max-width: 100%; background: var(--soft); scroll-behavior: smooth; overflow-x: hidden; }
body {
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  color: var(--ink);
  background: var(--soft);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button, select { font: inherit; }
button, select { outline-offset: 3px; }
button { color: inherit; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  z-index: 40;
  inset: 0 auto 0 0;
  width: 238px;
  padding: 25px 18px;
  color: #d7e0e7;
  background:
    radial-gradient(circle at 0 100%, rgba(49, 89, 216, .20), transparent 34%),
    var(--navy-950);
  display: flex;
  flex-direction: column;
}
.brand-block { display: flex; align-items: center; gap: 12px; padding: 2px 7px 26px; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--navy-950); background: #d1aa67; font-family: Georgia, serif; font-size: 23px; font-weight: 900; }
.brand-block strong { display: block; color: #fff; font-size: 15px; letter-spacing: .13em; }
.brand-block span { display: block; margin-top: 4px; color: #8999a7; font-size: 11px; }
.primary-nav { display: grid; gap: 6px; margin-top: 25px; }
.nav-item { width: 100%; border: 0; border-radius: 12px; padding: 12px 13px; background: transparent; color: #9cacb9; display: flex; gap: 13px; align-items: center; cursor: pointer; font-weight: 680; text-align: left; transition: .18s ease; }
.nav-item:hover { color: white; background: rgba(255,255,255,.06); transform: translateX(2px); }
.nav-item.active { color: white; background: rgba(255,255,255,.11); box-shadow: inset 3px 0 0 #d1aa67; }
.nav-icon { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.06); font-size: 15px; }
.sidebar-foot { margin-top: auto; padding: 16px 10px 4px; display: flex; gap: 11px; align-items: center; border-top: 1px solid rgba(255,255,255,.09); }
.source-stack { display: flex; }
.source-stack span { width: 25px; height: 25px; display: grid; place-items: center; margin-left: -6px; border: 2px solid var(--navy-950); border-radius: 50%; background: #e5e9ed; color: var(--navy-950); font-size: 9px; font-weight: 850; }
.source-stack span:first-child { margin-left: 0; background: #dbe4ff; }
.source-stack span:nth-child(2) { background: #fbe0e7; }
.source-stack span:nth-child(3) { background: #dcf2ea; }
.sidebar-foot strong, .sidebar-foot > div:last-child span { display: block; }
.sidebar-foot strong { color: #e5ecf1; font-size: 10px; }
.sidebar-foot > div:last-child span { margin-top: 3px; color: #758794; font-size: 9px; }

.app-main { min-width: 0; margin-left: 238px; min-height: 100vh; }
.topbar { height: 84px; padding: 0 34px; display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.95); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; backdrop-filter: blur(12px); }
.menu-button { display: none; width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.page-identity { min-width: 0; }
.eyebrow { display: block; margin-bottom: 3px; color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.page-identity h1 { margin: 0; color: var(--navy-950); font-size: 19px; letter-spacing: -.02em; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.sync-status { margin-right: 8px; display: flex; align-items: center; gap: 9px; }
.sync-status i { width: 8px; height: 8px; border-radius: 50%; background: #27a27e; box-shadow: 0 0 0 5px var(--green-soft); }
.sync-status span, .sync-status small { display: block; }
.sync-status span { font-size: 10px; font-weight: 800; }
.sync-status small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.icon-button, .avatar-button { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; cursor: pointer; }
.icon-button { border: 1px solid var(--line); background: #fff; font-size: 18px; }
.avatar-button { border: 0; color: white; background: var(--navy-900); font-size: 10px; font-weight: 850; }
.icon-button.refreshing { animation: rotate .8s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }

.filterbar { min-height: 78px; padding: 14px 34px; display: flex; align-items: flex-end; gap: 9px; background: white; border-bottom: 1px solid var(--line); }
.filterbar label { min-width: 148px; }
.filterbar label > span { display: block; margin: 0 0 6px 2px; color: #87919b; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.filterbar select { width: 100%; height: 37px; padding: 0 31px 0 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--navy-950); background: #fff; font-size: 11px; font-weight: 680; cursor: pointer; }
.date-range-filter { min-width: 350px !important; }
.date-range-control { height: 37px; display: flex; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.date-range-control input { width: 122px; height: 35px; padding: 0 8px; border: 0; color: var(--navy-950); background: transparent; font-size: 10px; font-weight: 680; cursor: pointer; }
.date-range-control i { color: #98a1aa; font-size: 10px; font-style: normal; }
.date-range-control button { align-self: stretch; margin-left: 3px; padding: 0 11px; border: 0; color: white; background: var(--navy-900); font-size: 9px; font-weight: 800; cursor: pointer; }
.date-range-control button:hover { background: var(--navy-800); }
.attribution-filter { min-width: 205px !important; }
.filter-reset { height: 37px; padding: 0 12px; border: 0; background: transparent; color: var(--blue); font-size: 10px; font-weight: 800; cursor: pointer; }
.demo-pill { margin-left: auto; align-self: center; padding: 7px 9px; border-radius: 8px; color: var(--amber); background: var(--amber-soft); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

.content { width: 100%; max-width: 1500px; min-width: 0; margin: 0 auto; padding: 28px 34px 48px; }
.view { display: none; animation: reveal .22s ease; }
.view.active { display: block; }
.view, .view > div, .section-intro, .executive-banner, .banner-copy, .dashboard-grid, .lower-grid, .quality-layout { min-width: 0; max-width: 100%; }
@keyframes reveal { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.section-intro { margin-bottom: 20px; display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; }
.section-intro h2 { margin: 0 0 7px; color: var(--navy-950); font-size: 25px; letter-spacing: -.035em; }
.section-intro p { max-width: 730px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.period-context { color: #85909a; font-size: 10px; white-space: nowrap; }

.executive-banner { min-height: 175px; display: grid; grid-template-columns: 1.6fr .7fr; border-radius: 21px; overflow: hidden; color: white; background: var(--navy-900); box-shadow: var(--shadow); }
.banner-copy { padding: 25px 28px; background: radial-gradient(circle at 90% 10%, rgba(49,89,216,.22), transparent 36%); }
.overline { color: #90a6b8; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.banner-copy h3 { max-width: 850px; margin: 12px 0 9px; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.banner-copy p { max-width: 780px; margin: 0; color: #b7c6d1; font-size: 11px; line-height: 1.55; }
.banner-score { padding: 25px; border-left: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; justify-content: center; }
.banner-score > span { color: #99acba; font-size: 9px; }
.banner-score strong { margin: 7px 0 5px; font-size: 30px; letter-spacing: -.04em; }
.banner-score small { color: #efca80; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 13px 0; }
.kpi-card, .card { border: 1px solid var(--line); background: white; border-radius: var(--radius); box-shadow: 0 4px 16px rgba(14,37,58,.025); }
.kpi-card { min-width: 0; padding: 17px; }
.kpi-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kpi-label { color: var(--muted); font-size: 10px; font-weight: 720; }
.source-tag { padding: 4px 6px; border-radius: 6px; color: #6f7a84; background: var(--soft); font-size: 7px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.kpi-main { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 5px; }
.kpi-main strong { color: var(--navy-950); font-size: 26px; line-height: 1; letter-spacing: -.045em; }
.delta { padding: 4px 6px; border-radius: 7px; font-size: 8px; font-weight: 850; white-space: nowrap; }
.positive { color: var(--green); background: var(--green-soft); }
.negative { color: var(--red); background: var(--red-soft); }
.warning { color: var(--amber); background: var(--amber-soft); }
.neutral { color: var(--blue); background: var(--blue-soft); }
.kpi-note { color: var(--muted); font-size: 9px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 13px; }
.card { min-width: 0; padding: 19px; }
.card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 17px; }
.card-head h3 { margin: 0 0 4px; color: var(--navy-950); font-size: 14px; letter-spacing: -.015em; }
.card-head p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.head-badge { padding: 6px 8px; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 8px; font-weight: 800; white-space: nowrap; }
.legend { display: flex; gap: 12px; color: var(--muted); font-size: 8px; }
.legend span { display: flex; gap: 5px; align-items: center; }
.legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.legend .revenue-dot { background: var(--gold); }
.trend-chart { width: 100%; height: 235px; overflow: visible; }
.axis-label { fill: #8d98a2; font-size: 9px; }
.chart-line-blue, .chart-line-gold { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3.2; }
.chart-line-blue { stroke: var(--blue); }
.chart-line-gold { stroke: var(--gold); }
.chart-area { fill: url(#areaGradient); }
.grid-line { stroke: #edf0f2; stroke-width: 1; }
.chart-point { fill: white; stroke-width: 3; }
.annotation-line { stroke: #c8ced4; stroke-dasharray: 3 4; }
.annotation-label { fill: #697582; font-size: 8px; font-weight: 700; }

.signal-list { display: grid; }
.signal-row { padding: 13px 0; display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; border-top: 1px solid var(--line); }
.signal-row:first-child { padding-top: 0; border-top: 0; }
.signal-num { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--navy-900); background: var(--soft); font-size: 8px; font-weight: 850; }
.signal-row b { display: block; margin-bottom: 3px; font-size: 10px; }
.signal-row p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.signal-status { font-size: 8px; font-weight: 850; }
.text-green { color: var(--green); }.text-red { color: var(--red); }.text-amber { color: var(--amber); }.text-blue { color: var(--blue); }

.journey-card { grid-column: 1 / -1; }
.journey { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.journey-step { min-width: 0; padding: 14px; border-radius: 13px; background: #fafbfc; border: 1px solid var(--line); position: relative; }
.journey-step:not(:last-child)::after { content: ""; position: absolute; right: -9px; top: 50%; z-index: 2; width: 9px; height: 1px; background: #bac2c9; }
.journey-step small { display: flex; justify-content: space-between; gap: 5px; color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.journey-step strong { display: block; margin: 9px 0 4px; color: var(--navy-950); font-size: 18px; }
.journey-step > span { color: var(--muted); font-size: 8px; }
.journey-step.alert { border-color: #efc3c5; background: #fffafb; }
.journey-note { margin: 12px 0 0; color: #7f8992; font-size: 8px; line-height: 1.5; }

.lower-grid { margin-top: 13px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .55fr); gap: 13px; }
.reconcile-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-bottom: 13px; }
.reconcile-row b { font-size: 10px; }
.reconcile-row span { color: var(--muted); font-size: 9px; }
.reconcile-row strong { color: var(--navy-950); font-size: 11px; }
.stack-bar { height: 13px; display: flex; overflow: hidden; border-radius: 999px; background: var(--line); }
.stack-bar span:first-child { background: var(--blue); }
.stack-bar span:nth-child(2) { background: var(--gold); }
.stack-bar span:nth-child(3) { background: #cfd6dc; }
.stack-legend { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 8px; }
.stack-legend i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: var(--blue); }
.stack-legend span:nth-child(2) i { background: var(--gold); }.stack-legend span:nth-child(3) i { background: #cfd6dc; }
.action-list { display: grid; gap: 8px; }
.action-item { padding: 11px; border-radius: 11px; background: #fafbfc; border: 1px solid #edf0f2; }
.action-item-top { display: flex; justify-content: space-between; gap: 10px; }
.action-item b { font-size: 9px; }
.action-item p { margin: 5px 0 9px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.action-meta { display: flex; justify-content: space-between; padding-top: 8px; border-top: 1px solid var(--line); color: #87919b; font-size: 7px; font-weight: 800; text-transform: uppercase; }

.table-card { padding: 0; overflow: hidden; }
.table-card .card-head { padding: 19px 19px 0; }
.table-scroll { overflow: auto; }
table { width: 100%; border-collapse: collapse; min-width: 980px; }
th { padding: 10px 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #87919b; background: #fafbfc; font-size: 7px; font-weight: 850; letter-spacing: .06em; text-align: right; text-transform: uppercase; white-space: nowrap; }
td { padding: 12px; border-bottom: 1px solid #eff1f3; font-size: 9px; text-align: right; white-space: nowrap; }
th:first-child, td:first-child { text-align: left; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: #fbfcff; }
.property-cell { display: flex; align-items: center; gap: 9px; text-align: left; }
.property-code { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: var(--navy-900); background: #edf1f4; font-size: 7px; font-weight: 850; }
.property-cell b, .property-cell span { display: block; }
.property-cell b { font-size: 9px; }.property-cell span { margin-top: 2px; color: var(--muted); font-size: 7px; }
.table-status { display: inline-block; padding: 5px 7px; border-radius: 7px; font-size: 7px; font-weight: 850; text-transform: uppercase; }
.status-scale { color: var(--green); background: var(--green-soft); }.status-optimize { color: var(--amber); background: var(--amber-soft); }.status-intervene { color: var(--red); background: var(--red-soft); }.status-monitor { color: var(--blue); background: var(--blue-soft); }
.coverage { display: inline-flex; align-items: center; gap: 5px; }
.coverage i { width: 36px; height: 5px; border-radius: 99px; background: #e6e9ec; overflow: hidden; }
.coverage i::after { content: ""; display: block; width: var(--coverage); height: 100%; border-radius: inherit; background: var(--green); }

.mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 13px; }
.channel-card { padding: 16px; border-radius: var(--radius); border: 1px solid var(--line); background: white; }
.channel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.channel-name { display: flex; align-items: center; gap: 8px; }
.channel-logo { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; font-weight: 850; background: var(--blue-soft); color: var(--blue); }
.channel-name b { font-size: 10px; }
.channel-status { font-size: 7px; font-weight: 850; }
.channel-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.channel-stats div { padding-top: 9px; border-top: 1px solid var(--line); }
.channel-stats span, .channel-stats strong { display: block; }
.channel-stats span { color: var(--muted); font-size: 7px; text-transform: uppercase; }.channel-stats strong { margin-top: 5px; font-size: 13px; }
.channel-note { min-height: 34px; margin: 12px 0 0; padding: 9px; border-radius: 9px; color: var(--muted); background: var(--soft); font-size: 8px; line-height: 1.4; }
.method-banner { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin-bottom: 13px; padding: 14px 16px; border: 1px solid #e4d3b5; border-radius: 14px; background: var(--gold-soft); }
.method-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--amber); background: white; font-weight: 850; }
.method-banner b, .method-banner span { display: block; }.method-banner b { font-size: 10px; }.method-banner span { margin-top: 3px; color: #7f6c50; font-size: 8px; line-height: 1.4; }
.method-banner a { color: var(--amber); font-size: 8px; font-weight: 850; text-decoration: none; }

.health-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 13px; }
.source-card { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.source-card-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 15px; }
.source-card-head b { font-size: 11px; }.source-card-head span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.health-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px var(--green-soft); }
.health-dot.pending-dot { background: var(--amber); box-shadow: 0 0 0 5px var(--amber-soft); }
.source-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.source-metrics div { padding: 9px; border-radius: 9px; background: var(--soft); }
.source-metrics span, .source-metrics strong { display: block; }.source-metrics span { color: var(--muted); font-size: 7px; text-transform: uppercase; }.source-metrics strong { margin-top: 5px; color: var(--navy-950); font-size: 10px; }
.quality-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.check-list { display: grid; gap: 11px; }
.check-item { display: grid; grid-template-columns: 29px 1fr auto; gap: 10px; align-items: center; }
.check-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-size: 10px; font-weight: 900; }
.check-icon.warn { color: var(--amber); background: var(--amber-soft); }
.check-item b, .check-item span { display: block; }.check-item b { font-size: 9px; }.check-item span { margin-top: 3px; color: var(--muted); font-size: 8px; }.check-item > strong { font-size: 9px; }
.definition-list { display: grid; }
.definition-row { padding: 11px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 145px 1fr; gap: 12px; }
.definition-row:first-child { padding-top: 0; border-top: 0; }
.definition-row b { font-size: 9px; }.definition-row p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }

.toast { position: fixed; z-index: 80; right: 25px; bottom: 25px; max-width: 330px; padding: 11px 14px; border-radius: 11px; color: white; background: var(--navy-900); box-shadow: var(--shadow); font-size: 10px; opacity: 0; transform: translateY(8px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: none; }
.empty-note { padding: 35px; text-align: center; color: var(--muted); }

@media (max-width: 1180px) {
  .filterbar { overflow-x: auto; align-items: flex-end; }
  .filterbar label { flex: 0 0 150px; }
  .filterbar .date-range-filter { flex-basis: 350px !important; }
  .attribution-filter { flex-basis: 205px !important; }
  .demo-pill { display: none; }
  .kpi-grid, .mini-grid { grid-template-columns: 1fr 1fr; }
  .journey { grid-template-columns: repeat(3, 1fr); }
  .journey-step:nth-child(3)::after { display: none; }
}

@media (max-width: 900px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 18px 0 45px rgba(7,27,46,.18); }
  .sidebar.open { transform: none; }
  .app-main { margin-left: 0; }
  .menu-button { display: grid; place-items: center; }
  .dashboard-grid, .lower-grid, .quality-layout { grid-template-columns: 1fr; }
  .health-grid { grid-template-columns: 1fr; }
  .executive-banner { grid-template-columns: 1fr; }
  .banner-score { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
}

@media (max-width: 620px) {
  .topbar { height: 69px; padding: 0 14px; }
  .sync-status { display: none; }
  .filterbar { padding: 11px 14px; }
  .filterbar label { min-width: 145px; }
  .filterbar .date-range-filter { min-width: 350px !important; }
  .filter-reset { display: none; }
  .content { padding: 21px 14px 40px; }
  .section-intro { display: block; }
  .section-intro h2 { font-size: 22px; }
  .section-intro h2, .banner-copy h3 { overflow-wrap: anywhere; }
  .period-context { display: block; margin-top: 8px; }
  .kpi-grid, .mini-grid { grid-template-columns: 1fr; }
  .journey { grid-template-columns: 1fr 1fr; }
  .journey-step:nth-child(3)::after { display: block; }
  .journey-step:nth-child(2n)::after { display: none; }
  .banner-copy, .banner-score { padding: 21px; }
  .banner-copy h3 { font-size: 20px; }
  .card { padding: 15px; }
  .table-card { padding: 0; }
  .method-banner { grid-template-columns: auto 1fr; }
  .method-banner a { grid-column: 2; }
  .definition-row { grid-template-columns: 1fr; gap: 4px; }
}

/* Liquid glass workspace theme */
:root {
  --navy-950: #0a1630;
  --navy-900: #102445;
  --navy-800: #173963;
  --blue: #5274f5;
  --blue-soft: rgba(82, 116, 245, .12);
  --gold: #b9894c;
  --gold-soft: rgba(255, 237, 207, .66);
  --green-soft: rgba(218, 248, 237, .72);
  --red-soft: rgba(255, 227, 233, .72);
  --amber-soft: rgba(255, 240, 211, .72);
  --ink: #14213a;
  --muted: #69748a;
  --soft: #edf3fb;
  --line: rgba(123, 145, 178, .18);
  --glass: rgba(255, 255, 255, .62);
  --glass-strong: rgba(255, 255, 255, .78);
  --glass-edge: rgba(255, 255, 255, .82);
  --shadow: 0 22px 55px rgba(38, 61, 105, .12), 0 2px 8px rgba(38, 61, 105, .05);
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% 2%, rgba(167, 194, 255, .66), transparent 28%),
    radial-gradient(circle at 36% 92%, rgba(196, 173, 255, .30), transparent 30%),
    linear-gradient(135deg, #f7faff 0%, #edf3fb 46%, #f8f5ff 100%);
}

.ambient-bg { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.ambient-bg span { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .68; animation: ambient-float 18s ease-in-out infinite alternate; }
.ambient-bg span:first-child { width: 430px; height: 430px; top: -170px; right: 3%; background: radial-gradient(circle at 35% 35%, rgba(85, 130, 255, .38), rgba(111, 94, 255, .08) 60%, transparent 72%); }
.ambient-bg span:nth-child(2) { width: 360px; height: 360px; left: 14%; bottom: -190px; background: radial-gradient(circle at 40% 35%, rgba(159, 109, 255, .24), transparent 70%); animation-delay: -7s; }
.ambient-bg span:nth-child(3) { width: 270px; height: 270px; right: 30%; top: 38%; background: radial-gradient(circle, rgba(72, 207, 216, .15), transparent 70%); animation-delay: -12s; }
@keyframes ambient-float { to { transform: translate3d(28px, 24px, 0) scale(1.08); } }

.sidebar {
  inset: 14px auto 14px 14px;
  width: 220px;
  padding: 20px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 16% 0%, rgba(98,137,255,.28), transparent 32%),
    linear-gradient(165deg, rgba(8,28,55,.90), rgba(10,24,48,.80));
  box-shadow: 0 28px 70px rgba(12, 28, 57, .28), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(36px) saturate(145%);
  -webkit-backdrop-filter: blur(36px) saturate(145%);
}
.app-main { margin-left: 248px; }
.brand-block { border-bottom-color: rgba(255,255,255,.12); }
.brand-mark { color: white; background: linear-gradient(145deg, rgba(255,255,255,.27), rgba(255,255,255,.10)); border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 18px rgba(0,0,0,.14); }
.nav-item { border: 1px solid transparent; }
.nav-item:hover { transform: translateX(3px); border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.07); }
.nav-item.active { background: linear-gradient(120deg, rgba(112,145,255,.28), rgba(255,255,255,.10)); border-color: rgba(255,255,255,.13); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 25px rgba(0,0,0,.12); }
.nav-icon { background: rgba(255,255,255,.08); }
.nav-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-item:first-child .nav-icon svg { fill: currentColor; stroke: none; }

.topbar,
.filterbar {
  margin-right: 14px;
  border-color: var(--glass-edge);
  background: rgba(255,255,255,.58);
  box-shadow: 0 12px 35px rgba(42,66,107,.07), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
}
.topbar { top: 14px; height: 76px; margin-top: 14px; border: 1px solid var(--glass-edge); border-bottom-color: rgba(137,157,190,.13); border-radius: 24px 24px 0 0; }
.filterbar { position: sticky; z-index: 29; top: 90px; min-height: 72px; border: 1px solid var(--glass-edge); border-top: 0; border-radius: 0 0 24px 24px; }
.page-identity h1 { font-size: 20px; }
.sync-status { padding: 7px 11px; border: 1px solid rgba(255,255,255,.8); border-radius: 13px; background: rgba(255,255,255,.45); box-shadow: inset 0 1px 0 white; }
.icon-button { border-color: rgba(255,255,255,.86); background: rgba(255,255,255,.52); box-shadow: inset 0 1px 0 white; }
.avatar-button { background: linear-gradient(145deg, #294a79, #101f3b); box-shadow: 0 8px 18px rgba(20,45,78,.22), inset 0 1px 0 rgba(255,255,255,.2); }

.filterbar select,
.date-range-control {
  border-color: rgba(122,145,180,.22);
  background: rgba(255,255,255,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 4px 14px rgba(50,72,110,.04);
  backdrop-filter: blur(12px);
}
.date-range-control { border-radius: 12px; }
.date-range-control input { color-scheme: light; }
.date-range-control input::-webkit-calendar-picker-indicator { opacity: .58; cursor: pointer; }
.date-range-control button { margin: 3px; border-radius: 8px; background: linear-gradient(135deg, #486ee8, #6b62ed); box-shadow: 0 5px 14px rgba(70,99,218,.25); }
.filter-reset { border-radius: 9px; }
.filter-reset:hover { background: rgba(82,116,245,.08); }
.demo-pill { color: #5265be; border: 1px solid rgba(98,113,208,.13); background: rgba(239,240,255,.72); }

.content { padding: 32px 28px 50px 20px; }
.section-intro h2 { font-size: 27px; background: linear-gradient(110deg, #0c1c38, #344f7b 65%, #6c63b7); -webkit-background-clip: text; background-clip: text; color: transparent; }
.period-context { padding: 7px 10px; border: 1px solid rgba(255,255,255,.78); border-radius: 10px; background: rgba(255,255,255,.40); backdrop-filter: blur(15px); }

.kpi-card,
.card,
.channel-card,
.source-card {
  border-color: var(--glass-edge);
  background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(255,255,255,.46));
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}
.kpi-card { position: relative; overflow: hidden; }
.kpi-card::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 58%; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.98), transparent); }
.source-tag { color: #5f6d87; border: 1px solid rgba(255,255,255,.68); background: rgba(241,245,252,.66); }

.executive-banner {
  position: relative;
  border: 1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 74% 10%, rgba(81,121,255,.46), transparent 33%),
    radial-gradient(circle at 18% 120%, rgba(95,216,222,.18), transparent 38%),
    linear-gradient(125deg, rgba(7,30,58,.97), rgba(18,44,83,.91));
  box-shadow: 0 28px 58px rgba(17,38,72,.20), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(26px);
}
.executive-banner::after { content: ""; position: absolute; width: 420px; height: 150px; right: -80px; top: -110px; border-radius: 50%; background: rgba(255,255,255,.10); filter: blur(14px); transform: rotate(-12deg); pointer-events: none; }
.banner-copy { background: none; }
.banner-score { background: rgba(6,21,44,.19); backdrop-filter: blur(12px); }

.journey-step,
.action-item,
.campaign-note,
.source-metrics div {
  border-color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.46);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.journey-step.alert { border-color: rgba(238,148,166,.45); background: rgba(255,240,244,.58); }
.method-banner { border-color: rgba(255,255,255,.78); background: linear-gradient(120deg, rgba(255,247,229,.72), rgba(255,255,255,.48)); box-shadow: 0 12px 30px rgba(71,68,48,.06), inset 0 1px 0 white; backdrop-filter: blur(20px); }
.method-icon { border: 1px solid rgba(255,255,255,.85); background: rgba(255,255,255,.65); }

.table-card { background: rgba(255,255,255,.53); }
th { border-color: rgba(133,151,179,.14); background: rgba(242,246,252,.62); backdrop-filter: blur(18px); }
td { border-bottom-color: rgba(133,151,179,.12); }
tbody tr:hover { background: rgba(255,255,255,.50); }
.property-code,
.signal-num { border: 1px solid rgba(255,255,255,.72); background: rgba(235,241,249,.66); box-shadow: inset 0 1px 0 white; }
.channel-logo { border: 1px solid rgba(255,255,255,.72); background: linear-gradient(145deg, rgba(225,233,255,.86), rgba(246,244,255,.70)); box-shadow: inset 0 1px 0 white; }
.stack-bar { background: rgba(172,188,209,.28); box-shadow: inset 0 1px 2px rgba(40,64,99,.08); }

.toast { border: 1px solid rgba(255,255,255,.18); background: rgba(10,29,56,.88); box-shadow: 0 22px 55px rgba(15,32,60,.28), inset 0 1px 0 rgba(255,255,255,.14); backdrop-filter: blur(24px); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: rgba(70,94,131,.30); background-clip: padding-box; }

@media (prefers-reduced-motion: reduce) {
  .ambient-bg span, .view, .icon-button.refreshing { animation: none !important; }
  * { scroll-behavior: auto !important; }
}

@media (max-width: 900px) {
  .sidebar { inset: 10px auto 10px 10px; width: 254px; transform: translateX(calc(-100% - 20px)); }
  .sidebar.open { transform: none; }
  .app-main { margin-left: 0; }
  .topbar, .filterbar { margin-right: 10px; margin-left: 10px; }
  .topbar { top: 10px; margin-top: 10px; }
  .filterbar { top: 86px; }
}

@media (max-width: 620px) {
  .topbar { height: 67px; padding: 0 12px; border-radius: 20px 20px 0 0; }
  .filterbar { top: 77px; padding: 10px 12px; border-radius: 0 0 20px 20px; }
  .content { padding: 25px 14px 42px; }
  .section-intro h2 { font-size: 23px; }
}

/* Single-screen command center */
.single-dashboard { height: 100vh; min-height: 620px; overflow: hidden; }
.single-dashboard .sidebar { display: none; }
.single-dashboard .app-main {
  height: 100vh;
  min-height: 620px;
  margin-left: 0;
  display: grid;
  grid-template-rows: 84px 72px minmax(0, 1fr);
  overflow: hidden;
}
.single-dashboard .topbar {
  position: relative;
  top: auto;
  height: 70px;
  margin: 12px 14px 0;
  border-radius: 24px 24px 0 0;
}
.single-dashboard .filterbar {
  position: relative;
  top: auto;
  min-height: 62px;
  margin: 0 14px;
  padding-top: 8px;
  padding-bottom: 10px;
  overflow: visible;
}
.single-dashboard .property-filter,
.single-dashboard .attribution-filter { display: none; }
.single-dashboard .content {
  width: 100%;
  height: 100%;
  max-width: none;
  min-height: 0;
  padding: 12px 14px 14px;
  overflow: hidden;
}
.single-dashboard .view.active,
.single-dashboard #overviewContent { height: 100%; min-height: 0; }
.single-dashboard .view:not(.active) { display: none !important; }

.command-grid {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(82px, .8fr) minmax(78px, .7fr) minmax(220px, 2.25fr) minmax(150px, 1.35fr);
  gap: 10px;
}
.command-hero,
.command-panel,
.command-kpi {
  border: 1px solid var(--glass-edge);
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}
.command-hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(230px, .55fr);
  overflow: hidden;
  border-color: rgba(255,255,255,.16);
  border-radius: 22px;
  color: white;
  background:
    radial-gradient(circle at 72% 0%, rgba(87,126,255,.48), transparent 34%),
    radial-gradient(circle at 8% 120%, rgba(72,208,219,.18), transparent 36%),
    linear-gradient(125deg, rgba(7,30,58,.97), rgba(18,44,83,.92));
}
.command-copy { min-width: 0; padding: clamp(13px, 1.7vh, 22px) 26px; display: flex; flex-direction: column; justify-content: center; }
.command-copy h2 { margin: 7px 0 5px; font-size: clamp(18px, 1.55vw, 25px); line-height: 1.15; letter-spacing: -.03em; }
.command-copy p { margin: 0; color: #b9cad8; font-size: clamp(8px, .72vw, 10px); line-height: 1.4; }
.command-confidence { padding: 12px 22px; border-left: 1px solid rgba(255,255,255,.13); background: rgba(5,20,43,.20); display: flex; flex-direction: column; justify-content: center; }
.command-confidence span { color: #9dafbd; font-size: 8px; }
.command-confidence strong { margin: 5px 0 4px; font-size: clamp(19px, 1.7vw, 27px); letter-spacing: -.035em; }
.command-confidence small { color: #f0cc78; font-size: 9px; }
.command-confidence small i { display: inline-block; width: 6px; height: 6px; margin-right: 3px; border-radius: 50%; background: #54d7a4; box-shadow: 0 0 0 4px rgba(84,215,164,.12); }

.command-kpis { min-height: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.command-kpi { min-width: 0; padding: clamp(10px, 1.4vh, 15px) 16px; overflow: hidden; border-radius: 17px; background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.46)); }
.command-kpi > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.command-kpi span { color: var(--muted); font-size: 8px; font-weight: 750; }
.command-kpi em { padding: 3px 5px; border: 1px solid rgba(255,255,255,.72); border-radius: 6px; color: #64708a; background: rgba(241,245,252,.58); font-size: 6px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.command-kpi > strong { display: inline-block; margin: clamp(5px, .8vh, 10px) 8px 0 0; color: var(--navy-950); font-size: clamp(19px, 1.75vw, 27px); line-height: 1; letter-spacing: -.045em; }
.command-kpi > small { color: var(--muted); font-size: 7px; white-space: nowrap; }
.command-kpi > small.positive { padding: 3px 5px; color: var(--green); border-radius: 6px; }
.command-kpi > small.negative { padding: 3px 5px; color: var(--red); border-radius: 6px; }

.command-main,
.command-bottom { min-height: 0; display: grid; gap: 10px; }
.command-main { grid-template-columns: minmax(0, 1.72fr) minmax(270px, .68fr); }
.command-bottom { grid-template-columns: minmax(0, 1.55fr) minmax(310px, .85fr); }
.command-panel { min-height: 0; overflow: hidden; padding: clamp(11px, 1.4vh, 17px); border-radius: 19px; background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(255,255,255,.46)); }
.command-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex: 0 0 auto; }
.command-panel-head h3 { margin: 0 0 3px; color: var(--navy-950); font-size: clamp(10px, .9vw, 14px); }
.command-panel-head p { margin: 0; color: var(--muted); font-size: 7px; }
.command-chart { display: flex; flex-direction: column; }
.command-chart .trend-chart { flex: 1 1 auto; width: 100%; height: 0; min-height: 0; margin-top: 5px; }
.command-chart .legend { margin-top: 2px; }

.command-signals { height: calc(100% - 36px); min-height: 0; display: grid; grid-template-rows: repeat(3, 1fr); margin-top: 5px; }
.command-signals > div { min-height: 0; display: grid; grid-template-columns: 28px 1fr auto; gap: 9px; align-items: center; border-top: 1px solid var(--line); }
.command-signals > div:first-child { border-top: 0; }
.command-signals section { min-width: 0; }
.command-signals b { display: block; margin-bottom: 2px; font-size: 9px; }
.command-signals p { margin: 0; color: var(--muted); font-size: 7px; line-height: 1.3; }
.command-signals em { font-size: 7px; font-style: normal; font-weight: 850; }

.command-funnel,
.command-channels { display: flex; flex-direction: column; }
.compact-funnel { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-top: 8px; }
.compact-funnel > div { min-width: 0; padding: clamp(7px, 1vh, 11px); border: 1px solid rgba(255,255,255,.82); border-radius: 12px; background: rgba(255,255,255,.45); box-shadow: inset 0 1px 0 white; display: flex; flex-direction: column; justify-content: center; }
.compact-funnel > div:not(:last-child) { position: relative; }
.compact-funnel > div:not(:last-child)::after { content: ""; position: absolute; z-index: 2; width: 8px; height: 1px; right: -8px; top: 50%; background: rgba(102,122,153,.38); }
.compact-funnel .focus { border-color: rgba(239,147,165,.46); background: rgba(255,238,243,.57); }
.compact-funnel span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.compact-funnel strong { margin: 5px 0 3px; color: var(--navy-950); font-size: clamp(14px, 1.35vw, 20px); }
.compact-funnel small { color: var(--muted); font-size: 7px; }

.compact-channels { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: repeat(4, 1fr); margin-top: 5px; }
.compact-channels > div { min-height: 0; display: grid; grid-template-columns: 82px 1fr 50px; grid-template-rows: 1fr 1fr; column-gap: 8px; align-items: end; }
.compact-channels span { grid-row: 1 / 3; align-self: center; overflow: hidden; color: var(--ink); font-size: 7px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.compact-channels i { align-self: end; height: 5px; overflow: hidden; border-radius: 99px; background: rgba(168,182,204,.28); }
.compact-channels i b { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: linear-gradient(90deg, #4f75f5, #7d6cec); }
.compact-channels strong { align-self: end; color: var(--navy-950); font-size: 8px; text-align: right; }
.compact-channels small { grid-column: 2 / 4; align-self: start; color: var(--muted); font-size: 6px; }

@media (max-width: 800px) {
  .single-dashboard { min-height: 600px; }
  .single-dashboard .app-main { min-height: 600px; grid-template-rows: 76px 62px minmax(0, 1fr); }
  .single-dashboard .topbar { height: 64px; margin: 8px 10px 0; }
  .single-dashboard .filterbar { min-height: 54px; margin: 0 10px; padding: 6px 12px 8px; overflow: hidden; }
  .single-dashboard .comparison-filter,
  .single-dashboard .filter-reset,
  .single-dashboard .demo-pill { display: none; }
  .single-dashboard .date-range-filter { width: 100%; min-width: 0 !important; flex: 1 1 auto !important; }
  .single-dashboard .date-range-control { width: 100%; }
  .single-dashboard .date-range-control input { flex: 1 1 0; width: 0; }
  .single-dashboard .content { padding: 8px 10px 10px; }
  .command-grid { grid-template-rows: minmax(125px, .95fr) minmax(128px, 1.05fr) minmax(170px, 1.4fr) minmax(145px, 1.15fr); gap: 7px; }
  .command-hero { grid-template-columns: minmax(0, 1.45fr) minmax(115px, .55fr); border-radius: 18px; }
  .command-copy { padding: 12px 13px; }
  .command-copy h2 { font-size: clamp(15px, 4.4vw, 19px); }
  .command-copy p { display: none; }
  .command-confidence { padding: 10px; }
  .command-confidence strong { font-size: 14px; }
  .command-confidence small { font-size: 6px; }
  .command-kpis { grid-template-columns: 1fr 1fr; gap: 7px; }
  .command-kpi { padding: 9px 10px; border-radius: 14px; }
  .command-kpi > strong { font-size: 18px; margin-top: 5px; }
  .command-kpi > small { font-size: 6px; }
  .command-main { grid-template-columns: 1fr; }
  .command-attention { display: none; }
  .command-bottom { grid-template-columns: 1fr; }
  .command-channels { display: none; }
  .command-panel { padding: 10px; border-radius: 15px; }
  .compact-funnel { gap: 4px; }
  .compact-funnel > div { padding: 6px; border-radius: 9px; }
  .compact-funnel strong { font-size: 13px; }
  .compact-funnel small { font-size: 6px; }
}

/* Multi-page, viewport-fitted dashboard */
.single-dashboard .sidebar { display: flex; }
.single-dashboard .app-main { margin-left: 248px; }
.single-dashboard .view.active { display: block !important; height: 100%; min-height: 0; }
.single-dashboard .view:not(.active) { display: none !important; }
.single-dashboard .view > div { height: 100%; min-height: 0; }

.screen-grid {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(48px, auto) minmax(0, 1fr);
  gap: 10px;
}
.screen-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.screen-head h2 {
  margin: 3px 0 2px;
  color: var(--navy-950);
  font-size: clamp(17px, 1.55vw, 24px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.screen-head p { margin: 0; color: var(--muted); font-size: 8px; }
.screen-head .overline { color: #5670ce; }
.screen-split { min-height: 0; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, .65fr); gap: 10px; }

.properties-screen { grid-template-rows: minmax(48px, auto) minmax(94px, .55fr) minmax(0, 2fr); }
.property-live-grid { min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.property-live-card,
.source-live-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--glass-edge);
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.46));
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(24px) saturate(140%);
}
.property-live-card { padding: clamp(10px, 1.25vh, 15px); border-radius: 17px; }
.property-live-card.primary { border-color: rgba(103,130,231,.26); background: linear-gradient(145deg, rgba(241,245,255,.88), rgba(255,255,255,.50)); }
.property-live-top { display: grid; grid-template-columns: 29px 1fr auto; gap: 8px; align-items: center; }
.property-live-icon,
.source-live-icon { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.9); color: #4863bf; background: rgba(232,238,255,.75); font-weight: 900; box-shadow: inset 0 1px 0 white; }
.property-live-icon { width: 29px; height: 29px; border-radius: 9px; font-size: 8px; }
.property-live-top b, .property-live-top small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-live-top b { color: var(--ink); font-size: 9px; }
.property-live-top small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.property-live-top em { padding: 3px 5px; border-radius: 6px; color: #5c6b83; background: rgba(239,243,250,.72); font-size: 6px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.property-live-card > strong { display: inline-block; margin: 8px 6px 3px 0; color: var(--navy-950); font-size: clamp(18px, 1.65vw, 25px); line-height: 1; }
.property-live-card > span { color: var(--muted); font-size: 7px; }
.micro-bar { height: 4px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: rgba(159,176,201,.22); }
.micro-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4f75f5, #7b6bec); }

.property-matrix,
.decision-panel,
.channel-ranking,
.outcome-panel,
.checks-panel,
.definitions-panel { display: flex; flex-direction: column; }
.metric-table { flex: 1 1 auto; min-height: 0; display: grid; margin-top: 7px; }
.metric-table-properties { grid-template-rows: 28px repeat(3, 1fr); }
.metric-row { min-height: 0; display: grid; grid-template-columns: minmax(120px, 1.25fr) repeat(5, minmax(58px, .72fr)); align-items: center; border-top: 1px solid var(--line); }
.metric-row > span { min-width: 0; padding: 0 7px; color: var(--ink); font-size: 8px; text-align: right; }
.metric-row > span:first-child { text-align: left; }
.metric-row b, .metric-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.metric-row b { font-size: 8px; }
.metric-row small { margin-top: 3px; color: var(--muted); font-size: 6px; }
.metric-head { border-top: 0; border-bottom: 1px solid var(--line); }
.metric-head > span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }

.decision-list { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: repeat(3, 1fr); margin-top: 5px; }
.decision-list > div { min-height: 0; display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; border-top: 1px solid var(--line); }
.decision-list > div:first-child { border-top: 0; }
.decision-list i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; color: #53647e; background: rgba(233,239,248,.72); font-size: 7px; font-style: normal; font-weight: 900; }
.decision-list i.priority { color: #b54c61; background: rgba(255,227,233,.72); }
.decision-list section { min-width: 0; }
.decision-list b { display: block; margin-bottom: 2px; font-size: 8px; }
.decision-list p { margin: 0; color: var(--muted); font-size: 6px; line-height: 1.35; }
.decision-list em { color: #a66b18; font-size: 6px; font-style: normal; font-weight: 850; }

.acquisition-screen { grid-template-rows: minmax(48px, auto) minmax(80px, .58fr) minmax(0, 2.2fr); }
.screen-kpis { height: 100%; }
.screen-kpis .command-kpi > strong { max-width: 100%; overflow: hidden; font-size: clamp(16px, 1.55vw, 23px); text-overflow: ellipsis; white-space: nowrap; }
.acquisition-split { grid-template-columns: minmax(0, 1.7fr) minmax(260px, .58fr); }
.rank-list { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: repeat(8, 1fr); margin-top: 5px; }
.rank-list > div { min-height: 0; display: grid; grid-template-columns: 24px minmax(90px, .85fr) minmax(120px, 1.6fr) 68px 78px; gap: 8px; align-items: center; border-top: 1px solid var(--line); }
.rank-list > div:first-child { border-top: 0; }
.rank-number { color: #8b95a8; font-size: 6px; font-weight: 850; }
.rank-list b { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.rank-list > div > i { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(162,178,202,.22); }
.rank-list > div > i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4f75f5, #806bed); }
.rank-list strong { color: var(--navy-950); font-size: 8px; text-align: right; }
.rank-list small { color: var(--muted); font-size: 6px; text-align: right; }
.outcome-callout { margin: 9px 0 2px; padding: clamp(9px, 1.2vh, 14px); border: 1px solid rgba(255,255,255,.82); border-radius: 14px; background: rgba(255,255,255,.45); }
.outcome-callout span, .outcome-callout small { display: block; color: var(--muted); font-size: 7px; }
.outcome-callout strong { display: block; margin: 4px 0 3px; color: var(--navy-950); font-size: clamp(20px, 2vw, 29px); }
.compact-decisions { margin-top: 0; }
.compact-decisions > div { grid-template-columns: 27px 1fr; }

.health-screen { grid-template-rows: minmax(48px, auto) minmax(68px, .48fr) minmax(0, 2.35fr); }
.source-live-grid { min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.source-live-card { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; padding: 10px 12px; border-radius: 16px; }
.source-live-icon { width: 32px; height: 32px; border-radius: 10px; font-size: 9px; }
.source-live-card b, .source-live-card small { display: block; }
.source-live-card b { font-size: 9px; }
.source-live-card small { margin-top: 3px; color: var(--muted); font-size: 6px; }
.source-live-card > em { color: #a66b18; font-size: 6px; font-style: normal; font-weight: 850; white-space: nowrap; }
.source-live-card > em.healthy { color: var(--green); }
.source-live-card > em i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; background: #e1a23e; }
.source-live-card > em.healthy i { background: #37bd86; box-shadow: 0 0 0 3px rgba(55,189,134,.1); }
.health-split { grid-template-columns: minmax(0, 1.3fr) minmax(300px, .8fr); }
.health-checks { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: repeat(6, 1fr); margin-top: 5px; }
.health-checks > div { min-height: 0; display: grid; grid-template-columns: 27px 1fr auto; gap: 9px; align-items: center; border-top: 1px solid var(--line); }
.health-checks > div:first-child { border-top: 0; }
.health-checks i { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-size: 8px; font-style: normal; font-weight: 900; }
.health-checks i.warn { color: var(--amber); background: var(--amber-soft); }
.health-checks b { display: block; margin-bottom: 2px; font-size: 8px; }
.health-checks p { margin: 0; color: var(--muted); font-size: 6px; }
.health-checks em { font-size: 7px; font-style: normal; font-weight: 850; }
.definition-compact { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: repeat(5, 1fr); margin-top: 5px; }
.definition-compact > div { min-height: 0; display: flex; flex-direction: column; justify-content: center; border-top: 1px solid var(--line); }
.definition-compact > div:first-child { border-top: 0; }
.definition-compact b { margin-bottom: 3px; font-size: 8px; }
.definition-compact p { margin: 0; color: var(--muted); font-size: 7px; line-height: 1.35; }

@media (max-width: 900px) {
  .single-dashboard .app-main { margin-left: 0; }
}

@media (max-width: 800px) {
  .screen-grid { gap: 7px; }
  .screen-head { min-height: 0; }
  .screen-head h2 { font-size: 16px; }
  .screen-head p, .screen-head .period-context { display: none; }
  .single-dashboard .date-range-control input { min-width: 0; padding-inline: 3px; font-size: 8px; }
  .single-dashboard .date-range-control button { flex: 0 0 43px; padding: 0 5px; }
  .command-hero { grid-template-columns: minmax(0, 1fr); }
  .command-confidence { display: none; }
  .compact-funnel { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .compact-funnel > div { min-width: 0; overflow: hidden; }
  .compact-funnel span, .compact-funnel small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .screen-split { grid-template-columns: 1fr; }
  .properties-screen { grid-template-rows: 42px minmax(150px, .7fr) minmax(0, 1.6fr); }
  .property-live-grid { grid-template-columns: 1fr; gap: 5px; }
  .property-live-card { padding: 7px 9px; }
  .property-live-top { grid-template-columns: 25px 1fr auto; }
  .property-live-icon { width: 24px; height: 24px; }
  .property-live-card > strong { margin: 4px 5px 0 33px; font-size: 14px; }
  .property-live-card .micro-bar { display: none; }
  .decision-panel, .outcome-panel, .definitions-panel { display: none; }
  .command-panel-head .head-badge { display: none; }
  .metric-row { grid-template-columns: minmax(76px, 1fr) repeat(3, minmax(0, .58fr)); }
  .metric-row > span { padding-inline: 3px; font-size: 7px; }
  .metric-row > span:nth-child(3), .metric-row > span:nth-child(6) { display: none; }
  .acquisition-screen { grid-template-rows: 42px minmax(125px, .75fr) minmax(0, 1.65fr); }
  .screen-kpis { grid-template-columns: 1fr 1fr; }
  .rank-list > div { grid-template-columns: 20px 95px minmax(0, 1fr) 52px; gap: 5px; }
  .rank-list small { display: none; }
  .health-screen { grid-template-rows: 42px minmax(132px, .58fr) minmax(0, 1.75fr); }
  .source-live-grid { grid-template-columns: 1fr; gap: 5px; }
  .source-live-card { grid-template-columns: 27px 1fr auto; padding: 6px 9px; }
  .source-live-icon { width: 26px; height: 26px; }
  .health-checks p { font-size: 6px; }
}

/* Readable dashboard type scale */
.single-dashboard .eyebrow { font-size: 10px; }
.single-dashboard .page-identity h1 { font-size: 21px; }
.single-dashboard .sync-status span { font-size: 10px; }
.single-dashboard .sync-status small { font-size: 9px; }
.single-dashboard .filterbar label > span { font-size: 10px; }
.single-dashboard .filterbar select { font-size: 12px; }
.single-dashboard .date-range-control input { font-size: 11px; }
.single-dashboard .date-range-control button,
.single-dashboard .filter-reset,
.single-dashboard .demo-pill { font-size: 10px; }

.command-copy h2 { font-size: clamp(21px, 1.7vw, 27px); }
.command-copy p { max-width: 820px; font-size: 12px; line-height: 1.45; }
.command-confidence span { font-size: 10px; }
.command-confidence strong { font-size: clamp(20px, 1.75vw, 28px); }
.command-confidence small { font-size: 10px; }
.command-kpi span { font-size: 11px; }
.command-kpi em { font-size: 9px; }
.command-kpi > strong { font-size: clamp(21px, 1.85vw, 29px); }
.command-kpi > small { font-size: 10px; white-space: normal; line-height: 1.35; }
.command-panel-head h3 { font-size: clamp(13px, 1vw, 15px); }
.command-panel-head p { font-size: 10px; line-height: 1.4; }
.head-badge { font-size: 9px; }
.legend span { font-size: 9px; }
.command-signals b { font-size: 11px; }
.command-signals p { font-size: 10px; line-height: 1.4; }
.command-signals em { font-size: 9px; }
.compact-funnel span { font-size: 9px; }
.compact-funnel strong { font-size: clamp(16px, 1.45vw, 22px); }
.compact-funnel small { font-size: 10px; }
.compact-channels span { font-size: 10px; }
.compact-channels strong { font-size: 11px; }
.compact-channels small { font-size: 9px; }

.screen-head h2 { font-size: clamp(20px, 1.7vw, 26px); }
.screen-head p { max-width: 780px; font-size: 11px; line-height: 1.45; }
.screen-head .overline { font-size: 10px; }
.period-context { font-size: 10px; }
.property-live-top b { font-size: 11px; white-space: normal; line-height: 1.25; }
.property-live-top small { font-size: 9px; }
.property-live-top em { font-size: 8px; }
.property-live-card > strong { font-size: clamp(20px, 1.75vw, 27px); }
.property-live-card > span { font-size: 10px; line-height: 1.4; }

.metric-row > span { font-size: 10px; }
.metric-row b { font-size: 10px; white-space: normal; line-height: 1.25; }
.metric-row small { font-size: 9px; }
.metric-head > span { font-size: 9px; line-height: 1.25; white-space: normal; }
.decision-list b { font-size: 10px; }
.decision-list p { font-size: 10px; line-height: 1.45; }
.decision-list em { font-size: 9px; }
.decision-list i { font-size: 9px; }

.rank-number { font-size: 9px; }
.rank-list b { overflow: visible; font-size: 10px; line-height: 1.25; text-overflow: clip; white-space: normal; }
.rank-list strong { font-size: 10px; }
.rank-list small { font-size: 9px; }
.outcome-callout span,
.outcome-callout small { font-size: 10px; line-height: 1.4; }
.outcome-callout strong { font-size: clamp(23px, 2.1vw, 31px); }

.source-live-card b { font-size: 11px; line-height: 1.25; }
.source-live-card small { font-size: 9px; line-height: 1.4; }
.source-live-card > em { font-size: 9px; }
.health-checks b { font-size: 10px; }
.health-checks p { font-size: 10px; line-height: 1.4; }
.health-checks em { font-size: 9px; }
.definition-compact b { font-size: 10px; }
.definition-compact p { font-size: 10px; line-height: 1.45; }

@media (max-width: 800px) {
  .single-dashboard .page-identity h1 { font-size: 18px; }
  .single-dashboard .date-range-control input { font-size: 9px; }
  .screen-head h2 { font-size: 17px; line-height: 1.2; }
  .screen-head .overline { font-size: 8px; }
  .command-copy h2 { font-size: 18px; line-height: 1.25; }
  .command-kpi span { font-size: 9px; }
  .command-kpi em { font-size: 7px; }
  .command-kpi > strong { font-size: 20px; }
  .command-kpi > small { font-size: 8px; }
  .command-panel-head h3 { font-size: 12px; }
  .command-panel-head p { font-size: 8px; }
  .compact-funnel span { font-size: 7px; white-space: normal; line-height: 1.2; }
  .compact-funnel strong { font-size: 14px; }
  .compact-funnel small { font-size: 7px; }
  .property-live-top b { font-size: 10px; }
  .property-live-top small { font-size: 7px; }
  .property-live-card > span { font-size: 8px; }
  .metric-row > span, .metric-row b { font-size: 8px; }
  .metric-row small, .metric-head > span { font-size: 7px; }
  .rank-list b, .rank-list strong { font-size: 9px; }
  .rank-number { font-size: 7px; }
  .source-live-card b { font-size: 10px; }
  .source-live-card small { font-size: 7px; }
  .health-checks b { font-size: 9px; }
  .health-checks p { font-size: 7px; }
  .health-checks em { font-size: 8px; }
}

/* Refined GA4 reporting-period control */
.legacy-date-filter { display: none !important; }
.period-filter {
  flex: 0 1 570px;
  min-width: 470px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.period-filter-head {
  min-height: 13px;
  padding: 0 3px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.period-filter-head > span {
  color: #7c879b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.period-presets {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid rgba(125,145,177,.15);
  border-radius: 8px;
  background: rgba(235,240,249,.48);
}
.period-presets button {
  height: 20px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  color: #7a859a;
  background: transparent;
  font: inherit;
  font-size: 8px;
  font-weight: 850;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.period-presets button:hover { color: #3f59b6; background: rgba(255,255,255,.58); }
.period-presets button.active {
  color: #3659d0;
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 9px rgba(42,65,111,.12), inset 0 0 0 1px rgba(255,255,255,.92);
}
.period-filter .date-range-control {
  width: 100%;
  height: 40px;
  min-width: 0;
  display: grid;
  grid-template-columns: 35px minmax(145px, 1fr) 18px minmax(145px, 1fr) 91px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(105,129,169,.20);
  border-radius: 13px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 6px 17px rgba(39,61,102,.06), inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter: blur(16px) saturate(145%);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
}
.calendar-mark { display: grid; place-items: center; color: #5970c9; background: rgba(230,236,255,.52); }
.calendar-mark svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.filterbar .date-field {
  min-width: 0;
  padding: 4px 8px 3px;
  display: grid;
  grid-template-rows: 10px minmax(0, 1fr);
  align-items: center;
}
.date-field > span {
  color: #929caf;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.period-filter .date-range-control input {
  width: 100%;
  min-width: 0;
  height: 21px;
  padding: 0;
  outline: 0;
  color: #16284a;
  background: transparent;
  font-size: 11px;
  font-weight: 780;
}
.period-filter .date-range-control input:focus { color: #3459d0; }
.period-filter .date-range-control input::-webkit-calendar-picker-indicator { width: 13px; height: 13px; padding: 0; opacity: .45; }
.date-separator { display: grid; place-items: center; color: #9ba5b6; font-size: 11px; }
.period-filter .date-range-control > button {
  margin: 3px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  border-radius: 9px;
  color: white;
  background: linear-gradient(135deg, #486ee8, #6a61ee);
  box-shadow: 0 5px 13px rgba(70,94,210,.25), inset 0 1px 0 rgba(255,255,255,.22);
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
.period-filter .date-range-control > button:hover { transform: translateY(-1px); background: linear-gradient(135deg, #3e64df, #6057e5); box-shadow: 0 7px 16px rgba(70,94,210,.3); }
.period-filter .date-range-control > button:active { transform: translateY(0); }
.period-filter .date-range-control > button svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.single-dashboard .comparison-filter { min-width: 154px; }
.single-dashboard .comparison-filter select { height: 40px; border-color: rgba(105,129,169,.20); border-radius: 12px; background-color: rgba(255,255,255,.68); box-shadow: 0 6px 17px rgba(39,61,102,.05), inset 0 1px 0 white; }
.single-dashboard .filter-reset { height: 40px; padding: 0 10px; border-radius: 10px; }
.single-dashboard .filter-reset:hover { background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(107,128,164,.12); }

@media (max-width: 1080px) {
  .period-filter { flex-basis: 500px; min-width: 420px; }
  .period-filter .date-range-control { grid-template-columns: 33px minmax(125px, 1fr) 14px minmax(125px, 1fr) 78px; }
  .period-filter .date-range-control > button { padding-inline: 7px; }
}

@media (max-width: 800px) {
  .period-filter { width: 100%; min-width: 0; flex: 1 1 auto; }
  .period-filter-head { display: none; }
  .period-filter .date-range-control { height: 40px; grid-template-columns: 31px minmax(0, 1fr) 12px minmax(0, 1fr) 42px; }
  .filterbar .date-field { padding-inline: 5px; }
  .date-field > span { font-size: 6px; }
  .period-filter .date-range-control input { font-size: 9px; }
  .period-filter .date-range-control > button { padding: 0; }
  .period-filter .date-range-control > button span { display: none; }
}

/* 2026 editorial analytics redesign */
:root {
  --navy-950: #171b21;
  --navy-900: #1d2229;
  --navy-800: #292f38;
  --blue: #5c63eb;
  --gold: #ff7254;
  --green: #238b62;
  --amber: #a46312;
  --red: #c44755;
  --ink: #1b2028;
  --muted: #6e7682;
  --line: #e4e3de;
  --soft: #f1f0eb;
  --glass-edge: #e4e3de;
  --shadow: 0 10px 28px rgba(28, 34, 43, .055);
}
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 76% -8%, rgba(255, 115, 84, .12), transparent 26%),
    radial-gradient(circle at 43% 108%, rgba(92, 99, 235, .09), transparent 30%),
    #f4f3ef;
  font-family: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
}
.ambient-bg { display: none; }
.single-dashboard .app-main { grid-template-rows: 84px 82px minmax(0, 1fr); margin-left: 238px; }
.sidebar {
  inset: 12px auto 12px 12px;
  width: 214px;
  padding: 18px 12px;
  border: 0;
  border-radius: 22px;
  background: #171a1f;
  box-shadow: 0 18px 45px rgba(22, 25, 31, .18);
  backdrop-filter: none;
}
.brand-block { padding: 3px 7px 22px; border-bottom-color: rgba(255,255,255,.09); }
.brand-mark {
  color: #171a1f;
  background: #ff7254;
  border: 0;
  border-radius: 10px;
  box-shadow: none;
  font-family: inherit;
  font-size: 18px;
}
.brand-block strong { font-size: 14px; letter-spacing: .11em; }
.brand-block span { color: #8d949d; font-size: 10px; }
.primary-nav { gap: 5px; margin-top: 20px; }
.nav-item {
  min-height: 43px;
  padding: 10px 11px;
  border: 0;
  border-radius: 11px;
  color: #8f969f;
  font-size: 12px;
  font-weight: 700;
}
.nav-item:hover { color: #fff; background: #22262d; transform: none; }
.nav-item.active {
  color: #fff;
  background: #292e36;
  border: 0;
  box-shadow: inset 3px 0 0 #ff7254;
}
.nav-icon { width: 24px; height: 24px; border-radius: 7px; color: #aeb4bc; background: rgba(255,255,255,.055); }
.nav-item.active .nav-icon { color: #ff8065; background: rgba(255,114,84,.11); }
.nav-live-dot { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: #80d69d; box-shadow: 0 0 0 4px rgba(128,214,157,.09); }
.sidebar-foot { padding-inline: 7px; }
.source-stack span { border-color: #171a1f; }

.single-dashboard .topbar {
  height: 64px;
  margin: 12px 16px 0;
  padding: 0 22px;
  border: 1px solid #e8e6e0;
  border-radius: 17px;
  background: rgba(252,251,248,.94);
  box-shadow: 0 5px 18px rgba(29,34,41,.035);
  backdrop-filter: blur(14px);
}
.page-identity .eyebrow { color: #a66548; letter-spacing: .12em; }
.single-dashboard .page-identity h1 { color: #171b21; font-size: 20px; letter-spacing: -.025em; }
.sync-status { border-color: #e6e5df; border-radius: 11px; background: #f7f6f2; box-shadow: none; }
.sync-status i { background: #62c98a; }
.icon-button { border-color: #e3e2dc; background: #f8f7f3; box-shadow: none; }
.avatar-button { background: #252a31; box-shadow: none; }

.single-dashboard .filterbar {
  min-height: 74px;
  margin: 4px 16px 4px;
  padding: 7px 14px;
  border: 1px solid #e8e6e0;
  border-radius: 17px;
  background: rgba(252,251,248,.94);
  box-shadow: 0 5px 18px rgba(29,34,41,.035);
  backdrop-filter: blur(14px);
}
.period-filter-head > span,
.single-dashboard .filterbar label > span { color: #858b94; }
.period-presets { border: 0; background: #efeee9; }
.period-presets button { color: #767d87; }
.period-presets button:hover { color: #171b21; background: #f8f7f3; }
.period-presets button.active { color: #fff; background: #252a31; box-shadow: none; }
.period-filter .date-range-control {
  border-color: #e1dfd8;
  border-radius: 11px;
  background: #f7f6f2;
  box-shadow: none;
  backdrop-filter: none;
}
.calendar-mark { color: #e65f43; background: #fff0eb; }
.date-field > span { color: #969ba3; }
.period-filter .date-range-control > button {
  color: #fff;
  background: #ff7254;
  box-shadow: none;
}
.period-filter .date-range-control > button:hover { background: #ed6347; box-shadow: none; }
.single-dashboard .comparison-filter select {
  border-color: #e1dfd8;
  background-color: #f7f6f2;
  box-shadow: none;
}
.single-dashboard .filter-reset { color: #5c63c9; }
.demo-pill { color: #7b6230; border: 0; background: #f3ead3; }

.single-dashboard .content { padding: 10px 16px 14px; }
.command-hero,
.command-panel,
.command-kpi,
.property-live-card,
.source-live-card {
  border-color: #e5e3dd;
  box-shadow: var(--shadow);
  backdrop-filter: none;
}
.command-hero {
  border: 0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 74% -10%, rgba(255,114,84,.38), transparent 31%),
    linear-gradient(118deg, #1a1e24, #262b33);
  box-shadow: 0 12px 30px rgba(25,29,35,.14);
}
.command-confidence { border-left-color: rgba(255,255,255,.09); background: rgba(0,0,0,.09); }
.command-confidence small { color: #f8ad76; }
.command-kpi,
.command-panel,
.property-live-card,
.source-live-card { background: #fff; }
.command-kpi { border-radius: 15px; }
.command-kpi em { color: #656b73; border: 0; background: #f0efeb; }
.command-panel { border-radius: 17px; }
.command-panel-head h3,
.command-kpi > strong,
.compact-funnel strong { color: #1b2028; }
.head-badge { color: #44664d; border: 0; background: #e7f2e5; }
.compact-funnel > div,
.outcome-callout { border-color: #ebe9e3; background: #faf9f6; box-shadow: none; }
.compact-funnel .focus { border-color: #f1b3a5; background: #fff2ee; }
.compact-channels i,
.rank-list > div > i { background: #ecebe7; }
.compact-channels i b,
.rank-list > div > i em,
.micro-bar i { background: linear-gradient(90deg, #5c63eb, #8589f3); }
.chart-line-blue { stroke: #5c63eb; }
.chart-line-gold { stroke: #ff7254; }
.legend i { background: #5c63eb; }
.legend .revenue-dot { background: #ff7254; }
.property-live-card.primary { border-color: #d9d7f7; background: #f8f7ff; }
.property-live-icon,
.source-live-icon { color: #5c63c9; background: #efefff; box-shadow: none; }
.source-live-card > em.healthy i { background: #5bc486; }
.screen-head .overline { color: #e26045; }
.period-context { border-color: #e7e4dd; background: #faf9f6; backdrop-filter: none; }
.decision-list i,
.health-checks i { box-shadow: none; }
.metric-row,
.rank-list > div,
.health-checks > div,
.definition-compact > div,
.decision-list > div { border-color: #ebe9e3; }

/* GA4 realtime screen */
.single-dashboard.is-realtime .app-main { grid-template-rows: 84px minmax(0, 1fr); }
.single-dashboard.is-realtime .filterbar { display: none; }
.realtime-loading {
  height: 100%;
  display: grid;
  place-content: center;
  justify-items: center;
  color: #6e7682;
  text-align: center;
}
.live-orbit { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid #dedcd5; border-radius: 50%; }
.live-orbit i { width: 11px; height: 11px; border-radius: 50%; background: #ff7254; box-shadow: 0 0 0 8px rgba(255,114,84,.12); animation: live-pulse 1.5s ease-out infinite; }
@keyframes live-pulse { 50% { box-shadow: 0 0 0 15px rgba(255,114,84,0); } }
.realtime-loading h2 { margin: 18px 0 5px; color: #1b2028; }
.realtime-loading p { margin: 0; font-size: 11px; }
.realtime-loading button { margin-top: 16px; padding: 9px 14px; border: 0; border-radius: 9px; color: #fff; background: #252a31; cursor: pointer; }
.realtime-grid {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(155px, .8fr) minmax(78px, .35fr) minmax(0, 1.65fr);
  gap: 10px;
}
.realtime-hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(285px, .65fr) minmax(0, 1.35fr);
  overflow: hidden;
  border-radius: 19px;
  color: #fff;
  background:
    radial-gradient(circle at 22% 120%, rgba(255,114,84,.33), transparent 38%),
    linear-gradient(115deg, #191d22, #252a31);
  box-shadow: 0 12px 30px rgba(25,29,35,.14);
}
.realtime-hero-copy { padding: clamp(17px, 2vh, 25px); display: flex; flex-direction: column; justify-content: center; }
.live-label { color: #b7bdc6; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.live-label i { width: 7px; height: 7px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #70dc98; box-shadow: 0 0 0 5px rgba(112,220,152,.1); }
.realtime-hero-copy > strong { margin: 7px 0 0; color: #ff866c; font-size: clamp(42px, 5vw, 70px); line-height: .92; letter-spacing: -.065em; }
.realtime-hero-copy h2 { max-width: 410px; margin: 6px 0; font-size: clamp(18px, 1.65vw, 25px); line-height: 1.08; letter-spacing: -.035em; }
.realtime-hero-copy p { margin: 0; color: #9299a3; font-size: 9px; }
.realtime-chart-wrap { min-width: 0; padding: 14px 19px 8px; display: flex; flex-direction: column; border-left: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); }
.realtime-chart-wrap > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.realtime-chart-wrap span { color: #b8bec7; font-size: 10px; font-weight: 700; }
.realtime-chart-wrap button { padding: 6px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; color: #d8dbe0; background: rgba(255,255,255,.05); font-size: 8px; cursor: pointer; }
.realtime-pulse-chart { flex: 1 1 auto; width: 100%; height: 0; min-height: 0; overflow: visible; }
.realtime-pulse-chart .pulse-grid line { stroke: rgba(255,255,255,.07); stroke-width: 1; }
.realtime-pulse-chart > polyline { fill: none; stroke: #ff7254; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.realtime-pulse-chart text { fill: #767e89; font-size: 8px; }
.realtime-kpis { min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.realtime-kpis article { min-width: 0; padding: 12px 16px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: 1fr 1fr; align-items: center; border: 1px solid #e5e3dd; border-radius: 15px; background: #fff; box-shadow: var(--shadow); }
.realtime-kpis span { color: #707782; font-size: 10px; font-weight: 750; }
.realtime-kpis strong { grid-row: 1 / 3; grid-column: 2; color: #1b2028; font-size: clamp(23px, 2.2vw, 32px); letter-spacing: -.045em; }
.realtime-kpis small { color: #9a9fa6; font-size: 8px; }
.realtime-main { min-height: 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(230px, .72fr) minmax(250px, .7fr); gap: 10px; }
.realtime-card { min-height: 0; overflow: hidden; padding: 13px 15px; border: 1px solid #e5e3dd; border-radius: 17px; background: #fff; box-shadow: var(--shadow); }
.realtime-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.realtime-card-head h3 { margin: 0 0 2px; color: #1b2028; font-size: 13px; }
.realtime-card-head p { margin: 0; color: #8a9099; font-size: 8px; }
.realtime-card-head > span { padding: 4px 7px; border-radius: 7px; color: #556068; background: #f0efeb; font-size: 7px; font-weight: 800; }
.live-list,
.location-list { height: calc(100% - 34px); min-height: 0; display: grid; margin-top: 5px; }
.live-list { grid-template-rows: repeat(7, 1fr); }
.location-list { grid-template-rows: repeat(6, 1fr); }
.live-list > div,
.location-list > div { min-height: 0; display: grid; align-items: center; border-top: 1px solid #eeece7; }
.live-list > div:first-child,
.location-list > div:first-child { border-top: 0; }
.live-list > div { grid-template-columns: minmax(105px, 1fr) minmax(65px, .8fr) 34px; gap: 8px; }
.live-list section,
.location-list section { min-width: 0; }
.live-list b,
.live-list small,
.location-list b,
.location-list small { display: block; }
.live-list b { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.live-list small,
.location-list small { margin-top: 2px; color: #969ca5; font-size: 7px; }
.live-list > div > i,
.location-list > div > i { height: 5px; overflow: hidden; border-radius: 99px; background: #eeece8; }
.live-list > div > i em,
.location-list > div > i em { display: block; height: 100%; border-radius: inherit; background: #ff7254; }
.live-list > div > strong,
.location-list > div > strong { color: #252a31; font-size: 9px; text-align: right; }
.location-list > div { grid-template-columns: 21px minmax(80px, .9fr) minmax(45px, .65fr) 26px; gap: 6px; }
.location-list > div > span { color: #a0a5ac; font-size: 7px; font-weight: 800; }
.location-list b { font-size: 8px; }
.realtime-side { min-height: 0; display: grid; grid-template-rows: 1fr 1.12fr; gap: 10px; }
.device-live-body { height: calc(100% - 30px); display: grid; grid-template-columns: 82px 1fr; gap: 12px; align-items: center; }
.device-donut { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; position: relative; }
.device-donut::after { content: ""; position: absolute; inset: 11px; border-radius: 50%; background: #fff; }
.device-donut span { position: relative; z-index: 1; font-size: 11px; font-weight: 850; }
.device-live-body > div:last-child p { margin: 7px 0; display: grid; grid-template-columns: 7px 1fr auto; gap: 6px; align-items: center; font-size: 8px; }
.device-live-body p i { width: 6px; height: 6px; border-radius: 50%; }
.device-live-body p span { color: #69717b; text-transform: capitalize; }
.live-events > div:last-child { height: calc(100% - 30px); display: grid; grid-template-rows: repeat(5, 1fr); }
.live-events > div:last-child p { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #eeece7; font-size: 8px; }
.live-events > div:last-child p:first-child { border-top: 0; }
.live-events p span { overflow: hidden; color: #59616b; text-overflow: ellipsis; white-space: nowrap; }
.empty-live { margin: auto !important; color: #8c929a; font-size: 9px; }

@media (max-width: 900px) {
  .single-dashboard .app-main { margin-left: 0; }
}

@media (max-width: 800px) {
  .single-dashboard .app-main { grid-template-rows: 76px 62px minmax(0, 1fr); }
  .single-dashboard.is-realtime .app-main { grid-template-rows: 76px minmax(0, 1fr); }
  .single-dashboard .topbar { height: 62px; margin: 8px 10px 0; padding: 0 12px; }
  .single-dashboard .filterbar { min-height: 52px; margin: 0 10px 4px; padding: 5px 8px; }
  .single-dashboard .content { padding: 8px 10px 10px; }
  .realtime-grid { grid-template-rows: minmax(185px, .9fr) minmax(115px, .48fr) minmax(0, 1.55fr); gap: 7px; }
  .realtime-hero { grid-template-columns: 1fr; }
  .realtime-hero-copy { padding: 14px 15px 4px; }
  .realtime-hero-copy > strong { font-size: 42px; }
  .realtime-hero-copy h2 { margin: 3px 0; font-size: 17px; }
  .realtime-hero-copy p { font-size: 7px; }
  .realtime-chart-wrap { padding: 4px 14px 7px; border-left: 0; }
  .realtime-chart-wrap > div { display: none; }
  .realtime-kpis { gap: 6px; }
  .realtime-kpis article { padding: 9px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
  .realtime-kpis strong { order: 2; margin: 4px 0 2px; font-size: 21px; }
  .realtime-kpis small { order: 3; font-size: 7px; }
  .realtime-main { grid-template-columns: 1fr; }
  .live-locations, .realtime-side { display: none; }
  .realtime-card { padding: 10px; border-radius: 14px; }
  .live-list b { font-size: 9px; }
}

/* Larger, consistent reading scale — 11px minimum */
.single-dashboard .eyebrow,
.single-dashboard .overline,
.period-filter-head > span,
.single-dashboard .filterbar label > span,
.date-field > span,
.period-presets button,
.single-dashboard .demo-pill,
.single-dashboard .filter-reset,
.single-dashboard .date-range-control > button,
.single-dashboard .sync-status small,
.sidebar-foot strong,
.sidebar-foot > div:last-child span,
.command-kpi em,
.command-kpi > small,
.command-panel-head p,
.head-badge,
.legend span,
.command-signals p,
.command-signals em,
.compact-funnel span,
.compact-funnel small,
.compact-channels span,
.compact-channels small,
.screen-head .overline,
.screen-head p,
.period-context,
.property-live-top small,
.property-live-top em,
.property-live-card > span,
.metric-row small,
.metric-head > span,
.decision-list p,
.decision-list em,
.rank-number,
.rank-list small,
.outcome-callout span,
.outcome-callout small,
.source-live-card small,
.source-live-card > em,
.health-checks p,
.health-checks em,
.definition-compact p,
.live-label,
.realtime-hero-copy p,
.realtime-chart-wrap span,
.realtime-chart-wrap button,
.realtime-kpis span,
.realtime-kpis small,
.realtime-card-head p,
.realtime-card-head > span,
.live-list b,
.live-list small,
.location-list b,
.location-list small,
.location-list > div > span,
.live-list > div > strong,
.location-list > div > strong,
.device-live-body > div:last-child p,
.live-events > div:last-child p,
.empty-live {
  font-size: 11px;
}
.single-dashboard .page-identity h1 { font-size: 22px; }
.nav-item { font-size: 13px; }
.brand-block span { font-size: 11px; }
.single-dashboard .sync-status span { font-size: 11px; }
.single-dashboard .filterbar select,
.period-filter .date-range-control input { font-size: 12px; }
.command-copy p { font-size: 13px; }
.command-confidence span,
.command-confidence small { font-size: 11px; }
.command-kpi span { font-size: 12px; }
.command-kpi > strong { font-size: clamp(24px, 2vw, 32px); }
.command-panel-head h3,
.realtime-card-head h3 { font-size: 15px; }
.command-signals b,
.decision-list b,
.health-checks b,
.definition-compact b { font-size: 12px; }
.compact-funnel strong { font-size: clamp(18px, 1.55vw, 24px); }
.compact-channels strong,
.metric-row > span,
.metric-row b,
.rank-list b,
.rank-list strong { font-size: 11px; }
.screen-head h2 { font-size: clamp(22px, 1.85vw, 28px); }
.property-live-top b,
.source-live-card b { font-size: 12px; }
.property-live-card > strong { font-size: clamp(23px, 1.9vw, 30px); }
.outcome-callout strong { font-size: clamp(25px, 2.25vw, 34px); }
.realtime-hero-copy h2 { font-size: clamp(21px, 1.8vw, 28px); }
.realtime-hero-copy > strong { font-size: clamp(48px, 5.3vw, 74px); }
.realtime-kpis strong { font-size: clamp(26px, 2.35vw, 35px); }
.device-donut span { font-size: 13px; }
.realtime-pulse-chart text,
.axis-label { font-size: 11px; }
.realtime-hero-copy { padding: 13px 18px; }
.realtime-hero-copy > strong { font-size: clamp(48px, 4.8vw, 64px); }
.realtime-hero-copy h2 { margin-block: 4px; font-size: clamp(20px, 1.65vw, 25px); }

/* Spacing and clipping audit */
.command-grid {
  grid-template-rows: minmax(100px, .92fr) minmax(82px, .72fr) minmax(206px, 2.05fr) minmax(140px, 1.2fr);
}
.command-copy { padding-top: 14px; padding-bottom: 14px; }
.command-copy h2 { margin-block: 5px; line-height: 1.18; }
.command-copy p,
.command-confidence small { line-height: 1.4; }
.command-signals { height: calc(100% - 44px); }
.command-signals > div { padding-block: 5px; }
.screen-kpis .command-kpi > strong { overflow: visible; line-height: 1.18; }
.live-list,
.location-list { height: calc(100% - 42px); }
.device-live-body,
.live-events > div:last-child { height: calc(100% - 38px); }
.live-list b {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.22;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.live-list small,
.location-list small,
.health-checks p,
.decision-list p,
.definition-compact p { line-height: 1.35; }
.realtime-card-head { min-height: 34px; }
.realtime-card-head h3 { line-height: 1.2; }
.realtime-card-head p { margin-top: 3px; line-height: 1.3; }
.metric-row > span,
.rank-list > div,
.health-checks > div,
.definition-compact > div,
.decision-list > div { line-height: 1.3; }
.command-bottom .compact-funnel { margin-top: 6px; }

@media (max-width: 1100px) and (min-width: 801px) {
  .single-dashboard .sidebar {
    inset: 10px auto 10px 10px;
    width: 254px;
    transform: translateX(calc(-100% - 20px));
    transition: transform .2s ease;
    box-shadow: 18px 0 45px rgba(7,27,46,.18);
  }
  .single-dashboard .sidebar.open { transform: none; }
  .single-dashboard .app-main { margin-left: 0; }
  .single-dashboard .menu-button { display: grid; place-items: center; }
}

@media (max-height: 740px) and (min-width: 801px) {
  .realtime-hero-copy { padding-block: 10px; }
  .realtime-hero-copy > strong { font-size: 54px; }
  .realtime-hero-copy h2 { font-size: 22px; }
  .property-live-card { padding-block: 8px; }
}

@media (max-width: 800px) {
  .command-grid { grid-template-rows: minmax(125px, .85fr) minmax(178px, 1.2fr) minmax(145px, 1fr) minmax(140px, .95fr); }
  .command-copy { padding-block: 12px; }
  .command-copy h2 { margin-block: 4px; }
  .compact-funnel > div:not(:last-child)::after { display: none; }
  .live-list,
  .location-list { height: calc(100% - 40px); }
}

@media (max-width: 800px) {
  .single-dashboard .topbar { height: 66px; }
  .single-dashboard .page-identity h1 { line-height: 1.15; }
  .single-dashboard .page-identity h1 { font-size: 19px; }
  .screen-head h2 { font-size: 18px; }
  .command-copy h2 { font-size: 20px; }
  .command-kpi span { font-size: 11px; }
  .command-kpi em,
  .command-kpi > small { font-size: 10px; }
  .command-kpi > strong { font-size: 22px; }
  .command-panel-head h3,
  .realtime-card-head h3 { font-size: 14px; }
  .command-panel-head p,
  .realtime-card-head p { font-size: 10px; }
  .compact-funnel span,
  .compact-funnel small { font-size: 9px; }
  .compact-funnel strong { font-size: 15px; }
  .property-live-top b,
  .source-live-card b { font-size: 11px; }
  .property-live-top small,
  .source-live-card small { font-size: 9px; }
  .property-live-card { padding-block: 5px; }
  .property-live-card > strong { margin-top: 2px; font-size: 18px; line-height: 1.05; }
  .property-live-card > span { font-size: 9px; }
  .metric-row > span,
  .metric-row b,
  .rank-list b,
  .rank-list strong { font-size: 10px; }
  .metric-row small,
  .metric-head > span,
  .rank-number { font-size: 9px; }
  .health-checks b { font-size: 10px; }
  .health-checks p,
  .health-checks em { font-size: 9px; }
  .realtime-hero-copy h2 { font-size: 19px; }
  .realtime-hero-copy > strong { font-size: 46px; }
  .realtime-kpis span { font-size: 10px; }
  .realtime-kpis small { font-size: 9px; }
  .live-list b,
  .live-list small,
  .live-list > div > strong { font-size: 10px; }
}

/* Full-funnel journey redesign */
.journey-dashboard {
  --journey-bg: #f3f1ec;
  --journey-card: #fff;
  --journey-ink: #191b20;
  --journey-muted: #797c82;
  --journey-line: #e4e1da;
  --journey-dark: #15171b;
  --journey-coral: #ef684f;
  --journey-gold: #d5a65c;
  --journey-indigo: #626fd4;
  min-height: 100vh;
  color: var(--journey-ink);
  background: var(--journey-bg);
}
.journey-dashboard .app-shell { min-height: 100vh; }
.journey-dashboard .app-main { margin-left: 0; }
.journey-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 82px;
  display: grid;
  grid-template-columns: 255px 1fr 315px;
  align-items: center;
  gap: 20px;
  padding: 0 30px;
  color: #fff;
  background: rgba(21,23,27,.98);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}
.journey-brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.journey-brand > span { width: 41px; height: 41px; display: grid; place-items: center; border-radius: 11px; color: #1b1a17; background: linear-gradient(135deg, #e0bb78, #bd8841); font-family: Georgia, serif; font-size: 19px; font-weight: 800; }
.journey-brand b, .journey-brand small { display: block; }
.journey-brand b { font-size: 14px; letter-spacing: .13em; }
.journey-brand small { margin-top: 3px; color: #747a83; font-size: 8px; font-weight: 750; letter-spacing: .16em; }
.journey-nav { justify-self: center; height: 100%; display: flex; align-items: stretch; gap: 5px; }
.journey-topbar .nav-item {
  width: auto;
  min-width: 118px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  padding: 0 20px;
  border: 0;
  border-radius: 0;
  color: #858b94;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.journey-topbar .nav-item:hover { color: #fff; background: transparent; transform: none; }
.journey-topbar .nav-item.active { color: #fff; background: transparent; box-shadow: none; }
.journey-topbar .nav-item.active::after { content: ""; position: absolute; inset: auto 20px 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--journey-coral); }
.journey-topbar .nav-item span { font-size: 12px; font-weight: 750; }
.journey-topbar .nav-item small { color: #5f656e; font-size: 8px; font-weight: 600; }
.journey-topbar .nav-item.active small { color: #9ba0a8; }
.journey-top-actions { justify-self: end; display: flex; align-items: center; gap: 13px; }
.journey-top-actions .sync-status { min-width: 210px; color: #fff; background: transparent; border: 0; box-shadow: none; }
.journey-top-actions .sync-status > i { background: #55bd8e; }
.journey-top-actions .sync-status span { font-size: 10px; }
.journey-top-actions .sync-status small { color: #686e77; font-size: 8px; }
.journey-top-actions .icon-button { width: 39px; height: 39px; border: 1px solid #33363d; border-radius: 11px; color: #a9adb4; background: #202228; box-shadow: none; }
.journey-top-actions .icon-button:hover { color: #fff; background: #292c32; }

.journey-dashboard .filterbar {
  position: sticky;
  top: 82px;
  z-index: 40;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 9px max(30px, calc((100vw - 1480px) / 2));
  border: 0;
  border-bottom: 1px solid var(--journey-line);
  background: rgba(248,247,244,.95);
  box-shadow: 0 6px 18px rgba(30,28,24,.03);
  backdrop-filter: blur(16px);
}
.filter-context { min-width: 215px; display: grid; gap: 3px; }
.filter-context span { color: #aaa8a2; font-size: 7px; font-weight: 850; letter-spacing: .14em; }
.filter-context b { color: #36383d; font-size: 10px; }
.journey-dashboard .period-presets { display: flex; gap: 4px; padding: 3px; border-radius: 9px; background: #eeece7; }
.journey-dashboard .period-presets button { padding: 6px 10px; border: 0; border-radius: 7px; color: #8c8b87; background: transparent; font-size: 8px; font-weight: 780; cursor: pointer; }
.journey-dashboard .period-presets button:hover, .journey-dashboard .period-presets button.active { color: #fff; background: #24262b; box-shadow: 0 3px 8px rgba(20,22,26,.12); }
.journey-dashboard .date-range-control { margin-left: auto; min-height: 44px; display: flex; align-items: center; gap: 11px; padding: 4px 5px 4px 12px; border: 1px solid #dfdcd5; border-radius: 10px; background: #fff; box-shadow: none; }
.journey-dashboard .date-field { display: grid; gap: 0; }
.journey-dashboard .date-field span { color: #aaa9a5; font-size: 6px; font-weight: 850; letter-spacing: .10em; text-transform: uppercase; }
.journey-dashboard .date-field input { width: 107px; padding: 0; border: 0; color: #393b40; background: transparent; font-size: 10px; font-weight: 700; }
.journey-dashboard .date-range-control > i { color: #aaa8a2; font-size: 11px; font-style: normal; }
.journey-dashboard #applyDateFilter { height: 33px; padding: 0 14px; border: 0; border-radius: 8px; color: #fff; background: var(--journey-coral); font-size: 9px; font-weight: 760; cursor: pointer; }

.journey-dashboard .content { width: 100%; max-width: 1540px; margin: 0 auto; padding: 28px 30px 58px; }
.journey-dashboard .view { display: none; }
.journey-dashboard .view.active { display: block; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.journey-page { display: grid; gap: 16px; }
.journey-hero {
  min-height: 222px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 8%, rgba(213,166,92,.25), transparent 30%),
    radial-gradient(circle at 62% 100%, rgba(98,111,212,.16), transparent 32%),
    #17191e;
  box-shadow: 0 18px 45px rgba(20,21,24,.13);
}
.journey-hero::after { content: ""; position: absolute; width: 290px; height: 290px; right: 24%; bottom: -250px; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.journey-hero-copy { position: relative; z-index: 2; padding: 35px 39px; }
.journey-eyebrow { color: #e4b86f; font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.journey-hero h2 { margin: 10px 0 10px; font-size: clamp(35px, 4vw, 55px); line-height: .98; letter-spacing: -.055em; }
.journey-hero-copy p { max-width: 590px; margin: 0; color: #9297a0; font-size: 11px; line-height: 1.55; }
.journey-hero-outcome { position: relative; z-index: 2; padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.09); }
.journey-hero-outcome > span { color: #868c95; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.journey-hero-outcome > strong { margin: 10px 0 0; font-size: 58px; line-height: .95; letter-spacing: -.06em; }
.journey-hero-outcome > b { margin-top: 7px; color: #e1b26c; font-size: 12px; }
.journey-hero-outcome > small { max-width: 300px; margin-top: 13px; color: #797f88; font-size: 8px; line-height: 1.55; }

.journey-status-strip { min-height: 67px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 0; align-items: center; padding: 9px 12px; border: 1px solid var(--journey-line); border-radius: 14px; background: #fff; }
.journey-status-strip > div { min-width: 0; display: grid; grid-template-columns: 30px 1fr 7px; gap: 9px; align-items: center; padding: 4px 13px; border-right: 1px solid #eeece7; }
.journey-status-strip > div > i { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #555fbd; background: #f0f1fb; font-size: 9px; font-style: normal; font-weight: 850; }
.journey-status-strip > div:nth-child(1) > i { color: #b7624f; background: #fff0ec; }
.journey-status-strip b, .journey-status-strip small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.journey-status-strip b { color: #393c42; font-size: 9px; }
.journey-status-strip small { margin-top: 2px; color: #999c9f; font-size: 7px; }
.journey-status-strip > div > em { width: 6px; height: 6px; border-radius: 50%; background: #50b884; box-shadow: 0 0 0 3px rgba(80,184,132,.10); }
.journey-status-strip > div.pending > i { color: #8f8d88; background: #f2f1ee; }
.journey-status-strip > div.pending > em { background: #d4a654; box-shadow: 0 0 0 3px rgba(212,166,84,.10); }
.journey-status-strip time { padding: 0 10px 0 18px; color: #aaa8a3; font-size: 7px; white-space: nowrap; }

.journey-flow { min-width: 0; display: grid; grid-template-columns: minmax(190px, 1fr) 70px minmax(190px, 1fr) 70px minmax(190px, 1fr) 70px minmax(190px, 1fr); align-items: stretch; gap: 0; }
.journey-phase { min-width: 0; overflow: hidden; border: 1px solid var(--journey-line); border-radius: 15px; background: #fff; box-shadow: 0 5px 16px rgba(35,32,27,.025); }
.journey-phase > header { min-height: 58px; display: grid; grid-template-columns: 30px 1fr auto; gap: 9px; align-items: center; padding: 10px 13px; border-bottom: 1px solid #eeece7; }
.journey-phase > header > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #a55241; background: #fff0ec; font-size: 8px; font-weight: 850; }
.journey-phase > header b, .journey-phase > header small { display: block; }
.journey-phase > header b { color: #303339; font-size: 11px; }
.journey-phase > header small { margin-top: 2px; color: #9c9fa3; font-size: 7px; }
.journey-phase > header em { padding: 4px 6px; border-radius: 5px; color: #348a65; background: #edf8f2; font-size: 6px; font-style: normal; font-weight: 850; letter-spacing: .08em; }
.ga-phase > header > span { color: #5362bf; background: #eff0fb; }
.intent-phase > header > span { color: #9c712f; background: #faf2e5; }
.outcome-phase > header > span { color: #7e7c78; background: #f1f0ed; }
.outcome-phase > header em { color: #a16f27; background: #fff5e6; }
.journey-phase-body { min-height: 172px; display: grid; align-content: center; gap: 8px; padding: 15px; }
.journey-phase-body.compact { gap: 7px; }
.journey-mini-step { padding: 10px 11px; border: 1px solid #ebe9e4; border-radius: 10px; background: #fafaf8; }
.journey-mini-step span, .journey-mini-step strong, .journey-mini-step small { display: block; }
.journey-mini-step span { color: #8d9095; font-size: 7px; font-weight: 750; }
.journey-mini-step strong { margin: 4px 0 3px; color: #24272c; font-size: 20px; line-height: 1; letter-spacing: -.035em; }
.journey-mini-step small { color: #a5a7ab; font-size: 6.5px; }
.journey-mini-step.signal { border-color: #f0dccf; background: #fff8f4; }
.journey-mini-step.signal strong { color: #b45c47; }
.journey-mini-step.pending { border-style: dashed; background: #faf9f7; }
.journey-mini-step.pending strong { color: #aaa8a3; }
.journey-down { display: flex; align-items: center; gap: 7px; color: #9b9da1; font-size: 6.5px; }
.journey-down::before, .journey-down::after { content: ""; height: 1px; flex: 1; background: #eceae5; }
.journey-down.muted span { color: #aaa8a3; }
.journey-bridge { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; text-align: center; }
.journey-bridge::before { content: ""; width: 100%; height: 1px; position: absolute; top: 50%; left: 0; background: #d6d2ca; }
.journey-bridge::after { content: "›"; width: 17px; height: 17px; position: absolute; top: calc(50% - 9px); right: -1px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #aaa69e; font-size: 13px; }
.journey-bridge span, .journey-bridge small { position: relative; z-index: 2; padding: 2px 5px; background: var(--journey-bg); }
.journey-bridge span { color: #75787d; font-size: 6.5px; font-weight: 800; }
.journey-bridge small { color: #a3a19c; font-size: 5.8px; }
.journey-bridge.uncertain::before, .journey-bridge.pending::before { background: repeating-linear-gradient(90deg, #d5d1ca 0 5px, transparent 5px 9px); }
.journey-bridge.pending::after { background: #d5a654; }

.journey-lower-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: 14px; }
.journey-card { min-width: 0; padding: 20px; border: 1px solid var(--journey-line); border-radius: 15px; background: #fff; }
.journey-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.journey-card-head span { color: #a7a49e; font-size: 6.5px; font-weight: 850; letter-spacing: .14em; }
.journey-card-head h3 { margin: 5px 0 3px; font-size: 14px; }
.journey-card-head p { margin: 0; color: #9a9c9f; font-size: 8px; }
.journey-card-head > em { padding: 5px 7px; border: 1px solid #e8e5df; border-radius: 6px; color: #8f8d89; background: #faf9f7; font-size: 7px; font-style: normal; font-weight: 750; white-space: nowrap; }
.identity-chain { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; }
.identity-chain > div { min-width: 0; padding: 11px; border-radius: 10px; background: #f7f6f2; }
.identity-chain span, .identity-chain b, .identity-chain small { display: block; }
.identity-chain span { color: #aaa7a1; font-size: 6px; font-weight: 800; text-transform: uppercase; }
.identity-chain b { margin-top: 4px; color: #34373c; font-size: 9px; }
.identity-chain small { margin-top: 2px; color: #9b9da0; font-size: 6.5px; }
.identity-chain > i { color: #bbb8b2; font-size: 12px; font-style: normal; }
.journey-actions { display: grid; gap: 9px; }
.journey-actions > div { display: grid; grid-template-columns: 27px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid #eeece7; }
.journey-actions > div:first-child { border-top: 0; padding-top: 0; }
.journey-actions > div > i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: #a25443; background: #fff0ec; font-size: 8px; font-style: normal; font-weight: 850; }
.journey-actions b { color: #3a3d42; font-size: 8.5px; }
.journey-actions p { margin: 3px 0 0; color: #9b9da0; font-size: 7px; line-height: 1.45; }
.journey-actions > div > span { color: #a27a3d; font-size: 6.5px; font-weight: 750; white-space: nowrap; }
.journey-trust-note { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 11px 15px; border: 1px solid #e8dfcd; border-radius: 11px; color: #726a5d; background: #fbf7ee; }
.journey-trust-note b { color: #675841; font-size: 8px; }
.journey-trust-note p { margin: 0; font-size: 7px; line-height: 1.5; }
.journey-trust-note span { color: #9b7950; font-size: 6.5px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.journey-loading { min-height: 560px; display: grid; place-items: center; align-content: center; gap: 9px; text-align: center; }
.journey-loading > span { display: flex; gap: 6px; }
.journey-loading > span i { width: 8px; height: 8px; border-radius: 50%; background: var(--journey-coral); animation: loadingDot 1s infinite alternate; }
.journey-loading > span i:nth-child(2) { animation-delay: .2s; }
.journey-loading > span i:nth-child(3) { animation-delay: .4s; }
.journey-loading h2 { margin: 7px 0 0; font-size: 20px; }
.journey-loading p { margin: 0; color: #97999d; font-size: 9px; }
@keyframes loadingDot { to { opacity: .25; transform: translateY(-4px); } }

/* Source drill-down pages inside the journey shell */
.journey-dashboard .clean-page { gap: 17px; }
.journey-dashboard .clean-page-head { padding: 7px 2px 8px; }
.journey-dashboard .clean-page-head h2 { font-size: clamp(28px, 2.8vw, 40px); }
.journey-dashboard .clean-kpi-grid > article, .journey-dashboard .clean-card { border-color: var(--journey-line); border-radius: 14px; box-shadow: none; }
.journey-dashboard .clean-trend-bars > i { background: linear-gradient(180deg, #6c78d7, #aeb5e4); }

@media (max-width: 1180px) {
  .journey-topbar { grid-template-columns: 220px 1fr auto; padding-inline: 20px; }
  .journey-top-actions .sync-status { display: none; }
  .journey-flow { overflow-x: auto; grid-template-columns: 230px 70px 230px 70px 230px 70px 230px; padding-bottom: 7px; }
  .journey-lower-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .journey-topbar { height: auto; min-height: 72px; grid-template-columns: 1fr auto; grid-template-areas: "brand actions" "nav nav"; gap: 0; padding: 10px 14px 0; }
  .journey-brand { grid-area: brand; }
  .journey-top-actions { grid-area: actions; }
  .journey-nav { grid-area: nav; width: 100%; height: 48px; justify-content: stretch; margin-top: 8px; overflow-x: auto; }
  .journey-topbar .nav-item { min-width: 0; flex: 1; padding-inline: 10px; align-items: center; }
  .journey-topbar .nav-item small { display: none; }
  .journey-dashboard .filterbar { position: static; min-height: 0; display: grid; grid-template-columns: 1fr; gap: 9px; padding: 10px 14px; }
  .filter-context { display: none; }
  .journey-dashboard .period-presets { justify-content: stretch; }
  .journey-dashboard .period-presets button { flex: 1; }
  .journey-dashboard .date-range-control { width: 100%; margin-left: 0; }
  .journey-dashboard .date-field { flex: 1; }
  .journey-dashboard .date-field input { width: 100%; }
  .journey-dashboard .content { padding: 16px 12px 40px; }
  .journey-hero { grid-template-columns: 1fr; }
  .journey-hero-copy { padding: 28px 24px; }
  .journey-hero-outcome { padding: 22px 24px; border-top: 1px solid rgba(255,255,255,.08); border-left: 0; }
  .journey-hero-outcome > strong { font-size: 44px; }
  .journey-status-strip { grid-template-columns: 1fr 1fr; }
  .journey-status-strip > div { border-bottom: 1px solid #eeece7; }
  .journey-status-strip time { grid-column: 1 / -1; padding: 9px 12px 2px; text-align: center; }
  .identity-chain { grid-template-columns: 1fr; }
  .identity-chain > i { transform: rotate(90deg); justify-self: center; }
  .journey-trust-note { grid-template-columns: 1fr; gap: 5px; }
  .journey-trust-note span { white-space: normal; }
}

/* Pulse workspace revamp — spacious, legible, full-funnel first */
.pulse-dashboard {
  --pulse-bg: #f5f6f8;
  --pulse-card: #ffffff;
  --pulse-ink: #17191d;
  --pulse-muted: #6f7580;
  --pulse-line: #e5e7eb;
  --pulse-sidebar: #16181d;
  --pulse-coral: #ec654f;
  --pulse-blue: #536bd7;
  --pulse-green: #238562;
  --pulse-gold: #b98539;
  min-height: 100vh;
  color: var(--pulse-ink);
  background: var(--pulse-bg);
}
.pulse-dashboard *, .pulse-dashboard *::before, .pulse-dashboard *::after { box-sizing: border-box; }
.pulse-dashboard .app-shell { min-height: 100vh; }
.pulse-dashboard .sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 60;
  width: 248px;
  display: flex;
  flex-direction: column;
  padding: 28px 18px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 15% 0, rgba(212, 163, 91, .12), transparent 24%),
    var(--pulse-sidebar);
  border: 0;
  border-radius: 0;
  overflow-y: auto;
  transition: width .24s ease, padding .24s ease, transform .2s ease;
}
.pulse-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 9px 28px;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.09);
  text-decoration: none;
}
.pulse-brand > span {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(145deg, rgba(21,90,255,.16), rgba(0,210,224,.08));
  box-shadow: 0 9px 24px rgba(4,83,237,.22);
}
.pulse-brand > span img { width: 39px; height: 39px; display: block; }
.pulse-brand b, .pulse-brand small { display: block; }
.pulse-brand b { font-size: 17px; letter-spacing: -.02em; }
.pulse-brand small { margin-top: 4px; color: #8c9199; font-size: 11px; font-weight: 600; letter-spacing: .03em; }
.pulse-nav-label { margin: 29px 11px 11px; color: #646a73; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.pulse-dashboard .primary-nav { display: grid; gap: 8px; }
.pulse-dashboard .nav-item {
  width: 100%;
  min-height: 68px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 2px;
  color: #9a9fa8;
  background: transparent;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transform: none;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.pulse-dashboard .nav-item:hover { color: #fff; border-color: #353941; background: #21242a; transform: none; }
.pulse-dashboard .nav-item.active { color: #fff; border-color: #3a3e46; background: linear-gradient(90deg, rgba(236,101,79,.12), #282b31 42%); box-shadow: inset 3px 0 0 var(--pulse-coral); }
.pulse-dashboard .nav-item > i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 2px;
  color: #ed8a76;
  background: rgba(236,101,79,.12);
  font-style: normal;
}
.pulse-dashboard .nav-item > i.ga { color: #e0a955; background: rgba(224,169,85,.12); }
.pulse-dashboard .nav-item > i.meta { color: #8293f0; background: rgba(83,107,215,.16); }
.pulse-dashboard .nav-item svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pulse-dashboard .nav-item span, .pulse-dashboard .nav-item b, .pulse-dashboard .nav-item small { min-width: 0; display: block; }
.pulse-dashboard .nav-item b { font-size: 13px; font-weight: 720; }
.pulse-dashboard .nav-item small { margin-top: 4px; color: #707680; font-size: 10px; font-weight: 550; }
.pulse-dashboard .nav-item.active small { color: #9297a0; }
.sidebar-collapse {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: auto;
  padding: 9px 11px;
  border: 1px solid #30343b;
  border-radius: 2px;
  color: #9ba1aa;
  background: #202329;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.sidebar-collapse:hover { color: #fff; border-color: #444952; background: #282b31; }
.pulse-dashboard .nav-item:focus-visible, .sidebar-collapse:focus-visible { outline: 2px solid var(--pulse-coral); outline-offset: 2px; }
.sidebar-collapse svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: square; stroke-linejoin: miter; transition: transform .24s ease; }
.pulse-sidebar-foot { margin-top: 12px; padding: 18px 10px 2px; border-top: 1px solid rgba(255,255,255,.09); }
.pulse-sidebar-foot > div { display: flex; align-items: center; gap: 11px; }
.pulse-sidebar-foot > div > i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #52b889; box-shadow: 0 0 0 4px rgba(82,184,137,.12); }
.pulse-sidebar-foot span, .pulse-sidebar-foot b, .pulse-sidebar-foot small { display: block; }
.pulse-sidebar-foot b { color: #dfe2e6; font-size: 11px; }
.pulse-sidebar-foot small { margin-top: 3px; color: #737984; font-size: 9px; }
.pulse-sidebar-foot p { margin: 13px 0 0; color: #656b74; font-size: 9px; line-height: 1.55; }

.pulse-dashboard .app-main { min-width: 0; margin-left: 248px; transition: margin-left .24s ease; }
.pulse-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 86px;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0 34px;
  border-bottom: 1px solid var(--pulse-line);
  background: rgba(255,255,255,.95);
  box-shadow: 0 5px 22px rgba(24,27,32,.035);
  backdrop-filter: blur(18px);
}
.pulse-dashboard .menu-button { display: none; }
.pulse-title { min-width: 0; }
.pulse-title span { display: block; color: #a0a4ab; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.pulse-title h1 { margin: 5px 0 0; color: var(--pulse-ink); font-size: 22px; line-height: 1; letter-spacing: -.025em; }
.pulse-top-actions { margin-left: auto; display: flex; align-items: center; gap: 13px; }
.pulse-dashboard .sync-status { display: flex; align-items: center; gap: 10px; padding-right: 4px; color: var(--pulse-ink); border: 0; background: transparent; box-shadow: none; }
.pulse-dashboard .sync-status > i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #48ad7e; box-shadow: 0 0 0 4px rgba(72,173,126,.10); }
.pulse-dashboard .sync-status.error > i { background: #cf6c58; box-shadow: 0 0 0 4px rgba(207,108,88,.10); }
.pulse-dashboard .sync-status.error span { color: #9d493a; }
.pulse-dashboard .sync-status span, .pulse-dashboard .sync-status small { display: block; }
.pulse-dashboard .sync-status span { font-size: 11px; font-weight: 750; }
.pulse-dashboard .sync-status small { margin-top: 3px; color: #969aa1; font-size: 9px; }
.pulse-dashboard .icon-button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pulse-line);
  border-radius: 12px;
  color: #555b64;
  background: #fff;
  box-shadow: none;
  font-size: 20px;
  cursor: pointer;
}
.pulse-dashboard .icon-button:hover { color: #17191d; border-color: #cfd2d7; background: #fafafa; }

.period-picker { position: relative; }
.period-trigger {
  min-width: 246px;
  height: 52px;
  display: grid;
  grid-template-columns: 21px 1fr 16px;
  gap: 11px;
  align-items: center;
  padding: 6px 13px;
  border: 1px solid #dfe2e7;
  border-radius: 13px;
  color: #31353b;
  background: #fff;
  box-shadow: 0 3px 10px rgba(24,27,32,.035);
  text-align: left;
  cursor: pointer;
}
.period-trigger:hover, .period-trigger[aria-expanded="true"] { border-color: #bfc5ce; box-shadow: 0 6px 18px rgba(24,27,32,.07); }
.period-trigger svg { width: 20px; height: 20px; fill: none; stroke: #6e7480; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.period-trigger span, .period-trigger small, .period-trigger b { min-width: 0; display: block; }
.period-trigger small { color: #9a9ea5; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.period-trigger b { margin-top: 3px; overflow: hidden; font-size: 11px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.period-trigger > i { color: #9a9ea5; font-size: 14px; font-style: normal; text-align: center; transition: transform .18s ease; }
.period-trigger[aria-expanded="true"] > i { transform: rotate(180deg); }
.period-popover[hidden] { display: none; }
.period-popover {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 100;
  width: min(700px, calc(100vw - 32px));
  padding: 22px;
  border: 1px solid #e0e2e6;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(19,22,27,.16);
}
.period-popover::before { content: ""; position: absolute; top: -6px; right: 30px; width: 11px; height: 11px; border-top: 1px solid #e0e2e6; border-left: 1px solid #e0e2e6; background: #fff; transform: rotate(45deg); }
.period-popover-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.period-popover-head span, .period-popover-head b { display: block; }
.period-popover-head span { color: var(--pulse-coral); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.period-popover-head b { margin-top: 5px; font-size: 16px; }
.period-popover-head button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #858a92; background: #f4f5f7; font-size: 20px; cursor: pointer; }
.period-popover .period-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 18px; padding: 0; background: transparent; }
.period-popover .period-presets button { min-height: 37px; padding: 0 10px; border: 1px solid #e5e7eb; border-radius: 9px; color: #626872; background: #fafafa; font-size: 10px; font-weight: 720; cursor: pointer; }
.period-popover .period-presets button:hover { color: #25282d; border-color: #cfd3d9; background: #f5f6f8; }
.period-popover .period-presets button.active { color: #fff; border-color: #272a30; background: #272a30; }
.period-date-grid { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); gap: 8px; align-items: center; margin-top: 14px; }
.period-popover .date-field { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label meta" "value meta"; gap: 4px 10px; padding: 11px 13px; border: 1px solid #dfe2e7; border-radius: 11px; color: #292d33; background: #fafafa; font-family: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.period-popover .date-field:hover { border-color: #c7ccd3; background: #fff; }
.period-popover .date-field.active { border-color: var(--pulse-coral); background: #fff8f5; box-shadow: 0 0 0 3px rgba(236,101,79,.10); }
.period-popover .date-field span { grid-area: label; color: #92979f; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.period-popover .date-field b { grid-area: value; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.period-popover .date-field i { grid-area: meta; align-self: center; padding: 5px 7px; border-radius: 7px; color: #9398a0; background: #eceef1; font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.period-popover .date-field.active i { color: #b94e3b; background: #ffe8e1; }
.date-range-arrow { color: #a3a7ad; font-size: 15px; text-align: center; }
.calendar-toolbar { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; gap: 10px; margin-top: 17px; }
.calendar-toolbar span { color: #292d33; font-size: 12px; font-weight: 780; text-align: center; }
.calendar-toolbar button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #e1e3e7; border-radius: 9px; color: #5d636d; background: #fafafa; font-size: 15px; cursor: pointer; }
.calendar-toolbar button:hover:not(:disabled) { color: #22262c; border-color: #cdd1d7; background: #f3f4f6; }
.calendar-toolbar button:disabled { color: #c8cbd0; cursor: not-allowed; opacity: .55; }
.calendar-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 12px; padding: 16px; border: 1px solid #e7e8eb; border-radius: 14px; background: #fbfbfa; }
.calendar-month { min-width: 0; }
.calendar-month h4 { margin: 0 0 12px; color: #33373d; font-size: 12px; text-align: center; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-weekdays { margin-bottom: 5px; }
.calendar-weekdays span { padding: 5px 0; color: #a2a6ad; font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; }
.calendar-day { position: relative; min-width: 0; height: 34px; display: grid; place-items: center; padding: 0; border: 0; color: #484d55; background: transparent; font-family: inherit; font-size: 10px; font-weight: 680; cursor: pointer; }
.calendar-day span { position: relative; z-index: 2; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; }
.calendar-day:not(.empty):not(:disabled):hover span { color: #22262c; background: #eceef1; }
.calendar-day.today span { box-shadow: inset 0 0 0 1px #bfc4cb; }
.calendar-day.in-range { background: #ffece6; }
.calendar-day.in-range.preview { background: #f7efec; }
.calendar-day.range-start, .calendar-day.range-end { color: #fff; background: linear-gradient(90deg, transparent 50%, #ffece6 50%); }
.calendar-day.range-end { background: linear-gradient(90deg, #ffece6 50%, transparent 50%); }
.calendar-day.range-start.range-end { background: transparent; }
.calendar-day.range-start span, .calendar-day.range-end span, .calendar-day.range-start:hover span, .calendar-day.range-end:hover span { color: #fff; background: var(--pulse-coral); box-shadow: 0 5px 12px rgba(236,101,79,.24); }
.calendar-day:disabled { color: #c9ccd1; cursor: not-allowed; }
.calendar-day.empty { cursor: default; }
.calendar-legend { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 2px 0; color: #7f848c; font-size: 9px; }
.calendar-legend > span { display: flex; align-items: center; gap: 7px; }
.calendar-legend > span i { width: 20px; height: 7px; border-radius: 99px; background: #ffe4dc; }
.calendar-legend small { color: #a05a49; font-size: 9px; font-weight: 720; }
.period-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; padding-top: 15px; border-top: 1px solid #ececef; }
.period-actions > div { min-width: 0; }
.period-actions > div span, .period-actions > div b { display: block; }
.period-actions > div span { color: #9a9ea5; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.period-actions > div b { margin-top: 4px; overflow: hidden; color: #363a41; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.period-apply { width: auto; min-width: 138px; height: 43px; margin-top: 0; padding: 0 18px; border: 0; border-radius: 10px; color: #fff; background: var(--pulse-coral); font-size: 11px; font-weight: 800; cursor: pointer; box-shadow: 0 8px 18px rgba(236,101,79,.18); }
.period-apply:hover { background: #df5944; }

.pulse-dashboard .content { width: 100%; max-width: 1580px; margin: 0 auto; padding: 34px 34px 60px; }
.pulse-dashboard .view { display: none; }
.pulse-dashboard .view.active { display: block; }
.pulse-journey-page { display: grid; gap: 22px; }
.pulse-page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 3px 2px 7px; }
.pulse-page-intro > div:first-child { max-width: 780px; }
.pulse-page-intro > div:first-child > span { color: var(--pulse-coral); font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.pulse-page-intro h2 { margin: 8px 0 9px; font-size: clamp(32px, 3vw, 46px); line-height: 1.04; letter-spacing: -.05em; }
.pulse-page-intro p { max-width: 720px; margin: 0; color: var(--pulse-muted); font-size: 14px; line-height: 1.58; }
.pulse-intro-status { min-width: 248px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #dde9e3; border-radius: 13px; background: #f7fbf9; }
.pulse-intro-status > i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #47aa7c; box-shadow: 0 0 0 4px rgba(71,170,124,.10); }
.pulse-intro-status span, .pulse-intro-status b, .pulse-intro-status small { display: block; }
.pulse-intro-status b { color: #286f51; font-size: 11px; }
.pulse-intro-status small { margin-top: 3px; color: #778980; font-size: 9px; }

.pulse-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.pulse-summary-grid > article { min-width: 0; padding: 20px 21px 19px; border: 1px solid var(--pulse-line); border-radius: 15px; background: #fff; box-shadow: 0 5px 18px rgba(24,27,32,.028); }
.pulse-summary-grid span, .pulse-summary-grid strong, .pulse-summary-grid small { display: block; }
.pulse-summary-grid span { color: #686e78; font-size: 11px; font-weight: 720; }
.pulse-summary-grid strong { margin: 14px 0 8px; overflow: hidden; color: #191b20; font-size: clamp(26px, 2.2vw, 36px); line-height: 1; letter-spacing: -.045em; text-overflow: ellipsis; }
.pulse-summary-grid small { color: #93979e; font-size: 10px; }
.pulse-summary-grid > article.highlight { border-color: #e7dfd3; background: linear-gradient(145deg, #fff, #fcf8f2); }
.pulse-summary-grid > article.highlight strong { color: #9c682e; }
.pulse-summary-grid > article.pending { border-style: dashed; background: #fafafa; }
.pulse-summary-grid > article.pending strong { color: #a5a9af; }
.pulse-summary-grid > article.sentec-production { position: relative; border-style: solid; border-color: #d8e8df; background: linear-gradient(145deg, #fff, #f3faf6); }
.pulse-summary-grid > article.sentec-production strong { color: #277956; }
.pulse-source-badge { width: fit-content; margin: -2px 0 10px; padding: 5px 7px; border-radius: 6px; color: #277956; background: #e6f5ed; font-size: 7.5px; font-weight: 850; letter-spacing: .08em; }
.pulse-systems > div.sentec-row { margin-top: 4px; padding-inline: 10px; border: 1px solid #dbe9e2; border-radius: 11px; background: #f5fbf8; }
.pulse-systems > div.sentec-row > i { color: #277956; background: #e4f3eb; }

.pulse-funnel-card, .pulse-panel { min-width: 0; border: 1px solid var(--pulse-line); border-radius: 17px; background: #fff; box-shadow: 0 6px 22px rgba(24,27,32,.03); }
.pulse-funnel-card { padding: 24px; overflow: hidden; }
.pulse-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pulse-card-head > div > span { color: #a0a4aa; font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.pulse-card-head h3 { margin: 6px 0 4px; font-size: 18px; letter-spacing: -.02em; }
.pulse-card-head p { margin: 0; color: #858a92; font-size: 11px; line-height: 1.5; }
.pulse-card-head time, .pulse-card-head > em { padding: 6px 9px; border: 1px solid #e5e7eb; border-radius: 8px; color: #7f848c; background: #fafafa; font-size: 9px; font-style: normal; font-weight: 700; white-space: nowrap; }
.pulse-funnel-groups { min-width: 1040px; display: grid; grid-template-columns: 2fr 5fr 1fr; gap: 10px; margin-top: 22px; }
.pulse-funnel-groups span { padding: 8px 12px; border-radius: 8px; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.pulse-funnel-groups .media { color: #4056bb; background: #f0f2fc; }
.pulse-funnel-groups .website { color: #2d7d5c; background: #eef8f3; }
.pulse-funnel-groups .booking { color: #9c6a2f; background: #fbf4e8; }
.pulse-funnel-track {
  min-width: 1040px;
  display: grid;
  grid-template-columns: minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr) 28px minmax(100px,1fr);
  align-items: stretch;
  margin-top: 10px;
  overflow: visible;
}
.pulse-stage { min-width: 0; min-height: 154px; display: flex; flex-direction: column; padding: 15px 14px; border: 1px solid #e4e6ea; border-radius: 13px; background: #fff; }
.pulse-stage header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pulse-stage header span { color: #848992; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pulse-stage header i { width: 7px; height: 7px; border-radius: 50%; background: #4cad7e; box-shadow: 0 0 0 3px rgba(76,173,126,.10); }
.pulse-stage > b { margin-top: 15px; color: #5f6570; font-size: 10px; font-weight: 700; }
.pulse-stage > strong { margin-top: 8px; color: #1e2126; font-size: clamp(19px, 1.7vw, 27px); line-height: 1; letter-spacing: -.04em; }
.pulse-stage > small { margin-top: auto; padding-top: 11px; color: #9a9ea5; font-size: 8.5px; line-height: 1.35; }
.pulse-stage.meta { border-color: #dfe3f4; background: #fafbff; }
.pulse-stage.meta header span { color: #5264be; }
.pulse-stage.ga4 { border-color: #dceae4; background: #fbfefc; }
.pulse-stage.ga4 header span { color: #2f8060; }
.pulse-stage.signal { border-color: #eadfce; background: #fdfaf5; }
.pulse-stage.signal header span { color: #a57436; }
.pulse-stage.sentec { border-color: #cfe5da; background: #f4fbf7; box-shadow: inset 0 3px 0 #3c9a70; }
.pulse-stage.sentec header span { color: #277956; }
.pulse-stage.sentec > strong { color: #277956; }
.pulse-stage.pending { border-style: dashed; background: #fafafa; }
.pulse-stage.pending header i { background: #d2a04d; box-shadow: 0 0 0 3px rgba(210,160,77,.11); }
.pulse-stage.pending > strong { color: #a9adb3; }
.pulse-funnel-arrow { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.pulse-funnel-arrow span { max-width: 56px; margin-bottom: 6px; color: #8e939b; font-size: 7px; font-weight: 700; line-height: 1.25; }
.pulse-funnel-arrow i { width: 100%; display: flex; align-items: center; color: #aeb2b8; font-size: 13px; font-style: normal; }
.pulse-funnel-arrow i::before { content: ""; height: 1px; flex: 1; background: #d8dbe0; }
.pulse-funnel-foot { display: grid; grid-template-columns: 8px 1fr auto; gap: 11px; align-items: center; margin-top: 17px; padding: 12px 14px; border-radius: 10px; color: #777d85; background: #f5f6f8; }
.pulse-funnel-foot > i { width: 8px; height: 8px; border-radius: 50%; background: #d19a49; }
.pulse-funnel-foot p { margin: 0; font-size: 9px; line-height: 1.5; }
.pulse-funnel-foot span { color: #8c7656; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }

.pulse-detail-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr); gap: 15px; }
.pulse-panel { padding: 23px; }
.pulse-systems { display: grid; gap: 0; margin-top: 17px; }
.pulse-systems > div { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid #eceef1; }
.pulse-systems > div:first-child { border-top: 0; }
.pulse-systems > div > i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #777d86; background: #f1f2f4; font-size: 11px; font-style: normal; font-weight: 850; }
.pulse-systems > div > i.meta { color: #5063c1; background: #f0f2fc; }
.pulse-systems > div > i.ga4 { color: #a26c2d; background: #fbf3e7; }
.pulse-systems section b, .pulse-systems section small { display: block; }
.pulse-systems section b { color: #353940; font-size: 11px; }
.pulse-systems section small { margin-top: 3px; color: #92969d; font-size: 9px; }
.pulse-systems > div > span { padding: 5px 7px; border-radius: 6px; color: #99703a; background: #fbf3e7; font-size: 8px; font-weight: 800; }
.pulse-systems > div > span.live { color: #2d7d5c; background: #ecf7f2; }
.pulse-identity-line { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; margin: 21px 0 17px; }
.pulse-identity-line b { min-width: 0; padding: 10px 8px; border: 1px solid #e6e8eb; border-radius: 9px; color: #575d66; background: #fafafa; font-size: 9px; text-align: center; }
.pulse-identity-line i { color: #b0b4ba; font-size: 12px; font-style: normal; }
.pulse-actions { display: grid; gap: 9px; }
.pulse-actions > div { display: grid; grid-template-columns: 31px 1fr; gap: 11px; align-items: start; padding: 12px 13px; border-radius: 11px; background: #f7f7f8; }
.pulse-actions > div > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #b75845; background: #fff0ec; font-size: 9px; font-weight: 850; }
.pulse-actions b { color: #393d43; font-size: 11px; }
.pulse-actions p { margin: 4px 0 0; color: #858a92; font-size: 9px; line-height: 1.45; }
.pulse-loading { min-height: 560px; display: grid; place-items: center; align-content: center; gap: 10px; }
.pulse-loading > span { width: 34px; height: 34px; border: 3px solid #eceef1; border-top-color: var(--pulse-coral); border-radius: 50%; animation: pulseSpin .8s linear infinite; }
.pulse-loading h2 { margin: 6px 0 0; font-size: 20px; }
.pulse-loading p { margin: 0; color: #858a92; font-size: 11px; }
@keyframes pulseSpin { to { transform: rotate(360deg); } }

/* GA4 and Meta drill-downs within the new shell */
.pulse-dashboard .clean-page { gap: 22px; }
.pulse-dashboard .clean-page-head { padding: 4px 2px 7px; }
.pulse-dashboard .clean-page-head h2 { font-size: clamp(32px, 3vw, 45px); }
.pulse-dashboard .clean-page-head p { font-size: 13px; }
.pulse-dashboard .clean-kpi-grid > article { padding: 20px; border-color: var(--pulse-line); border-radius: 15px; box-shadow: 0 5px 18px rgba(24,27,32,.028); }
.pulse-dashboard .clean-kpi-grid span { font-size: 11px; }
.pulse-dashboard .clean-kpi-grid strong { font-size: clamp(27px, 2.25vw, 36px); }
.pulse-dashboard .clean-kpi-grid small { font-size: 10px; }
.pulse-dashboard .clean-card { padding: 23px; border-color: var(--pulse-line); border-radius: 17px; box-shadow: 0 6px 22px rgba(24,27,32,.03); }
.pulse-dashboard .clean-card-head h3 { font-size: 17px; }
.pulse-dashboard .clean-card-head p { font-size: 10px; }

@media (max-width: 1320px) {
  .pulse-dashboard .sync-status { display: none; }
  .pulse-funnel-card { overflow-x: auto; }
  .pulse-funnel-foot { min-width: 1040px; }
  .pulse-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .pulse-dashboard .sidebar { width: 220px; }
  .pulse-dashboard .app-main { margin-left: 220px; }
  .pulse-topbar { padding-inline: 24px; }
  .pulse-dashboard .content { padding-inline: 24px; }
  .pulse-summary-grid, .pulse-dashboard .clean-kpi-grid { grid-template-columns: 1fr 1fr; }
  .pulse-page-intro, .pulse-dashboard .clean-page-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .pulse-dashboard .sidebar { width: 248px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: 18px 0 45px rgba(12,14,18,.2); }
  .pulse-dashboard .sidebar.open { transform: translateX(0); }
  .sidebar-collapse { display: none; }
  .pulse-dashboard .app-main { margin-left: 0; }
  .pulse-topbar { height: auto; min-height: 78px; gap: 12px; padding: 12px 15px; }
  .pulse-dashboard .menu-button { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--pulse-line); border-radius: 10px; color: #535862; background: #fff; }
  .pulse-title span { display: none; }
  .pulse-title h1 { margin: 0; font-size: 18px; }
  .pulse-top-actions { gap: 8px; }
  .pulse-dashboard .icon-button { display: none; }
  .period-trigger { min-width: 0; width: 49px; grid-template-columns: 1fr; padding: 0; place-items: center; }
  .period-trigger > span, .period-trigger > i { display: none; }
  .period-popover { position: fixed; inset: 84px 12px auto; width: auto; max-height: calc(100vh - 98px); padding: 17px; overflow-y: auto; }
  .period-popover::before { display: none; }
  .period-popover .period-presets { grid-template-columns: 1fr 1fr; }
  .period-date-grid { grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr); }
  .period-popover .date-field { padding: 9px 10px; }
  .period-popover .date-field i { display: none; }
  .calendar-months { grid-template-columns: 1fr; padding: 12px; }
  .calendar-month h4 { display: none; }
  .calendar-day { height: 38px; }
  .calendar-day span { width: 34px; height: 34px; }
  .calendar-legend > span { display: none; }
  .period-actions { position: sticky; bottom: -17px; z-index: 4; align-items: stretch; flex-direction: column; gap: 10px; padding: 12px 0 17px; background: #fff; box-shadow: 0 -10px 24px rgba(255,255,255,.94); }
  .period-actions > div { display: none; }
  .period-apply { width: 100%; }
  .pulse-dashboard .content { padding: 24px 14px 44px; }
  .pulse-page-intro h2, .pulse-dashboard .clean-page-head h2 { font-size: 31px; }
  .pulse-summary-grid, .pulse-dashboard .clean-kpi-grid { grid-template-columns: 1fr; }
  .pulse-intro-status { width: 100%; }
  .pulse-detail-grid { grid-template-columns: 1fr; }
  .pulse-panel { padding: 18px; }
  .pulse-identity-line { grid-template-columns: 1fr; }
  .pulse-identity-line i { justify-self: center; transform: rotate(90deg); }
  .pulse-funnel-foot span { display: none; }
  .pulse-dashboard .clean-grid-main, .pulse-dashboard .clean-grid-detail, .pulse-dashboard .clean-grid-meta { grid-template-columns: 1fr; }
}

/* Final typography floor — keep all active dashboard copy at 11px or larger */
.pulse-dashboard small { font-size: 11px; line-height: 1.4; }
.pulse-dashboard .pulse-brand small,
.pulse-dashboard .nav-item small,
.pulse-sidebar-foot small,
.pulse-sidebar-foot p,
.pulse-nav-label,
.pulse-title span,
.pulse-dashboard .sync-status small,
.period-trigger small,
.period-popover-head span,
.period-popover .date-field span,
.pulse-page-intro > div:first-child > span,
.pulse-card-head > div > span,
.pulse-card-head time,
.pulse-card-head > em,
.pulse-funnel-groups span,
.pulse-stage header span,
.pulse-funnel-arrow span,
.pulse-funnel-foot p,
.pulse-funnel-foot span,
.pulse-source-badge,
.pulse-systems > div > span,
.pulse-identity-line b,
.pulse-actions p { font-size: 11px; }
.pulse-dashboard .sync-status span,
.period-trigger b,
.period-popover .period-presets button,
.period-popover .date-field input,
.period-apply,
.pulse-intro-status b,
.pulse-summary-grid span,
.pulse-summary-grid small,
.pulse-card-head p,
.pulse-stage > b,
.pulse-stage > small,
.pulse-systems section small,
.pulse-actions b { font-size: 12px; }
.pulse-dashboard .nav-item b,
.pulse-systems section b { font-size: 13px; }
.pulse-actions > div > span,
.pulse-dashboard .clean-property-icon,
.pulse-dashboard .clean-no-data,
.pulse-dashboard .clean-empty-state button,
.pulse-dashboard .toast { font-size: 11px; }
.pulse-summary-grid > article { min-height: 152px; padding: 23px; }
.pulse-summary-grid strong { font-size: clamp(30px, 2.35vw, 39px); }
.pulse-stage { min-height: 184px; padding: 18px 14px; }
.pulse-stage > strong { font-size: clamp(23px, 1.85vw, 30px); }
.pulse-panel { padding: 26px; }
.pulse-systems > div { min-height: 70px; }

.pulse-dashboard .clean-kicker,
.pulse-dashboard .clean-connection small,
.pulse-dashboard .clean-kpi-grid em,
.pulse-dashboard .clean-card-head > span,
.pulse-dashboard .clean-trend-bars > i span,
.pulse-dashboard .clean-funnel-list section small,
.pulse-dashboard .clean-channel-list > div > span,
.pulse-dashboard .clean-channel-list small,
.pulse-dashboard .clean-property-list section small,
.pulse-dashboard .clean-property-list > div > strong small,
.pulse-dashboard .clean-property-list > div > em,
.pulse-dashboard .clean-note,
.pulse-dashboard .clean-note b,
.pulse-dashboard .clean-spend-list > div > span,
.pulse-dashboard .clean-spend-list section small,
.pulse-dashboard .clean-outcome-value small,
.pulse-dashboard .clean-efficiency-grid span,
.pulse-dashboard .clean-table-wrap th,
.pulse-dashboard .clean-table-wrap td small { font-size: 11px; }
.pulse-dashboard .clean-connection b,
.pulse-dashboard .clean-kpi-grid span,
.pulse-dashboard .clean-kpi-grid small,
.pulse-dashboard .clean-card-head p,
.pulse-dashboard .clean-funnel-list section b,
.pulse-dashboard .clean-funnel-list > div > strong,
.pulse-dashboard .clean-channel-list section b,
.pulse-dashboard .clean-channel-list strong,
.pulse-dashboard .clean-property-list section b,
.pulse-dashboard .clean-property-list > div > strong,
.pulse-dashboard .clean-spend-list section b,
.pulse-dashboard .clean-spend-list > div > strong,
.pulse-dashboard .clean-outcome-value span,
.pulse-dashboard .clean-table-wrap td,
.pulse-dashboard .clean-table-wrap td b { font-size: 12px; }
.pulse-dashboard .clean-page-head p { font-size: 14px; }
.pulse-dashboard .clean-card-head h3 { font-size: 19px; }
.pulse-dashboard .clean-card { padding: 26px; }
.pulse-dashboard .clean-funnel-list > div { min-height: 49px; }
.pulse-dashboard .clean-channel-list > div { min-height: 53px; }
.pulse-dashboard .clean-property-list > div { min-height: 70px; }
.pulse-dashboard .clean-spend-list > div { min-height: 68px; }
.pulse-dashboard .clean-table-wrap table { min-width: 1160px; }
.pulse-dashboard .clean-table-wrap th { padding-block: 12px; }
.pulse-dashboard .clean-table-wrap td { padding-block: 15px; }

@media (max-width: 760px) {
  .pulse-summary-grid > article { min-height: 140px; }
}

/* Spacious two-row journey flow for the larger type scale */
.pulse-funnel-card { overflow: visible; }
.pulse-funnel-track {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 22px;
  overflow: visible;
}
.pulse-flow-block { min-width: 0; }
.pulse-flow-groups { display: grid; gap: 10px; margin-bottom: 10px; }
.pulse-flow-groups.first { grid-template-columns: 1fr 1fr; }
.pulse-flow-groups.second { grid-template-columns: 3fr 1fr; }
.pulse-flow-groups span {
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .07em;
  text-align: center;
  text-transform: uppercase;
}
.pulse-flow-groups.first span:first-child { color: #4056bb; background: #f0f2fc; }
.pulse-flow-groups.first span:last-child { color: #2d7d5c; background: #eef8f3; }
.pulse-flow-groups.second span:first-child { color: #8e632b; background: #fbf4e8; }
.pulse-flow-groups.second span:last-child { color: #277956; background: #e8f6ee; }
.pulse-funnel-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 82px minmax(150px, 1fr) 82px minmax(150px, 1fr) 82px minmax(150px, 1fr);
  align-items: stretch;
}
.pulse-funnel-row .pulse-stage { min-height: 168px; }
.pulse-funnel-row .pulse-funnel-arrow { min-width: 0; padding: 0 8px; }
.pulse-funnel-row .pulse-funnel-arrow span { width: 100%; max-width: 82px; margin-bottom: 8px; font-size: 11px; line-height: 1.25; }
.pulse-row-bridge {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 13px auto;
  padding: 8px 14px;
  border: 1px solid #e1e4e8;
  border-radius: 999px;
  color: #737982;
  background: #f7f8f9;
  font-size: 11px;
  font-weight: 750;
}
.pulse-row-bridge i { color: #3f916d; font-size: 16px; font-style: normal; }

@media (max-width: 1100px) and (min-width: 761px) {
  .pulse-funnel-card { overflow-x: auto; }
  .pulse-flow-block, .pulse-row-bridge, .pulse-funnel-foot { min-width: 820px; }
  .pulse-funnel-row { grid-template-columns: minmax(145px, 1fr) 70px minmax(145px, 1fr) 70px minmax(145px, 1fr) 70px minmax(145px, 1fr); }
}

@media (max-width: 760px) {
  .pulse-funnel-card { overflow: visible; }
  .pulse-funnel-track, .pulse-flow-block, .pulse-funnel-row, .pulse-funnel-foot { min-width: 0; }
  .pulse-flow-groups { display: none; }
  .pulse-funnel-row { grid-template-columns: 1fr; gap: 0; }
  .pulse-funnel-row .pulse-stage { min-height: 150px; }
  .pulse-funnel-row .pulse-funnel-arrow { min-height: 58px; padding: 7px 0; }
  .pulse-funnel-row .pulse-funnel-arrow span { width: auto; max-width: none; margin: 0 0 5px; }
  .pulse-funnel-row .pulse-funnel-arrow i { width: 38px; transform: rotate(90deg); }
  .pulse-row-bridge { width: 100%; justify-content: center; margin-block: 15px; border-radius: 10px; text-align: center; }
}

/* Desktop compact navigation: icon-only rail with the same editorial visual system. */
@media (min-width: 761px) {
  .pulse-dashboard.sidebar-compact .sidebar {
    width: 84px;
    padding: 28px 12px 20px;
    overflow-x: hidden;
  }
  .pulse-dashboard.sidebar-compact .app-main { margin-left: 84px; }
  .pulse-dashboard.sidebar-compact .pulse-brand {
    justify-content: center;
    padding-inline: 0;
  }
  .pulse-dashboard.sidebar-compact .pulse-brand > div,
  .pulse-dashboard.sidebar-compact .nav-item > span,
  .pulse-dashboard.sidebar-compact .sidebar-collapse > span,
  .pulse-dashboard.sidebar-compact .pulse-sidebar-foot span,
  .pulse-dashboard.sidebar-compact .pulse-sidebar-foot p { display: none; }
  .pulse-dashboard.sidebar-compact .pulse-nav-label {
    height: 1px;
    margin: 28px 4px 13px;
    overflow: hidden;
    color: transparent;
    background: rgba(255,255,255,.09);
  }
  .pulse-dashboard.sidebar-compact .primary-nav { gap: 9px; }
  .pulse-dashboard.sidebar-compact .nav-item {
    min-height: 52px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0;
    padding: 6px;
  }
  .pulse-dashboard.sidebar-compact .nav-item.active { box-shadow: inset 3px 0 0 var(--pulse-coral); }
  .pulse-dashboard.sidebar-compact .sidebar-collapse {
    justify-content: center;
    padding-inline: 0;
  }
  .pulse-dashboard.sidebar-compact .sidebar-collapse svg { transform: rotate(180deg); }
  .pulse-dashboard.sidebar-compact .pulse-sidebar-foot { padding-inline: 0; }
  .pulse-dashboard.sidebar-compact .pulse-sidebar-foot > div { justify-content: center; }
}

/* GA4 report tabs */
.ga4-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--pulse-line);
}
.ga4-tabs button {
  min-width: 0;
  min-height: 66px;
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-items: center;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 2px;
  color: #777d86;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.ga4-tabs button:hover { color: #24282f; border-color: #dedfdf; background: #f7f7f4; }
.ga4-tabs button.active { color: #1d2127; border-color: #d9dad9; background: #fff; box-shadow: inset 3px 0 0 #e0a955; }
.ga4-tabs button > span:first-child { grid-row: 1 / 3; color: #b0b3b8; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.ga4-tabs button b { align-self: end; font-size: 13px; }
.ga4-tabs button small { align-self: start; color: #9499a1; font-size: 11px; }
.ga4-tabs button:focus-visible { outline: 2px solid #e0a955; outline-offset: 2px; }
.ga4-tabs .ga4-live-dot {
  width: 9px;
  height: 9px;
  justify-self: center;
  border-radius: 50%;
  background: #49b581;
  box-shadow: 0 0 0 5px rgba(73,181,129,.12);
  animation: live-pulse 1.8s ease-out infinite;
}
.clean-connection.live > i { background: #49b581; box-shadow: 0 0 0 5px rgba(73,181,129,.11); }
.ga4-tab-panel { min-width: 0; }
.ga4-live-panel #realtimeContent { min-height: 760px; }
.ga4-live-panel .realtime-grid {
  height: auto;
  min-height: 760px;
  grid-template-rows: minmax(240px, auto) 100px minmax(420px, auto);
  gap: 14px;
}
.ga4-live-panel .realtime-hero,
.ga4-live-panel .realtime-kpis article,
.ga4-live-panel .realtime-card { border-radius: 3px; }
.ga4-live-panel .realtime-card { padding: 17px 18px; }
.ga4-live-panel .realtime-main { gap: 14px; }
.ga4-live-panel .live-list,
.ga4-live-panel .location-list { margin-top: 10px; }
.ga4-live-panel .realtime-side { gap: 14px; }

@media (max-width: 900px) {
  .ga4-live-panel #realtimeContent,
  .ga4-live-panel .realtime-grid { min-height: 0; }
  .ga4-live-panel .realtime-grid { grid-template-rows: auto auto auto; }
  .ga4-live-panel .realtime-main { grid-template-columns: 1fr; }
  .ga4-live-panel .live-locations,
  .ga4-live-panel .realtime-side { display: grid; }
  .ga4-live-panel .live-list,
  .ga4-live-panel .location-list { min-height: 330px; }
  .ga4-live-panel .realtime-side { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
}

@media (max-width: 620px) {
  .ga4-tabs { grid-template-columns: 1fr; }
  .ga4-tabs button { min-height: 58px; }
  .ga4-live-panel .realtime-kpis { grid-template-columns: 1fr; }
  .ga4-live-panel .realtime-side { grid-template-columns: 1fr; }
  .ga4-live-panel .device-live,
  .ga4-live-panel .live-events { min-height: 260px; }
}

/* GA4 card alignment and redesigned daily sessions card */
.ga4-page .clean-kpi-grid { grid-auto-rows: 1fr; }
.ga4-page .clean-kpi-grid > article {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ga4-page .clean-kpi-grid > article > small { margin-top: auto; }
.ga4-page .clean-grid-main,
.ga4-page .clean-grid-detail { align-items: stretch; }
.ga4-page .clean-grid-main > .clean-card,
.ga4-page .clean-grid-detail > .clean-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ga4-page .clean-grid-main > .clean-card > .clean-card-head,
.ga4-page .clean-grid-detail > .clean-card > .clean-card-head { min-height: 52px; }
.ga4-page .clean-grid-detail > .clean-card > .clean-table-wrap,
.ga4-page .clean-grid-detail > .clean-card > .clean-device-list,
.ga4-page .clean-grid-detail > .clean-card > .clean-property-list { flex: 1; }
.ga4-page .clean-funnel-card .clean-funnel-list {
  flex: 1;
  grid-template-rows: repeat(7, minmax(45px, 1fr));
}
@media (min-width: 1001px) {
  .ga4-page .clean-grid-detail > .clean-card {
    height: 540px;
    max-height: 540px;
    overflow: hidden;
  }
  .ga4-page .clean-grid-detail .clean-table-wrap { min-height: 0; overflow: auto; }
  .ga4-page .clean-grid-detail .clean-device-list,
  .ga4-page .clean-grid-detail .clean-property-list { grid-auto-rows: minmax(74px, 1fr); }
}
.clean-trend-card.redesigned {
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 22px;
  overflow: hidden;
  border-radius: 4px;
}
.clean-trend-card.redesigned .clean-card-head { margin-bottom: 14px; }
.daily-session-dashboard {
  min-height: 0;
  flex: 1;
  display: grid;
  grid-template-rows: auto minmax(230px, 1fr) auto;
  gap: 12px;
}
.daily-session-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #e6e6e2;
  border-radius: 3px;
  background: #f8f8f5;
}
.daily-session-stats section {
  min-width: 0;
  padding: 11px 14px;
  border-left: 1px solid #e4e4df;
}
.daily-session-stats section:first-child { border-left: 0; }
.daily-session-stats span,
.daily-session-stats strong,
.daily-session-stats small { display: block; }
.daily-session-stats span { color: #8a9098; font-size: 10px; font-weight: 720; }
.daily-session-stats strong { margin-top: 4px; color: #20242a; font-size: 20px; line-height: 1; letter-spacing: -.035em; }
.daily-session-stats small { margin-top: 3px; color: #a1a5ab; font-size: 10px; }
.daily-session-chart-shell {
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  padding: 11px 10px 3px;
  border: 1px solid #2c3037;
  border-radius: 3px;
  background:
    radial-gradient(circle at 50% 120%, rgba(255,112,83,.12), transparent 48%),
    #1d2025;
}
.daily-session-chart { width: 100%; height: 100%; min-height: 230px; display: block; overflow: visible; }
.daily-session-grid line { stroke: rgba(255,255,255,.08); stroke-width: 1; }
.daily-session-grid text,
.daily-session-date { fill: #777f89; font-size: 10px; font-weight: 650; }
.daily-session-average { stroke: #d9a75f; stroke-width: 1; stroke-dasharray: 6 6; opacity: .8; }
.daily-session-average-label { fill: #d9a75f; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.daily-session-area { fill: url(#dailySessionArea); }
.daily-session-line { fill: none; stroke: #ff765b; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.daily-session-dot { fill: #1d2025; stroke: #ff8a73; stroke-width: 2; transition: r .15s ease, fill .15s ease; }
.daily-session-dot:hover { r: 6; fill: #ff765b; }
.daily-session-dot.peak { fill: #ff765b; stroke: #ffd0c6; stroke-width: 3; }
.daily-session-peak-label rect { fill: #ff765b; }
.daily-session-peak-label text { fill: #fff; font-size: 9px; font-weight: 850; letter-spacing: .05em; }
.daily-session-insight {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border-left: 3px solid #ff765b;
  background: #f7f3ef;
}
.daily-session-insight span {
  padding: 4px 6px;
  color: #a14c3a;
  background: #fbe2dc;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.daily-session-insight p { margin: 0; color: #686e77; font-size: 11px; line-height: 1.4; }
.daily-session-empty { min-height: 280px; display: grid; place-items: center; color: #8d9299; }

@media (max-width: 620px) {
  .clean-trend-card.redesigned { padding: 17px; }
  .daily-session-stats { grid-template-columns: 1fr; }
  .daily-session-stats section { border-top: 1px solid #e4e4df; border-left: 0; }
  .daily-session-stats section:first-child { border-top: 0; }
  .daily-session-insight { grid-template-columns: 1fr; }
  .daily-session-chart-shell { overflow-x: auto; }
  .daily-session-chart { min-width: 620px; }
}
