/* Stable workspace navigation stays visible while an individual report loads. */
.workspace-shell { padding: 20px 32px 0; min-width: 0; }
.workspace-shell[hidden] { display: none; }
.workspace-navigation { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 14px 18px; border: 1px solid #dce4d6; border-radius: 16px; background: #fff; }
.workspace-context { display: grid; gap: 4px; min-width: 0; }
.workspace-context > span { color: #25371b; font-size: 15px; font-weight: 750; line-height: 1.3; }
.workspace-context > small { color: #606a5b; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.workspace-tabs { display: flex; align-items: stretch; flex-wrap: wrap; gap: 6px; min-width: 0; }
.workspace-tabs button { appearance: none; border: 1px solid transparent; border-radius: 10px; background: #f2f5ef; color: #405235; padding: 10px 14px; min-height: 42px; font: inherit; font-size: 14px; font-weight: 650; line-height: 1.35; cursor: pointer; transition: background .12s ease, color .12s ease; }
.workspace-tabs button:hover { background: #e5eddc; }
.workspace-tabs button.is-active { background: #527e2c; color: #fff; border-color: #527e2c; }
.workspace-tabs button:focus-visible { outline: 3px solid #b6cf9e; outline-offset: 3px; }
.approval-state.state-reported, .approval-state.state-unknown { color: #74500b; background: #fff4d9; }
.approval-state-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 0 20px 20px; }
.approval-state-grid > button { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8faf6; color: var(--ink); text-align: left; min-width: 0; }
.approval-state-grid > button > span { font-size: 14px; font-weight: 700; line-height: 1.4; min-height: 40px; }
.approval-state-grid strong { font-size: 28px; line-height: 1.2; margin-top: auto; }
.approval-state-grid small { font-size: 13px; font-weight: 500; color: var(--muted); }
.approval-state-grid > button:hover { border-color: #9bbc81; background: #eef5e8; }
.approval-state-grid > button:focus-visible { outline: 3px solid #b6cf9e; outline-offset: 3px; }
.approval-state-grid > button.is-active { background: var(--green); border-color: var(--green); color: #fff; }
.approval-state-grid > button.is-active small { color: #fff; }
.approval-command.is-filtered { border-color: #dce4d6; background: #f5f8f2; }
.approval-command.is-filtered .approval-gauge { background: #e4eadf; }
.approval-data-warning { padding: 14px 18px; border: 1px solid #ead29b; border-radius: 12px; color: #6b4d15; background: #fff9eb; line-height: 1.5; margin-bottom: 18px; }
@media (max-width: 760px) {
  .workspace-shell { padding: 14px 16px 0; }
  .workspace-navigation { align-items: stretch; padding: 12px; gap: 10px; }
  .workspace-context { width: 100%; }
  .workspace-tabs { width: 100%; }
  .workspace-tabs button { flex: 1 1 140px; padding: 10px 12px; }
  .approval-state-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); padding: 0 12px 16px; gap: 10px; }
  .approval-state-grid > button { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace-tabs button { transition: none; }
}
.report-status{margin:12px 30px 0;padding:12px 16px;border:1px solid #d9e4d0;border-radius:12px;background:#f5f8f1;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#405138}
.report-status[hidden],.build-update[hidden]{display:none}
.report-status small{display:block;color:#697165;margin-top:3px}
.report-status[data-state="refresh-failed"]{background:#fff5e6;border-color:#e9cb8e;color:#6e4b0d}
.report-status .btn{white-space:nowrap;padding:9px 14px;font-size:14px}
.build-update{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:16px;width:min(700px,calc(100vw - 32px));padding:16px 20px;border-radius:14px;background:#fff;border:1px solid #b6cc9d;box-shadow:0 8px 35px #0002;color:#26371b;font-size:15px}
.build-update .btn{white-space:nowrap;padding:10px 16px}
@media(max-width:700px){.report-status{margin:10px 12px 0;flex-direction:column;align-items:stretch}.build-update{bottom:12px;flex-direction:column;align-items:stretch}}
