/* Owner: shared operations gateway exceptions and dashboard. Extracted from global.css with original cascade order preserved. */ .gateway-exception-time { font-size: 1rem !important; line-height: 1.35; } .gateway-exception-command { margin-top: 1rem; } .gateway-exception-command pre { max-height: 22rem; margin: 0; padding: 1rem; overflow: auto; border: 1px solid var(--color-border); border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font-size: 0.78rem; line-height: 1.55; white-space: pre-wrap; word-break: break-all; } .gateway-requeue-confirm .callout { display: flex; gap: 0.75rem; padding: 0.9rem 1rem; border: 1px solid; border-radius: 0.75rem; } .gateway-requeue-confirm .callout p { margin: 0.25rem 0 0; } .gateway-requeue-confirm .callout--warning { border-color: #f5c66f; background: #fff8e8; color: #8a5700; } .gateway-requeue-confirm .callout--danger { border-color: #f2a4a4; background: #fff0f0; color: #a12222; } .gateway-requeue-checkbox { display: flex; align-items: flex-start; gap: 0.6rem; color: var(--color-text); line-height: 1.5; cursor: pointer; } .gateway-requeue-checkbox input { width: 1rem; height: 1rem; margin-top: 0.2rem; } .text-page-title { color: var(--color-text-strong); font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); } .text-section-title { color: var(--color-text-strong); font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); line-height: var(--line-height-tight); } .text-card-title { color: var(--color-text-strong); font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); line-height: 1.3; } .text-body { color: var(--color-text); font-size: var(--font-size-md); line-height: var(--line-height-base); } .text-secondary { color: var(--color-text-muted); font-size: var(--font-size-sm); line-height: var(--line-height-base); } .text-caption { color: var(--color-text-muted); font-size: var(--font-size-xs); line-height: 1.45; } .overview-hero { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); color: var(--color-text); display: flex; gap: var(--space-5); justify-content: space-between; padding: var(--space-7); } .overview-hero h1 { color: var(--color-text-strong); } .overview-hero .eyebrow { color: var(--color-selected); } .overview-hero .muted { color: var(--color-text-muted); margin-top: var(--space-2); } .dashboard-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); } .dashboard-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 1180px) { .dashboard-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .metric-card { display: grid; gap: var(--space-2); } .metric-card--featured { background: linear-gradient(180deg, var(--color-surface), var(--color-accent-soft)); border-color: rgba(217, 195, 160, 0.72); } .metric-card--featured span, .metric-card--featured small { color: var(--color-text-muted); } .metric-card span { color: var(--color-text-muted); font-size: var(--font-size-sm); } .metric-card strong { color: var(--color-text-strong); font-size: 30px; line-height: var(--line-height-tight); } .metric-card small { color: var(--color-text-muted); font-size: var(--font-size-xs); } .chart-grid { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr); } .chart-card { min-width: 0; } .chart-card h2 { margin-bottom: var(--space-2); } .overview-grid { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); } .overview-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .quick-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); } .quick-action { background: var(--color-bg-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-lg); color: var(--color-text); display: grid; gap: var(--space-2); justify-items: start; min-width: 0; padding: var(--space-4); text-align: left; transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast); } .quick-action:hover { border-color: rgba(37, 99, 235, 0.24); box-shadow: var(--shadow-sm); transform: translateY(-1px); } .quick-action svg { color: var(--color-selected); } .quick-action span { color: var(--color-text-strong); font-weight: var(--font-weight-semibold); } .quick-action small { color: var(--color-text-muted); } .progress-heading { align-items: center; color: var(--color-text-muted); display: flex; justify-content: space-between; margin: var(--space-4) 0 var(--space-2); } .progress-heading strong { color: var(--color-text-strong); } .progress-track { background: var(--color-surface-muted); border-radius: var(--radius-full); height: 10px; overflow: hidden; } .progress-track span { background: linear-gradient(90deg, var(--color-selected), var(--color-accent)); border-radius: inherit; display: block; height: 100%; } .mini-status-card { align-items: flex-start; display: flex; gap: var(--space-4); } .mini-status-card svg { color: var(--color-selected); flex: 0 0 auto; margin-top: 2px; } .mini-status-card div { display: grid; gap: var(--space-1); min-width: 0; } .mini-status-card span { color: var(--color-text-muted); font-size: var(--font-size-sm); } .mini-status-card strong { color: var(--color-text-strong); } .mini-status-card small { color: var(--color-text-muted); } .mini-status-card--action { appearance: none; cursor: pointer; font: inherit; text-align: left; transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast); width: 100%; } .mini-status-card--action:hover, .mini-status-card--action:focus-visible { border-color: var(--color-selected); box-shadow: var(--shadow-sm); outline: none; transform: translateY(-1px); }