.pl-workspace {
  --pl-ink: #203638;
  --pl-muted: #526367;
  --pl-line: #ccd9d9;
  --pl-teal: #076d66;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  color: var(--pl-ink);
  background: #fff;
  font: 400 14px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: 0;
}
.pl-workspace *, .pl-workspace *::before, .pl-workspace *::after { box-sizing: border-box; letter-spacing: 0; }
.pl-workspace [hidden] { display: none !important; }
.pl-workspace button, .pl-workspace input, .pl-workspace select { font: inherit; color: inherit; margin: 0; }
.pl-workspace button { cursor: pointer; }
.pl-workspace button:disabled { cursor: not-allowed; opacity: .5; }
.pl-workspace :is(button, input, select, summary, [tabindex]):focus-visible { outline: 3px solid #075eae; outline-offset: 2px; }
.pl-workspace h2 { margin: 0; font-size: 14px; font-weight: 700; }
.pl-workspace strong { font-weight: 650; }
.pl-workspace small { display: block; color: var(--pl-muted); font-size: 12px; }
.pl-workspace .pl-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pl-workspace .pl-icon { display: inline-flex; flex: 0 0 18px; width: 18px; height: 18px; align-items: center; justify-content: center; pointer-events: none; }
.pl-workspace .pl-icon svg { display: block; width: 18px; height: 18px; }
.pl-workspace .pl-toolbar { position: relative; z-index: 6; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: 12px 0; border-bottom: 1px solid var(--pl-line); background: #fff; }
.pl-workspace .pl-period, .pl-workspace .pl-actions, .pl-workspace .pl-views { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.pl-workspace .pl-period { flex: 1 1 540px; }
.pl-workspace .pl-period-label { margin: 0 8px; font-size: 14px; overflow-wrap: anywhere; }
.pl-workspace .pl-actions { margin-left: auto; }
.pl-workspace .pl-button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px; min-height: 36px; max-width: 100%; padding: 6px 10px; border: 1px solid var(--pl-line); border-radius: 4px; background: #fff; line-height: 1.2; text-align: center; }
.pl-workspace .pl-button:hover:not(:disabled) { border-color: var(--pl-teal); background: #edf7f5; color: var(--pl-ink); }
.pl-workspace .pl-icon-button { width: 36px; height: 36px; padding: 8px; }
.pl-workspace .pl-button[aria-pressed="true"] { background: var(--pl-teal); border-color: var(--pl-teal); color: #fff; }
.pl-workspace .pl-button[aria-pressed="true"]:is(:hover, :focus-visible):not(:disabled) { background: #05564f; border-color: #05564f; color: #fff; }
.pl-workspace .pl-views { gap: 0; }
.pl-workspace .pl-views .pl-button { border-radius: 0; }
.pl-workspace .pl-views .pl-button:first-child { border-radius: 4px 0 0 4px; }
.pl-workspace .pl-views .pl-button:last-child { border-radius: 0 4px 4px 0; }
.pl-workspace .pl-views .pl-button + .pl-button { margin-left: -1px; }
.pl-workspace .pl-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 12px; width: 100%; }
.pl-workspace .pl-field { display: grid; gap: 3px; min-width: 120px; max-width: 100%; margin: 0; font-size: 12px; color: var(--pl-muted); }
.pl-workspace .pl-field :is(input, select), .pl-workspace .pl-date input { min-height: 36px; width: 100%; min-width: 0; padding: 6px 8px; border: 1px solid #a3b7b8; border-radius: 4px; color: var(--pl-ink); background: #fff; font-size: 14px; }
.pl-workspace .pl-date { min-width: 140px; max-width: 100%; margin: 0; }
.pl-workspace .pl-search { flex: 1 1 200px; }
.pl-workspace .pl-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: 0; }
.pl-workspace .pl-toggle input { width: 18px; height: 18px; accent-color: var(--pl-teal); }
.pl-workspace .pl-message { margin: 0; padding: 0; color: #823b0a; font-size: 13px; }
.pl-workspace .pl-message:not(:empty) { padding: 8px 0; }
.pl-workspace .pl-layout { display: grid; grid-template-columns: minmax(210px, 250px) minmax(0, 1fr); align-items: start; min-width: 0; }
.pl-workspace .pl-queue-collapsed { grid-template-columns: minmax(0, 1fr); }
.pl-workspace .pl-queue { min-width: 0; padding: 12px 12px 12px 0; border-right: 1px solid var(--pl-line); }
.pl-workspace .pl-section-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 40px; margin-bottom: 8px; }
.pl-workspace .pl-count { display: inline-block; min-width: 20px; color: var(--pl-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.pl-workspace .pl-section-heading .pl-icon-button { margin-left: auto; }
.pl-workspace .pl-queue summary { cursor: pointer; padding: 8px 0; font-weight: 650; }
.pl-workspace .pl-queue details + details { margin-top: 12px; border-top: 1px solid var(--pl-line); }
.pl-workspace .pl-queue-items { display: grid; gap: 8px; max-height: 50vh; overflow: auto; padding: 3px; }
.pl-workspace .pl-main { min-width: 0; padding: 12px 0 0 12px; }
.pl-workspace .pl-queue-collapsed .pl-main { padding-left: 0; }
.pl-workspace .pl-employees { margin-bottom: 12px; min-width: 0; border-bottom: 1px solid var(--pl-line); }
.pl-workspace .pl-employees > summary { min-height: 36px; margin-bottom: 0; padding: 4px 0; cursor: pointer; list-style: none; }
.pl-workspace .pl-employees > summary::-webkit-details-marker { display: none; }
.pl-workspace .pl-employees > summary .pl-icon { margin-left: auto; transform: rotate(-90deg); }
.pl-workspace .pl-employees[open] > summary .pl-icon { transform: none; }
.pl-workspace .pl-staff-content { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pl-workspace .pl-employee-search { min-width: 130px; flex: 0 1 200px; max-width: 220px; margin: 0; }
.pl-workspace .pl-staff-list { display: flex; flex: 1 1 auto; min-width: 0; gap: 8px; overflow: auto; padding: 4px 2px 12px; margin: 0; list-style: none; }
.pl-workspace .pl-staff { display: flex; align-items: center; gap: 8px; min-width: 156px; max-width: 240px; flex: 0 0 180px; min-height: 48px; padding: 6px 8px; border: 1px solid var(--pl-line); border-radius: 4px; background: #fff; }
.pl-workspace .pl-staff > span { min-width: 0; overflow-wrap: anywhere; }
.pl-workspace [draggable="true"] { cursor: grab; }
.pl-workspace [draggable="true"]:active { cursor: grabbing; }
.pl-workspace .pl-scroll { max-height: 68vh; min-width: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--pl-line); }
.pl-workspace :is(.pl-matrix, .pl-table) { border-collapse: separate; border-spacing: 0; width: 100%; margin: 0; font-size: 13px; }
.pl-workspace :is(.pl-matrix, .pl-table) :is(th, td) { padding: 8px; text-align: left; vertical-align: top; border-right: 1px solid var(--pl-line); border-bottom: 1px solid var(--pl-line); background: #fff; }
.pl-workspace :is(.pl-matrix, .pl-table) th { font-weight: 650; }
.pl-workspace :is(.pl-matrix, .pl-table) thead th { position: sticky; top: 0; z-index: 3; background: #eef5f4; }
.pl-workspace .pl-matrix thead th span { display: block; font-size: 12px; font-weight: 400; color: var(--pl-muted); }
.pl-workspace .pl-matrix th:first-child { position: sticky; left: 0; min-width: 170px; width: 170px; max-width: 220px; z-index: 2; overflow-wrap: anywhere; background: #fff; }
.pl-workspace .pl-matrix thead th:first-child { z-index: 4; background: #eef5f4; }
.pl-workspace .pl-matrix .pl-dropzone { min-width: 176px; width: 190px; height: 124px; background: #fcfefe; }
.pl-workspace .pl-dropzone > .pl-icon-button { display: flex; margin: 6px auto 0; border-style: dashed; color: var(--pl-teal); }
.pl-workspace .pl-event { position: relative; display: flex; align-items: start; min-width: 0; max-width: 100%; margin-bottom: 6px; border: 1px solid #9ebbb7; border-left: 4px solid var(--pl-teal); border-radius: 4px; background: #edf8f5; overflow-wrap: anywhere; }
.pl-workspace .pl-event-open { display: grid; gap: 3px; min-width: 0; flex: 1; width: 100%; padding: 7px; text-align: left; color: inherit; background: transparent; border: 0; border-radius: 0; line-height: 1.4; overflow-wrap: anywhere; }
.pl-workspace .pl-event > .pl-icon-button { position: relative; flex: 0 0 28px; width: 28px; height: 28px; min-height: 28px; padding: 5px; margin: 3px 3px 0 0; background: transparent; border: 0; }
.pl-workspace .pl-event[aria-busy="true"] { opacity: .65; }
.pl-workspace .pl-status { display: inline-block; width: fit-content; max-width: 100%; font-size: 11px; font-weight: 650; line-height: 1.4; }
.pl-workspace .pl-status-concept { border-left-color: #a5670a; background: #fff8e8; color: #5d430f; }
.pl-workspace .pl-status-planned { border-left-color: #296e9d; background: #eef6fc; color: #234c69; }
.pl-workspace .pl-status-confirmed { border-left-color: #087a60; background: #edf8f5; color: #18574c; }
.pl-workspace .pl-status-done { border-left-color: #667367; background: #f1f5f1; color: #455547; }
.pl-workspace .pl-status-cancelled { border-left-color: #ae394a; background: #fff0f2; color: #802c39; }
.pl-workspace .pl-table { min-width: 720px; }
.pl-workspace .pl-table td { font-variant-numeric: tabular-nums; }
.pl-workspace .pl-table .pl-status { padding: 2px 5px; border-radius: 3px; }
.pl-workspace .pl-text-button { display: inline-block; min-height: 28px; padding: 2px 0; border: 0; border-radius: 0; background: transparent; color: var(--pl-teal); text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.pl-workspace .pl-empty { margin: 0; padding: 16px 8px; color: var(--pl-muted); font-weight: 400; }
.pl-workspace .pl-warning { color: #9e2637; font-weight: 700; }
.pl-workspace .pl-calendar { min-height: 280px; min-width: 0; overflow: auto; }
.pl-workspace .pl-calendar.fc { --fc-border-color: var(--pl-line); --fc-today-bg-color: #f0f8f5; --fc-event-text-color: var(--pl-ink); --fc-event-border-color: #6a928d; --fc-event-bg-color: #edf8f5; min-width: 0; }
.pl-workspace .pl-calendar .fc-event { border-radius: 3px; color: var(--pl-ink); }
.pl-workspace .pl-calendar-label { display: block; padding: 2px; overflow-wrap: anywhere; white-space: normal; font-size: 12px; }
.pl-workspace.pl-density-compact .pl-dropzone { height: 90px; padding: 5px; }
.pl-workspace.pl-density-compact .pl-event-open { padding: 4px; gap: 1px; font-size: 12px; }
.pl-workspace.pl-expanded { min-height: 85vh; }
.pl-workspace:fullscreen { width: 100%; height: 100%; padding: 12px; overflow: auto; background: #fff; }
.pl-workspace:fullscreen .pl-scroll { max-height: 73vh; }
@media (max-width: 1000px) {
  .pl-workspace .pl-layout { grid-template-columns: 200px minmax(0, 1fr); }
  .pl-workspace .pl-queue-collapsed { grid-template-columns: minmax(0, 1fr); }
  .pl-workspace .pl-period { flex-basis: 100%; }
}
@media (max-width: 640px) {
  .pl-workspace .pl-toolbar { gap: 8px; }
  .pl-workspace .pl-period { gap: 4px; }
  .pl-workspace .pl-period-label { order: 2; flex-basis: 100%; margin: 4px 0; }
  .pl-workspace .pl-date { flex: 1 1 145px; }
  .pl-workspace .pl-views { width: 100%; }
  .pl-workspace .pl-views .pl-button { flex: 1 1 0; min-width: 0; padding: 7px 5px; font-size: 12px; }
  .pl-workspace .pl-actions { margin-left: 0; }
  .pl-workspace .pl-field { min-width: 0; flex: 1 1 130px; }
  .pl-workspace .pl-layout { display: flex; flex-direction: column; }
  .pl-workspace .pl-queue { width: 100%; border-right: 0; border-bottom: 1px solid var(--pl-line); padding-right: 0; }
  .pl-workspace .pl-queue-items { max-height: 200px; }
  .pl-workspace .pl-main { width: 100%; padding-left: 0; }
  .pl-workspace .pl-staff-content { display: block; }
  .pl-workspace .pl-employee-search { width: 100%; max-width: none; margin-bottom: 8px; }
  .pl-workspace .pl-matrix th:first-child { min-width: 120px; width: 120px; max-width: 120px; }
  .pl-workspace .pl-scroll { max-height: 62vh; }
}
@media (forced-colors: active) {
  .pl-workspace .pl-button[aria-pressed="true"] { outline: 2px solid Highlight; }
  .pl-workspace .pl-event { border: 1px solid CanvasText; }
}
