/* Scoped identity for the private panel. No global theme changes. */
:is(#top, body) .fv-app.fv-dashboard {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 40% 0, #245ba2 0, transparent 48%), linear-gradient(145deg, #1c2f5a, #10418a 55%, #1c2f5a);
  color: #fff;
  border: 0;
  border-radius: 20px 0 20px 0;
  box-shadow: none;
  padding: clamp(20px, 3vw, 42px);
  padding-bottom: 42px;
  isolation: isolate;
  container-type: inline-size;
}
.fv-dashboard::before {
  content: '';
  position: absolute;
  right: -95px;
  top: -115px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: #734091;
  opacity: .65;
  pointer-events: none;
  z-index: -1;
}
.fv-dashboard::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 7px;
  background: linear-gradient(to right, #c8e600 0 33.33%, #139a98 33.33% 66.66%, #BEFF18 66.66% 83.33%, #FF133C 83.33%);
  pointer-events: none;
}
.fv-dashboard .fv-dash-brand { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.fv-dashboard .fv-dash-brand .fv-tec { position: relative; color: #fff; line-height: 1; padding-bottom: 14px; }
.fv-dashboard .fv-dash-brand .fv-tec::after { content: ''; position: absolute; left: 0; bottom: 0; width: 42px; height: 6px; background: #FF133C; border-radius: 6px 0 6px 0; }
.fv-dashboard .fv-dash-brand img { display: block; width: 210px; max-width: 50%; height: auto; }
:is(#top, body) .fv-app.fv-dashboard h1,
:is(#top, body) .fv-app.fv-dashboard h2 {
  color: #fff!important;
  text-transform: none!important;
  letter-spacing: normal!important;
}
:is(#top, body) .fv-app.fv-dashboard .fv-dash-header h1 { font-size: clamp(30px, 3vw, 44px); line-height: 1.15; }
:is(#top, body) .fv-app.fv-dashboard .fv-dash-header p,
:is(#top, body) .fv-app.fv-dashboard .fv-help,
:is(#top, body) .fv-app.fv-dashboard .fv-empty,
:is(#top, body) .fv-app.fv-dashboard .fv-visitor-nav span { color: #dbe7fb; }
:is(#top, body) .fv-app.fv-dashboard .fv-kicker { color: #deee68; letter-spacing: 2px; }
:is(#top, body) .fv-app.fv-dashboard .fv-live-badge { color: #e3f686; background: #c8e60016; white-space: normal; flex-shrink: 0; }
.fv-dashboard .fv-live-badge i { background: #BEFF18; flex-shrink: 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article,
:is(#top, body) .fv-app.fv-dashboard .fv-white-panel {
  background: #28518a;
  border: 0!important;
  outline: 0;
  box-shadow: none;
  border-radius: 16px 0 16px 0;
}
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar { margin-top: 24px; padding: 20px; }
:is(#top, body) .fv-app.fv-dashboard label { color: #fff; }
:is(#top, body) .fv-app.fv-dashboard input,
:is(#top, body) .fv-app.fv-dashboard select {
  background: #fff;
  color: #1c2f5a;
  border: 0;
  box-shadow: none;
}
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar label:first-child { min-width: min(220px, 100%); }
:is(#top, body) .fv-app.fv-dashboard .fv-primary { background: #BEFF18; color: #102b51!important; border: 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-primary:hover { background: #d1ff65; }
:is(#top, body) .fv-app.fv-dashboard .fv-secondary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #416aa0;
  color: #fff!important;
  border: 0;
  border-radius: 10px 0 10px 0;
  text-transform: none;
  line-height: 1.35;
  text-align: center;
}
:is(#top, body) .fv-app.fv-dashboard .fv-secondary:hover { background: #517db5; }
:is(#top, body) .fv-app.fv-dashboard .fv-secondary:disabled { opacity: .55; cursor: not-allowed; }
:is(#top, body) .fv-app.fv-dashboard :focus-visible { outline: 3px solid #e3f686; outline-offset: 3px; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article { padding: 24px; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article > span { color: #fff!important; font-size: 14px; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics strong { color: #deee68!important; font-size: clamp(26px, 2.5vw, 38px); line-height: 1.2; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics small { color: #e1eaff!important; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(2) { background: linear-gradient(120deg, #7bc8c8, #51bfd5); }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article.fv-highlight { background: linear-gradient(120deg, #BEFF18, #c8e600); }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) { background: #FF133C; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(2) > span,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(2) strong,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(2) small,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article.fv-highlight > span,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article.fv-highlight strong,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article.fv-highlight small { color: #102b51!important; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) > span,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) strong,
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) small { color: #fff!important; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) > span { font-size: 20px; font-weight: 700; line-height: 1.25; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) strong { font-weight: 700; }
:is(#top, body) .fv-app.fv-dashboard .fv-metrics article:nth-child(4) small { background: #a90d2c; padding: 6px 8px; border-radius: 6px; }
.fv-dashboard .fv-panel-grid > article:first-child h2::before { content: ''; display: inline-block; width: 9px; height: 19px; margin-right: 10px; vertical-align: -3px; background: #FF133C; border-radius: 6px 0 6px 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-action-row { border: 0; color: #fff; padding: 10px 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-action-row strong { color: #deee68!important; font-size: 17px; }
:is(#top, body) .fv-app.fv-dashboard .fv-chart-row { color: #e1eaff; }
:is(#top, body) .fv-app.fv-dashboard .fv-chart-row strong { color: #deee68!important; }
.fv-dashboard .fv-bar-track { background: #102b5166; height: 13px; border-radius: 8px; }
.fv-dashboard .fv-bar { background: linear-gradient(90deg, #7bc8c8, #45bfd5); border-radius: 8px; }
.fv-dashboard .fv-chart-row:last-child .fv-bar { background: #BEFF18; }
:is(#top, body) .fv-app.fv-dashboard .fv-message { color: #e1eaff; }
:is(#top, body) .fv-app.fv-dashboard .fv-message.fv-error { background: #8f1739; padding: 12px; border-radius: 6px; color: #fff!important; }
:is(#top, body) .fv-app.fv-dashboard table { background: transparent!important; color: #fff; border: 0!important; margin: 12px 0; }
:is(#top, body) .fv-app.fv-dashboard th,
:is(#top, body) .fv-app.fv-dashboard td { border: 0!important; background: transparent!important; color: #fff!important; line-height: 1.5; }
:is(#top, body) .fv-app.fv-dashboard thead tr { background: #1c3f72!important; }
:is(#top, body) .fv-app.fv-dashboard th { color: #dbe7fb!important; }
:is(#top, body) .fv-app.fv-dashboard tbody tr { background: transparent!important; }
:is(#top, body) .fv-app.fv-dashboard tbody tr:nth-child(even) { background: #ffffff09!important; }
:is(#top, body) .fv-app.fv-dashboard .fv-table-scroll { border-radius: 8px; scrollbar-color: #86b6d3 #1c3f72; }
/* Apply the campaign accents to all three detail/people sections as well. */
:is(#top, body) .fv-app.fv-dashboard :is(.fv-programs-panel, .fv-downloads-panel, .fv-visitors-panel) > h2 {
  background: #FF133C;
  color: #fff!important;
  padding: 12px 16px;
  border: 0;
  border-radius: 12px 0 12px 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 18px;
}
:is(#top, body) .fv-app.fv-dashboard .fv-downloads-panel > h2 {
  background: #BEFF18;
  color: #102b51!important;
}
:is(#top, body) .fv-app.fv-dashboard :is([data-fv-details-export], [data-fv-download-refresh], [data-fv-visitors-refresh]) {
  background: #BEFF18;
  color: #102b51!important;
  font-weight: 600;
}
:is(#top, body) .fv-app.fv-dashboard :is([data-fv-details-export], [data-fv-download-refresh], [data-fv-visitors-refresh]):hover { background: #d1ff65; }
:is(#top, body) .fv-app.fv-dashboard :is([data-fv-download-next], [data-fv-visitors-next]) { background: #BEFF18; color: #102b51!important; }
:is(#top, body) .fv-app.fv-dashboard :is([data-fv-download-next], [data-fv-visitors-next]):hover { background: #d1ff65; }
:is(#top, body) .fv-app.fv-dashboard [data-fv-breakdown] td:last-child { color: #BEFF18!important; font-weight: 600; }
@media (max-width: 1000px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-dash-header { flex-wrap: wrap; gap: 4px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics article { padding: 20px; }
}
@media (max-width: 700px) {
  :is(#top, body) .fv-app.fv-dashboard { padding: 20px 16px 32px; }
  .fv-dashboard .fv-dash-brand { margin-bottom: 24px; }
  .fv-dashboard .fv-dash-brand img { width: 155px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar { padding: 16px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar label { min-width: 0; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics article { padding: 18px 14px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics strong { font-size: 27px; overflow-wrap: normal; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics small { font-size: 11px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-white-panel { padding: 20px 16px; }
}
/* One layout and one control height, overriding theme/native input margins. */
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(140px, 160px)) 120px 130px;
  align-items: end;
  gap: 14px;
}
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar > label {
  display: grid;
  grid-template-rows: 20px 44px;
  gap: 8px;
  width: auto!important;
  min-width: 0!important;
  padding: 0!important;
  margin: 0!important;
  font-size: 14px;
  line-height: 20px;
}
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar :is(input, select) {
  display: block;
  width: 100%!important;
  min-width: 0!important;
  max-width: 100%;
  height: 44px!important;
  min-height: 44px!important;
  margin: 0!important;
  padding: 10px 12px!important;
  border: 0!important;
  font-size: 16px;
  line-height: normal;
}
:is(#top, body) .fv-app.fv-dashboard .fv-toolbar > :is(button, a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  width: 100%;
  height: 44px;
  min-height: 44px;
  margin: 0!important;
  padding: 10px 12px!important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
@media (max-width: 900px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar > label:first-child { grid-column: 1 / -1; }
}
@container (max-width: 825px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar > label:first-child { grid-column: 1 / -1; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar > label { grid-column: 1 / -1; }
}
@container (max-width: 360px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-toolbar > label { grid-column: 1 / -1; }
}
/* Keep complete values readable; labels are visual companions to real table headers. */
.fv-dashboard .fv-cell-label { display: none; }
.fv-dashboard .fv-cell-value { overflow-wrap: anywhere; }
.fv-dashboard .fv-stand-breakdown { display: grid; gap: 12px; margin: 16px 0 20px; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail {
  min-width: 0; margin: 0; padding: 0; background: #1c3f72;
  border: 0; border-radius: 12px 0 12px 0; box-shadow: none;
}
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 54px; margin: 0; padding: 16px 18px; cursor: pointer;
  list-style: none; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.45;
}
.fv-dashboard .fv-stand-detail > summary::-webkit-details-marker { display: none; }
.fv-dashboard .fv-stand-detail-icon {
  flex: 0 0 24px; text-align: center; color: #BEFF18;
  font-size: 26px; font-weight: 700; line-height: 1;
}
.fv-dashboard .fv-stand-detail-icon::before { content: '+'; }
.fv-dashboard .fv-stand-detail[open] > summary .fv-stand-detail-icon::before { content: '−'; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail > summary:hover { background: #315b91; border-radius: 12px 0 12px 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail > summary:focus-visible { outline-offset: -3px; }
.fv-dashboard .fv-stand-detail-name { min-width: 0; overflow-wrap: anywhere; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail-content { padding: 0 16px 16px; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail table { margin: 0; }
:is(#top, body) .fv-app.fv-dashboard .fv-stand-detail td:last-child .fv-cell-value { color: #BEFF18; font-weight: 600; }
.fv-dashboard .fv-metrics article { min-width: 0; }
.fv-dashboard .fv-metrics strong { word-break: normal; font-variant-numeric: tabular-nums; }
.fv-dashboard .fv-responsive-table { table-layout: auto; }
@container (max-width: 640px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-stand-detail > summary { padding: 14px; font-size: 15px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-stand-detail-content { padding: 0 12px 12px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-panel-grid { grid-template-columns: minmax(0, 1fr); }
  :is(#top, body) .fv-app.fv-dashboard .fv-table-scroll { overflow: visible; border-radius: 0; }
  :is(#top, body) .fv-app.fv-dashboard .fv-responsive-table {
    display: block; min-width: 0; max-width: 100%; width: 100%; margin: 18px 0;
  }
  .fv-dashboard .fv-responsive-table thead {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .fv-dashboard .fv-responsive-table tbody { display: grid; gap: 14px; width: 100%; }
  :is(#top, body) .fv-app.fv-dashboard .fv-responsive-table tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px;
    width: 100%; min-width: 0; padding: 16px;
    background: #1c3f72!important; border-radius: 12px 0 12px 0;
  }
  :is(#top, body) .fv-app.fv-dashboard .fv-responsive-table tbody td {
    display: block; width: 100%; min-width: 0; padding: 0; font-size: 14px;
    text-align: left!important; white-space: normal!important;
  }
  :is(#top, body) .fv-app.fv-dashboard .fv-cell-label {
    display: block; margin-bottom: 3px; color: #c7dbf5!important;
    font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: normal;
  }
  .fv-dashboard .fv-cell-value { display: block; min-width: 0; line-height: 1.5; }
  :is(#top, body) .fv-app.fv-dashboard .fv-visitor-nav {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  }
  .fv-dashboard .fv-visitor-nav > :is(button:first-child, span) { grid-column: 1 / -1; }
  :is(#top, body) .fv-app.fv-dashboard .fv-visitor-nav button { min-height: 44px; }
}
@container (max-width: 480px) {
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics article { padding: 20px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics strong { font-size: 30px; }
  :is(#top, body) .fv-app.fv-dashboard .fv-metrics small { font-size: 12px; }
}
