/* Occupancy calendar (PRD FR-F1) — reuses the Allocation Board's palette
   (board.css :root) so the two views read as one system. */

.occ {
  background: var(--board-paper);
  color: var(--board-ink);
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  border: 1px solid var(--board-line);
  border-radius: var(--board-r);
  overflow: hidden;
}

.occ-topbar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 13px 22px 12px;
  background: linear-gradient(180deg, #fdfbf6, #f7f1e7);
  border-bottom: 1px solid var(--board-line);
  flex-wrap: wrap;
}

.occ-wordmark { display: flex; flex-direction: column; line-height: 1; gap: 3px; }
.occ-wordmark strong { font-family: Georgia, serif; font-weight: 600; font-size: 22px; }
.occ-wordmark span { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--board-brass); font-weight: 700; }

.occ-view-toggle { display: flex; gap: 6px; }
.occ-toggle-link {
  border: 1px solid var(--board-line); border-radius: 99px; padding: 5px 14px; font-size: 12.5px; font-weight: 700;
  color: var(--board-ink-2); text-decoration: none; background: var(--board-card);
}
.occ-toggle-active { color: #fff; background: var(--board-brass); border-color: var(--board-brass); }

.occ-datenav { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.occ-nav {
  width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--board-line); background: var(--board-card);
  display: grid; place-items: center; color: var(--board-ink-2); text-decoration: none;
}
.occ-nav:hover { color: var(--board-ink); border-color: var(--board-brass-2); }
.occ-period { font-family: "Spline Sans Mono", monospace; text-align: center; min-width: 150px; }
.occ-datepicker { border: 1px solid var(--board-line); border-radius: 8px; padding: 5px 8px; font: inherit; background: var(--board-card); }
.occ-go { border: 1px solid var(--board-line); background: var(--board-card); border-radius: 8px; padding: 5px 10px; font: inherit; font-weight: 700; cursor: pointer; }
.occ-today-link {
  border: 1px solid var(--board-line); border-radius: 8px; padding: 5px 10px; font-size: 12.5px; font-weight: 700;
  color: var(--board-ink-2); text-decoration: none; background: var(--board-card);
}

.occ-grid-wrap { overflow-x: auto; }
.occ-grid { min-width: max-content; }

.occ-row { display: grid; grid-template-columns: 140px repeat(var(--occ-cols), minmax(34px, 1fr)); align-items: stretch; }
.occ-row-head { border-bottom: 1px solid var(--board-line); background: var(--board-paper-2); }
.occ-cell { padding: 6px 4px; text-align: center; font-size: 11.5px; }
.occ-cell-label { text-align: left; padding: 8px 12px; font-weight: 700; }
.occ-cell-room { font-weight: 500; padding-left: 24px; color: var(--board-ink-2); text-decoration: none; }
.occ-cell-room:hover { color: var(--board-ink); text-decoration: underline; }
.occ-cell-head { display: flex; flex-direction: column; font-family: "Spline Sans Mono", monospace; color: var(--board-ink-2); }
.occ-daynum { font-weight: 700; }
.occ-dayname { font-size: 9.5px; text-transform: uppercase; }

.occ-row-building { list-style: none; cursor: pointer; border-bottom: 1px solid var(--board-line-2); background: var(--board-card); font-family: "Spline Sans Mono", monospace; }
.occ-row-building::-webkit-details-marker { display: none; }
.occ-row-room { border-bottom: 1px solid var(--board-line-2); font-family: "Spline Sans Mono", monospace; }

.occ-cell-count { color: var(--board-ink-2); text-decoration: none; }
.occ-cell-count:hover { color: var(--board-ink); font-weight: 700; }

.occupancy-today { background: var(--board-paper-2); }
.occ-cell-head.occupancy-today { color: var(--board-brass); font-weight: 700; }
