/* Website analytics only. Galaxy-inspired segmented controls, native Vue behavior.
   Reference and license: docs/analytics-dashboard-design.md. */
.console-shell .analytics-workbench {
  --analytics-surface: #fff;
  --analytics-ink: #242424;
  --analytics-muted: #64666b;
  --analytics-line: #e2e3e5;
  --analytics-soft: #f3f4f5;
  --analytics-yellow: #ffcc33;
  padding: 30px clamp(18px, 2.6vw, 44px) 48px;
  max-width: 1720px;
  background: transparent;
  color: var(--analytics-ink);
  font-variant-numeric: tabular-nums;
}
.analytics-workbench .dashboard-page-header {align-items: center; gap: 24px; margin-bottom: 26px;}
.analytics-workbench .analytics-eyebrow {display: flex; gap: 12px; align-items: center; color: var(--analytics-muted); font-size: 10px; font-weight: 650; letter-spacing: .13em; margin-bottom: 10px;}
.analytics-workbench .analytics-eyebrow span {letter-spacing: .04em; border-left: 1px solid var(--analytics-line); padding-left: 12px;}
.console-shell .analytics-workbench .dashboard-page-title {font-size: clamp(24px, 2.2vw, 32px); letter-spacing: -.035em; line-height: 1.3; font-weight: 700;}
.analytics-workbench .dashboard-page-subtitle {font-size: 13px; line-height: 1.7; margin-top: 8px; color: var(--analytics-muted);}
.analytics-workbench .analytics-refresh {display: inline-flex; gap: 9px; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 10px 18px; border-radius: 10px; background: var(--analytics-yellow); color: #242424; border: 1px solid #e9bb32; font-size: 13px; font-weight: 650; box-shadow: 0 2px 0 #00000009;}
.analytics-workbench .analytics-toolbar {display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 20px; margin-bottom: 18px; border-bottom: 1px solid var(--analytics-line); flex-wrap: wrap;}
.analytics-workbench .analytics-view-switch {display: inline-flex; gap: 4px; padding: 5px; border: 1px solid var(--analytics-line); border-radius: 12px; background: #e9eaec;}
.analytics-workbench .analytics-view-switch button {display: flex; gap: 8px; align-items: center; justify-content: center; min-height: 42px; padding: 9px 18px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #66686d; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600;}
.analytics-workbench .analytics-view-switch button.active {background: var(--analytics-surface); border-color: #d9dade; color: var(--analytics-ink); box-shadow: 0 2px 5px #00000008;}
.analytics-workbench .analytics-source-code {font-size: 10px; letter-spacing: .04em; font-weight: 750; opacity: .7;}
.analytics-workbench .analytics-view-switch button.active .analytics-source-code {background: var(--analytics-yellow); color: #242424; opacity: 1; padding: 3px 5px; border-radius: 4px;}
.analytics-workbench .analytics-period {display: flex; gap: 8px; align-items: center; flex-wrap: wrap; color: var(--analytics-ink); font-size: 12px;}
.analytics-workbench .analytics-period>span:last-child {color: var(--analytics-muted); margin-left: 6px;}
.analytics-workbench .analytics-period-dot {width: 6px; height: 6px; border-radius: 50%; background: #909399;}
.analytics-workbench .analytics-connection {flex-wrap: wrap; padding: 0 2px 8px;}
.analytics-workbench .analytics-connection .btn {margin-left: auto;}
.analytics-workbench :is(.model-card,.ops-card,.gsc-card,.gsc-kpi) {border: 1px solid var(--analytics-line); background: var(--analytics-surface); border-radius: 14px; box-shadow: 0 2px 3px #00000002; min-width: 0;}
.console-shell .analytics-workbench .dashboard-kpi-grid {display: grid; grid-template-columns: 1.15fr repeat(4,minmax(0,1fr)); gap: 14px; margin: 0 0 24px; align-items: stretch;}
.analytics-workbench .dashboard-kpi-grid>.model-card {grid-column: auto; padding: 22px; min-height: 158px; justify-content: space-between; cursor: pointer!important;}
.analytics-workbench .skeleton-line {height: 14px; width: 50%; flex-shrink: 0;}
.analytics-workbench .skeleton-line.w-30 {width: 30%;}
.analytics-workbench .dashboard-kpi-grid>.model-card>div:nth-child(2) {font-size: clamp(28px,2.4vw,40px)!important; font-weight: 650!important; letter-spacing: -.045em; line-height: 1.15;}
.analytics-workbench .dashboard-kpi-grid>.model-card:first-child {background: #282828; border-color: #282828;}
.analytics-workbench .dashboard-kpi-grid>.model-card:first-child>div {color: #fff!important;}
.analytics-workbench .dashboard-kpi-grid>.model-card:first-child>div:first-child {color: #c8c8c8!important;}
.analytics-workbench .dashboard-kpi-grid>.model-card:first-child>div:last-child {color: #ffdd73!important;}
.analytics-workbench .dashboard-kpi-grid>.model-card:last-child {background: #fff8df; border-color: #eae1c3;}
.analytics-workbench .dashboard-analysis-grid {display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 20px; margin-bottom: 24px; align-items: stretch;}
.analytics-workbench .dashboard-analysis-card {padding: 22px; display: flex; flex-direction: column; align-items: stretch; gap: 16px;}
.analytics-workbench .dashboard-analysis-title {display: flex; justify-content: space-between; gap: 12px; align-items: baseline; flex-wrap: wrap; font-size: 15px; font-weight: 650; margin: 0;}
.analytics-workbench .analytics-caption {font-size: 11px; font-weight: 400; color: var(--analytics-muted);}
.analytics-workbench .dashboard-trend-canvas {width: 100%!important; max-height: 290px;}
.analytics-workbench .dashboard-source-table-wrap {overflow-x: auto; min-width: 0; flex: 1;}
.analytics-workbench :is(.dashboard-source-table,.gsc-t) {width: 100%; border-collapse: collapse; font-size: 12px;}
.analytics-workbench :is(.dashboard-source-table,.gsc-t) th {font-size: 11px; font-weight: 500; color: var(--analytics-muted); background: var(--analytics-soft); padding: 11px 9px;}
.analytics-workbench :is(.dashboard-source-table,.gsc-t) td {padding: 13px 9px; border-bottom: 1px solid var(--analytics-line); line-height: 1.5;}
.analytics-workbench :is(.dashboard-source-table,.gsc-t) tr:last-child td {border-bottom: 0;}
.analytics-workbench .dashboard-source-table td:last-child {min-width: 80px;}
.analytics-workbench .badge {border-radius: 5px; padding: 4px 7px; font-size: 11px; white-space: normal;}
.analytics-workbench .ops-card {padding: 24px; margin-bottom: 24px!important;}
.analytics-workbench .section-title {font-size: 16px; font-weight: 650;}
.analytics-workbench .analytics-geo-panel .mobile-geo-grid {border-top: 1px solid var(--analytics-line); margin-top: 18px; padding-top: 20px;}
.analytics-workbench .analytics-geo-panel .mobile-geo-grid>div {min-width: 0;}
.analytics-workbench .analytics-geo-panel .mobile-geo-grid>div:last-child {background: var(--analytics-soft); padding: 14px; border-radius: 10px;}
.analytics-workbench .analytics-geo-panel :is(th,td) {padding-top: 11px!important; padding-bottom: 11px!important; font-size: 12px;}
.analytics-workbench .opportunity-item {padding: 16px 0; border-bottom: 1px solid var(--analytics-line);}
.analytics-workbench .analytics-search-panel {background: transparent; padding: 0; border: 0; box-shadow: none;}
.analytics-workbench .gsc-kpirow {gap: 16px; margin-bottom: 20px;}
.analytics-workbench .gsc-kpi {padding: 22px;}
.analytics-workbench .gsc-kpi .val {font-size: 32px; letter-spacing: -.04em; line-height: 1.3;}
.analytics-workbench .gsc-kpi .lab {color: var(--analytics-muted); font-size: 12px;}
.analytics-workbench .analytics-search-kpis>.gsc-kpi:first-child {background: #282828; border-color: #282828;}
.analytics-workbench .analytics-search-kpis>.gsc-kpi:first-child :is(.val,.lab) {color: #fff;}
.analytics-workbench .analytics-search-kpis>.gsc-kpi:first-child .dl {color: #ffdd73;}
.analytics-workbench .gsc-card {padding: 22px; margin-bottom: 20px; overflow-x: auto;}
.analytics-workbench .gsc-ct {font-size: 15px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: baseline;}
.analytics-workbench .gsc-bento {gap: 20px;}
.analytics-workbench :is(.gsc-trip,.gsc-rf) {gap: 20px; margin-top: 20px!important;}
.analytics-workbench .analytics-search-trend .gsc-trend {height: 210px;}
.analytics-workbench .analytics-ai-panel {border-top: 3px solid var(--analytics-yellow);}
.analytics-workbench .analytics-ai-panel .gsc-kpi {background: var(--analytics-soft); border: 0; box-shadow: none;}
.analytics-workbench .analytics-ai-panel .gsc-card {box-shadow: none; border-radius: 8px;}
.analytics-workbench .gsc-win {padding: 3px; gap: 3px; border-radius: 9px; background: #e9eaec; border: 1px solid var(--analytics-line);}
.analytics-workbench .gsc-win button {min-height: 38px; padding-inline: 12px; border-radius: 6px; color: #515358;}
.analytics-workbench .gsc-win button.on {background: var(--analytics-surface); color: var(--analytics-ink); box-shadow: 0 1px 3px #0000000d;}
.analytics-workbench .gsc-bar {padding: 8px 0; gap: 12px;}
.analytics-workbench .gsc-bar .track {background: var(--analytics-soft); height: 6px; border-radius: 3px;}
.analytics-workbench .gsc-bar .fill {background: #8e929a; border-radius: 3px;}
.analytics-workbench .analytics-empty {padding: 24px!important; background: var(--analytics-surface); border: 1px solid var(--analytics-line); border-radius: 12px; line-height: 1.8;}
.analytics-workbench .analytics-gsc-connect {display: block; margin-top: 16px;}
.analytics-workbench :is(button,select) {min-height: 40px;}
.analytics-workbench :is(button,.kpi-tap) {transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;}
.analytics-workbench :is(button,select,.kpi-tap):focus-visible {outline: 2px solid #936200; outline-offset: 3px;}
@media(hover:hover) {
  .analytics-workbench .analytics-refresh:hover:not(:disabled) {background: #ffda61;}
  .analytics-workbench .analytics-view-switch button:hover:not(.active) {background: #ffffff70;}
  .analytics-workbench .kpi-tap:hover {box-shadow: 0 3px 10px #0000000c;}
}
@media(max-width:1200px) {
  .analytics-workbench .dashboard-analysis-grid {grid-template-columns: minmax(0,1fr);}
  .analytics-workbench .dashboard-trend-canvas {max-height: 280px;}
  .console-shell .analytics-workbench .dashboard-kpi-grid {gap: 10px;}
  .analytics-workbench .dashboard-kpi-grid>.model-card {padding: 18px 14px;}
}
@media(max-width:820px) {
  .console-shell .analytics-workbench {padding: 24px 16px 100px;}
  .analytics-workbench .dashboard-page-header {align-items: flex-start; gap: 12px;}
  .analytics-workbench .analytics-eyebrow {font-size: 9px; letter-spacing: .06em; gap: 8px;}
  .analytics-workbench .analytics-eyebrow span {display: none;}
  .analytics-workbench .analytics-refresh {padding: 10px 12px; min-height: 44px;}
  .analytics-workbench .analytics-toolbar {gap: 12px;}
  .analytics-workbench .analytics-period {font-size: 11px;}
  .console-shell .analytics-workbench .dashboard-kpi-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
  .analytics-workbench .dashboard-kpi-grid>.model-card {min-height: 138px; padding: 18px;}
  .analytics-workbench .dashboard-kpi-grid>.model-card:last-child {grid-column: 1/-1; min-height: 86px; flex-direction: row!important; align-items: center!important;}
  .analytics-workbench :is(.ops-card,.gsc-card,.dashboard-analysis-card) {padding: 18px;}
  .analytics-workbench .analytics-search-panel {padding: 0;}
  .analytics-workbench .mobile-geo-grid {grid-template-columns: minmax(0,1fr)!important;}
  .analytics-workbench #geo-world-map {height: 260px!important;}
  .analytics-workbench :is(.gsc-bento,.gsc-trip,.gsc-rf) {grid-template-columns: minmax(0,1fr);}
  .analytics-workbench .gsc-kpirow {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
  .analytics-workbench .gsc-kpi {padding: 18px;}
  .analytics-workbench .gsc-kpi .val {font-size: 28px;}
  .analytics-workbench :is(.gsc-t,.dashboard-source-table) td {padding: 11px 7px;}
  .analytics-workbench .gsc-win button {min-height: 44px;}
  .analytics-workbench .analytics-view-switch {width: 100%;}
  .analytics-workbench .analytics-view-switch button {flex: 1; padding-inline: 10px; min-height: 44px;}
}
@media(prefers-reduced-motion:reduce) {
  .analytics-workbench :is(button,.kpi-tap,.skeleton) {transition: none!important; animation: none!important;}
}
