.button{min-height:44px;padding:8px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-weight:700;cursor:pointer;transition:background var(--motion-duration-fast) ease,border-color var(--motion-duration-fast) ease,color var(--motion-duration-fast) ease}
.button:hover{border-color:var(--color-border-strong);background:var(--color-surface-muted)}
.button:disabled{cursor:not-allowed;opacity:.6}
.button-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-sidebar-text)}
.button-primary:hover{background:var(--color-primary-hover)}
.form-error{margin:0;color:var(--color-danger)}
.operations-trend-chart{font-variant-numeric:tabular-nums}
.environment-badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 9px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.8rem;font-weight:700}
.workspace-tabs{display:flex;gap:4px;max-width:100%;overflow-x:auto;padding:4px 2px;border-bottom:1px solid var(--color-border);scrollbar-width:thin}
.workspace-tab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:8px 14px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-muted);font-size:.86rem;font-weight:800;text-decoration:none;transition:color 160ms ease-out,background-color 160ms ease-out,box-shadow 160ms ease-out}
.workspace-tab:hover{background:var(--color-surface-muted);color:var(--color-text)}
.workspace-tab[aria-selected="true"]{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 -3px 0 var(--color-primary)}
.workspace-tab:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.status-banner{margin:20px 0;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}
.status-banner[data-tone="success"]{border-color:var(--color-success-border);background:var(--color-surface-success);color:var(--color-success-text)}
.status-banner[data-tone="warning"]{border-color:var(--color-warning-border);background:var(--color-surface-warning);color:var(--color-warning)}
.status-banner[data-tone="danger"]{border-color:var(--color-danger-border);background:var(--color-surface-danger);color:var(--color-danger)}
.status-badge{display:inline-flex;align-items:center;width:max-content;min-height:24px;padding:3px 8px;border-radius:999px;background:var(--color-surface-strong);color:var(--color-text-muted);font-size:.72rem;font-weight:800;line-height:1}
.status-badge-ready,.status-badge-available{background:var(--color-success-soft);color:var(--color-success-text)}
.status-badge-degraded{background:var(--color-warning-soft);color:var(--color-warning)}
.status-badge-failed{background:var(--color-danger-soft);color:var(--color-danger)}
.status-badge-unavailable,.status-badge-unverified,.status-badge-inactive{background:var(--color-surface-strong);color:var(--color-text-muted)}
.data-source-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}
.data-source-state p{margin:0}
.data-source-name{color:var(--color-text-muted);font-size:.78rem}
.metric-card-meta{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.74rem}
.metric-card-meta>span{min-width:0;overflow-wrap:anywhere}
.metric-card-meta .status-badge{grid-row:1/6}
.skeleton-state{display:grid;gap:10px;margin-top:16px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.skeleton-label{font-size:.82rem;font-weight:800;color:var(--color-text-muted)}
.skeleton-line{display:block;width:100%;height:12px;border-radius:999px;background:var(--color-surface-strong)}
.skeleton-line:nth-child(3n){width:72%}
.data-state-ok,.data-state-empty{--data-state-color:var(--color-success-text)}
.data-state-pending,.data-state-refreshing{--data-state-color:var(--color-primary)}
.data-state-needs-verification,.data-state-not_calculable{--data-state-color:var(--color-warning)}
.data-state-unavailable{--data-state-color:var(--color-text-muted)}
.data-state-failed,.data-state-refresh_failed{--data-state-color:var(--color-danger)}
.metric-card-status{display:inline-flex;align-items:center;width:max-content;min-height:24px;margin-top:10px;padding:3px 8px;border:1px solid currentColor;border-radius:999px;color:var(--data-state-color,var(--color-text-muted));font-size:.72rem;font-weight:800}
.metric-card-note{margin:10px 0 0;color:var(--color-text-muted);font-size:.78rem;line-height:1.45}
.metric-card-evidence{display:block;margin-top:8px;color:var(--color-text-muted);overflow-wrap:anywhere}
.metric-card-action,.ranking-action{display:inline-flex;align-items:center;min-height:44px;color:var(--color-primary);font-size:.78rem;font-weight:800;text-decoration:none}
.metric-card-unavailable .metric-card-value{color:var(--data-state-color,var(--color-text-muted))}
.delta-badge{display:inline-flex;width:max-content;margin-top:8px;font-size:.74rem;font-weight:800;color:var(--color-text-muted)}
.delta-badge-ok{color:var(--color-success-text)}
.delta-badge-not_calculable{color:var(--color-warning)}
.sparkline{display:block;min-width:0;margin-top:8px}
.sparkline svg{display:block;width:100%;height:40px;overflow:visible}
.sparkline path{stroke:var(--color-primary);stroke-width:2}
.sparkline circle{fill:var(--color-primary)}
.ranking-list ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ranking-list-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}
.ranking-rank{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--color-surface-muted);font-size:.76rem;font-weight:900}
.ranking-copy{display:grid;min-width:0;gap:2px}
.ranking-type,.ranking-meta{color:var(--color-text-muted);font-size:.72rem}
.ranking-title{overflow-wrap:anywhere}
.ranking-list-item .sparkline{grid-column:2/3;width:120px}
.ranking-list-empty{margin:0;padding:20px;color:var(--color-text-muted);text-align:center}
.diagnostics-layer{position:fixed;z-index:80;inset:0;display:grid;justify-items:end}
.diagnostics-backdrop{position:absolute;inset:0;background:var(--color-overlay)}
.diagnostics-drawer{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));height:100%;padding:22px;overflow-y:auto;border-left:1px solid var(--color-border);background:var(--color-canvas);box-shadow:var(--shadow-overlay);outline:none}
.diagnostics-drawer:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-ring),var(--shadow-overlay)}
.diagnostics-header{position:sticky;z-index:2;top:-22px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-22px -22px 18px;padding:18px 22px;border-bottom:1px solid var(--color-border);background:var(--color-canvas)}
.diagnostics-header h2{margin:0;font-size:1.25rem}
.diagnostics-close{min-width:44px;min-height:44px}
.diagnostics-runtime,.diagnostics-sources,.diagnostics-readiness,.diagnostics-feature-summary{margin-top:14px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.diagnostics-runtime h3,.diagnostics-sources h3,.diagnostics-readiness h3,.diagnostics-feature-summary h3{margin:0 0 12px;font-size:.95rem}
.diagnostics-runtime dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.diagnostics-runtime dl div{display:grid;gap:4px;padding:10px;border-radius:var(--radius-sm);background:var(--color-surface-muted)}
.diagnostics-runtime dt,.diagnostic-source-details dt{color:var(--color-text-muted);font-size:.7rem}
.diagnostics-runtime dd,.diagnostic-source-details dd{margin:0;font-size:.78rem;font-weight:750;overflow-wrap:anywhere}
.diagnostics-source-summary{margin:0 0 12px;color:var(--color-text-muted);font-size:.78rem}
.diagnostics-source-list{display:grid;gap:10px}
.diagnostic-source-row{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}
.diagnostic-source-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.diagnostic-source-heading h4{margin:0;font-size:.82rem}
.diagnostic-source-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0}
.diagnostic-source-details div{min-width:0}
.diagnostics-retry{min-height:44px;margin-top:10px}
.diagnostics-readiness>p,.diagnostics-feature-summary>p{margin:8px 0 0;font-size:.78rem;line-height:1.55}

@media(max-width:600px){
  .diagnostics-drawer{width:100vw;padding:18px;border-left:0}
  .diagnostics-header{top:-18px;margin:-18px -18px 14px;padding:14px 18px}
  .diagnostics-runtime dl,.diagnostic-source-details{grid-template-columns:1fr}
}
