/* Layout refine: quieter chrome, one title, readable metrics, full chat canvas.
   Visual language stays the existing ink system. */

@media (min-width: 1024px) {
  aside.ui-sidebar {
    width: 228px !important;
  }

  main[class~="lg:pl-64"] {
    padding-left: 228px !important;
  }

  aside.ui-sidebar nav {
    padding: 8px 10px 12px !important;
    gap: 2px;
  }

  aside.ui-sidebar nav a {
    height: 40px !important;
    margin: 0;
    padding-left: 10px !important;
    padding-right: 10px !important;
    border-radius: 8px !important;
  }

  aside.ui-sidebar .font-mono {
    letter-spacing: 0.01em !important;
    font-family: ui-sans-serif, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  body:has(main > div h1) header.ui-header-glass h1 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  header.ui-header-glass {
    height: 52px;
  }

  header.ui-header-glass button[aria-label="打开菜单"] {
    display: none !important;
  }
}

#tgsp-dashboard-r73 {
  max-width: 1120px;
}

#tgsp-dashboard-r73 .sp73-hero {
  min-height: 0;
  align-items: flex-end;
}

#tgsp-dashboard-r73 .sp73-hero h1 {
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

#tgsp-dashboard-r73 .sp73-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#tgsp-dashboard-r73 .sp73-metric {
  min-height: 108px;
  align-items: center;
}

#tgsp-dashboard-r73 .sp73-metric small {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal !important;
  text-overflow: unset !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

#tgsp-dashboard-r73 .sp73-log-row {
  align-items: start;
  min-height: 0;
  padding-top: 8px;
  padding-bottom: 8px;
}

#tgsp-dashboard-r73 .sp73-log-main small {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal !important;
  text-overflow: unset !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#tgsp-dashboard-r73 .sp73-workspace-grid {
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.9fr);
}

main:has([data-tg-chat-shell]) > div.flex-1 {
  padding: 0 !important;
}

main:has([data-tg-chat-shell]) .ui-content-shell {
  max-width: none;
}

