:where(.cal-scroll){--cal-slot-size:16px;--cal-track-min-size:120px;--cal-label-width:60px;--cal-major-width:90px;--cal-header-size:32px;--cal-lane-size:30px;--cal-lane-gap:4px;--cal-accent:#397e82;--cal-accent-soft:#c5e0dd;--cal-free:#fff;--cal-closed:#f1f1f4;--cal-past:#f1f1f4;--cal-booked:#dfe3ea;--cal-mine:#cfe6d5;--cal-void:#eceef2;--cal-line:#eceef2;--cal-hour-line:#dcdce1;--cal-now:#e77b78;--cal-font-size:11px;--cal-scroll-max:none;--cal-focus-max:75vh;--cal-bg:#fff;--cal-fg:#1d1d1f;--cal-muted:#6e6e73;--cal-event-bg:#d6eeed;--cal-event-fg:#285d60;--cal-event-line:#62aeb2}.cal-scroll{max-height:var(--cal-scroll-max);background:var(--cal-bg);color:var(--cal-fg);font-size:var(--cal-font-size);position:relative;overflow:auto}.cal-scroll--focus{max-height:min(var(--cal-focus-max), calc(var(--cal-header-rows) * var(--cal-header-size) + var(--cal-focus-rows) * var(--cal-slot-size) + 2px))}.cal{min-width:max-content;display:grid;position:relative}.cal--vertical{grid-template-columns:var(--cal-label-width) repeat(var(--cal-columns), minmax(var(--cal-track-min-size), 1fr));grid-template-rows:repeat(var(--cal-header-rows), var(--cal-header-size)) calc(var(--cal-rows) * var(--cal-slot-size));min-width:100%}.cal--horizontal{grid-template-columns:var(--cal-label-width) calc(var(--cal-rows) * var(--cal-slot-size));grid-template-rows:var(--cal-header-size) repeat(var(--cal-columns), minmax(var(--cal-track-min-size), auto))}.cal--horizontal.cal--two-headers{grid-template-columns:var(--cal-major-width) var(--cal-label-width) calc(var(--cal-rows) * var(--cal-slot-size))}.cal-corner{grid-column:1;grid-row:1 / span var(--cal-header-rows);z-index:6;background:var(--cal-bg);border-bottom:2px solid var(--cal-hour-line);border-right:1px solid var(--cal-hour-line);color:var(--cal-muted);justify-content:center;align-items:center;display:flex;position:sticky;top:0;left:0}.cal-header{z-index:5;background:var(--cal-bg);text-align:center;border-bottom:2px solid var(--cal-hour-line);border-right:1px solid var(--cal-line);white-space:nowrap;justify-content:center;align-items:center;padding:0 22px;font-weight:500;display:flex;position:sticky;top:0}.cal--vertical .cal-header{grid-row:var(--cal-h);grid-column:calc(var(--cal-c) + 2) / span var(--cal-span)}.cal--two-headers .cal-header[style*="--cal-h: 2"]{top:var(--cal-header-size);border-bottom-width:1px}.cal--horizontal .cal-corner{grid-column:1 / span var(--cal-header-rows);grid-row:1}.cal--horizontal .cal-header{grid-column:var(--cal-h);grid-row:calc(var(--cal-c) + 2) / span var(--cal-span);z-index:4;text-align:left;white-space:normal;border-bottom:1px solid var(--cal-line);border-right:1px solid var(--cal-hour-line);justify-content:flex-start;padding:6px 8px;top:auto;left:0}.cal--horizontal.cal--two-headers .cal-header[style*="--cal-h: 2"]{top:auto;left:var(--cal-major-width)}.cal-header--today{background:#f2f9f9}.cal-arrow{font-size:26px;line-height:var(--cal-header-size);width:22px;color:var(--cal-accent);font-weight:700;text-decoration:none;position:absolute;top:0}.cal-arrow--earlier{left:2px}.cal-arrow--later{right:2px}.cal-axis{grid-column:1;grid-row:calc(var(--cal-header-rows) + 1);z-index:4;background:var(--cal-bg);border-right:1px solid var(--cal-hour-line);position:sticky;left:0}.cal-axis-label{color:var(--cal-muted);white-space:nowrap;position:absolute}.cal--vertical .cal-axis-label{top:calc(var(--cal-a) * var(--cal-slot-size));line-height:1;right:8px;transform:translateY(1px)}.cal--horizontal .cal-axis{grid-column:calc(var(--cal-header-rows) + 1);z-index:5;border-right:0;border-bottom:2px solid var(--cal-hour-line);grid-row:1;top:0;left:auto}.cal--horizontal .cal-axis-label{left:calc(var(--cal-a) * var(--cal-slot-size));padding-left:4px;top:50%;transform:translateY(-50%)}.cal-guides{grid-column:2/-1;grid-row:calc(var(--cal-header-rows) + 1);pointer-events:none;z-index:2;position:relative}.cal--vertical .cal-guides{grid-row:calc(var(--cal-header-rows) + 1)}.cal-guide{position:absolute}.cal--vertical .cal-guide{top:calc(var(--cal-a) * var(--cal-slot-size));border-top:1px solid var(--cal-hour-line);left:0;right:0}.cal--horizontal .cal-guides{grid-column:calc(var(--cal-header-rows) + 1);grid-row:2/-1}.cal--horizontal .cal-guide{left:calc(var(--cal-a) * var(--cal-slot-size));border-left:1px solid var(--cal-hour-line);top:0;bottom:0}.cal-column{border-right:1px solid var(--cal-line);position:relative}.cal--vertical .cal-column{grid-row:calc(var(--cal-header-rows) + 1);grid-column:calc(var(--cal-c) + 2)}.cal--vertical .cal-column>*{top:calc(var(--cal-a) * var(--cal-slot-size));height:calc(var(--cal-n,1) * var(--cal-slot-size));position:absolute;left:0;right:0}.cal--horizontal .cal-column{grid-column:calc(var(--cal-header-rows) + 1);grid-row:calc(var(--cal-c) + 2);border-right:0;border-bottom:1px solid var(--cal-line)}.cal--horizontal .cal-run{box-shadow:none}.cal--horizontal .cal-column>*{left:calc(var(--cal-a) * var(--cal-slot-size));width:calc(var(--cal-n,1) * var(--cal-slot-size));position:absolute;top:0;bottom:0}.cal-run{box-shadow:inset 0 -1px var(--cal-line)}.cal-run--free{background:var(--cal-free)}.cal-run--closed{background:var(--cal-closed)}.cal-run--past{background:var(--cal-past)}.cal-run--booked{background:var(--cal-booked)}.cal-run--mine{background:var(--cal-mine)}.cal-run--void{background:var(--cal-void)}.cal-slot{z-index:1;box-shadow:inset 0 -1px var(--cal-line);touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}.cal-slot>*{width:100%;height:100%;display:block}.cal-slot--selected{background:var(--cal-accent-soft);outline:2px solid var(--cal-accent);outline-offset:-2px}.cal-event{z-index:3;background:var(--cal-event-bg);color:var(--cal-event-fg);border-left:3px solid var(--cal-event-line);box-sizing:border-box;overflow:hidden}.cal--vertical .cal-event{left:calc(var(--cal-lane,0) / var(--cal-lanes,1) * 100%);width:calc(100% / var(--cal-lanes,1));right:auto}.cal--horizontal .cal-event{top:calc(var(--cal-lane,0) / var(--cal-lanes,1) * 100%);height:calc(100% / var(--cal-lanes,1));bottom:auto}.cal--fixed-lanes .cal-column{min-height:calc(var(--cal-column-lanes,1) * var(--cal-lane-size) + var(--cal-lane-gap))}.cal--horizontal.cal--fixed-lanes .cal-event{top:calc(var(--cal-lane-gap) + var(--cal-lane,0) * var(--cal-lane-size));height:calc(var(--cal-lane-size) - var(--cal-lane-gap))}.cal--vertical.cal--fixed-lanes .cal-event{left:calc(var(--cal-lane-gap) + var(--cal-lane,0) * var(--cal-lane-size));width:calc(var(--cal-lane-size) - var(--cal-lane-gap))}.cal-event>*{width:100%;height:100%;display:block}.cal-event[role=button]{cursor:pointer}.cal-event[draggable=true]{cursor:grab;touch-action:none}.cal-event:focus-visible{outline:3px solid var(--cal-accent);outline-offset:-3px}.cal-event--ghost{opacity:.7}.cal-event--maintenance{--cal-event-bg:#f6e8cb;--cal-event-fg:#705724;--cal-event-line:#c59b43}.cal-event--usage{--cal-event-bg:#cddbec;--cal-event-fg:#345878;--cal-event-line:#7198bc}.cal-event--live{--cal-event-bg:#bfe6d9;--cal-event-fg:#1c6b57;--cal-event-line:#41a081}.cal-event--clipped-start{border-top:2px dashed var(--cal-event-line)}.cal-event--clipped-end{border-bottom:2px dashed var(--cal-event-line)}.cal--horizontal .cal-event--clipped-start{border-top:0;border-left-style:dashed}.cal--horizontal .cal-event--clipped-end{border-bottom:0;border-right:2px dashed var(--cal-event-line)}.cal-now{z-index:4;pointer-events:none;border-top:2px solid var(--cal-now);height:0}.cal--horizontal .cal-now{border-top:0;border-left:2px solid var(--cal-now);width:0;height:auto}.cal-empty{grid-column:1/-1;grid-row:calc(var(--cal-header-rows) + 1);text-align:center;color:var(--cal-muted);padding:36px;font-size:14px}.cal-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:18px;display:flex}.cal-nav strong{text-align:center;font-size:14px}:root{--signin-bar-height:36px}.signin-bar{height:var(--signin-bar-height);background:var(--signin-bar-bg,#111);color:var(--signin-bar-fg,#ccc);font-size:15px;line-height:var(--signin-bar-height)}.signin-bar-inner{max-width:var(--signin-bar-width,none);white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;height:100%;margin:0 auto;padding:0 16px;display:flex}.signin-bar-name b{color:#fff}.signin-bar-separator{flex:none}.signin-bar-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.signin-bar a,.signin-bar button{color:var(--signin-bar-link,#fff);flex:none;font-weight:400;text-decoration:none}.signin-bar a:hover,.signin-bar button:hover,.signin-bar a:focus-visible,.signin-bar button:focus-visible{text-decoration:underline}.signin-bar form{display:contents}.signin-bar button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}
