.fbit-cal{--cal-primary: var(--fbit-primary,#2B44FF);--cal-strong: var(--fbit-primary-strong,#2B44FF);--cal-tint: var(--fbit-tint,#E8EBFF);--cal-ink: var(--fbit-ink,#10213A);--cal-slate: var(--fbit-slate,#4A5B70);--cal-control: var(--fbit-control,#6B7C93);--cal-line: var(--fbit-mist,#E3E9F0);--cal-line-2: var(--fbit-mist-2,#CBD5E1);--cal-paper: var(--fbit-paper,#F7F9FB);--cal-white: #FFFFFF;--cal-llum: var(--fbit-llum,#FFC94D);--cal-danger: var(--fbit-danger,#B42318);--cal-focus: var(--fbit-focus,#10213A);--cal-radius: 6px;--cal-radius-lg: 14px;--cal-mono: var(--fbit-font-mono,ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace);--cal-hour: 3.25rem;--cal-axis: 3.75rem;position: relative;display: block;color: var(--cal-ink);font-size: 1rem;line-height: 1.45;container-type: inline-size;container-name: fbit-cal}.fbit-cal *,.fbit-cal *::before,.fbit-cal *::after{box-sizing: border-box}.fbit-cal [hidden]{display: none !important}.fbit-cal :where(button,a,[tabindex]):focus-visible{outline: 3px solid var(--cal-focus);outline-offset: 2px;box-shadow: 0 0 0 2px #fff;border-radius: 4px}.fbit-cal .fbit-cal__sr{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0}.fbit-calendar__noscript{padding: 1rem;border: 1px dashed var(--fbit-mist-2,#CBD5E1);border-radius: 10px}.fbit-cal__toolbar{display: grid;grid-template-columns: 1fr;gap: 0.75rem;align-items: center;margin-bottom: 1rem}.fbit-cal__nav,.fbit-cal__views{display: flex;flex-wrap: wrap;align-items: center;gap: 0.375rem}.fbit-cal__title{margin: 0;font-family: var(--fbit-font-display,inherit);font-stretch: var(--fbit-display-stretch,100%);font-size: clamp(1.25rem,1.05rem + 1.2cqi,1.75rem);font-weight: 740;letter-spacing: -0.015em;line-height: 1.15;text-transform: none}.fbit-cal__title::first-letter{text-transform: uppercase}.fbit-cal__btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.35rem;min-width: 2.75rem;min-height: 2.75rem;padding: 0 0.85rem;border: 1.5px solid var(--cal-line-2);border-radius: var(--cal-radius);background: var(--cal-white);color: var(--cal-ink);font: inherit;font-size: 0.9375rem;font-weight: 700;line-height: 1;cursor: pointer}.fbit-cal__btn:hover{border-color: var(--cal-ink)}.fbit-cal__btn--icon{padding: 0}.fbit-cal__btn svg{width: 1.15rem;height: 1.15rem}.fbit-cal__views{gap: 0;border: 1.5px solid var(--cal-line-2);border-radius: var(--cal-radius);overflow: hidden;background: var(--cal-white)}.fbit-cal__views .fbit-cal__btn{border: 0;border-radius: 0;min-width: 3.25rem}.fbit-cal__views .fbit-cal__btn + .fbit-cal__btn{border-left: 1px solid var(--cal-line-2)}.fbit-cal__views .fbit-cal__btn[aria-pressed="true"]{background: var(--cal-ink);color: #fff}.fbit-cal__views .fbit-cal__btn:focus-visible{outline-offset: -3px}@container fbit-cal (min-width: 46rem){.fbit-cal__toolbar{grid-template-columns: auto 1fr auto}.fbit-cal__title{order: -1}.fbit-cal__nav{justify-self: start}}.fbit-cal__state{display: flex;align-items: center;gap: 0.6rem;margin: 0 0 0.75rem;padding: 0.7rem 0.9rem;border-radius: 10px;background: var(--cal-paper);color: var(--cal-slate);font-size: 0.9375rem;font-weight: 600}.fbit-cal__state--error{background: #FCE8E6;color: var(--cal-danger)}.fbit-cal__state .fbit-cal__btn{margin-left: auto;min-height: 2.5rem}.fbit-cal__spinner{width: 1.1rem;height: 1.1rem;border: 2px solid currentColor;border-right-color: transparent;border-radius: 50%;animation: fbit-cal-spin 0.7s linear infinite}@keyframes fbit-cal-spin{to{transform: rotate(360deg)}}.fbit-cal__body{position: relative}.fbit-cal__body[aria-busy="true"] .fbit-cal__grid,.fbit-cal__body[aria-busy="true"] .fbit-cal__tgrid,.fbit-cal__body[aria-busy="true"] .fbit-cal__list{opacity: 0.5;transition: opacity 160ms}.fbit-cal__ev,.fbit-cal__item,.fbit-cal__tev,.fbit-cal__aev{--ev: var(--cal-primary);--ev-bg: #F1F3FF}@supports (color: color-mix(in srgb,red,blue)){.fbit-cal__ev,.fbit-cal__item,.fbit-cal__tev,.fbit-cal__aev{--ev-bg: color-mix(in srgb,var(--ev) 13%,#fff)}}.fbit-cal [data-tone="success"]{--ev: #127A4B}.fbit-cal [data-tone="warning"]{--ev: #9A5B00}.fbit-cal [data-tone="danger"]{--ev: #B42318}.fbit-cal [data-tone="info"]{--ev: #1F5FBF}.fbit-cal [data-tone="neutral"]{--ev: #4A5B70}.fbit-cal [data-tone="accent"]{--ev: #9A6A00}.fbit-cal__month{border: 1px solid var(--cal-line);border-radius: var(--cal-radius-lg);background: var(--cal-white);overflow: hidden}.fbit-cal__grid{width: 100%;border-collapse: collapse;table-layout: fixed}.fbit-cal__grid th{padding: 0.6rem 0.25rem;border-bottom: 1px solid var(--cal-line);background: var(--cal-paper);color: var(--cal-slate);font-size: 0.75rem;font-weight: 700;letter-spacing: 0.06em;text-align: center;text-transform: uppercase}.fbit-cal__grid th abbr{text-decoration: none;border: 0;cursor: default}.fbit-cal__day{position: relative;height: 6.75rem;padding: 0.3rem;border-right: 1px solid var(--cal-line);border-bottom: 1px solid var(--cal-line);vertical-align: top;cursor: pointer}.fbit-cal__day:last-child{border-right: 0}.fbit-cal__grid tr:last-child .fbit-cal__day{border-bottom: 0}.fbit-cal__day:hover{background: var(--cal-paper)}.fbit-cal__day.is-other{background: repeating-linear-gradient(135deg,transparent 0 6px,rgba(203,213,225,0.25) 6px 7px)}.fbit-cal__day.is-other .fbit-cal__daynum{color: var(--cal-slate);font-weight: 400}.fbit-cal__day.is-selected{background: var(--cal-tint);box-shadow: inset 0 0 0 2px var(--cal-primary)}.fbit-cal__day:focus-visible{outline: 3px solid var(--cal-focus);outline-offset: -3px;box-shadow: none;border-radius: 0}.fbit-cal__daynum{display: inline-grid;place-items: center;min-width: 1.85rem;height: 1.85rem;padding: 0 0.3rem;border-radius: var(--cal-radius);font-family: var(--cal-mono);font-size: 0.8125rem;font-weight: 600;font-variant-numeric: tabular-nums}.fbit-cal__day.is-today .fbit-cal__daynum{background: var(--cal-ink);color: #fff}.fbit-cal__events{display: grid;grid-template-columns: minmax(0,1fr);gap: 2px;margin: 0.2rem 0 0;padding: 0;list-style: none}.fbit-cal__events>li{min-width: 0}.fbit-cal__ev{display: block;overflow: hidden;padding: 0.15rem 0.35rem;border-left: 3px solid var(--ev);border-radius: 3px;background: var(--ev-bg);color: var(--cal-ink);font-size: 0.75rem;font-weight: 600;line-height: 1.3;text-decoration: none;text-overflow: ellipsis;white-space: nowrap;cursor: pointer;border-top: 0;border-right: 0;border-bottom: 0;width: 100%;text-align: left;font-family: inherit}.fbit-cal__ev:hover{text-decoration: underline}.fbit-cal__ev-time{font-family: var(--cal-mono);font-size: 0.6875rem;font-weight: 600;margin-right: 0.25rem;color: var(--cal-slate)}.fbit-cal__more{padding: 0.1rem 0.35rem;border: 0;background: none;color: var(--cal-strong);font: inherit;font-size: 0.75rem;font-weight: 700;text-align: left;cursor: pointer}.fbit-cal__more:hover{text-decoration: underline}.fbit-cal__dots{display: none;gap: 3px;justify-content: center;margin-top: 0.15rem}.fbit-cal__dots i{width: 6px;height: 6px;border-radius: 1.5px;background: var(--ev,var(--cal-primary))}.fbit-cal [data-status="pending"].fbit-cal__ev,.fbit-cal [data-status="pending"].fbit-cal__tev{border-left-style: dashed;background-image: repeating-linear-gradient(135deg,transparent 0 5px,rgba(255,255,255,0.7) 5px 8px)}.fbit-cal [data-status="cancelled"],.fbit-cal [data-status="rejected"]{border-left-style: dotted}.fbit-cal [data-status="cancelled"] .fbit-cal__ev-title,.fbit-cal [data-status="rejected"] .fbit-cal__ev-title{text-decoration: line-through}@container fbit-cal (max-width: 40rem){.fbit-cal__day{height: 3.25rem;padding: 0.15rem;text-align: center}.fbit-cal__events{display: none}.fbit-cal__dots{display: flex}.fbit-cal__grid th{font-size: 0.6875rem;letter-spacing: 0.02em}}.fbit-cal__agenda{margin-top: 1rem;padding: 1rem 1.1rem;border: 1px solid var(--cal-line);border-radius: var(--cal-radius-lg);background: var(--cal-white)}.fbit-cal__agenda-title{margin: 0 0 0.6rem;font-size: 1.0625rem;font-weight: 700}.fbit-cal__agenda-title::first-letter{text-transform: uppercase}.fbit-cal__agenda .fbit-cal__listitems{margin: 0}.fbit-cal__tscroll{overflow-x: auto;border: 1px solid var(--cal-line);border-radius: var(--cal-radius-lg);background: var(--cal-white)}.fbit-cal__tgrid{--cols: 7;position: relative;min-width: calc(var(--cal-axis) + var(--cols) * 6rem)}.fbit-cal__tgrid--day{min-width: 0}.fbit-cal__thead,.fbit-cal__allday,.fbit-cal__slotrow{display: grid;grid-template-columns: var(--cal-axis) repeat(var(--cols),minmax(0,1fr))}.fbit-cal__thead{position: sticky;top: 0;z-index: 3;border-bottom: 1px solid var(--cal-line);background: var(--cal-paper)}.fbit-cal__colhead{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.1rem;min-height: 3.5rem;padding: 0.35rem 0.25rem;border-left: 1px solid var(--cal-line);text-align: center}.fbit-cal__colhead-dow{color: var(--cal-slate);font-size: 0.75rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase}.fbit-cal__colhead-num{font-family: var(--cal-mono);font-size: 1rem;font-weight: 700}.fbit-cal__colhead.is-today .fbit-cal__colhead-num{padding: 0 0.4rem;border-radius: var(--cal-radius);background: var(--cal-ink);color: #fff}.fbit-cal__colhead-res{display: inline-flex;align-items: center;gap: 0.35rem;font-size: 0.875rem;font-weight: 700;line-height: 1.2}.fbit-cal__colhead-res i{width: 0.6rem;height: 0.6rem;border-radius: 2px;background: var(--ev,var(--cal-primary))}.fbit-cal__allday{border-bottom: 1px solid var(--cal-line);min-height: 2.25rem}.fbit-cal__allday-label{display: flex;align-items: center;justify-content: flex-end;padding: 0.25rem 0.4rem;color: var(--cal-slate);font-size: 0.6875rem;font-weight: 700;line-height: 1.1;text-align: right}.fbit-cal__allday-track{display: grid;grid-column: 2 / -1;grid-template-columns: repeat(var(--cols),minmax(0,1fr));grid-auto-rows: minmax(1.6rem,auto);gap: 2px;padding: 3px}.fbit-cal__aev{overflow: hidden;padding: 0.2rem 0.45rem;border-left: 3px solid var(--ev);border-radius: 3px;background: var(--ev-bg);color: var(--cal-ink);font-size: 0.75rem;font-weight: 700;text-decoration: none;text-overflow: ellipsis;white-space: nowrap;border-top: 0;border-right: 0;border-bottom: 0;font-family: inherit;text-align: left;cursor: pointer}.fbit-cal__tbody{position: relative}.fbit-cal__slotrow{height: calc(var(--cal-hour) / var(--slots-per-hour,2))}.fbit-cal__axiscell{position: relative;padding-right: 0.45rem;color: var(--cal-slate);font-family: var(--cal-mono);font-size: 0.6875rem;font-weight: 600;text-align: right}.fbit-cal__axiscell span{position: relative;top: -0.55em;background: var(--cal-white);padding-left: 0.2rem}.fbit-cal__slotrow:first-child .fbit-cal__axiscell span{top: 0.15em}.fbit-cal__slot{border-left: 1px solid var(--cal-line)}.fbit-cal__slotrow.is-hour .fbit-cal__slot{border-top: 1px solid var(--cal-line)}.fbit-cal__slotrow:not(.is-hour) .fbit-cal__slot{border-top: 1px dashed rgba(203,213,225,0.55)}.fbit-cal__slot.is-today{background: rgba(var(--fbit-primary-rgb,43,68,255),0.03)}.fbit-cal--selectable .fbit-cal__slot{cursor: cell}.fbit-cal--selectable .fbit-cal__slot:hover{background: var(--cal-tint)}.fbit-cal__slot.is-selected{background: var(--cal-tint);box-shadow: inset 3px 0 0 var(--cal-primary)}.fbit-cal__slot:focus-visible{outline: 3px solid var(--cal-focus);outline-offset: -3px;box-shadow: none;border-radius: 0}.fbit-cal__slot.is-busy{background-image: repeating-linear-gradient(135deg,transparent 0 6px,rgba(16,33,58,0.04) 6px 8px)}.fbit-cal__evlayer{position: absolute;top: 0;bottom: 0;left: var(--cal-axis);right: 0;display: grid;grid-template-columns: repeat(var(--cols),minmax(0,1fr));pointer-events: none}.fbit-cal__evcol{position: relative;margin: 0 3px}.fbit-cal__tev{position: absolute;display: flex;flex-direction: column;gap: 0.05rem;overflow: hidden;min-height: 1.4rem;padding: 0.2rem 0.4rem;border: 0;border-left: 3px solid var(--ev);border-radius: 4px;background: var(--ev-bg);color: var(--cal-ink);font-family: inherit;font-size: 0.75rem;line-height: 1.25;text-align: left;text-decoration: none;pointer-events: auto;box-shadow: 0 0 0 1px #fff;cursor: pointer}.fbit-cal__tev:hover{z-index: 2;box-shadow: 0 0 0 1px #fff,0 4px 12px -4px rgba(16,33,58,0.35)}.fbit-cal__tev:focus-visible{z-index: 3}.fbit-cal__tev .fbit-cal__ev-time{margin: 0}.fbit-cal__tev .fbit-cal__ev-title{font-weight: 700}.fbit-cal__tev .fbit-cal__ev-loc{color: var(--cal-slate)}.fbit-cal__tev{overflow-wrap: break-word;hyphens: auto}.fbit-cal__tev--narrow{padding: 0.15rem 0.25rem;font-size: 0.6875rem;line-height: 1.2}.fbit-cal__tev--narrow .fbit-cal__ev-time{font-size: 0.625rem}.fbit-cal__now{position: absolute;left: 0;right: 0;height: 2px;background: var(--cal-danger);z-index: 2;pointer-events: none}.fbit-cal__now::before{content: "";position: absolute;left: -4px;top: -3px;width: 8px;height: 8px;border-radius: 50%;background: var(--cal-danger)}.fbit-cal__selection{position: absolute;left: 0;right: 0;z-index: 1;border: 2px solid var(--cal-primary);border-radius: 4px;background: rgba(var(--fbit-primary-rgb,43,68,255),0.12);pointer-events: none}.fbit-cal__selection span{position: absolute;top: 2px;left: 4px;font-family: var(--cal-mono);font-size: 0.6875rem;font-weight: 700;color: var(--cal-strong)}.fbit-cal__list{display: grid;gap: 1.25rem}.fbit-cal__listday-title{display: flex;align-items: baseline;gap: 0.5rem;margin: 0 0 0.5rem;padding-bottom: 0.4rem;border-bottom: 2px solid var(--cal-ink);font-size: 1.0625rem;font-weight: 700}.fbit-cal__listday-title .fbit-cal__listday-dow{color: var(--cal-slate);font-size: 0.8125rem;letter-spacing: 0.06em;text-transform: uppercase}.fbit-cal__listday.is-today .fbit-cal__listday-title{border-bottom-color: var(--cal-primary)}.fbit-cal__listitems{display: grid;gap: 0;margin: 0;padding: 0;list-style: none}.fbit-cal__item{display: grid;grid-template-columns: 7.25rem minmax(0,1fr);gap: 0.25rem 1rem;padding: 0.75rem 0 0.75rem 0.75rem;border-bottom: 1px solid var(--cal-line);border-left: 3px solid var(--ev)}.fbit-cal__item-time{color: var(--cal-slate);font-family: var(--cal-mono);font-size: 0.8125rem;font-weight: 600;font-variant-numeric: tabular-nums;padding-top: 0.15rem}.fbit-cal__item-main{display: grid;gap: 0.2rem;min-width: 0}.fbit-cal__item-title{color: var(--cal-ink);font-weight: 700;line-height: 1.35;text-decoration: none;background: none;border: 0;padding: 0;font: inherit;font-weight: 700;text-align: left;cursor: pointer}a.fbit-cal__item-title:hover,button.fbit-cal__item-title:hover{color: var(--cal-strong);text-decoration: underline}.fbit-cal__item-meta{display: flex;flex-wrap: wrap;gap: 0.25rem 0.75rem;color: var(--cal-slate);font-size: 0.875rem}.fbit-cal__badge{display: inline-flex;align-items: center;min-height: 1.4rem;padding: 0 0.45rem;border-radius: 4px;background: var(--cal-line);color: var(--cal-ink);font-size: 0.75rem;font-weight: 700}.fbit-cal__badge[data-status="pending"]{background: #FDF1DC;color: #9A5B00}.fbit-cal__badge[data-status="approved"]{background: #E4F4EC;color: #127A4B}.fbit-cal__badge[data-status="cancelled"],.fbit-cal__badge[data-status="rejected"]{background: #FCE8E6;color: #B42318}@container fbit-cal (max-width: 30rem){.fbit-cal__item{grid-template-columns: 1fr}}.fbit-cal__empty{padding: 2rem 1rem;border: 1px dashed var(--cal-line-2);border-radius: var(--cal-radius-lg);color: var(--cal-slate);font-weight: 600;text-align: center;background: var(--cal-white) radial-gradient(circle,var(--cal-line) 1.2px,transparent 1.6px) 0 0 / 14px 14px}.fbit-cal__dialog{width: min(30rem,calc(100% - 2rem));padding: 0;border: 0;border-radius: var(--cal-radius-lg);color: var(--cal-ink);box-shadow: 0 24px 56px -18px rgba(16,33,58,0.4)}.fbit-cal__dialog::backdrop{background: rgba(16,33,58,0.5)}.fbit-cal__dialog-head{display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem;padding: 1.1rem 1.1rem 0.6rem 1.25rem;border-top: 5px solid var(--ev,var(--cal-primary));border-radius: var(--cal-radius-lg) var(--cal-radius-lg) 0 0}.fbit-cal__dialog-title{margin: 0;font-size: 1.1875rem;font-weight: 700;line-height: 1.3}.fbit-cal__dialog-body{padding: 0 1.25rem 1.25rem}.fbit-cal__dialog dl{display: grid;grid-template-columns: auto 1fr;gap: 0.4rem 1rem;margin: 0.5rem 0 1rem}.fbit-cal__dialog dt{color: var(--cal-slate);font-size: 0.875rem;font-weight: 700}.fbit-cal__dialog dd{margin: 0}.fbit-cal__dialog .fbit-cal__btn--primary{background: var(--cal-primary);border-color: var(--cal-primary);color: var(--fbit-on-primary,#fff);text-decoration: none}@media (prefers-reduced-motion: reduce){.fbit-cal *,.fbit-cal *::before{animation: none !important;transition: none !important}}@media (forced-colors: active){.fbit-cal__ev,.fbit-cal__tev,.fbit-cal__aev,.fbit-cal__item{border-left-color: CanvasText}.fbit-cal__day.is-today .fbit-cal__daynum,.fbit-cal__views .fbit-cal__btn[aria-pressed="true"]{forced-color-adjust: none;background: Highlight;color: HighlightText}}
