



#workshop-schedule-host { display: contents; }
#workshop-schedule.workshop-schedule-active-fallback { display: block; }
body:has(#workshop-schedule.workshop-schedule-active-fallback) .dashboard { display: none; }

.ws-schedule-filters { flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.ws-schedule-filters label { display: flex; flex-direction: column; font-size: 12px; color: #103f52; gap: 2px; }
.ws-schedule-filters input, .ws-schedule-filters select { min-height: 30px; }
.ws-schedule-filter-actions {
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.ws-schedule-filters #wsSchedApply,
.ws-schedule-filters #wsSchedClear {
  width: 100px;
  min-width: 100px;
  flex: 0 0 100px;
}

.ws-schedule-legend { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0; }
.ws-badge { padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; }

.ws-status-available { background: #d9f2df; color: #1c6b31; }
.ws-status-nearfull { background: #fdf3d1; color: #8a6d00; }
.ws-status-overloaded { background: #fadcdc; color: #a02323; }
.ws-status-atrisk { background: #ecdcf7; color: #6b2f91; }
.ws-status-nocapacity { background: #e6e9ee; color: #4a5561; }

tr.ws-row-available td { background: #f2fbf4; }
tr.ws-row-nearfull td { background: #fffbe8; }
tr.ws-row-overloaded td { background: #fdf0f0; }
tr.ws-row-clickable { cursor: pointer; }
tr.ws-row-clickable:hover td { filter: brightness(0.96); }
tr.ws-day-group-row td {
  background: #dceef5;
  color: #103f52;
  font-weight: 700;
  border-top: 2px solid #8fc2d4;
}

.ws-schedule-detail { margin-top: 14px; border-top: 2px solid #b9d7e4; padding-top: 10px; }
.ws-schedule-detail-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ws-schedule-detail-header h2 { margin: 0; color: #103f52; font-size: 18px; }

.ws-transfer-card {
    width: 1120px; max-width: 94vw; max-height: 88vh; overflow: auto;
    background: #ffffff; border: 1px solid #b9d7e4; border-radius: 12px;
    padding: 16px 18px 18px; box-shadow: 0 18px 45px rgba(23, 67, 108, 0.25);
}
.ws-transfer-card h2 { margin: 0 0 8px; color: #103f52; }
.ws-transfer-card h3 { margin: 12px 0 6px; color: #103f52; font-size: 14px; }
.ws-transfer-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; margin-top: 12px; }
.ws-transfer-actions label { display: flex; flex-direction: column; font-size: 12px; color: #103f52; gap: 2px; }
.ws-transfer-dates, .ws-transfer-moves, .ws-transfer-buckets { max-height: 240px; overflow: auto; }
.ws-warning-line { background: #fdf3d1; border-left: 4px solid #e0a800; padding: 6px 10px; margin: 4px 0; font-size: 13px; color: #5c4a00; }
.ws-warning-line.ws-warning-bad { background: #fadcdc; border-left-color: #d64545; color: #7a1c1c; }

.ws-back-button { white-space: nowrap; align-self: flex-start; }
#workshop-schedule .customer-header > .utility-actions.customer-actions {
  position: absolute;
  top: 10px;
  right: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  width: auto;
  min-width: 0;
  height: auto;
}
#workshop-schedule .customer-header > div:first-child { padding-right: 190px; }
#workshop-schedule .customer-header .utility-actions.customer-actions .small-button:not(.exit-button) {
  min-width: 130px;
  white-space: nowrap;
}
#workshop-schedule .customer-header .utility-actions.customer-actions .exit-button {
  position: relative;
  top: auto;
  right: auto;
  margin: 0;
}
.ws-capacity-all-card { width: 860px; max-width: 96vw; }
.ws-capacity-all-hint { margin: 4px 0 8px; font-size: 12px; color: #4a6a78; }
.ws-capacity-all-toolbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 8px; }
.ws-capacity-all-toolbar input { width: min(320px, 100%); }
.ws-capacity-all-toolbar select { width: 110px; min-height: 34px; }
.ws-capacity-all-list { max-height: 60vh; overflow-y: auto; overflow-x: hidden; }
.ws-capacity-all-list table { width: 100%; min-width: 0; table-layout: fixed; }
.ws-capacity-all-list td:first-child, .ws-capacity-all-list th:first-child { white-space: normal; word-break: break-word; }
.ws-capacity-all-list th:nth-child(2), .ws-capacity-all-list td:nth-child(2),
.ws-capacity-all-list th:nth-child(3), .ws-capacity-all-list td:nth-child(3) { width: 140px; }
.ws-capacity-all-list th:nth-child(4), .ws-capacity-all-list td:nth-child(4) { width: 68px; }
.ws-capacity-all-input { width: 110px; max-width: 100%; box-sizing: border-box; }
.ws-capacity-all-list [data-ws-cap-save] { min-width: 0; padding-left: 8px; padding-right: 8px; white-space: nowrap; }
