/* Shared readable UI scale. No colors, visibility, actions or media geometry. */
:root {
  --gj-ui-body: 18px;
  --gj-ui-label: 20px;
  --gj-ui-number: 44px;
  --gj-ui-avatar: 72px;
  --gj-ui-name: 20px;
  --gj-ui-nick: 16px;
}
body.gramjet-shell-active { font-size: var(--gj-ui-body) !important; }
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog, .gm-popover,
  .gm-proxy-report, .neuro-prompt-backdrop, #projectAppearanceView) {
  font-size: var(--gj-ui-body) !important;
  line-height: 1.45;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog, .gm-popover,
  .gm-proxy-report, .neuro-prompt-backdrop, #projectAppearanceView)
  :where(div, span, p, label, a, li, dt, dd, summary, legend, output, td, th,
    strong, b, button, input, select, textarea, pre, code) {
  font-size: var(--gj-ui-body) !important;
  line-height: 1.45 !important;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog, .gm-popover)
  :where(small, .hint, .muted, .gm-note, .gm-phone, .gm-state, .neuro-account-pill,
    .neuro-role-chip, .neuro-copy-field, .ss-info, .ss-night, .ss-tile > span) {
  font-size: var(--gj-ui-nick) !important;
  line-height: 1.45 !important;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog) h2 {
  font-size: 28px !important; line-height: 1.3 !important;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog) h3 {
  font-size: 26px !important; line-height: 1.3 !important;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog) h4 {
  font-size: var(--gj-ui-label) !important; line-height: 1.35 !important;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace, .gm-dialog)
  :where(button, input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]), select) {
  box-sizing: border-box; min-height: 48px;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace) textarea { min-height: 100px; }
body.gramjet-shell-active :where(.service-view, #staffWorkspace) :where(td, th) {
  padding-top: 14px; padding-bottom: 14px;
}
body.gramjet-shell-active :where(.service-view, #staffWorkspace) table { table-layout: auto; }
/* Only summary values are oversized, not every number in a table or form. */
body.gramjet-shell-active :is(.manager-metric, .proxy-metric, .staff-manager-metric,
  .story-metric, .status-dashboard-card, .neuro-stat, .neuro-chat-launch-summary > div) {
  box-sizing: border-box; min-height: 140px; padding: 20px;
}
body.gramjet-shell-active :is(.manager-metric, .proxy-metric, .staff-manager-metric,
  .story-metric, .status-dashboard-card, .neuro-stat) > span,
body.gramjet-shell-active .neuro-chat-launch-summary small,
body.gramjet-shell-active #accountManager.gm-next button.gm-stat > span:not([aria-hidden=true]),
body.gramjet-shell-active #accountManager.gm-next button.gm-stat {
  font-size: var(--gj-ui-label) !important; line-height: 1.35 !important;
}
body.gramjet-shell-active :is(.manager-metric, .proxy-metric, .staff-manager-metric,
  .story-metric) > b,
body.gramjet-shell-active :is(.status-dashboard-card, .neuro-stat) > strong,
body.gramjet-shell-active .neuro-chat-launch-summary strong,
body.gramjet-shell-active #accountManager.gm-next button.gm-stat strong,
body.gramjet-shell-active #gj-stream-clients [data-stream-schedule] .ss-timer {
  font-size: var(--gj-ui-number) !important; line-height: 1.1 !important;
  font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
body.gramjet-shell-active #accountManager.gm-next .gm-stat {
  min-height: 140px; height: auto; padding: 18px; gap: 10px;
}
body.gramjet-shell-active #accountManager.gm-next .gm-stats {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
/* Account identities across manager, all neuro modules, warming and streams. */
body.gramjet-shell-active :is(.neuro-account-avatar, .manager-avatar, .manager-avatar-image,
  .manager-detail-avatar, .manager-detail-avatar-fallback, .proxy-bulk-avatar,
  .staff-person-avatar, .gm-avatar, .gm-delete-avatar, .sc-avatar, .sl-avatar,
  .neuro-chat-avatar, .neuro-story-avatar, .neuro-story-detail-avatar),
