:root{--color-primary: #0F3D2E;--color-signal: #2ECC71;--color-charcoal: #1F2933;--color-slate: #4B5563;--color-light-gray: #E5E7EB;--color-background: #F9FAFB;--color-card: #FFFFFF;--color-ready: #2ECC71;--color-warning: #F59E0B;--color-danger: #DC2626;--color-inactive: #9CA3AF;--color-ready-bg: #EAF7EF;--color-warning-bg: #FEF3E2;--color-danger-bg: #FEE2E2;--font-family-base: "Inter", "Helvetica Neue", Arial, sans-serif;--font-weight-body: 400;--font-weight-medium: 500;--font-weight-heading: 600;--font-weight-strong: 700;--radius-card: 8px;--radius-control: 5px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(15 61 46 / .05);--color-backdrop: rgb(31 41 51 / .42);--border-card: 1px solid var(--color-light-gray)}:root{--bs-body-font-family: var(--font-family-base);--bs-body-color: var(--color-charcoal);--bs-body-bg: var(--color-background);--bs-primary: var(--color-primary);--bs-primary-rgb: 15, 61, 46;--bs-success: var(--color-ready);--bs-warning: var(--color-warning);--bs-danger: var(--color-danger);--bs-border-color: var(--color-light-gray);--bs-border-radius: var(--radius-control);--bs-card-bg: var(--color-card);--bs-card-border-color: var(--color-light-gray);--bs-card-border-radius: var(--radius-card)}.rn-timeline{display:grid;font-family:var(--font-family-base);gap:1rem}.rn-timeline-state{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);color:var(--color-slate);padding:1rem}.rn-timeline-summary{align-items:center;background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);display:flex;justify-content:space-between;padding:1rem}.rn-timeline-summary h3{color:var(--color-charcoal);font-size:1.125rem;margin:0}.rn-timeline-kicker{color:var(--color-slate);font-size:.75rem;font-weight:var(--font-weight-heading);margin:0 0 .25rem;text-transform:uppercase}.rn-timeline-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.rn-timeline-section{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);min-width:0}.rn-timeline-section-header{align-items:center;border-bottom:1px solid var(--color-light-gray);display:flex;gap:.5rem;min-height:3rem;padding:.75rem}.rn-timeline-section-header h3{color:var(--color-charcoal);flex:1;font-size:.95rem;margin:0}.rn-timeline-icon{align-items:center;color:var(--color-primary);display:inline-flex}.rn-timeline-count{background:var(--color-background);border:1px solid var(--color-light-gray);border-radius:999px;color:var(--color-slate);font-size:.75rem;font-weight:var(--font-weight-heading);min-width:1.75rem;padding:.125rem .5rem;text-align:center}.rn-timeline-section-body{display:grid;gap:.5rem;padding:.75rem}.rn-timeline-row{color:inherit;display:grid;gap:.15rem;min-width:0;text-decoration:none}.rn-timeline-row strong,.rn-timeline-row span{overflow-wrap:anywhere}.rn-timeline-row strong{color:var(--color-charcoal);font-size:.875rem}.rn-timeline-row span,.rn-timeline-empty{color:var(--color-slate);font-size:.8125rem}.rn-timeline-empty{margin:0}.rn-status{border-radius:var(--radius-pill);display:inline-flex;font-size:.82rem;font-weight:var(--font-weight-medium);padding:.2rem .55rem;width:max-content}.rn-status-ready{background:var(--color-ready-bg);color:var(--color-primary)}.rn-status-due-soon{background:var(--color-warning-bg);color:var(--color-warning)}.rn-status-at-risk{background:var(--color-danger-bg);color:var(--color-danger)}.rn-status-neutral,.rn-status-info{background:var(--color-background);border:1px solid var(--color-light-gray);color:var(--color-slate)}.rn-status-inactive{background:var(--color-background);color:var(--color-inactive)}.rn-segmented-control{background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:var(--radius-md);display:inline-flex;gap:.125rem;padding:.1875rem}.rn-segmented-control button{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-charcoal);font:inherit;padding:.45rem .75rem}.rn-segmented-control button[aria-selected=true]{background:var(--color-primary);color:var(--color-white)}.rn-availability-island{display:grid;gap:1rem}.rn-availability-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(14rem,16rem);max-width:100%}.rn-availability-calendar-pane{min-width:0}.rn-availability-grid{border:1px solid var(--color-light-gray);border-radius:var(--radius-md);display:grid;grid-template-columns:4rem repeat(7,minmax(4.5rem,1fr));max-height:34rem;overflow:auto}.rn-availability-grid>strong,.rn-availability-time,.rn-availability-corner{background:var(--color-background);border-bottom:1px solid var(--color-light-gray);font-size:.82rem;padding:.5rem}.rn-availability-time{border-right:1px solid var(--color-light-gray);color:var(--color-slate)}.rn-availability-slot{background:var(--color-white);border:0;border-bottom:1px solid var(--color-light-gray);border-right:1px solid var(--color-light-gray);color:var(--color-charcoal);font-size:.72rem;min-height:1.5rem;padding:.125rem;position:relative}.rn-availability-slot:hover,.rn-availability-slot:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.rn-availability-slot-active{background:var(--color-ready-bg);border-bottom-color:var(--color-ready-bg);color:var(--color-primary)}.rn-availability-slot-blackout{background:var(--color-danger-bg);color:var(--color-danger)}.rn-availability-slot-preview,.rn-month-day-preview{box-shadow:inset 0 0 0 2px var(--color-primary)}.rn-availability-slot-selected,.rn-month-day-selected{outline:2px solid var(--color-primary);outline-offset:-2px}.rn-availability-block-label{align-items:center;background:var(--color-ready-bg);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:var(--radius-sm);display:block;font-size:.68rem;font-weight:var(--font-weight-medium);overflow-wrap:anywhere;padding:.15rem .25rem}.rn-availability-block-remove{align-items:center;background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:999px;color:var(--color-danger);display:inline-flex;font-size:.72rem;font-weight:var(--font-weight-strong);height:1.1rem;justify-content:center;line-height:1;margin-left:.35rem;width:1.1rem}.rn-availability-week-header,.rn-availability-month-header{align-items:start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.rn-availability-month-header .rn-action-group{flex-wrap:wrap;justify-content:flex-end}.rn-availability-week-header h3,.rn-availability-month-header h3{color:var(--color-charcoal);font-size:1rem;margin:0}.rn-availability-grid>strong span{color:var(--color-slate);display:block;font-size:.7rem;font-weight:var(--font-weight-medium);margin-top:.125rem}.rn-availability-month-header span{color:var(--color-slate);font-size:.82rem}.rn-availability-month{display:grid;gap:.375rem;grid-template-columns:repeat(7,minmax(5.25rem,1fr))}.rn-month-weekday{background:var(--color-background);border-radius:var(--radius-sm);color:var(--color-slate);font-size:.78rem;padding:.35rem .5rem}.rn-month-day{background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:var(--radius-md);color:var(--color-charcoal);min-height:4.25rem;padding:.5rem;text-align:left}.rn-month-day-date-specific{background:var(--color-ready-bg);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-light-gray));color:var(--color-primary)}.rn-month-day small{color:var(--color-slate);display:block;font-size:.7rem;font-weight:var(--font-weight-medium);margin-top:.15rem}.rn-month-day span{display:block;font-size:.78rem;margin-top:.5rem}.rn-month-day-recurring{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--color-ready-bg) 82%,var(--color-white)),color-mix(in srgb,var(--color-ready-bg) 82%,var(--color-white)) .45rem,var(--color-white) .45rem,var(--color-white) .9rem);border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-light-gray));border-style:dashed;border-width:2px;color:var(--color-primary)}.rn-month-day-recurring span{background:var(--color-ready-bg);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:999px;color:var(--color-primary);display:inline-flex;font-weight:var(--font-weight-strong);padding:.125rem .45rem}.rn-month-day-muted{opacity:.62}.rn-month-day-blackout{background:repeating-linear-gradient(135deg,var(--color-danger-bg),var(--color-danger-bg) .45rem,color-mix(in srgb,var(--color-danger-bg) 55%,var(--color-white)) .45rem,color-mix(in srgb,var(--color-danger-bg) 55%,var(--color-white)) .9rem);border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-light-gray));border-style:solid;border-width:2px;color:var(--color-danger)}.rn-availability-draft{align-items:stretch;background:var(--color-background);border:1px solid var(--color-light-gray);border-radius:var(--radius-md);display:grid;gap:.75rem;grid-template-columns:1fr;justify-self:stretch;min-width:0;padding:.875rem;position:sticky;top:1rem;width:min(100%,16rem)}.rn-availability-draft label{display:grid;font-size:.82rem;font-weight:var(--font-weight-strong);gap:.3125rem}.rn-availability-draft input,.rn-availability-draft select{border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);font:inherit;min-height:2.375rem;padding:.375rem .5rem;width:100%}.rn-availability-draft .rn-button{justify-content:center;white-space:normal;width:100%}.rn-availability-save-state{background:var(--color-ready-bg);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:var(--radius-sm);color:var(--color-primary);font-size:.82rem;font-weight:var(--font-weight-strong);margin:0;padding:.45rem .55rem}.rn-availability-dashboard{display:grid;gap:1rem}.rn-availability-dashboard-legend{display:flex;flex-wrap:wrap;gap:.5rem}.rn-availability-dashboard-legend a{align-items:center;background:var(--color-background);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);color:var(--color-charcoal);display:inline-flex;font-size:.82rem;font-weight:var(--font-weight-strong);gap:.4rem;padding:.35rem .55rem;text-decoration:none}.rn-availability-dashboard-legend span{border-radius:999px;display:inline-block;height:.7rem;width:.7rem}.rn-availability-dashboard-course-legend{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem}.rn-availability-dashboard-course-legend span{align-items:center;color:var(--color-slate);display:inline-flex;font-size:.82rem;font-weight:var(--font-weight-strong);gap:.35rem}.rn-availability-dashboard-course-legend i,.rn-availability-modal-group h3 span{border-radius:999px;display:inline-block;height:.65rem;width:.65rem}.rn-availability-dashboard-grid{display:grid;gap:.5rem}.rn-availability-dashboard-grid-week{grid-template-columns:repeat(7,minmax(7.5rem,1fr))}.rn-availability-dashboard-grid-month{grid-template-columns:repeat(7,minmax(6.5rem,1fr))}.rn-availability-month-cell{align-content:start;background:var(--color-surface);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);color:var(--color-charcoal);cursor:pointer;display:grid;gap:.55rem;min-height:8rem;padding:.7rem;text-align:left}.rn-availability-month-cell:hover,.rn-availability-month-cell:focus-visible{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-light-gray));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent);outline:none}.rn-availability-month-cell-muted{background:var(--color-background);opacity:.68}.rn-availability-month-cell header{align-items:baseline;display:flex;justify-content:space-between}.rn-availability-month-cell header span,.rn-availability-month-cell small{color:var(--color-slate);font-size:.72rem;font-weight:var(--font-weight-medium)}.rn-availability-month-cell header strong{font-size:.9rem}.rn-availability-month-cell-body{align-content:start;display:grid;gap:.35rem}.rn-availability-count-pill{align-items:center;background:color-mix(in srgb,var(--course-color) 11%,white);border:1px solid color-mix(in srgb,var(--course-color) 30%,var(--color-light-gray));border-left:4px solid var(--course-color);border-radius:var(--radius-sm);color:color-mix(in srgb,var(--course-color) 65%,var(--color-charcoal));display:inline-flex;font-size:.76rem;font-weight:var(--font-weight-strong);gap:.35rem;min-height:1.75rem;padding:.2rem .45rem}.rn-availability-count-pill strong{font-size:.95rem}.rn-availability-dashboard-chip{background:var(--color-ready-bg);border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--color-light-gray));border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-charcoal);display:grid;gap:.1rem;padding:.4rem .45rem;text-decoration:none}.rn-availability-dashboard-chip span,.rn-availability-dashboard-chip small{color:var(--color-slate);font-size:.72rem;font-weight:var(--font-weight-medium)}.rn-availability-dashboard-chip strong{font-size:.82rem}.rn-availability-dashboard-chip-busy{background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 35%,var(--color-light-gray))}.rn-modal-backdrop{align-items:center;background:#0f172a59;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1.25rem;position:fixed;z-index:30}.rn-availability-modal{background:#fff;border-radius:var(--radius-md);box-shadow:0 24px 60px #0f172a3d;display:grid;gap:1rem;max-height:min(86vh,56rem);max-width:58rem;overflow:auto;padding:1.25rem;width:min(100%,58rem)}.rn-assignment-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(18rem,.9fr) minmax(24rem,1.2fr)}.rn-request-card{align-items:start;background:var(--color-surface);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);cursor:pointer;display:grid;gap:.65rem;grid-template-columns:auto 1fr;margin-top:.6rem;padding:.75rem}.rn-request-card:hover,.rn-request-card:has(input:checked){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-light-gray));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.rn-request-card input{margin-top:.2rem}.rn-request-card span{display:grid;gap:.15rem}.rn-request-card small{color:var(--color-slate);font-size:.82rem}.rn-request-card-freeform{background:var(--color-ready-bg)}.rn-availability-modal>header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.rn-availability-modal-group{display:grid;gap:.65rem}.rn-availability-modal-group h3{align-items:center;display:flex;font-size:1rem;gap:.45rem;margin:0}.rn-availability-modal-list{display:grid;gap:.5rem}.rn-availability-instructor-row{align-items:center;background:var(--color-background);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);display:grid;gap:.75rem;grid-template-columns:1fr auto;padding:.75rem}.rn-availability-instructor-row div:first-child{display:grid;gap:.12rem}.rn-availability-instructor-row span,.rn-availability-instructor-row small{color:var(--color-slate);font-size:.82rem}.rn-availability-instructor-row div:last-child{display:flex;gap:.4rem}.rn-availability-busy-detail{border-top:1px solid var(--color-light-gray);display:grid;gap:.45rem;padding-top:.75rem}.rn-availability-busy-detail summary{color:var(--color-slate);cursor:pointer;font-weight:var(--font-weight-strong)}.rn-availability-busy-detail a{align-items:center;color:var(--color-charcoal);display:grid;gap:.15rem;grid-template-columns:8rem 1fr auto;text-decoration:none}.rn-availability-busy-detail a span,.rn-availability-busy-detail a small{color:var(--color-slate);font-size:.78rem}@media(max-width:1200px){.rn-availability-workspace{grid-template-columns:1fr}.rn-availability-draft{width:100%;position:static}.rn-availability-dashboard-grid-week,.rn-availability-dashboard-grid-month{grid-template-columns:repeat(2,minmax(0,1fr))}.rn-availability-instructor-row,.rn-availability-busy-detail a,.rn-assignment-workspace{grid-template-columns:1fr}}.rn-empty-state{align-items:center;color:var(--color-slate);display:grid;gap:.35rem;justify-items:center;padding:.75rem;text-align:center}.rn-empty-state h3,.rn-empty-state p{margin:0}.rn-empty-icon{display:none}.rn-entity-picker{position:relative}.rn-entity-picker-input{width:100%}.rn-entity-picker-menu{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:grid;gap:.25rem;left:0;max-height:18rem;overflow-y:auto;padding:.35rem;position:absolute;right:0;top:calc(100% + .25rem);z-index:30}.rn-entity-picker-option,.rn-entity-picker-create{background:transparent;border:0;border-radius:var(--radius-control);color:var(--color-charcoal);cursor:pointer;display:grid;font:inherit;gap:.1rem;justify-items:start;padding:.5rem .6rem;text-align:left}.rn-entity-picker-option:hover,.rn-entity-picker-option[aria-selected=true],.rn-entity-picker-create:hover{background:var(--color-background)}.rn-entity-picker-option small,.rn-entity-picker-state{color:var(--color-slate);font-size:.8125rem}.rn-entity-picker-create{color:var(--color-primary);font-weight:var(--font-weight-heading)}.rn-entity-picker-error{color:var(--color-danger)}.rn-schedule-combobox{position:relative}.rn-schedule-combobox-menu{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:grid;gap:.2rem;left:0;max-height:14rem;overflow-y:auto;padding:.35rem;position:absolute;right:0;top:calc(100% + .25rem);z-index:25}.rn-schedule-combobox-menu button{background:transparent;border:0;border-radius:var(--radius-control);color:var(--color-charcoal);cursor:pointer;font:inherit;padding:.45rem .55rem;text-align:left}.rn-schedule-combobox-menu button:hover,.rn-schedule-combobox-menu button:focus{background:var(--color-background)}.rn-schedule-create{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);margin:0 0 1rem;padding:1rem}.rn-row-actions{align-items:center;display:inline-flex;gap:.375rem;justify-content:flex-end;min-width:4.25rem}.rn-row-action{align-items:center;background:var(--color-card);border:1px solid var(--color-light-gray);border-radius:var(--radius-control);color:var(--color-slate);cursor:pointer;display:inline-flex;font:inherit;height:2rem;justify-content:center;line-height:1;text-decoration:none;width:2rem}.rn-row-action:hover,.rn-row-action:focus{border-color:var(--color-primary);color:var(--color-primary);outline:2px solid transparent}.rn-row-actions-menu{position:relative}.rn-row-actions-popover{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:10rem;padding:.35rem;position:absolute;right:0;top:calc(100% + .25rem);z-index:20}.rn-row-actions-divider{border-top:1px solid var(--color-light-gray);margin:.2rem 0}.rn-row-menu-item{background:transparent;border:0;border-radius:var(--radius-control);color:var(--color-charcoal);cursor:pointer;display:block;font:inherit;padding:.55rem .65rem;text-align:left;width:100%}.rn-row-menu-item-danger{color:var(--color-danger)}.rn-schedule{display:grid;gap:1rem}.rn-schedule-toolbar{align-items:center;background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.rn-schedule-toolbar h2{color:var(--color-charcoal);font-size:1.2rem;margin:0}.rn-schedule-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.rn-schedule-segment{background:var(--color-background);border:1px solid var(--color-light-gray);border-radius:var(--radius-control);display:inline-flex;padding:.15rem}.rn-schedule-segment button{background:transparent;border:0;border-radius:calc(var(--radius-control) - 2px);color:var(--color-slate);cursor:pointer;font:inherit;min-height:2rem;padding:.25rem .75rem}.rn-schedule-segment button[aria-pressed=true]{background:var(--color-primary);color:var(--color-white)}.rn-schedule-filters{align-items:end;background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);display:grid;gap:.75rem;grid-template-columns:auto repeat(4,minmax(9rem,1fr));padding:1rem}.rn-schedule-filter-icon{align-items:center;color:var(--color-primary);display:inline-flex;min-height:2.4rem}.rn-schedule-filter{color:var(--color-slate);display:grid;font-size:.82rem;font-weight:var(--font-weight-medium);gap:.3rem}.rn-schedule-filter select{background:var(--color-card);border:1px solid var(--color-light-gray);border-radius:var(--radius-control);color:var(--color-charcoal);font:inherit;min-height:2.4rem;padding:.45rem .55rem;width:100%}.rn-schedule-grid{display:grid;gap:.5rem}.rn-schedule-grid-week,.rn-schedule-grid-month{grid-template-columns:repeat(7,minmax(0,1fr))}.rn-schedule-day{background:var(--color-card);border:var(--border-card);border-radius:var(--radius-card);display:grid;grid-template-rows:auto 1fr;min-height:10rem;min-width:0}.rn-schedule-grid-month .rn-schedule-day{min-height:8.5rem}.rn-schedule-day header{align-items:center;border-bottom:1px solid var(--color-light-gray);display:flex;justify-content:space-between;min-height:2.5rem;padding:.6rem .7rem}.rn-schedule-day header span{color:var(--color-slate);font-size:.78rem;font-weight:var(--font-weight-medium)}.rn-schedule-day header strong{color:var(--color-charcoal);font-size:.86rem}.rn-schedule-day-muted{background:var(--color-background)}.rn-schedule-day-body{align-content:start;display:grid;gap:.45rem;min-width:0;padding:.55rem}.rn-schedule-empty{color:var(--color-inactive);font-size:.78rem}.rn-schedule-chip{border-left:.25rem solid var(--color-light-gray);border-radius:var(--radius-control);color:inherit;display:grid;gap:.15rem;min-width:0;padding:.5rem;text-decoration:none}.rn-schedule-chip strong,.rn-schedule-chip span{overflow-wrap:anywhere}.rn-schedule-chip strong{color:var(--color-charcoal);font-size:.82rem}.rn-schedule-chip span{color:var(--color-slate);font-size:.74rem}.rn-schedule-chip-time{font-weight:var(--font-weight-heading)}.rn-schedule-chip-footer{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:space-between}.rn-schedule-chip-scheduled{background:var(--color-background);border-left-color:var(--color-primary)}.rn-schedule-chip-delivered{background:var(--color-ready-bg);border-left-color:var(--color-ready)}.rn-schedule-chip-cancelled{background:var(--color-danger-bg);border-left-color:var(--color-danger)}.rn-schedule-chip-draft{background:var(--color-warning-bg);border-left-color:var(--color-warning)}@media(max-width:900px){.rn-schedule-toolbar,.rn-schedule-actions{align-items:stretch;flex-direction:column}.rn-schedule-actions{justify-content:flex-start}.rn-schedule-filters{grid-template-columns:1fr 1fr}.rn-schedule-filter-icon{display:none}.rn-schedule-grid-week,.rn-schedule-grid-month{grid-template-columns:1fr}.rn-schedule-day{min-height:6rem}}
