.capacity-layout { display:grid; gap:22px; }
.capacity-layout>.notice { margin:0; }
.capacity-loading { margin:0; padding:22px; color:var(--muted); }
.capacity-forecast:not(:empty) { margin-top:22px; }

.capacity-page .surface-heading { gap:14px 24px; padding:20px 24px; }
.capacity-page .surface-heading h2 { font-size:15px; }
.capacity-page .surface-heading p { max-width:670px; margin:5px 0 0; font-size:12px; line-height:1.6; }

.capacity-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.capacity-metric { min-width:0; padding:20px 24px 22px; }
.capacity-metric+.capacity-metric { border-left:1px solid var(--border); }
.capacity-metric h3 { margin:0 0 12px; color:#52627a; font-size:12px; line-height:1.5; }
.capacity-metric>strong { display:block; font-size:26px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; }
.capacity-metric p { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.capacity-section-note { margin:0; padding:14px 24px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; line-height:1.7; }

.capacity-limit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.capacity-limit { min-width:0; padding:20px 24px 22px; }
.capacity-limit+.capacity-limit { border-left:1px solid var(--border); }
.capacity-limit h3 { margin:0; font-size:12px; }
.capacity-limit-number { display:flex; align-items:baseline; gap:8px; margin:13px 0 7px; }
.capacity-limit-number strong { font-size:26px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; }
.capacity-limit-number span,.capacity-limit p { color:var(--muted); font-size:11px; }
.capacity-limit p { margin:0; line-height:1.6; }

.capacity-reporting { color:var(--muted); font-size:11px; white-space:nowrap; }
.capacity-workspaces table { min-width:760px; }
.capacity-workspaces th,.capacity-workspaces td { padding:14px 18px; }
.capacity-workspaces td { vertical-align:middle; line-height:1.6; }
.capacity-workspaces td:first-child { min-width:170px; }
.capacity-workspaces td:last-child { text-align:right; }
.capacity-workspaces td strong { font-size:12px; font-weight:600; }
.capacity-workspaces td small { margin-top:3px; line-height:1.5; }
.capacity-workspaces td .button { min-height:36px; padding:7px 10px; white-space:nowrap; }
.capacity-workspaces .capacity-empty { padding:24px; color:var(--muted); text-align:center; }

.capacity-technical>summary { display:flex; align-items:center; gap:12px; padding:17px 24px; list-style:none; cursor:pointer; }
.capacity-technical>summary::-webkit-details-marker { display:none; }
.capacity-technical>summary:hover { background:#f8fbfd; }
.capacity-technical>summary>.icon:first-child { color:var(--primary-dark); }
.capacity-technical>summary>span { flex:1; }
.capacity-technical>summary strong,.capacity-technical>summary small { display:block; }
.capacity-technical>summary strong { font-size:12px; font-weight:600; }
.capacity-technical>summary small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; }
.capacity-technical>summary>.icon:last-child { width:15px; height:15px; color:var(--muted); transition:transform .15s; }
.capacity-technical[open]>summary>.icon:last-child { transform:rotate(180deg); }
.capacity-technical-body { border-top:1px solid var(--border); }
.capacity-worker-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.capacity-worker { min-width:0; padding:20px 24px; }
.capacity-worker+.capacity-worker { border-left:1px solid var(--border); }
.capacity-worker-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.capacity-worker-heading h3 { margin:0; font-size:12px; }
.capacity-worker dl { display:grid; gap:11px; margin:17px 0 0; }
.capacity-worker dt { color:var(--muted); font-size:11px; }
.capacity-worker dd { margin:3px 0 0; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.capacity-worker-error { margin:14px 0 0; color:var(--warning); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.capacity-server { padding:17px 24px 20px; border-top:1px solid var(--border); background:#fbfcfd; }
.capacity-server p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.capacity-server p+p { margin-top:9px; }
.capacity-server strong { color:var(--ink); }
.capacity-worker-list>.capacity-empty { grid-column:1/-1; margin:0; padding:20px 24px; color:var(--muted); }

.capacity-edit-group { min-width:0; margin:18px 0; padding:0; border:0; }
.capacity-edit-group legend { margin-bottom:10px; font-size:12px; font-weight:600; }
.capacity-edit-group .form-grid { gap:14px; }

@media(max-width:1100px) {
  .capacity-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .capacity-metric:nth-child(3) { border-left:0; }
  .capacity-metric:nth-child(n+3) { border-top:1px solid var(--border); }
}
@media(max-width:780px) {
  .capacity-limit-grid,.capacity-worker-list { grid-template-columns:1fr; }
  .capacity-limit+.capacity-limit,.capacity-worker+.capacity-worker { border-left:0; border-top:1px solid var(--border); }
  .capacity-workspaces .table-scroll { overflow:visible; }
  .capacity-workspaces table,.capacity-workspaces tbody,.capacity-workspaces tr,.capacity-workspaces td { display:block; width:100%; min-width:0; }
  .capacity-workspaces thead { display:none; }
  .capacity-workspaces tr+tr { border-top:1px solid var(--border); }
  .capacity-workspaces td { display:grid; grid-template-columns:110px minmax(0,1fr); gap:8px; align-items:start; padding:7px 18px; border:0; }
  .capacity-workspaces td:first-child { padding-top:17px; }
  .capacity-workspaces td:last-child { padding-bottom:17px; text-align:left; }
  .capacity-workspaces td::before { content:attr(data-label); color:var(--muted); font-size:11px; }
  .capacity-workspaces .capacity-empty::before { content:none; }
}
@media(max-width:600px) {
  .capacity-page .surface-heading { align-items:flex-start; padding:17px 18px; }
  .capacity-page .surface-heading .button { width:100%; }
  .capacity-metric { padding:18px; }
  .capacity-metric>strong,.capacity-limit-number strong { font-size:23px; }
  .capacity-section-note,.capacity-server { padding:14px 18px; }
  .capacity-limit,.capacity-worker { padding:18px; }
  .capacity-technical>summary { padding:16px 18px; }
}
@media(max-width:420px) {
  .capacity-metrics { grid-template-columns:1fr; }
  .capacity-metric+.capacity-metric,.capacity-metric:nth-child(3) { border-left:0; border-top:1px solid var(--border); }
  .capacity-workspaces td { grid-template-columns:1fr; gap:3px; }
}