body.gramjet-shell-active #gj-stream-clients .gm-window .gm-photo {
  width: var(--gj-ui-avatar) !important; height: var(--gj-ui-avatar) !important;
  min-width: var(--gj-ui-avatar) !important; flex-basis: var(--gj-ui-avatar) !important;
  flex-shrink: 0; object-fit: cover; box-sizing: border-box;
}
body.gramjet-shell-active :is(.neuro-account-avatar, .proxy-bulk-avatar) img {
  width: 100%; height: 100%; object-fit: cover;
}
body.gramjet-shell-active :is(.neuro-account-card-head strong, .manager-profile-open,
  .gm-account-name, .proxy-bulk-account-name, .sc-name, .sl-person strong,
  .neuro-run-contact strong, .neuro-story-person strong),
body.gramjet-shell-active #accountManager.gm-next .gm-name-line .gm-profile-button,
body.gramjet-shell-active #gj-stream-clients .gm-window :is(.gm-info strong, .gm-name) {
  font-size: var(--gj-ui-name) !important; line-height: 1.4 !important;
  white-space: normal !important; overflow-wrap: anywhere;
}
body.gramjet-shell-active :is(.neuro-account-card-head small, .sc-nick, .gm-phone,
  .proxy-bulk-account-phone),
body.gramjet-shell-active #gj-stream-clients .gm-window :is(.gm-nick, .gm-handle) {
  font-size: var(--gj-ui-nick) !important; line-height: 1.45 !important;
  white-space: normal !important; overflow-wrap: anywhere;
}
body.gramjet-shell-active :is(.neuro-account-card, .sc-account),
body.gramjet-shell-active #gj-stream-clients .gm-window .gm-account {
  min-height: 100px !important; height: auto !important;
}
body.gramjet-shell-active #gj-stream-clients .gm-window :is(.gm-nick-line, .gm-badges) {
  height: auto !important; min-height: 26px; flex-wrap: wrap; overflow: visible;
}
body.gramjet-shell-active #gj-stream-clients .gm-window :is(.gm-badge, .gm-details, .gm-list-note) {
  font-size: 16px !important; line-height: 1.45 !important;
}
body.gramjet-shell-active #gj-stream-clients .gm-window .gm-photo {
  font-size: 14px !important; line-height: 1.2 !important;
}
body.gramjet-shell-active :is(.sc-count, .gm-count, .neuro-panel-head > span) {
  font-size: 20px !important; min-width: 34px; min-height: 34px; height: auto;
}
body.gramjet-shell-active #gj-stream-clients .gm-window :is(.gm-copy, .gm-move) {
  min-width: 44px; max-width: 44px; width: 44px; height: 44px; min-height: 44px; flex-basis: 44px;
}
body.gramjet-shell-active :is(.neuro-account-columns, .neuro-grid, .gm-columns) > * { min-width: 0; }
body.gramjet-shell-active .neuro-account-card-head { flex-wrap: wrap; }
body.gramjet-shell-active :is(.neuro-status-row, .neuro-chat-launch-summary) {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
body.gramjet-shell-active #gj-stream-clients [data-stream-schedule] .ss-tile { min-height: 86px; }
/* Navigation follows the same body scale without changing its accent colors. */
body.gramjet-shell-active .service-sidebar :is(.service-nav, .service-nav span,
  a, button, .gj-project-name) { font-size: 18px !important; line-height: 1.4 !important; }
body.gramjet-shell-active .service-sidebar :is(.service-sidebar-caption, small) { font-size: 14px !important; }
/* Preview typography is publication content, not site UI: preserve its coordinates. */
body.gramjet-shell-active #storiesView .eternal-story-canvas,
body.gramjet-shell-active #storiesView .eternal-story-canvas * {
  font-size: 16px !important; line-height: normal !important;
}
@media (max-width: 760px) {
  body.gramjet-shell-active :is(.neuro-account-columns, .neuro-rules-grid) { grid-template-columns: minmax(0, 1fr); }
  body.gramjet-shell-active #accountManager.gm-next .gm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.gramjet-shell-active #accountManager.gm-next .gm-stat { padding: 12px; }
  body.gramjet-shell-active #gj-stream-clients [data-stream-schedule] .ss-timer { font-size: 36px !important; }
}
