/* Figma 230:18655 geometry; user feedback retains the original Kover red/peach palette. */
.figma-planner { --journal-ink: #2b3134; --journal-muted: #656b76; --journal-line: #e0e3eb; background: #f5f5f5; border: 0; border-radius: 0; box-shadow: none; overflow: auto; color: var(--journal-ink); font-family: Inter, system-ui, sans-serif; padding: 0 0 24px; }
.figma-planner .overview-planner-grid { position: relative; display: grid; grid-template-columns: 60px repeat(var(--resource-count), minmax(200px, 1fr)) 60px; grid-template-rows: var(--planner-header-height, 64px) repeat(var(--planner-hours), var(--planner-hour-height)); grid-auto-rows: var(--planner-hour-height); gap: 0; min-width: calc(120px + var(--resource-count) * 200px); border: 0; padding: 0; }
.figma-planner .overview-planner-corner, .figma-planner .overview-resource-head { position: sticky; top: 0; height: var(--planner-header-height, 64px); min-height: 0; border: 0; border-bottom: 1px solid var(--journal-line); background: white; padding: 16px 6px; z-index: 40; }
.figma-planner .overview-resource-head { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; gap: 0; text-align: left; }
.figma-planner .overview-resource-head strong, .figma-planner .overview-resource-head span:not(.planner-resource-mark) { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--journal-ink); text-transform: none; letter-spacing: 0; }
.figma-planner .overview-resource-head span:not(.planner-resource-mark) { color: var(--journal-muted); font-weight: 400; }
.figma-planner .overview-planner-time, .figma-planner .overview-planner-cell { box-sizing: border-box; height: var(--planner-hour-height); min-height: 0; max-height: var(--planner-hour-height); border: 0; border-radius: 0; padding: 0; background: transparent; }
.figma-planner .overview-planner-time { position: relative; display: block; color: var(--journal-ink); text-align: right; padding-right: 12px; font-variant-numeric: tabular-nums; z-index: 1; }
.figma-planner .overview-planner-time time { display: inline-flex; padding-top: 1px; gap: 2px; }
.figma-planner .overview-planner-time b { font-size: 16px; font-weight: 500; line-height: 18px; }
.figma-planner .overview-planner-time sup { position: static; font-size: 11px; line-height: 14px; color: var(--journal-muted); font-weight: 400; }
.figma-planner .overview-planner-time small { position: absolute; top: 50%; right: 12px; font-size: 12px; font-weight: 400; line-height: 16px; color: var(--journal-muted); }
.figma-planner .planner-time-right { text-align: left; padding-left: 12px; padding-right: 0; }
.figma-planner .planner-time-right small { left: 12px; right: auto; }
.figma-planner .overview-planner-cell { display: grid; grid-template-rows: 1fr 1fr; gap: 0; margin: 0 6px; position: relative; overflow: visible; z-index: auto; }
.figma-planner .overview-planner-cell > .overview-planner-half-slot, .figma-planner .overview-planner-cell > .overview-planner-half-offshift, .figma-planner .planner-occupied-segment { display: block; position: relative; min-height: 0; width: 100%; height: 100%; border: 0; border-top: 1px solid var(--journal-line); border-radius: 0; box-shadow: none; background: transparent; padding: 2px 4px; color: var(--journal-muted); text-align: left; font: 400 10px/14px Inter, system-ui, sans-serif; }
.figma-planner .overview-planner-cell > .overview-planner-half-offshift { background: repeating-linear-gradient(135deg, #eef0f4 0, #eef0f4 10px, #e5e8ed 10px, #e5e8ed 20px); color: #646b77; padding: 2px 6px; font-size: 11px; line-height: 15px; }
.figma-planner .overview-planner-half-offshift span { display: block; font: 600 11px/15px Inter, system-ui, sans-serif; color: #646b77; }
.figma-planner .overview-planner-half-offshift small { color: var(--journal-muted); font: inherit; }
.figma-planner .overview-planner-half-slot .slot-interval-label { opacity: 0; font: inherit; }
.figma-planner .overview-planner-half-slot:hover, .figma-planner .overview-planner-half-slot:focus-visible, .figma-planner .overview-planner-half-slot.selected { background: #faeff0; }
.figma-planner .overview-planner-half-slot:hover .slot-interval-label, .figma-planner .overview-planner-half-slot:focus-visible .slot-interval-label { opacity: 1; }
.figma-planner .slot-create-label { display: none; }
.figma-planner .overview-planner-event-shell { position: absolute; top: var(--event-top-px); height: var(--event-height-px); left: calc(var(--event-lane, 0) * 100% / var(--event-lanes, 1)); width: calc(100% / var(--event-lanes, 1) - 2px); right: auto; z-index: 12; }
.figma-planner .overview-planner-event-shell .overview-planner-event { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; height: 100%; min-height: 0; max-height: none; width: 100%; padding: 0; border: 0; border-radius: 6px; box-shadow: none; overflow: hidden; text-align: left; color: var(--journal-ink); background: #f9d7c6; font: 400 12px/14px Inter, system-ui, sans-serif; transition: filter 150ms ease; }
.figma-planner .overview-planner-event-shell .tone-trial { background: #f9d7c6; }
.figma-planner .overview-planner-event-shell .tone-attended { background: #f2e7df; }
.figma-planner .overview-planner-event-shell .tone-alert { background: #f9d7c6; }
.figma-planner .overview-planner-event-shell .tone-internal { background: #efe5d8; }
.figma-planner .planner-event-head { display: flex; align-items: center; flex: 0 0 18px; height: 18px; min-height: 18px; margin: 0; padding: 0 4px; background: #b94b3f; border: 0; border-radius: 0; color: white; gap: 4px; }
.figma-planner .planner-event-head time, .figma-planner .planner-event-head small { font: 600 11px/18px Inter, system-ui, sans-serif; color: white; opacity: 1; white-space: nowrap; }
.figma-planner .planner-event-head small { margin-left: auto; overflow: hidden; text-overflow: ellipsis; padding-right: 12px; max-width: 55%; }
.figma-planner .overview-planner-event > strong { display: block; position: static; align-self: stretch; flex: 0 0 auto; margin: 0; padding: 1px 4px 0; font: 500 12px/14px Inter, system-ui, sans-serif; text-align: left; color: var(--journal-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.figma-planner .planner-event-students { display: flex; flex-direction: column; flex: 0 0 auto; align-self: stretch; gap: 0; padding: 0 4px; margin: 0; color: var(--journal-ink); }
.figma-planner .planner-event-students b, .figma-planner .planner-event-students span { font: 400 12px/14px Inter, system-ui, sans-serif; color: var(--journal-ink); }
.figma-planner .planner-event-type { font: 400 12px/14px Inter, system-ui, sans-serif; padding: 0 4px; color: var(--journal-muted); }
.figma-planner .planner-event-alert { display: none; }
.figma-planner .planner-conflict-label { flex: 0 0 auto; margin-left: auto; margin-right: 14px; padding: 0 3px; border-radius: 2px; background: #fff5f2; color: #85291f; font: 600 10px/14px Inter, system-ui, sans-serif; }
.figma-planner .has-conflict .planner-event-head small { display: none; }
.figma-planner .has-conflict .planner-event-head time { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.figma-planner .overview-planner-event.is-compact > strong, .figma-planner .overview-planner-event.is-compact .planner-event-students span { display: none; }
.figma-planner .overview-planner-event.is-compact .planner-event-students { align-self: stretch; }
.figma-planner .overview-planner-event.is-compact .planner-event-students b { font: 500 12px/14px Inter, system-ui, sans-serif; }
.figma-planner .overview-planner-event.is-compact:not(.overview-planner-event-lesson) > strong { display: block; }
.figma-planner .overview-planner-event:hover { filter: brightness(.97); }
.figma-planner .overview-planner-event.selected { outline: 2px solid var(--brand-red); outline-offset: 1px; }
.figma-planner button:focus-visible, .figma-planner:focus-visible { outline: 2px solid var(--brand-red); outline-offset: -2px; }
.figma-planner .planner-event-delete { top: 0; right: 0; width: 18px; height: 18px; padding: 0; border-radius: 0; color: white; font-weight: 500; font-size: 14px; }
.figma-planner .delete-pending .planner-event-delete { width: auto; background: #fff; color: #a22727; padding: 0 4px; }
.figma-planner .planner-event-resize { height: 7px; bottom: 0; touch-action: none; }
.figma-planner .planner-event-resize:hover, .figma-planner .resizing .planner-event-resize { opacity: 1; background: rgba(185,75,63,.2); }
.figma-planner .planner-now-line { position: absolute; left: 8px; right: 60px; border-top: 1px solid #2b3134; z-index: 20; pointer-events: none; }
.figma-planner .planner-now-line time { position: absolute; top: -9px; left: 0; color: white; background: #2b3134; border-radius: 3px; font: 400 11px/18px Inter, system-ui, sans-serif; padding: 0 4px; }
.figma-planner .planner-end-label { position: absolute; bottom: -20px; left: 10px; color: var(--journal-muted); font-size: 11px; }
@media (max-width: 900px) {
  .overview-planner-page:not(.calendar-planner-page) .overview-planner-shell.figma-planner { display: block; }
  .overview-planner-page:has(.figma-planner) .overview-mobile-schedule, .overview-planner-page:has(.figma-planner) .overview-mobile-day-pulse { display: none; }
  .figma-planner .overview-planner-grid { grid-template-columns: 44px repeat(var(--resource-count), minmax(220px, 1fr)) 44px; min-width: calc(88px + var(--resource-count) * 220px); }
  .figma-planner .overview-planner-time:not(.planner-time-right) { position: sticky; left: 0; background: #f5f5f5; z-index: 21; padding-right: 6px; }
  .figma-planner .overview-planner-time small { right: 6px; }
}
