:root{--calendar-surface:#161718;--calendar-surface-raised:#242627;--calendar-border:#414446;--calendar-text:#f2f3f3;--calendar-text-muted:#afb4b5;--calendar-action:#ffd83d;--calendar-available:#3bb273;--calendar-unavailable:#df5b5b;--calendar-partial:#4b9be8;--calendar-focus:#fff1a6}*{box-sizing:border-box;scrollbar-color:#59616a #101112;scrollbar-width:thin}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#101112;border:1px solid #292d30}::-webkit-scrollbar-thumb{background:#59616a;border:2px solid #101112;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#737d86}html,body{min-width:0;margin:0;overflow-x:hidden}body{background:var(--calendar-surface);color:var(--calendar-text);font-family:Arial,Helvetica,sans-serif}button,a{min-width:44px;min-height:44px}#root{min-height:100dvh}.calendar-app{box-sizing:border-box;align-content:start;gap:24px;min-height:100dvh;padding:24px;display:grid}.calendar-app--loading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.calendar-app--loading>[role=status]{grid-column:1/-1}.calendar-app__header,.calendar-app__loading,.availability-page{width:min(100%,920px);margin:0 auto}.calendar-app__brand{color:var(--calendar-action);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:700}.calendar-app h1{letter-spacing:0;margin:0;font-size:28px;font-weight:700}.calendar-app__loading{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface-raised);min-height:44px;padding:12px 16px}.calendar-app__loading p{color:var(--calendar-text-muted);margin:0}.calendar-app__company,.calendar-app__workspace span,.calendar-login__description{color:var(--calendar-text-muted)}.calendar-app__company,.calendar-login__description{margin:8px 0 0}.calendar-app__workspace,.calendar-login__panel{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface-raised);width:min(100%,640px);margin:0 auto}.calendar-app__workspace{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:16px;width:min(100%,920px);padding:16px;display:grid}.calendar-app__workspace>div:first-child,.calendar-login__form,.calendar-login__form label{gap:6px;display:grid}.calendar-login__form label span{color:var(--calendar-text-muted);font-size:14px}.calendar-language{border:1px solid var(--calendar-border);background:var(--calendar-surface);border-radius:6px;grid-template-columns:repeat(2,44px);place-self:center end;padding:2px;display:inline-grid}.calendar-app .calendar-language button,.calendar-login .calendar-language button{min-width:44px;color:var(--calendar-text-muted);background:0 0;border:0;padding:0 8px}.calendar-app .calendar-language button[aria-pressed=true],.calendar-login .calendar-language button[aria-pressed=true]{background:var(--calendar-action);color:#1d1d1d}.calendar-app select,.calendar-app button,.calendar-login input,.calendar-login button,.availability-editor input,.availability-editor textarea{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface);min-height:44px;color:var(--calendar-text);font:inherit;border-radius:4px}.calendar-app select,.calendar-app button,.calendar-login button{padding:0 12px}.calendar-login{align-content:center;min-height:100dvh;padding:24px;display:grid}.calendar-login__panel{padding:24px}.calendar-login__topbar{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.calendar-login h1{margin:0;font-size:24px}.calendar-login__form{margin-top:24px}.calendar-login input{width:100%;padding:0 12px}.calendar-app button,.calendar-login button{cursor:pointer;background:var(--calendar-action);border-color:var(--calendar-action);color:#1d1d1d;font-weight:700}.calendar-app button:disabled,.calendar-login button:disabled,.calendar-login input:disabled,.availability-editor input:disabled,.availability-editor textarea:disabled{cursor:not-allowed;opacity:.65}[aria-busy=true]{cursor:wait!important}:where(button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--calendar-focus);outline-offset:2px}:where(input,select,textarea):focus-visible{border-color:var(--calendar-action);box-shadow:0 0 0 2px #ffd83d2e}.calendar-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.calendar-app__error,.calendar-login__error{color:#ff9e9e;margin:0}.calendar-app__error{grid-column:1/-1}.availability-page{gap:16px;min-width:0;display:grid}.availability-page__title-row,.availability-page__month-nav,.availability-editor__heading,.availability-editor__actions,.availability-inline-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.availability-page h2,.availability-page h3,.availability-editor h3,.availability-page p,.availability-editor p{margin:0}.availability-page h2{font-size:22px}.availability-page h3,.availability-editor h3{font-size:18px}.availability-page__title-row p,.availability-editor__heading p,.availability-page__title-row [role=status]{color:var(--calendar-text-muted);margin-top:4px;font-size:14px}.availability-page__month-nav{justify-content:center}.availability-page__month-nav h3{text-align:center;min-width:160px}.availability-page__tabs{border-bottom:1px solid var(--calendar-border);display:flex}.calendar-app .availability-page__tabs button{color:var(--calendar-text-muted);background:0 0;border:0;border-bottom:3px solid #0000}.calendar-app .availability-page__tabs button[aria-selected=true]{border-bottom-color:var(--calendar-action);color:var(--calendar-text)}.availability-page__month-nav button,.availability-editor__heading>button{place-items:center;width:44px;padding:0;display:inline-grid}.availability-page__month-nav svg,.availability-editor__heading svg{width:20px;height:20px}.month-calendar{-webkit-user-select:none;user-select:none;min-width:0}.month-calendar__weekdays,.month-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-calendar__weekdays{color:var(--calendar-text-muted);text-align:center;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700}.calendar-app .month-calendar__day{aspect-ratio:1;border-color:var(--calendar-border);background:var(--calendar-surface-raised);min-width:0;min-height:44px;color:var(--calendar-text);text-align:left;align-content:space-between;justify-items:start;padding:6px;font-weight:400;display:grid;position:relative;overflow:hidden}.calendar-app .month-calendar__day--outside{opacity:.48}.calendar-app .month-calendar__day--available{border-color:var(--calendar-available);background:#18362a}.calendar-app .month-calendar__day--unavailable{border-color:var(--calendar-unavailable);background:#3a2224}.calendar-app .month-calendar__day--partial{border-color:var(--calendar-partial);background:#1d3042}.calendar-app .month-calendar__day--selected{outline:3px solid var(--calendar-action);outline-offset:-3px}.month-calendar__day-number{font-weight:700}.month-calendar__status{align-items:center;gap:4px;max-width:100%;font-size:11px;line-height:1;display:flex}.month-calendar__status svg{flex:none}.month-calendar__status-full{display:none}.availability-editor{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface-raised);padding:16px}.availability-editor:focus-within{border-color:#666d72}.availability-editor form,.availability-editor__note,.availability-editor__times label{gap:8px;display:grid}.availability-editor form{gap:16px;margin-top:16px}.availability-editor fieldset{border:0;min-width:0;margin:0;padding:0}.availability-editor legend,.availability-editor__note>span,.availability-editor__times label>span{color:var(--calendar-text-muted);margin-bottom:8px;font-size:14px}.availability-editor__statuses>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.availability-editor__statuses label{position:relative}.availability-editor__statuses input{opacity:0;position:absolute}.availability-editor__statuses label span{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface);text-align:center;border-radius:4px;place-items:center;min-height:44px;padding:6px;font-size:14px;display:grid}.availability-editor__statuses input:checked+span{border-color:var(--calendar-action);color:var(--calendar-action);font-weight:700}.availability-editor__statuses input:focus-visible+span{outline:2px solid var(--calendar-text);outline-offset:2px}.availability-editor__times{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.availability-editor input[type=time],.availability-editor textarea{width:100%;padding:10px 12px}.availability-editor textarea{resize:vertical;min-height:88px}.availability-editor__actions{justify-content:flex-end}.availability-editor__actions button,.availability-inline-error button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.availability-editor__target{font-weight:700;color:var(--calendar-action)!important}.calendar-app .availability-editor__delete{border-color:var(--calendar-unavailable);color:#ff9e9e;background:0 0}.availability-inline-error{border-left:4px solid var(--calendar-unavailable);color:#ffd0d0;background:#321f21;padding:12px}.availability-page__loading{box-sizing:border-box;border:1px solid var(--calendar-border);min-height:120px;color:var(--calendar-text-muted);background:#1d2021;padding:24px}.team-availability{gap:16px;min-width:0;display:grid}.team-availability__filters{grid-template-columns:minmax(220px,1fr) minmax(180px,240px);gap:12px;display:grid}.team-availability__filters label,.team-availability__mobile>label{gap:6px;display:grid}.team-availability__filters label>span,.team-availability__mobile>label>span{color:var(--calendar-text-muted);font-size:14px}.team-availability__filters input,.team-availability__filters select,.team-availability__mobile select{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface);width:100%;min-height:44px;color:var(--calendar-text);font:inherit;border-radius:4px;padding:0 12px}.team-availability__empty{border:1px solid var(--calendar-border);color:var(--calendar-text-muted);padding:24px}.team-availability__scroller{border:1px solid var(--calendar-border);max-width:100%;overflow-x:auto}.team-availability__scroller:focus-visible{outline:2px solid var(--calendar-action);outline-offset:2px}.team-availability table{border-collapse:collapse;table-layout:fixed;width:max-content;min-width:100%}.team-availability th,.team-availability td{box-sizing:border-box;border:1px solid var(--calendar-border);text-align:center;width:72px;min-width:72px;height:58px;padding:0}.team-availability thead th span,.team-availability thead th strong{font-size:12px;display:block}.team-availability tbody th,.team-availability thead th:first-child{z-index:2;background:var(--calendar-surface-raised);text-align:left;width:180px;min-width:180px;padding:8px 10px;position:sticky;left:0}.team-availability tbody th strong,.team-availability tbody th span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.team-availability tbody th span{color:var(--calendar-text-muted);margin-top:4px;font-size:12px}.calendar-app .team-availability__cell{background:var(--calendar-surface);width:100%;min-width:0;height:100%;min-height:56px;color:var(--calendar-text-muted);border:0;border-radius:0;padding:4px;font-size:11px;font-weight:400;overflow:hidden}.calendar-app .team-availability__cell--available{box-shadow:inset 0 -4px var(--calendar-available);color:var(--calendar-text);background:#18362a}.calendar-app .team-availability__cell--unavailable{box-shadow:inset 0 -4px var(--calendar-unavailable);color:var(--calendar-text);background:#3a2224}.calendar-app .team-availability__cell--partial{box-shadow:inset 0 -4px var(--calendar-partial);color:var(--calendar-text);background:#1d3042}.team-availability__mobile{gap:12px;display:grid}.team-availability__strip-nav,.availability-history__heading,.availability-history__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-availability__strip-nav button,.availability-history__heading button{place-items:center;width:44px;padding:0;display:inline-grid}.team-availability__strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-app .team-availability__strip .team-availability__cell{align-content:center;gap:3px;min-height:88px;display:grid}.team-availability__strip span,.team-availability__strip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-availability__strip small{font-size:10px}.availability-history{z-index:20;overscroll-behavior:contain;background:#000000b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.availability-history__panel{box-sizing:border-box;border:1px solid var(--calendar-border);background:var(--calendar-surface-raised);width:min(100%,640px);max-height:min(760px,100dvh - 32px);padding:20px;overflow-y:auto;box-shadow:0 18px 48px #00000073}.availability-history__heading h2,.availability-history__heading p{margin:0}.availability-history__heading p,.availability-history time,.availability-history dt{color:var(--calendar-text-muted)}.availability-history__heading p{margin-top:4px}.availability-history__list{gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.availability-history__list li{border:1px solid var(--calendar-border);background:var(--calendar-surface);padding:14px}.availability-history__list dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0;display:grid}.availability-history__list dl div{min-width:0}.availability-history dt,.availability-history dd{margin:0}.availability-history dd{overflow-wrap:anywhere;margin-top:4px}@media (width>=620px){.month-calendar__status-full{display:inline}.month-calendar__status-short{display:none}}@media (width<=560px){.calendar-app{padding:12px}.calendar-app__workspace{grid-template-columns:1fr;align-items:stretch}.calendar-app__workspace .calendar-language{justify-self:start}.calendar-login{padding:12px}.calendar-login__panel{padding:18px}.month-calendar__weekdays,.month-calendar__grid{gap:2px}.calendar-app .month-calendar__day{padding:4px}.month-calendar__status svg{display:none}.availability-editor__heading,.availability-inline-error{align-items:flex-start}.availability-editor__times{grid-template-columns:1fr}.availability-editor__actions{flex-wrap:wrap}.availability-editor__actions button{flex:88px}}@media (width<=700px){.team-availability__filters{grid-template-columns:1fr}.team-availability__strip-nav strong{text-align:center;font-size:14px}.availability-history__list dl{grid-template-columns:1fr}}
