.capacity-panel{margin:14px 0;border:1px solid #31566a;border-radius:14px;background:#0a1b26;overflow:hidden}
.capacity-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-weight:900}
.capacity-panel>summary small{color:var(--muted)}
.capacity-toolbar{display:flex;align-items:end;gap:10px;padding:0 16px 14px}
.capacity-toolbar label{display:grid;gap:5px}
.capacity-toolbar label span{font-size:12px;color:var(--muted)}
.capacity-toolbar input{min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#091923;color:var(--text)}
.capacity-toolbar button{min-height:42px;padding:0 16px;border:0;border-radius:10px;background:#2377c7;color:#fff;font-weight:900}
.capacity-toolbar .capacity-bulk-button{margin-left:auto;background:#14936b;cursor:pointer}
.capacity-toolbar .capacity-bulk-button:hover{background:#18a97b}
.capacity-toolbar .capacity-bulk-button:disabled{cursor:wait;opacity:.7}
.capacity-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 16px 14px}
.capacity-metrics>div{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#102632}
.capacity-metrics small{color:var(--muted)}
.capacity-metrics b{font-size:18px}
.capacity-metrics .danger{border-color:#8f3b45}
.capacity-metrics .danger b{color:#ff8894}
.capacity-metrics .success b{color:#55dca7}
.capacity-rooms{display:grid;gap:9px;padding:0 16px 16px}
.capacity-room{border:1px solid #31566a;border-radius:12px;background:#102632;overflow:hidden}
.capacity-room.no_schedule,.capacity-room.shortage{border-color:#96651c}
.capacity-room>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer}
.capacity-room>summary>div{display:grid;gap:4px}
.capacity-room>summary small{color:var(--muted)}
.capacity-status{padding:6px 9px;border-radius:999px;background:#21465a;font-size:12px;font-weight:900;white-space:nowrap}
.capacity-status.no_schedule{background:#8f303d}
.capacity-status.shortage{background:#906000}
.capacity-status.available{background:#14734f}
.capacity-status.idle{background:#405464}
.capacity-room-body{padding:0 12px 12px}
.capacity-bar{height:8px;margin-bottom:10px;border-radius:999px;background:#17303e;overflow:hidden}
.capacity-bar span{display:block;height:100%;background:linear-gradient(90deg,#2291d0,#49d6b0)}
.capacity-room.shortage .capacity-bar span,.capacity-room.no_schedule .capacity-bar span{background:linear-gradient(90deg,#d38a18,#ff6876)}
.capacity-room-stats{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted)}
.capacity-room-stats b{color:var(--text)}
.capacity-room-stats .shortage,.capacity-room-stats .shortage b{color:#ffad68}
.capacity-procedures{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.capacity-procedures span{padding:6px 9px;border-radius:9px;background:#0a1b26;color:var(--muted);font-size:12px}
.capacity-procedures b{margin-right:6px;color:var(--text)}
.capacity-no-demand{margin-top:10px;color:var(--muted);font-size:12px}
.capacity-advice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:8px 10px;border-radius:9px;background:#122f36;color:#78dfc6;font-size:13px}
.capacity-advice button{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:#2377c7;color:#fff;font-weight:900;white-space:nowrap;cursor:pointer}
.capacity-advice button:hover{background:#2f8de3}
.capacity-empty{padding:16px;border:1px dashed var(--line);border-radius:11px;text-align:center;color:var(--muted)}
.capacity-empty.error{color:#ff8995}
.capacity-bulk-result{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 16px 14px;padding:11px 13px;border:1px solid #287d65;border-radius:11px;background:#102f2b;color:#8ce8ca}
.capacity-bulk-result[hidden]{display:none}
.capacity-bulk-result>div{display:grid;gap:3px}.capacity-bulk-result>div span{font-size:12px;color:var(--muted)}
.capacity-bulk-result.warning{border-color:#986b22;background:#332a15;color:#ffd47c}.capacity-bulk-result.error{border-color:#923c48;background:#351c24;color:#ff9ba5}
.capacity-bulk-result details{min-width:260px}.capacity-bulk-result details summary{cursor:pointer;font-weight:800}.capacity-bulk-result details div{display:grid;gap:6px;margin-top:8px}.capacity-bulk-result details p{display:grid;gap:2px;margin:0;padding:7px;border-radius:8px;background:rgba(0,0,0,.16)}.capacity-bulk-result details small{color:var(--muted)}
html[data-theme="light"] .capacity-panel{background:#f7fafc;border-color:#c7dbe6}
html[data-theme="light"] .capacity-toolbar input,html[data-theme="light"] .capacity-metrics>div,html[data-theme="light"] .capacity-room{background:#fff}
html[data-theme="light"] .capacity-procedures span{background:#eef5f8}
html[data-theme="light"] .capacity-advice{background:#e8f7f2;color:#176c59}
html[data-theme="light"] .capacity-bulk-result{background:#e9f8f3;color:#12634e}html[data-theme="light"] .capacity-bulk-result.warning{background:#fff5dc;color:#815500}html[data-theme="light"] .capacity-bulk-result.error{background:#fff0f2;color:#912c3a}
@media(max-width:850px){.capacity-metrics{grid-template-columns:repeat(2,1fr)}.capacity-toolbar{align-items:stretch;flex-wrap:wrap}.capacity-toolbar label{flex:1 1 180px}.capacity-toolbar button{flex:1 1 140px}.capacity-toolbar .capacity-bulk-button{margin-left:0}.capacity-bulk-result{flex-direction:column}.capacity-bulk-result details{min-width:0;width:100%}}
@media(max-width:560px){.capacity-panel>summary,.capacity-room>summary{align-items:flex-start}.capacity-room>summary{flex-direction:column}.capacity-status{align-self:flex-start}.capacity-metrics{grid-template-columns:1fr}.capacity-toolbar{flex-direction:column}.capacity-toolbar label,.capacity-toolbar button{width:100%;flex:auto}.capacity-advice{align-items:stretch;flex-direction:column}.capacity-advice button{width:100%}}
