#calendar-view{max-width:1440px;margin:0 auto;padding:0 32px 48px;--schedule-open:#a6e9c8;--schedule-muted:#a5a9b3}
.schedule-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:40px 0 38px}.schedule-eyebrow{display:block;font-size:10px;letter-spacing:.2em;color:#c9b78f;font-weight:650;margin-bottom:16px}.schedule-hero h2{font-size:clamp(34px,4vw,52px);line-height:1.2;letter-spacing:-.05em;margin:0 0 18px}.schedule-hero p{font-size:16px;color:#b4b7c0;margin:0}.schedule-hero-meta{text-align:right}.schedule-hero-meta>span{display:block;color:#d9c395;font-size:15px;margin-bottom:15px}.schedule-legend{display:flex;align-items:center;gap:18px;font-size:13px;color:#c4c7ce}.schedule-legend>span{display:flex;align-items:center;gap:7px}.schedule-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.busy-dot{background:#8f97a8}.open-dot{background:#a6e9c8;box-shadow:0 0 12px #a6e9c845}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.sellian-premium #calendar-container{width:100%;max-width:none;padding:24px;margin:0;min-width:0;background:linear-gradient(155deg,#16181d,#101215)!important;border-radius:18px!important}.schedule-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px;min-height:32px}.schedule-topline p{font-size:12px;color:#adb2bd;line-height:1.5;max-width:75%}.schedule-topline button,.schedule-admin-bar button{flex:none;font-size:12px;color:#c4c7ce;border:1px solid #ffffff1a;background:#ffffff04;border-radius:8px;padding:7px 10px;cursor:pointer}.schedule-topline button:disabled{opacity:.5;cursor:wait}
#calendar{--fc-border-color:#ffffff0d;--fc-page-bg-color:#121419;--fc-neutral-bg-color:#ffffff04;--fc-today-bg-color:#d9c3950b;--fc-list-event-hover-bg-color:#ffffff04;--fc-small-font-size:.85em}#calendar .fc-toolbar{gap:12px;margin-bottom:22px;flex-wrap:wrap}#calendar .fc-toolbar-title{color:#f0eee7!important;font-size:20px;font-weight:550!important;letter-spacing:-.04em}#calendar .fc-button{background:#ffffff05!important;border:1px solid #ffffff15!important;color:#c6c9d1!important;font-size:12px;padding:8px 11px;box-shadow:none!important;border-radius:8px}#calendar .fc-button-group{gap:3px}#calendar .fc-button-active{background:#d9c3951c!important;color:#f1dfb9!important;border-color:#d9c39545!important}#calendar .fc-button .fc-icon{font-size:16px}#calendar .fc-col-header{background:transparent!important}#calendar .fc-col-header-cell-cushion{color:#8d94a3!important;font-size:12px!important;font-weight:500!important;text-shadow:none!important;padding:13px 0!important}#calendar .fc-daygrid-day-number{font-size:14px;color:#c6cbd4;padding:10px 11px}#calendar .fc-day-today .fc-daygrid-day-number{color:#ebd5a6;font-weight:700}#calendar .fc-daygrid-day{transition:background .2s}#calendar .fc-daygrid-day:hover{background:#ffffff03}#calendar .fc-daygrid-day-frame{min-height:100px}#calendar .fc-day-other{background:#0002}#calendar .fc-day-other .fc-daygrid-day-top{opacity:.32}#calendar .fc-scrollgrid{border-radius:12px;overflow:hidden}#calendar .fc-event{display:block!important;margin:3px 4px!important;padding:6px 7px!important;border-radius:6px!important;border:1px solid #ffffff12!important;background:#292e38!important;color:#dfe3ea!important;font-size:12px!important;line-height:1.5;box-shadow:inset 2px 0 #8f97a8;transition:filter .18s,transform .18s}#calendar .fc-event:hover{filter:brightness(1.18);transform:translateY(-1px)}#calendar .fc-event.schedule-open{background:#a6e9c819!important;border-color:#a6e9c82e!important;color:#c1f2d8!important;box-shadow:inset 2px 0 #a6e9c8}#calendar .fc-event-main{white-space:normal!important;overflow:visible!important;color:inherit!important}#calendar .schedule-event-time{display:block;font-size:10px;font-variant-numeric:tabular-nums;opacity:.8}#calendar .schedule-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}#calendar .schedule-event-needed{display:block;font-size:11px;color:#a6e9c8}#calendar .fc-daygrid-event-dot{display:none}#calendar .fc-daygrid-more-link{font-size:11px;color:#c9b78f;padding-left:7px}#calendar .fc-list{border:none}#calendar .fc-list-day-cushion{background:#ffffff05!important;color:#e1d0aa;padding:13px 16px;font-size:14px}#calendar .fc-list-event{display:table-row!important;border:0!important;background:#232832!important;box-shadow:none;margin:0!important}#calendar .fc-list-event.schedule-open{background:#a6e9c80f!important}#calendar .fc-list-event td{padding:16px 10px;color:#dfe3ea;font-size:14px;vertical-align:middle}#calendar .fc-list-event-title a{color:inherit;text-decoration:none}#calendar .fc-list-event .schedule-event-time{display:none}#calendar .fc-list-event .schedule-event-title{white-space:normal;overflow-wrap:anywhere}#calendar .fc-list-event .schedule-event-needed{margin-top:5px;font-size:12px}#calendar .fc-list-event-time{white-space:nowrap;font-variant-numeric:tabular-nums;width:110px;font-size:12px}#calendar .fc-list-event-graphic{display:none}#calendar .fc-list-empty{background:transparent;color:#aab0bc;padding:50px 20px}#calendar .fc-popover{background:#20232b;color:#eee;border:1px solid #ffffff2a;border-radius:12px;max-width:90vw}#calendar .fc-popover-header{background:#ffffff08}
.schedule-recruitment{border:1px solid #ffffff12;border-radius:18px;background:radial-gradient(ellipse at top right,#a6e9c807,transparent 65%),#111316;padding:24px;position:sticky;top:95px}.recruitment-heading .schedule-eyebrow{color:#a6e9c8;margin-bottom:10px}.recruitment-heading h2{font-size:23px;margin:0 0 8px}.recruitment-heading h2 span{font-size:12px;padding:3px 7px;border:1px solid #a6e9c830;border-radius:6px;color:#a6e9c8;vertical-align:middle}.recruitment-heading p{font-size:13px;color:#a6aab5;margin-bottom:24px}.recruitment-card{border:1px solid #a6e9c822;border-radius:12px;background:linear-gradient(140deg,#a6e9c807,#ffffff02);padding:17px;margin-top:12px;animation:schedule-in .25s ease-out}.schedule-tag{font-size:10px;letter-spacing:.04em;color:#a6e9c8}.recruitment-card h3{font-size:17px;color:#eff5f0;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.recruitment-card p{font-size:12px;color:#a7b5ae;margin:0 0 16px}.recruitment-card>div{display:flex;gap:12px;align-items:center;justify-content:space-between}.recruitment-card strong{font-size:14px;color:#b6efd2}.recruitment-card a{font-size:12px;border-bottom:1px solid #a6e9c855;color:#d3f4e4;padding:4px 0}.schedule-edit-link{margin-top:13px;font-size:12px;color:#bfc4cf;text-decoration:underline}.schedule-empty{text-align:center;padding:30px 0;color:#9fa6b3}.schedule-empty>span{display:block;font-size:30px;color:#a6e9c870;margin-bottom:14px}.schedule-empty p{font-size:14px;margin-bottom:5px}.schedule-empty small{font-size:12px}.schedule-admin-bar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:22px 0;color:#a6adba;font-size:12px}#recruitment-state{font-size:12px;color:#f0bdb6}
.schedule-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto;padding:30px;border:1px solid #ffffff25;border-radius:20px;background:linear-gradient(145deg,#202329,#121519);color:#e5e8ec;box-shadow:0 30px 120px #0009;margin:auto}.schedule-dialog::backdrop{background:#05070bbf;backdrop-filter:blur(7px)}.schedule-dialog h2{font-size:25px;line-height:1.4;overflow-wrap:anywhere;padding-right:16px;margin:6px 0 14px}.schedule-dialog p{color:#acb3c0;font-size:14px;line-height:1.7}.dialog-close{position:absolute;right:16px;top:12px;font-size:26px;color:#b9bdc7;padding:0 7px}.reservation-time{display:block;color:#e9d9b4;font-size:27px;font-variant-numeric:tabular-nums;margin:8px 0 16px}.schedule-dialog form label{display:grid;gap:7px;margin:16px 0;color:#c5cad4;font-size:13px}.schedule-dialog form input:not([type=checkbox]){width:100%;padding:10px 12px}.schedule-dialog .schedule-switch{display:flex;align-items:center;gap:10px;font-size:15px}.schedule-switch input{width:19px;height:19px;accent-color:#a6e9c8}.schedule-form-divider{height:1px;background:#ffffff16;margin:24px 0}.schedule-dialog .schedule-help{font-size:12px;color:#9da5b3}.schedule-primary{width:100%;border:1px solid #c8efd04d;border-radius:9px;padding:12px 16px;margin-top:14px;background:#b3eacb;color:#10291c;font-size:15px;font-weight:700}.schedule-primary:disabled{opacity:.5}.schedule-dialog .schedule-error{color:#f6b8ad;font-size:13px}.schedule-dialog [hidden]{display:none!important}
@keyframes schedule-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-recruitment{position:static}#recruitment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.recruitment-card{margin:0}.schedule-empty{grid-column:1/-1}.schedule-recruitment{padding:24px}.recruitment-heading p{margin-bottom:20px}}
@media(max-width:640px){#calendar-view{padding:0 14px 30px}.schedule-hero{padding:24px 5px 27px;display:block}.schedule-hero h2{font-size:35px}.schedule-hero p{font-size:14px}.schedule-hero-meta{text-align:left;margin-top:23px;display:flex;justify-content:space-between;gap:12px}.schedule-hero-meta>span{font-size:12px;margin:0;align-self:center}.schedule-legend{gap:12px;font-size:11px}.sellian-premium #calendar-container{padding:14px 10px;border-radius:14px!important}.schedule-topline{margin-bottom:18px;padding:0 5px}.schedule-topline p{font-size:11px}.schedule-topline button{font-size:11px;padding:6px 8px}#calendar .fc-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:14px}#calendar .fc-toolbar-chunk:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}#calendar .fc-toolbar-chunk:nth-child(3){text-align:right}#calendar .fc-toolbar-title{font-size:20px}#calendar .fc-button{padding:7px 9px}#calendar .fc-daygrid-day-frame{min-height:85px}#calendar .fc-daygrid-day-number{padding:6px;font-size:12px}#calendar .fc-daygrid-event{margin:2px 1px!important;padding:3px!important}#calendar .fc-daygrid-event .schedule-event-time{font-size:9px}#calendar .fc-daygrid-event .schedule-event-title{font-size:10px}#calendar .fc-daygrid-event .schedule-event-needed{font-size:9px}.schedule-admin-bar{justify-content:space-between;flex-wrap:wrap}.schedule-dialog{padding:24px}.schedule-layout{gap:18px}}
@media(prefers-reduced-motion:reduce){.recruitment-card{animation:none}#calendar .fc-event{transition:none}}
.schedule-hero{padding-bottom:16px}.schedule-admin-bar{margin:0 0 16px}.schedule-hero h2{font-size:clamp(34px,4vw,46px)}
/* Keep the month and weekday labels visible while the page scrolls. */
#calendar{--site-header-height:64px;--calendar-toolbar-height:65px}
#calendar .fc-header-toolbar{position:sticky;top:var(--site-header-height);z-index:35;background:#171a20;padding:14px 0;margin-bottom:0;border-bottom:1px solid #ffffff1c}
#calendar .fc-scrollgrid,#calendar .fc-scroller-harness,#calendar .fc-scroller{overflow:visible!important}
#calendar .fc-scrollgrid-section-header>*,#calendar .fc-list-sticky .fc-list-day>*{position:sticky!important;top:calc(var(--site-header-height) + var(--calendar-toolbar-height));z-index:30;background:#20252e}
#calendar .fc-col-header-cell{background:#20252e}
#calendar .fc-col-header-cell-cushion{font-size:15px!important;font-weight:700!important;color:#e1e7ef!important;padding:13px 0!important}
#calendar .fc-col-header-cell.fc-day-fri,#calendar .fc-col-header-cell.fc-day-sun{background:#36232c}
#calendar .fc-col-header-cell.fc-day-sat{background:#202f43}
#calendar .fc-col-header-cell.fc-day-fri .fc-col-header-cell-cushion,#calendar .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion{color:#ffb0b7!important}
#calendar .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion{color:#9dcaff!important}
#calendar .fc-daygrid-day-number{font-size:15px;font-weight:600;display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:100%;min-width:0}
#calendar .fc-daygrid-day-top{min-height:56px}
#calendar .schedule-holiday .fc-daygrid-day-number,#calendar .schedule-holiday-eve .fc-daygrid-day-number,#calendar .schedule-friday .fc-daygrid-day-number,#calendar .schedule-sunday .fc-daygrid-day-number{color:#ffa3ab!important}
#calendar .schedule-saturday .fc-daygrid-day-number{color:#9dcaff!important}
#calendar .schedule-holiday,#calendar .schedule-holiday-eve{background:#f97c8707}
#calendar .schedule-holiday-label{display:block;font-size:10px;line-height:1.4;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffacb4}
#calendar .fc-list-day-cushion{font-size:15px!important;background:#222832!important;color:#e2e8f2!important}
#calendar .fc-list-day.schedule-holiday .fc-list-day-cushion,#calendar .fc-list-day.schedule-holiday-eve .fc-list-day-cushion,#calendar .fc-list-day.schedule-friday .fc-list-day-cushion,#calendar .fc-list-day.schedule-sunday .fc-list-day-cushion{background:#35232b!important;color:#ffb0b7!important}
#calendar .fc-list-day.schedule-saturday .fc-list-day-cushion{background:#202f43!important;color:#9dcaff!important}
#calendar .fc-day-other .fc-daygrid-day-top{opacity:.65}
#calendar .fc-event.schedule-ended{background:#20242b!important;border-color:#ffffff0c!important;color:#aeb6c2!important;box-shadow:inset 2px 0 #616b7a}
#calendar .schedule-ended-label{display:inline-block;font-size:10px;line-height:1.5;border:1px solid #9aa7b440;border-radius:4px;padding:0 5px;margin-top:4px;color:#c3ccd7;background:#ffffff05}
.schedule-date-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:-10px 0 12px;font-size:12px}.schedule-date-legend span:first-child{color:#ffacb4}.schedule-date-legend span:last-child{color:#9dcaff}
#holiday-notice{font-size:12px;color:#cbb989;margin:8px 0}
#schedule-sync{font-size:13px;font-weight:650;color:#b8efd1;background:#a6e9c814;border:1px solid #a6e9c83d;padding:9px 13px;border-radius:9px;text-decoration:none}#schedule-sync:hover{background:#a6e9c825}#schedule-sync[hidden]{display:none!important}
@media(max-width:640px){#calendar .fc-header-toolbar{padding:12px 0;gap:12px}#calendar .fc-daygrid-day-number{font-size:14px;padding:7px 3px;max-width:100%}#calendar .fc-col-header-cell-cushion{font-size:14px!important}#calendar .schedule-holiday-label{font-size:9px;max-width:45px}#calendar .fc-list-day .schedule-holiday-label{font-size:12px;max-width:none;margin-top:3px}.schedule-admin-bar{gap:10px}.schedule-admin-bar p{flex-basis:100%;margin:0}.schedule-date-legend{font-size:11px;margin:0 0 10px}#calendar .fc-list-event td{padding-top:17px;padding-bottom:17px}#calendar .fc-list-event .schedule-ended-label{font-size:11px}}
#calendar .fc-scrollgrid-section-header>*,#calendar .fc-col-header-cell{background:#20252e!important}
#calendar .fc-col-header-cell.fc-day-fri,#calendar .fc-col-header-cell.fc-day-sun{background:#36232c!important}
#calendar .fc-col-header-cell.fc-day-sat{background:#202f43!important}

.schedule-admin-bar p:empty{display:none}.schedule-hero h2{margin-bottom:0}#calendar .fc-day-other{background:#17191e}#calendar .fc-day-other .fc-event{opacity:.55}
.schedule-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}.schedule-hero-meta{display:flex;justify-content:center;align-items:center;gap:24px;margin:0;text-align:center}.schedule-hero-meta>span{margin:0}@media(max-width:640px){.schedule-hero{display:flex;gap:20px}.schedule-hero-meta{margin:0;flex-wrap:wrap;gap:14px}}
#calendar .fc-event.schedule-ended{background:repeating-linear-gradient(135deg,#1b1e23 0,#1b1e23 7px,#21252b 7px,#21252b 8px)!important;border:1px dashed #737c8b55!important;color:#949ca8!important;box-shadow:inset 2px 0 #69717d!important}#calendar .schedule-ended .schedule-event-title{color:#959ca7;font-weight:500}#calendar .schedule-ended .schedule-event-time{text-decoration:line-through;text-decoration-color:#abb3bf99;color:#9ba3af;opacity:1}#calendar .schedule-ended .schedule-ended-label{background:#414852;color:#eef0f3;border:1px solid #a3abb54d;font-weight:700;padding:1px 5px}#calendar .fc-list-event.schedule-ended td{color:#959ca7}#calendar .fc-list-event.schedule-ended .fc-list-event-time{text-decoration:line-through}.ended-dot{background:#636c79;border:1px dashed #bac2ce}.schedule-legend{flex-wrap:wrap;justify-content:center}

.recruitment-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.recruitment-facts>div{background:#ffffff06;padding:12px 8px;border:1px solid #ffffff12;border-radius:10px;font-size:12px;color:#aab4c2;text-align:center}.recruitment-facts strong{display:block;color:#bdecd3;font-size:20px;margin-top:6px}.recruitment-host{color:#aab4c2;margin:18px 0}.recruitment-host strong{color:#eee4ce;margin-left:12px}#detail-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#d2d7e0;margin:18px 0}#detail-contact{display:block;text-align:center;text-decoration:none}#detail-contact[hidden]{display:none}.recruitment-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-dialog textarea{width:100%;background:#0c0f14;border:1px solid #ffffff24;border-radius:9px;color:#e8e8eb;padding:12px;resize:vertical}.recruitment-detail-button{border:1px solid #a6e9c83d;border-radius:8px;padding:8px 12px;color:#bfecd3;background:#a6e9c80d;font-size:13px}
/* Upcoming reservations use blue; ended events keep a separate neutral treatment. */
#calendar .fc-event.schedule-busy:not(.schedule-ended){background:#153a60!important;border-color:#63b3ff66!important;color:#e4f3ff!important;box-shadow:inset 3px 0 #69b9ff!important}
#calendar .schedule-busy:not(.schedule-ended) .schedule-event-time{color:#b8ddff;opacity:1}
#calendar .fc-list-event.schedule-busy:not(.schedule-ended) td{background:#153a60!important;color:#e4f3ff!important}
#calendar .fc-list-event.schedule-ended td{background:#202328!important;color:#aab0ba!important}
#calendar .schedule-ended .schedule-event-needed{color:#aab0ba}
.schedule-legend .busy-dot{background:#69b9ff;box-shadow:0 0 9px #69b9ff44}
