/* Capacity: the key above the grid and the day's card (capacity.js). Prefix cp2-. */
.cp2-key { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 14px }
.cp2-key p { margin: 0; color: var(--ink2); font-size: var(--fs-13); max-width: 70ch; line-height: 1.5 }
.cp2-scale { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-12); color: var(--ink2); white-space: nowrap }
.cp2-scale i { width: 96px; height: 10px; border-radius: 5px; background: linear-gradient(to right, #eef6ee, color-mix(in srgb, #2b5fb8 50%, #eef6ee), #2b5fb8) }
:root[dir=rtl] .cp2-scale i { transform: scaleX(-1) }
.capc.cp2-on { outline: 2px solid #2b5fb8; outline-offset: -2px }

.cp2-card { position: fixed; z-index: 60; width: 340px; max-height: calc(100vh - 16px); overflow: auto; background: #fff; border: 1px solid var(--sep); border-radius: 14px;
  box-shadow: 0 12px 32px rgba(28, 28, 30, .16), 0 2px 6px rgba(28, 28, 30, .06); padding: 6px 0 8px; font-size: var(--fs-13) }
.cp2-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 8px 14px 10px; border-bottom: 1px solid var(--sep2) }
.cp2-card > header b { display: block; font-size: var(--fs-15); font-weight: 600 }
.cp2-card > header small { color: var(--ink2); font-size: var(--fs-12) }
.cp2-card > header .x { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--sep2); flex: none }
.cp2-doc { display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 10px 14px; text-align: start; border-bottom: 1px solid var(--sep2) }
.cp2-doc:last-child { border-bottom: 0 }
button.cp2-doc:hover { background: #fafafb }
.cp2-doc.sel { background: #f6f8fc }
.cp2-dh { display: flex; align-items: center; gap: 8px }
.cp2-dh b { font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.cp2-free { color: var(--ink2); font-size: var(--fs-12); white-space: nowrap; font-variant-numeric: tabular-nums }
.cp2-doc.sel .cp2-free { color: var(--ink); font-weight: 600 }
.cp2-bar { height: 6px; border-radius: 3px; background: #e3efe3; overflow: hidden }
.cp2-bar i { display: block; height: 100%; background: #2b5fb8; border-radius: 3px }
.cp2-doc dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 2px 0 0; font-size: var(--fs-12) }
.cp2-doc dt { color: var(--ink2) }
.cp2-doc dd { margin: 0 }
.cp2-gaps { display: flex; flex-wrap: wrap; gap: 4px }
.cp2-gaps span { background: #e8f3e8; color: #1d5c2c; border-radius: 6px; padding: 1px 6px; font-size: var(--fs-12) }
.cp2-warn { color: #b25b00 }
.cp2-acts { display: flex; gap: 8px; margin-top: 4px }
.cp2-acts .cp2-book { flex: 1; min-height: 40px }
.cp2-acts .btn { min-height: 40px }
