.capacity-demand-page { display:flex; flex-direction:column; gap:24px; min-width:0; max-width:100%; }
.capacity-demand-page h2 { margin:0; font:700 18px/1.5 var(--wsg-font-display); color:var(--wsg-ink); }
.capacity-demand-page h3,.capacity-demand-detail-body h3 { margin:0; font:700 16px/1.6 var(--wsg-font-display); color:var(--wsg-ink); }
.capacity-demand-page p,.capacity-demand-detail-body p { font-size:12px; line-height:1.8; }
.capacity-demand-note,.capacity-demand-dirty,.capacity-demand-incomplete,.capacity-demand-complete { margin:0; padding:12px 16px; border:1px solid var(--border); border-radius:8px; background:var(--wsg-background); color:var(--wsg-body); overflow-wrap:anywhere; }
.capacity-demand-dirty,.capacity-demand-incomplete { border-left:3px solid var(--primary); }
.capacity-demand-complete { background:var(--success-bg); color:var(--success); border-color:transparent; }
.capacity-demand-error { margin:0; padding:12px 16px; border-radius:8px; color:var(--danger); background:var(--danger-bg); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.capacity-demand-error:focus { outline:2px solid var(--danger); outline-offset:3px; }
.capacity-demand-setup { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr); gap:24px; align-items:start; }
.capacity-demand-selection,.capacity-demand-picker,.capacity-demand-group,.capacity-demand-unknown { min-width:0; padding:20px; background:var(--wsg-white); }
.capacity-demand-selection header,.capacity-demand-picker header,.capacity-demand-group header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.capacity-demand-selection header > span,.capacity-demand-picker header > span { color:var(--wsg-body); font-size:11px; line-height:1.8; }
.capacity-demand-selected { list-style:none; margin:0 0 20px; padding:0; max-height:300px; overflow:auto; }
.capacity-demand-selected li { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); font-size:12px; }
.capacity-demand-selected li > div { min-width:0; flex:1; overflow-wrap:anywhere; }
.capacity-demand-selected small { display:block; color:var(--wsg-body); margin-top:4px; font-size:11px; line-height:1.7; }
.capacity-demand-position { min-width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; background:var(--wsg-background); color:var(--primary); font:700 11px/1.6 var(--wsg-font-display); }
.capacity-demand-selection form { display:flex; flex-wrap:wrap; gap:12px; }
.capacity-demand-statuses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; flex-basis:100%; border:1px solid var(--border); border-radius:8px; padding:12px; margin:0; }
.capacity-demand-statuses legend { font:700 12px/1.8 var(--wsg-font-display); padding:0 4px; color:var(--wsg-ink); }
.capacity-demand-statuses label { display:flex; gap:8px; align-items:center; font-size:11px; line-height:1.7; color:var(--wsg-ink); }
.capacity-demand-statuses input,.capacity-demand-picker input[type=checkbox] { width:16px; height:16px; flex-shrink:0; accent-color:var(--primary); }
.capacity-demand-help { font-size:11px!important; color:var(--wsg-body); }
.capacity-demand-search { display:flex; gap:8px; margin-bottom:16px; }
.capacity-demand-search input { min-width:0; flex:1; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--wsg-white); color:var(--wsg-ink); font:400 12px/1.7 var(--wsg-font-body); }
.capacity-demand-picker-scroll { min-width:0; max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:8px; }
.capacity-demand-picker-scroll table { min-width:540px; }
.capacity-demand-picker-scroll th:first-child { width:56px; }
.capacity-demand-picker-scroll .tag { white-space:normal; }
.capacity-demand-empty { color:var(--wsg-body); font-size:12px; line-height:1.9; }
.capacity-demand-results { display:flex; flex-direction:column; gap:20px; min-width:0; }
.capacity-demand-result-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.capacity-demand-result-heading p { margin-bottom:0; }
.capacity-demand-stats { margin:0; }
.capacity-demand-stats .stat { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.capacity-demand-stats .stat-label,.capacity-demand-stats .stat-value,.capacity-demand-stats .stat-sub { display:block; }
.capacity-demand-stats .stat-value { margin:0; }
.capacity-demand-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.capacity-demand-group { display:flex; flex-direction:column; gap:12px; }
.capacity-demand-group header { margin:0; }
.capacity-demand-group header p { margin:4px 0 0; overflow-wrap:anywhere; }
.capacity-demand-value { display:flex; flex-direction:column; gap:8px; padding:16px; border:1px solid var(--border); border-radius:8px; background:var(--wsg-background); }
.capacity-demand-value > span,.capacity-demand-value > small { font-size:11px; color:var(--wsg-body); }
.capacity-demand-value > strong { color:var(--wsg-ink); font:700 22px/1.5 var(--wsg-font-display); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.capacity-demand-group > p { margin:0; }
.capacity-demand-group > button { align-self:flex-start; margin-top:auto; white-space:normal; }
.capacity-demand-group details,.capacity-demand-definition { font-size:11px; color:var(--wsg-body); line-height:1.9; }
.capacity-demand-group summary,.capacity-demand-definition summary { cursor:pointer; color:var(--primary); }
.capacity-demand-variants,.capacity-demand-unknown ul { list-style:none; padding:0; margin:12px 0; }
.capacity-demand-variants li,.capacity-demand-unknown li { padding:10px 0; border-bottom:1px solid var(--border); }
.capacity-demand-variants strong,.capacity-demand-variants small,.capacity-demand-unknown span,.capacity-demand-unknown small { display:block; }
.capacity-demand-unknown li { font-size:12px; line-height:1.9; }
.capacity-demand-unknown small { color:var(--wsg-body); }
.capacity-demand-definition code { display:block; overflow-wrap:anywhere; white-space:normal; font:500 10px/1.8 var(--wsg-font-mono); margin-top:12px; }
.capacity-demand-detail-body { display:flex; flex-direction:column; gap:16px; min-width:0; max-width:100%; font-size:12px; color:var(--wsg-body); }
.capacity-demand-detail-body > * { min-width:0; flex-shrink:0; }
.capacity-demand-denominator { margin:0; font-weight:600; color:var(--wsg-ink); }
.capacity-demand-detail-scroll { min-width:0; max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:8px; background:var(--wsg-white); }
.capacity-demand-detail-scroll table { min-width:900px; }
.capacity-demand-detail-scroll th,.capacity-demand-detail-scroll td { vertical-align:top; }
.capacity-demand-detail-scroll td:first-child { min-width:180px; }
.capacity-demand-detail-scroll td:nth-child(2),.capacity-demand-detail-scroll td:nth-child(3) { min-width:240px; }
.capacity-demand-detail-scroll td:last-child { min-width:170px; }
.capacity-demand-exact { font-variant-numeric:tabular-nums; color:var(--wsg-ink); }
.capacity-demand-missing { color:var(--wsg-body); }
.capacity-demand-picker-scroll:focus-visible,.capacity-demand-detail-scroll:focus-visible,.capacity-demand-page input:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
@media(max-width:1080px) { .capacity-demand-setup { grid-template-columns:minmax(0,1fr); } }
@media(max-width:680px) { .capacity-demand-groups { grid-template-columns:minmax(0,1fr); } .capacity-demand-selection,.capacity-demand-picker,.capacity-demand-group,.capacity-demand-unknown { padding:16px; } .capacity-demand-statuses { grid-template-columns:minmax(0,1fr); } .capacity-demand-page .segmented { flex-wrap:wrap; } .capacity-demand-page .btn { white-space:normal; } .capacity-demand-value > strong { font-size:20px; } }