main:has([data-tg-chat-shell]) [data-tg-chat-shell] {
  height: calc(100dvh - var(--sp-header-h, 4rem)) !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  main:has([data-tg-chat-shell]) > div.flex-1 {
    padding: 12px 16px 16px !important;
  }

  main:has([data-tg-chat-shell]) [data-tg-chat-shell] {
    height: calc(100dvh - 52px - 28px) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 920px) {
  #tgsp-dashboard-r73 .sp73-workspace-grid,
  #tgsp-dashboard-r73 .sp73-bottom-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* 2026-09-30: dashboard hierarchy, status contrast and responsive density. */
aside.ui-sidebar nav a {
  color: var(--sp-text-muted);
}
aside.ui-sidebar nav a.ui-nav-active {
  color: var(--sp-text);
  background: var(--sp-bg-muted);
}
header.ui-header-glass .ui-icon-btn {
  width: 40px;
  height: 40px;
  color: var(--sp-text-muted);
}
#tgsp-dashboard-r73 {
  --dashboard-radius: 14px;
  --dashboard-radius-sm: 8px;
}
#tgsp-dashboard-r73 .sp73-hero {
  gap: 20px;
  padding-bottom: 20px;
}
#tgsp-dashboard-r73 .sp73-hero h1 {
  font-size: 28px;
  line-height: 1.25;
}
#tgsp-dashboard-r73 .sp73-hero p {
  font-size: 14px;
  line-height: 1.65;
}
#tgsp-dashboard-r73 :is(.sp73-stat-grid, .sp73-workspace-grid, .sp73-bottom-grid) {
  gap: 16px;
  margin-top: 20px;
}
#tgsp-dashboard-r73 .sp73-card {
  border-color: var(--sp-card-edge);
  box-shadow: var(--sp-shadow-sm);
}
#tgsp-dashboard-r73 .sp73-metric {
  min-height: 140px;
  padding: 20px;
  grid-template-columns: minmax(0, 1fr) 32px;
  grid-template-rows: auto 1fr;
  gap: 12px;
}
#tgsp-dashboard-r73 .sp73-metric-copy {
  grid-area: 1 / 1 / 3 / 2;
}
#tgsp-dashboard-r73 .sp73-metric-icon {
  grid-area: 1 / 2;
  align-self: start;
  border: 0;
}
#tgsp-dashboard-r73 .sp73-metric-arrow {
  grid-area: 2 / 2;
  justify-self: end;
  align-self: end;
}
#tgsp-dashboard-r73 .sp73-metric strong {
  margin-top: 12px;
  font-family: inherit;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
}
#tgsp-dashboard-r73 .sp73-metric small {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset;
}
#tgsp-dashboard-r73 .sp73-panel-head h2 {
  font-size: 16px;
  font-weight: 600;
}
#tgsp-dashboard-r73 :is(.sp73-panel-head p, .sp73-quick-label, .sp73-footer) {
  font-size: 12px;
  line-height: 1.5;
  color: var(--dashboard-muted);
}
#tgsp-dashboard-r73 .sp73-panel-head > a {
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
}
#tgsp-dashboard-r73 :is(.sp73-log-row, .sp73-hit-row, .sp73-schedule-row) {
  min-height: 60px;
  padding-block: 12px;
}
#tgsp-dashboard-r73 :is(.sp73-log-main, .sp73-hit-copy, .sp73-schedule-copy) strong {
  font-size: 14px;
}
#tgsp-dashboard-r73 .sp73-log-main small {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset;
  overflow-wrap: anywhere;
  line-height: 1.6 !important;
}
#tgsp-dashboard-r73 .sp73-log-row:has(.sp73-status-dot--error) {
  background: color-mix(in srgb, var(--dashboard-danger) 5%, var(--dashboard-surface));
  border-left: 2px solid var(--dashboard-danger);
  padding-inline: 12px;
}
#tgsp-dashboard-r73 :is(.sp73-hit-row time, .sp73-log-row time, .sp73-schedule-time small) {
  color: var(--dashboard-muted);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
}
#tgsp-dashboard-r73 .sp73-log-row {
  grid-template-columns: 10px minmax(0, 1fr) 96px;
}
#tgsp-dashboard-r73 .sp73-log-row time { white-space: nowrap; }
#tgsp-dashboard-r73 .sp73-refresh {
  height: 38px;
  color: var(--dashboard-surface);
}
#tgsp-dashboard-r73 .sp73-refresh:hover:not(:disabled) {
  background: var(--dashboard-text);
  opacity: .85;
}
#tgsp-dashboard-r73.sp-release-warning :is(.sp73-live, .sp73-score) {
  color: #92400e;
  background: #fffbeb;
  border-color: #fcd34d;
}
#tgsp-dashboard-r73.sp-release-warning .sp73-live i {
  background: #d97706;
  box-shadow: 0 0 0 3px #d977061a;
}
.dark #tgsp-dashboard-r73.sp-release-warning :is(.sp73-live, .sp73-score) {
  color: #fcd34d;
  background: #78350f40;
  border-color: #92400e;
}
#tgsp-dashboard-r73 .sp73-footer > span:last-child {
  display: none;
}
#tgsp-dashboard-r73 :is(a, button):focus-visible {
  outline: 2px solid var(--dashboard-text);
  outline-offset: 3px;
}
@media (max-width: 1279px) {
  #tgsp-dashboard-r73 .sp73-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  #tgsp-dashboard-r73 .sp73-hero h1 { font-size: 24px; }
  #tgsp-dashboard-r73 .sp73-hero { gap: 16px; }
  #tgsp-dashboard-r73 :is(.sp73-stat-grid, .sp73-workspace-grid, .sp73-bottom-grid) { gap: 12px; margin-top: 16px; }
  #tgsp-dashboard-r73 .sp73-metric { min-height: 144px; padding: 14px; gap: 8px; grid-template-columns: minmax(0, 1fr) 20px; }
  #tgsp-dashboard-r73 .sp73-metric-icon { width: 20px; height: 20px; background: transparent; }
  #tgsp-dashboard-r73 .sp73-metric strong { font-size: 28px; }
  #tgsp-dashboard-r73 .sp73-active-strip { grid-template-columns: auto 1fr; gap: 12px; }
  #tgsp-dashboard-r73 .sp73-active-strip > div { grid-column: 1 / -1; }
  #tgsp-dashboard-r73 .sp73-empty--run { justify-content: flex-start; }
  #tgsp-dashboard-r73 .sp73-log-row { grid-template-columns: 6px minmax(0, 1fr); }
  #tgsp-dashboard-r73 .sp73-log-row time { display: block; grid-column: 2; text-align: left; }
}
@media (max-width: 359px) {
  #tgsp-dashboard-r73 .sp73-stat-grid { grid-template-columns: minmax(0, 1fr) !important; }
  #tgsp-dashboard-r73 .sp73-metric { min-height: 120px; }
}
@media (pointer: coarse) {
  aside.ui-sidebar nav a { min-height: 44px; }
  header.ui-header-glass .ui-icon-btn { width: 44px; height: 44px; }
  #tgsp-dashboard-r73 :is(.sp73-refresh, .sp73-panel-head > a) { min-height: 44px; }
}
