.capacity-body { display:flex; flex-direction:column; gap:16px; min-width:0; max-width:100%; font-size:12px; line-height:1.8; color:var(--wsg-body); }
.capacity-body > * { min-width:0; flex-shrink:0; }
.capacity-body h3 { color:var(--wsg-ink); font:700 14px/1.7 var(--wsg-font-display); margin:0; }
.capacity-badge { display:inline-flex; width:fit-content; border:1px solid var(--border); border-radius:6px; padding:4px 8px; font-size:10px; line-height:1.7; background:var(--wsg-white); color:var(--wsg-body); }
.capacity-badge.active { background:var(--success-bg); color:var(--success); border-color:transparent; }
.capacity-badge.warning,.capacity-warning,.capacity-error { background:var(--danger-bg); color:var(--danger); }
.capacity-warning,.capacity-error { padding:12px 16px; border-radius:8px; overflow-wrap:anywhere; }
.capacity-note { padding:12px 16px; border:1px solid var(--border); border-radius:8px; background:var(--wsg-background); }
.capacity-basis { border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--wsg-white); }
.capacity-basis dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.capacity-basis dt { font-size:10px; color:var(--wsg-body); }
.capacity-basis dd { margin:4px 0 0; color:var(--wsg-ink); overflow-wrap:anywhere; font-size:12px; }
.capacity-basis details { border-top:1px solid var(--border); padding-top:12px; font-size:10px; }
.capacity-basis summary,.capacity-history summary { cursor:pointer; }
.capacity-basis code { display:block; white-space:normal; overflow-wrap:anywhere; font:500 10px/1.8 var(--wsg-font-mono); }
.capacity-day-value { padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--wsg-background); display:flex; flex-direction:column; gap:8px; }
.capacity-day-value > span { font-size:11px; }
.capacity-day-value > strong { color:var(--wsg-ink); font:700 18px/1.6 var(--wsg-font-display); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.capacity-history { border-top:1px solid var(--border); padding-top:12px; }
.capacity-history ol { padding-left:20px; }
.capacity-history li,.capacity-history > section { margin-top:16px; }
.capacity-retained,.capacity-history p { white-space:pre-wrap; overflow-wrap:anywhere; }
.capacity-form { display:flex; flex-direction:column; max-height:calc(100dvh - 160px); }
.capacity-form > .dialog-body { flex:1 1 auto; min-height:0; max-height:none; }
.capacity-form > .dialog-foot { flex-shrink:0; flex-wrap:wrap; }
.capacity-form .dialog-foot .actions { flex-wrap:wrap; }
.capacity-form .dialog-foot .btn { white-space:normal; }
.capacity-report { min-width:0; padding:20px; background:var(--wsg-white); }
.capacity-report form .form-grid { grid-template-columns:repeat(2,minmax(160px,1fr)); }
.capacity-actions { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.capacity-report-summary { display:flex; flex-direction:column; gap:8px; margin:20px 0; color:var(--wsg-ink); font-size:12px; line-height:1.8; }
.capacity-report-summary > small { color:var(--wsg-body); }
.capacity-matrix-wrap { min-width:0; max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:8px; background:var(--wsg-white); }
.capacity-matrix th,.capacity-matrix td { min-width:180px; vertical-align:top; }
.capacity-matrix th:first-child { position:sticky; left:0; z-index:1; min-width:220px; max-width:260px; background:var(--wsg-white); border-right:1px solid var(--border); white-space:normal; }
.capacity-matrix th:first-child > .capacity-badge { margin-top:8px; }
.capacity-center-link { display:block; width:100%; max-width:100%; padding:0; border:0; background:var(--wsg-white); color:var(--primary); font:700 12px/1.8 var(--wsg-font-display); text-align:left; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.capacity-center-link small { display:block; color:var(--wsg-body); font:400 11px/1.8 var(--wsg-font-body); white-space:normal; overflow-wrap:anywhere; }
.capacity-cell { width:100%; border:1px solid var(--border); padding:10px; border-radius:8px; background:var(--wsg-white); cursor:pointer; text-align:left; white-space:normal; font:500 11px/1.8 var(--wsg-font-body); color:var(--wsg-body); }
.capacity-cell strong,.capacity-cell small { display:block; }
.capacity-cell.declared { border-color:var(--success); color:var(--success); }
.capacity-cell.calendar_mismatch { background:var(--danger-bg); color:var(--danger); }
.capacity-matrix td > small { font-size:10px; white-space:normal; }
.capacity-matrix-wrap:focus-visible,.capacity-cell:focus-visible,.capacity-center-link:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.capacity-picker-row { min-height:44px; padding:8px 0; border-bottom:1px solid var(--border); white-space:normal; }
#capacity-picker-search { display:flex; gap:8px; }
#capacity-picker-q { flex:1; min-width:0; border:1px solid var(--border); border-radius:8px; padding:10px 12px; background:var(--wsg-white); }
@media(max-width:680px) { .capacity-basis dl { grid-template-columns:minmax(0,1fr); } .capacity-report { padding:16px; } .capacity-report form .form-grid { grid-template-columns:minmax(0,1fr); } .capacity-cell { min-height:44px; } }
