:root{--color-primary: #3D7A9E;--color-primary-hover: #336888;--color-secondary: #8A94A0;--color-danger: #D97A84;--color-danger-subtle: #f8e4e6;--color-warning: #E6C56E;--color-warning-soft: rgba(230, 197, 110, 0.08);--color-warning-subtle: #f8efd8;--color-secondary-subtle: #e6e8eb;--color-bg: #f4f7fa;--color-surface: #ffffff;--color-text: #2c3640;--color-muted: #7a8490;--color-border: #dce3ea;--color-row-alt: #f6f9fc;--color-row-base: #ffffff;--color-row-hover: #eef4f8;--color-weekend-bg: #e8f0f6;--color-weekend-hover: #dceaf3;--color-weekend-text: #3d5366;--color-grid-border: #d4dee7;--shadow-sm: 0 2px 4px rgba(61, 122, 158, 0.06);--shadow-md: 0 4px 12px rgba(61, 122, 158, 0.08);--shadow-card: 0 2px 4px rgba(44, 54, 64, 0.06);--shadow-card-hover: 0 4px 8px rgba(44, 54, 64, 0.1);--shadow-focus: 0 0 0 0.25rem rgba(61, 122, 158, 0.18);--shadow-primary-hover: 0 4px 10px rgba(61, 122, 158, 0.22);--shadow-note-hover: 0 8px 24px rgba(44, 54, 64, 0.1);--bs-primary: #3D7A9E;--bs-primary-rgb: 61, 122, 158;--bs-link-color: #3D7A9E;--bs-link-hover-color: #336888;--bs-primary-text-emphasis: #2d5a75;--bs-primary-bg-subtle: #e4eef5;--bs-primary-border-subtle: #b7d0df;--bs-focus-ring-color: rgba(61, 122, 158, 0.25)}.page{display:flex;flex-direction:column;height:100vh;overflow:hidden}main{flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.content{padding:0 !important;flex-grow:1;display:flex;flex-direction:column;overflow:hidden}html,body{font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text);font-size:16px;height:100%;overflow:hidden}@media(max-width: 991.98px){html,body{font-size:17px}}#blazor-error-ui{color-scheme:light only;background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);box-sizing:border-box;display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:2000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}.btn{border-radius:8px;padding:.4rem .85rem;font-weight:500;font-size:.95rem;min-height:2.25rem;transition:all .2s ease-in-out;box-shadow:var(--shadow-sm)}.btn-sm{padding:.2rem .5rem;font-size:.8125rem;min-height:1.85rem}.btn:active{transform:scale(0.98)}.btn-lg{padding:.65rem 1.25rem;font-size:1.05rem;min-height:2.65rem}@media(max-width: 991.98px){.btn:not(.btn-sm){padding:.55rem 1rem;font-size:1.05rem;min-height:2.75rem}.btn-sm{padding:.35rem .65rem;font-size:.9rem;min-height:2.25rem}.btn-lg{padding:.75rem 1.35rem;font-size:1.125rem;min-height:3.1rem}}.btn-primary{background-color:var(--color-primary);border:none}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-primary-hover)}.btn-outline-primary{--bs-btn-color: var(--color-primary);--bs-btn-border-color: var(--color-primary);--bs-btn-hover-bg: var(--color-primary);--bs-btn-hover-border-color: var(--color-primary);--bs-btn-active-bg: var(--color-primary-hover);--bs-btn-active-border-color: var(--color-primary-hover);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}.btn-secondary{background-color:var(--color-secondary);border:none}.form-control,.form-select{border-radius:8px;padding:.4rem .75rem;border:1px solid var(--color-border);font-size:.95rem;min-height:2.25rem;line-height:1.4}.form-label{font-size:.875rem;font-weight:600;margin-bottom:.3rem}.form-control-sm,.form-select-sm{padding:.2rem .5rem;font-size:.8125rem;border-radius:6px;min-height:1.85rem}.form-control-lg,.form-select-lg{padding:.55rem .9rem;font-size:1.05rem;border-radius:10px;min-height:2.65rem}.form-control-color{width:2.75rem;max-width:100%;padding:.2rem;min-height:2.25rem}.form-control-color.form-control-sm{width:2.25rem;min-height:1.85rem;padding:.15rem}.form-control:focus,.form-select:focus{box-shadow:var(--shadow-focus)}@media(max-width: 991.98px){.form-control,.form-select{padding:.65rem .95rem;font-size:1.05rem;min-height:2.75rem;border-radius:10px}.form-label{font-size:1rem}.form-control-lg,.form-select-lg{padding:.8rem 1.1rem;font-size:1.125rem;min-height:3.1rem}.form-control-color{width:100%;min-height:2.75rem;padding:.3rem}}.card{border-radius:12px;border:none;box-shadow:var(--shadow-md)}.date-pager{user-select:none;min-width:0;max-width:100%}.date-pager-today{flex-shrink:0}.date-pager-label{line-height:1.2;overflow:hidden;text-overflow:ellipsis}.navbar{z-index:1040;min-height:40px;overflow:visible}.navbar-brand-text{white-space:nowrap}@media(max-width: 575.98px){.navbar-brand-text{font-size:1rem}}.navbar-brand-icon{font-size:1.2rem}.navbar>.container-fluid{display:flex;flex-wrap:nowrap;align-items:center;row-gap:.25rem;overflow:visible}.navbar-brand-container,.navbar-clock,.navbar-desktop-nav{flex-shrink:0}.nav-center-area{min-width:0}.nav-center-area>*{min-width:0;max-width:100%}.nav-actions-area{overflow:visible;flex-shrink:1;min-width:0}.nav-actions-toolbar{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.4rem .55rem;max-width:100%}.nav-filter-group,.nav-view-controls{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.nav-filter-group>[data-help-id]{display:inline-flex;align-items:center}@media(max-width: 991.98px){.navbar>.container-fluid{display:grid !important;grid-template-columns:auto minmax(0, 1fr) auto;grid-template-areas:"brand center toggler" "actions actions actions";align-items:center;column-gap:.15rem}.navbar-brand-container{grid-area:brand}.navbar-brand-container .navbar-brand{margin-left:.25rem !important}.nav-center-area{grid-area:center;min-width:0;justify-content:center;overflow:hidden}.nav-center-area .fs-5{font-size:1rem !important}.nav-center-area .mx-3{margin-left:.35rem !important;margin-right:.35rem !important}.date-pager-label{min-width:0 !important}.navbar-toggler{grid-area:toggler;justify-self:end;margin-left:.15rem;margin-right:.15rem !important;padding:.25rem .4rem}.nav-actions-area{grid-area:actions;min-width:0;max-width:100%;margin-right:0 !important;display:flex;justify-content:flex-end;padding:.15rem .25rem .35rem;box-sizing:border-box;overflow:visible}.nav-actions-toolbar{width:100%;max-width:100%;flex-wrap:wrap;justify-content:flex-end;gap:.2rem .22rem}.nav-filter-group,.nav-view-controls{display:contents}.nav-actions-toolbar .dropdown-toggle::after{display:none}.nav-actions-toolbar .btn-sm{padding-left:.3rem !important;padding-right:.3rem !important}.nav-actions-toolbar .month-view-toggle-divider{display:none}.month-view-toggle-btn{padding:.1rem .22rem}.month-view-toggle-btn i{font-size:1rem}}@media(max-width: 575.98px){.nav-actions-toolbar .dropdown-toggle .ms-1{display:none}}.navbar .nav-link{padding-top:.15rem !important;padding-bottom:.15rem !important}.navbar .nav-link i{font-size:1.2rem}.navbar .btn-sm{padding:.15rem .4rem !important;min-height:0;font-size:.875rem}.navbar .btn-sm i{font-size:.95rem !important}.navbar .dropdown-menu{z-index:2000 !important}.calendar-filter-dropdown.is-open{position:relative;z-index:2001}.calendar-filter-backdrop{position:fixed;inset:0;z-index:1}.calendar-filter-dropdown.is-open>.dropdown-toggle{position:relative;z-index:2}.calendar-filter-dropdown .dropdown-menu{min-width:min(250px,100vw - 1rem);max-width:calc(100vw - 1rem);max-height:min(70vh,24rem);overflow-y:auto;z-index:2}.calendar-filter-label{cursor:pointer}.calendar-filter-swatch{width:12px;height:12px;border-radius:50%;display:inline-block;background-color:var(--swatch-color)}.month-view-toggle,.month-view-actions{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);padding:2px}.month-view-actions{margin-right:0}.month-view-actions .month-view-toggle-btn{color:rgba(255,255,255,.9)}.month-view-actions .month-view-toggle-btn:hover{color:#fff}.month-view-toggle{margin-right:0}.month-view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:rgba(0,0,0,0);color:rgba(255,255,255,.55);border-radius:999px;padding:.2rem .55rem;line-height:1;transition:color .15s ease,background-color .15s ease}.month-view-toggle-btn i{font-size:1.15rem}.month-view-toggle-btn:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.08)}.month-view-toggle-btn.active{color:#fff;background:rgba(255,255,255,.22)}.month-view-swap-icon{display:inline-block;transform:rotate(45deg)}.month-view-toggle-divider{display:inline-block;align-self:center;width:1px;height:24px;margin:0;background:rgba(255,255,255,.5);opacity:.5}@media(max-width: 991.98px){.offcanvas-end{top:10px !important;right:10px !important;bottom:10px !important;border-radius:15px !important;box-shadow:0 10px 30px rgba(0,0,0,.3) !important;height:calc(100% - 20px) !important;border:none !important}.navbar-toggler:focus{box-shadow:none !important}.offcanvas-body .nav-link:hover{background-color:rgba(255,255,255,.1)}.offcanvas-body .nav-link.active{background-color:rgba(255,255,255,.2);font-weight:bold}.offcanvas-body .dropdown-menu{position:static;float:none;width:100%;margin-top:.25rem;background:rgba(255,255,255,.95)}}.appointment-search-overlay{z-index:1046}.appointment-search-overlay__year{color:var(--color-primary);font-weight:700;font-size:1.05rem;border-bottom:1px solid var(--color-border, #dee2e6);padding-bottom:.35rem}.appointment-search-overlay__icon-search{left:1rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.05rem}.appointment-search-overlay__busy{right:.75rem;top:50%;transform:translateY(-50%)}.appointment-search-overlay__hint{line-height:1.35}.appointment-search-overlay__help-toggle{display:flex;align-items:center;justify-content:center;width:100%;line-height:1;min-height:1.75rem}.appointment-search-overlay__toolbar select{max-width:100%}@media(min-width: 992px){.appointment-search-overlay__toolbar .form-select{max-width:18rem}}.note-card:hover{transform:translateY(-5px);transition:transform .2s ease;box-shadow:var(--shadow-note-hover) !important}.notification-center{position:relative;display:inline-flex;align-items:center}.notification-center__bell{position:relative;line-height:1;color:rgba(255,255,255,.55)}.notification-center__bell:hover,.notification-center__bell:focus-visible{color:rgba(255,255,255,.75)}.notification-center__bell.active,.notification-center__bell[aria-expanded=true]{color:#fff}.notification-center__badge{position:absolute;top:0;right:0;transform:translate(35%, -25%);min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center;pointer-events:none}.notification-center__panel{position:absolute;top:calc(100% + .35rem);right:0;width:min(22rem,100vw - 1.5rem);max-height:min(70vh,28rem);display:flex;flex-direction:column;background:#fff;color:#212529;border-radius:12px;border:1px solid rgba(0,0,0,.08);z-index:1080;overflow:hidden}.notification-center__panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);background:#f8f9fa}.notification-center__list{overflow-y:auto;flex:1 1 auto}.notification-center__card{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}.notification-center__card:last-child{border-bottom:none}.notification-center__card-top{display:flex;gap:.5rem;align-items:flex-start}.notification-center__card-main{flex:1 1 auto;min-width:0}.notification-center__card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;margin-bottom:.25rem}.notification-center__title{font-weight:600;font-size:.9rem;line-height:1.3}.notification-center__time{flex-shrink:0;font-size:.75rem;color:#6c757d;white-space:nowrap}.notification-center__body{font-size:.85rem;color:#495057;line-height:1.35;word-break:break-word}.notification-center__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.notification-center__dismiss{flex-shrink:0;line-height:1;opacity:.75}.notification-center__dismiss:hover{opacity:1}.notification-center__footer{padding:.75rem 1rem;border-top:1px solid rgba(0,0,0,.08);background:#f8f9fa}.offcanvas .notification-center__panel{position:fixed;top:.75rem;left:.75rem;right:.75rem;width:auto;max-height:min(80vh,32rem)}.ics-import-name{flex:1 1 12rem;min-width:0}.ics-import-dates{max-height:12rem;overflow-y:auto;padding-left:1.5rem}.appt-schedule-slots{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow:auto}.appt-schedule-slot{padding:.6rem .7rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface)}.appt-schedule-slot__label{display:block;margin-bottom:.15rem;font-size:.7rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.02em}.appt-schedule-slot__primary,.appt-schedule-slot__dates,.appt-schedule-slot__times{display:grid;gap:.4rem;align-items:end;min-width:0}.appt-schedule-slot__primary{grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr)}.appt-schedule-slot__dates,.appt-schedule-slot__times{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);margin-bottom:.4rem}.appt-schedule-slot__opts{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.55rem;padding-top:.45rem;border-top:1px solid var(--color-border)}.appt-schedule-slot__warning{margin-top:.4rem;padding:.25rem 0}.appt-schedule-slot .form-control,.appt-schedule-slot .form-control-sm,.appt-schedule-slot input[type=date],.appt-schedule-slot input[type=time]{min-width:0;width:100%;font-size:.875rem}@media(max-width: 22.5rem){.appt-schedule-slot__primary{grid-template-columns:1fr 1fr}.appt-schedule-slot__primary>:first-child{grid-column:1/-1}}.appt-modal-date-input{width:150px}.appt-modal-count-input{width:80px}.appt-modal-weekday-col{width:80px}.appt-modal-due-badge{font-size:.7rem}.appt-modal-gear-badge{font-size:.6rem;padding:.25em .4em}.appt-modal-dropdown{min-width:240px}.appt-modal-clickable{cursor:pointer}.appt-modal-subtask-list{max-height:400px;overflow-y:visible}.appt-modal-reorder-btn{line-height:1}.appt-modal-subtask-due{font-size:.75rem}.appt-modal-person-chip{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.28rem .75rem .28rem .5rem;border-radius:999px;cursor:pointer;user-select:none;font-weight:500;background:color-mix(in srgb, var(--person-color, #6c757d) 16%, white);border:1px solid color-mix(in srgb, var(--person-color, #6c757d) 28%, transparent);color:color-mix(in srgb, var(--person-color, #6c757d) 45%, #212529)}.appt-modal-person-chip .form-check-input{margin:0;flex-shrink:0;cursor:pointer}.appt-modal-person-chip:has(.form-check-input:checked){background:color-mix(in srgb, var(--person-color, #6c757d) 28%, white);border-color:color-mix(in srgb, var(--person-color, #6c757d) 50%, transparent)}.appt-modal-person-chip:has(.form-check-input:disabled){cursor:default;opacity:.7}.appt-modal-person-chip:has(.form-check-input:disabled) .form-check-input{cursor:default}.onboarding-screen{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb, var(--color-text) 46%, transparent);backdrop-filter:blur(8px)}.onboarding-screen-card{width:min(38rem,100%);max-height:min(92vh,46rem);display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border-radius:1.35rem;box-shadow:0 28px 70px rgba(44,54,64,.28)}.onboarding-progress{flex-shrink:0;height:.35rem;background:var(--color-border)}.onboarding-progress-bar{display:block;height:100%;width:calc(var(--onboarding-progress)*100%);background:linear-gradient(90deg, var(--color-primary), #6aa3c4);transition:width .25s ease}.onboarding-screen-body{overflow:auto;padding:1.5rem 1.6rem 1.35rem}.onboarding-mark{width:3.25rem;height:3.25rem;margin-bottom:1rem;display:grid;place-items:center;border-radius:1rem;background:var(--bs-primary-bg-subtle);color:var(--color-primary);font-size:1.55rem}.onboarding-screen-body h2{letter-spacing:-0.02em}:root{--today-bg-color: var(--color-warning-soft)}.btn-icon-only{padding:2px 6px !important;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mobile-zoom-controls{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:12px;z-index:2000}.mobile-zoom-controls .btn{padding:0 !important;border-radius:50% !important;width:42px;height:42px;background-color:rgba(255,255,255,.95);border:none !important;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:#0d6efd;font-size:1.25rem;transition:transform .1s ease,background-color .2s ease;opacity:.9}.mobile-zoom-controls .btn:active{transform:scale(0.9);background-color:#0d6efd;color:#fff;opacity:1}.appointment-card.virtual-subtask{filter:saturate(0.85) brightness(1.02);border-style:dashed !important;border-width:1.5px !important;border-left-style:dashed !important}.calendar-container{display:flex;flex-direction:column;height:100%}.swipe-navigate,.swipe-navigate *{touch-action:pan-y}.box-view-container{background:radial-gradient(circle at 0 0, rgba(13, 110, 253, 0.08), transparent 35%),linear-gradient(180deg, #eef3fa 0%, #e8edf5 100%)}@media(max-width: 768px){.box-view-container{zoom:var(--zoom-level, 1)}@supports not (zoom: 1){.box-view-container{transform:scale(var(--zoom-level, 1));transform-origin:top left;width:calc(100%/var(--zoom-level, 1)) !important}}}.box-view-container .calendar-day-box{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;border:1px solid #d6deea !important;border-radius:14px !important;background-color:rgba(255,255,255,.95);box-shadow:0 1px 2px rgba(12,24,40,.08),0 8px 20px rgba(12,24,40,.06) !important}.box-view-container .calendar-day-box:hover{transform:translateY(-3px);border-color:#b9c7dd !important;box-shadow:0 2px 6px rgba(12,24,40,.1),0 14px 28px rgba(12,24,40,.1) !important}.box-view-container .calendar-day-box .day-box-header{border-top-left-radius:inherit;border-top-right-radius:inherit;background:linear-gradient(180deg, #f7f9fd 0%, #eef3fb 100%) !important;border-bottom:1px solid #dfe6f2 !important;min-height:44px}.box-view-container .calendar-day-box .day-box-header .fw-bold{letter-spacing:.02em;font-size:.98rem}.box-view-container .calendar-day-box.border-primary{border-color:#2d7dff !important;box-shadow:0 0 0 2px rgba(45,125,255,.18),0 10px 26px rgba(45,125,255,.2) !important}.box-view-container .calendar-day-box.border-primary .day-box-header{background:linear-gradient(180deg, #2f86ff 0%, #1564e0 100%) !important;border-bottom-color:rgba(255,255,255,.25) !important}.box-view-container .calendar-day-box.border-primary .day-box-header .fw-bold,.box-view-container .calendar-day-box.border-primary .day-box-header .btn{color:#fff !important}.box-view-container .calendar-day-box.border-primary .day-box-header .btn.btn-light{background-color:#fff !important;border-color:rgba(21,100,224,.25) !important;color:#1564e0 !important}.box-view-container .calendar-day-box.border-primary .day-box-header .btn.btn-light i{color:#1564e0 !important}.box-view-container .calendar-day-box .day-box-body{background:linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(248, 251, 255, 0.88) 100%);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.box-view-container .calendar-day-box .appointment-item{transition:background-color .2s ease}.box-view-container .calendar-day-box .appointment-item:hover{filter:brightness(0.95)}.multi-day-item{cursor:pointer;display:flex;align-items:center;position:relative;margin:1px 0;z-index:1;min-height:24px;padding-top:2px;padding-bottom:2px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);background:var(--event-fill, #ccc);text-shadow:0 0 2px rgba(0,0,0,.45)}.multi-day-item.multi-day-item-placeholder{background-color:rgba(0,0,0,0) !important;visibility:hidden;pointer-events:none}.multi-day-item.start{border-top-left-radius:12px;border-bottom-left-radius:12px;margin-left:4px}.multi-day-item.start::before{content:"";position:absolute;left:4px;width:6px;height:6px;background-color:#fff;border-radius:50%;opacity:.8}.multi-day-item.start .appt-title{padding-left:14px}.multi-day-item.end{border-top-right-radius:12px;border-bottom-right-radius:12px;margin-right:4px}.multi-day-item.end::after{content:"";position:absolute;right:4px;width:6px;height:6px;background-color:#fff;border-radius:50%;opacity:.8}.multi-day-item.middle{border-radius:0}.multi-day-item .multi-day-item-content{display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;line-height:1.2;min-width:0}.multi-day-item .appt-title{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.multi-day-item .multi-day-item-participants{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 6px;margin-left:10px;margin-top:0;font-size:.62rem;opacity:.95;white-space:normal}.multi-day-item .multi-day-inline-dot{width:13px;height:13px;font-size:9px;flex-shrink:0}.multi-day-item .multi-day-inline-name{white-space:nowrap;font-size:.7em;font-weight:bold}.box-view-container .multi-day-item.middle{margin-left:-12px;margin-right:-12px;padding:0 12px}@media(max-width: 768px){.calendar-container{height:100%;display:flex;flex-direction:column}.month-view-wrapper{flex:1;overflow:auto;background-color:#fff}.month-view-wrapper .calendar-table{zoom:var(--zoom-level, 1);width:100%}@supports not (zoom: 1){.month-view-wrapper .calendar-table{transform:scale(var(--zoom-level, 1));transform-origin:top left;width:calc(100%/var(--zoom-level, 1)) !important}}}.appointment-card{transition:transform .1s ease;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-card);cursor:pointer;margin-bottom:2px;padding:2px 4px !important;font-size:.9rem;font-weight:500;word-break:normal;border-left:4px solid rgba(0,0,0,.15) !important;background:var(--event-fill, #0d6efd) !important;color:var(--event-text-color, #fff) !important}.appointment-card,.appointment-block,.classic-event-bar,.multi-day-item{user-select:none;caret-color:rgba(0,0,0,0)}.appointment-card *,.appointment-block *,.classic-event-bar *,.multi-day-item *{cursor:inherit;user-select:inherit;caret-color:inherit}.multi-day-label{height:16px;line-height:16px;font-size:.75rem;padding:0 4px;border-radius:3px}.appointment-card .delete-btn-container{background-color:var(--color-surface);color:var(--color-danger);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1);flex-shrink:0}.appointment-card .delete-btn-container:hover{background-color:var(--color-bg);transform:scale(1.1);box-shadow:0 2px 5px rgba(0,0,0,.15)}.appointment-card .warning-indicator{background-color:var(--color-danger);color:var(--color-surface);width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;flex-shrink:0;border:1.5px solid #fff;box-shadow:0 0 0 1px #fff}.appointment-card .warning-indicator.is-done{background-color:#2f9e6b}.appointment-card .time-label{white-space:nowrap;font-size:.9rem;margin-right:4px;font-weight:bold}.appointment-card .title-label{word-break:normal;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:#adb5bd !important}.participants-container{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.participant-dot{width:15px;height:15px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;color:#fff;background-color:var(--person-color, #6c757d);border:1px solid rgba(255,255,255,.5);line-height:1}.participant-name{font-size:.75rem;opacity:.9;white-space:nowrap}.appointment-card.start-from-middle{margin-left:50%;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;border-left:4px solid rgba(0,0,0,.15) !important}.multi-day-labels .multi-day-time{font-size:.75rem}.calendar-header-cell .day-number{font-size:.95rem}.calendar-header-cell .day-name{font-size:.75rem}@media(max-width: 768px){.appointment-card{padding:6px 8px !important;font-size:1rem;flex-direction:column;align-items:flex-start !important}.appointment-card .d-flex.align-items-baseline{flex-wrap:wrap}}.calendar-header{z-index:1020;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 2px 15px rgba(0,0,0,.05);border-bottom:1px solid var(--color-border);padding-bottom:1rem;margin-left:-1rem;margin-right:-1rem}.calendar-header-cell{background-color:var(--color-bg) !important;font-weight:700 !important;color:var(--color-muted) !important;text-transform:uppercase;font-size:.9rem !important;height:50px;padding:0 !important;border-bottom:1px solid var(--color-border) !important;vertical-align:middle}.calendar-header-content{display:flex;justify-content:center;align-items:center;gap:10px;height:100%;width:100%;padding:0 10px}th.calendar-header-cell{padding:0 !important;vertical-align:middle}.calendar-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1010;background-color:var(--color-bg) !important;border-bottom:1px solid var(--color-border) !important;box-shadow:0 1px 2px rgba(0,0,0,.05);border-color:var(--color-grid-border) !important}.add-btn-header{width:24px;height:24px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:.75rem;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:pointer}.calendar-header-cell:hover .add-btn-header{background-color:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary);transform:scale(1.1)}.calendar-person-tint{cursor:pointer;background:color-mix(in srgb, var(--person-color, #6c757d) 16%, white) !important;color:color-mix(in srgb, var(--person-color, #6c757d) 45%, #212529) !important}.calendar-table thead th.calendar-person-tint{background:color-mix(in srgb, var(--person-color, #6c757d) 16%, white) !important;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--person-color, #6c757d) 50%, transparent)}.calendar-person-row-header.calendar-person-tint{cursor:default;background:color-mix(in srgb, var(--person-color, #6c757d) 16%, white) !important;box-shadow:inset 3px 0 0 color-mix(in srgb, var(--person-color, #6c757d) 50%, transparent)}.sticky-left{position:sticky;left:0;z-index:20;background-color:var(--color-row-base) !important}.table-warning .sticky-left{background-color:var(--color-warning-subtle) !important}.table-secondary .sticky-left{background-color:var(--color-weekend-bg) !important}.calendar-table tbody tr:not(.table-secondary):not(.table-warning) .sticky-left{background-color:var(--color-row-base) !important}.person-column .column-header.sticky-top{top:0;z-index:15}@media(max-width: 767.98px){.calendar-table thead th{top:0}}.calendar-table tbody tr:not(.table-secondary):not(.table-warning) td{background-color:var(--color-row-base) !important}.calendar-table tr.table-secondary td{background-color:var(--color-weekend-bg) !important}.calendar-table tr.table-warning td{background-color:var(--bs-warning-bg-subtle) !important}.calendar-table tr{scroll-margin-top:0}.today-row{outline:2px solid var(--color-warning);z-index:5;background-color:var(--today-bg-color) !important}.today-cell{background-color:var(--today-bg-color) !important}.today-row td{border-top:2px solid var(--color-warning) !important;border-bottom:2px solid var(--color-warning) !important}.table-responsive{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.calendar-table{min-width:800px;border-collapse:separate;border-spacing:0}.calendar-table td{min-width:100px;background-color:var(--color-surface);border-color:var(--color-grid-border) !important}.calendar-table th{border-color:var(--color-grid-border) !important}.calendar-table td,.calendar-table th{border-width:1px}.calendar-table td .day-number{font-size:1rem;font-weight:bold;display:inline-block}.calendar-table td .day-name{font-size:.9rem;color:var(--color-muted);display:inline-block;margin-left:4px}.calendar-table tbody tr:hover td{background-color:var(--color-row-hover) !important}.calendar-table tr.table-secondary:hover td{background-color:var(--color-weekend-hover) !important}.calendar-table tr.table-secondary .day-number,.calendar-table tr.table-secondary .day-name{color:var(--color-weekend-text)}.calendar-table tr.table-secondary .sticky-left{box-shadow:inset 4px 0 0 var(--color-weekend-text)}@media(max-width: 576px){.calendar-table{min-width:600px}}.multi-day-lines-container{position:absolute;top:0;right:0;bottom:0;width:35px;pointer-events:none;z-index:5}.multi-day-lines-container.horizontal{height:35px;width:auto;left:0;bottom:0;top:auto}.multi-day-line{position:absolute;width:4px;top:0;bottom:0;right:var(--track-offset, 4px);background-color:var(--event-color, #ccc);opacity:.8;z-index:5}.multi-day-line.horizontal{height:4px;width:auto;left:var(--line-start, 0);right:0;top:auto;bottom:var(--track-offset, 4px);background-color:var(--event-color, #ccc)}.multi-day-line.horizontal.line-actual-start{left:5px;top:auto;border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0}.multi-day-line.horizontal.line-actual-start::before{content:none}.multi-day-line.horizontal.line-actual-end{right:5px;bottom:auto;border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-left-radius:0;border-bottom-left-radius:0}.multi-day-line.horizontal.line-actual-end::after{content:"";position:absolute;bottom:100%;right:0;width:4px;height:4px;background-color:inherit;border-radius:2px 2px 0 0;z-index:-1}.multi-day-line.line-actual-start{top:15px;border-top-left-radius:2px;border-top-right-radius:2px}.multi-day-line.line-actual-start::before{content:"";position:absolute;top:0;right:0;width:12px;height:4px;background-color:inherit;border-radius:2px 0 0 2px}.multi-day-line.line-actual-end{bottom:15px;border-bottom-left-radius:2px;border-bottom-right-radius:2px}.multi-day-line.line-actual-end::after{content:"";position:absolute;bottom:0;right:0;width:12px;height:4px;background-color:inherit;border-radius:2px 0 0 2px}.appointment-cards-container.has-multi-day{margin-right:30px}.appointment-cards-container.has-multi-day.horizontal{margin-right:0;margin-bottom:30px}.multi-day-labels{display:flex;flex-direction:column;gap:2px;position:absolute;align-items:flex-end;z-index:10}.multi-day-labels.horizontal{flex-direction:column;align-items:flex-start;width:auto;gap:1px}.multi-day-labels-start{top:4px}.multi-day-labels-start.horizontal{left:4px;top:auto}.multi-day-labels-start.horizontal .multi-day-label{position:relative}.multi-day-labels-start.horizontal .multi-day-label::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:4px;height:4px;background-color:inherit;border-radius:0 0 2px 2px;pointer-events:none}.multi-day-labels-end{bottom:4px}.multi-day-labels-end.horizontal{right:4px;bottom:auto;align-items:flex-end}.multi-day-label{padding:0px 6px;border-radius:4px;font-size:.7rem;font-weight:600;color:var(--color-surface);background-color:var(--event-color, #ccc);z-index:10;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.2);height:16px;line-height:16px;white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}.multi-day-time{font-weight:700}.classic-month-view{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border, #dee2e6);border-radius:8px;min-width:0;min-height:0}@media(max-width: 768px){.classic-month-view{zoom:var(--zoom-level, 1)}@supports not (zoom: 1){.classic-month-view{transform:scale(var(--zoom-level, 1));transform-origin:top left;width:calc(100%/var(--zoom-level, 1)) !important}}}.classic-weekdays{display:grid;grid-template-columns:28px repeat(7, minmax(0, 1fr));position:sticky;top:0;z-index:5;background:#f8f9fa;border-bottom:1px solid #dee2e6}.classic-week-number-header,.classic-week-number{display:flex;align-items:flex-start;justify-content:center;padding-top:.45rem;font-size:.7rem;color:#adb5bd;font-weight:600}.classic-weekday{text-align:center;padding:.4rem .15rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#6c757d}.classic-week{display:grid;grid-template-columns:28px minmax(0, 1fr);flex:1 1 auto;min-width:0;min-height:96px;overflow-x:clip;border-bottom:1px solid #e9ecef}.classic-week:last-child{border-bottom:none}.classic-week-days{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));min-width:0;min-height:100%}.classic-day-cell{min-width:0;min-height:96px;border-left:1px solid #e9ecef;padding:.2rem 0 .35rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;background:#fff;transition:background-color .15s ease}.classic-day-cell:first-child{border-left:none}.classic-day-cell:hover{background:#f8f9fa}.classic-day-cell.other-month{background:#fafbfc}.classic-day-cell.other-month .classic-day-number{color:#adb5bd}.classic-day-cell.other-month .classic-event-bar{opacity:.7}.classic-day-cell.is-today{background:#fffdf5}.classic-day-header{display:flex;align-items:center;gap:.15rem;min-height:1.5rem;padding:0 .15rem}.classic-day-number{border:0;background:rgba(0,0,0,0);width:1.6rem;height:1.6rem;border-radius:50%;font-size:.8rem;font-weight:600;color:#212529;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.classic-day-number.today{background:#212529;color:#fff}.classic-day-events{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.classic-event-bar{display:flex;align-items:center;gap:.2rem;min-width:0;max-width:100%;min-height:1.15rem;flex-shrink:0;padding:.1rem .25rem;border-radius:4px;color:#fff;font-size:.68rem;font-weight:600;line-height:1.1;overflow:hidden;cursor:pointer;background:var(--event-fill, var(--event-color, #ccc));text-shadow:0 0 2px rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.classic-event-bar.placeholder{visibility:hidden;pointer-events:none;background:rgba(0,0,0,0) !important;box-shadow:none}.classic-event-bar.multi-day{height:1.15rem;border-radius:0;max-width:none;margin-left:-1px;margin-right:-1px}.classic-event-bar.multi-day.start{border-top-left-radius:10px;border-bottom-left-radius:10px;margin-left:2px}.classic-event-bar.multi-day.end{border-top-right-radius:10px;border-bottom-right-radius:10px;margin-right:2px}.classic-event-bar.multi-day.start.end{border-radius:10px;margin-left:2px;margin-right:2px}.classic-event-bar.single{border-radius:6px;margin-left:.15rem;margin-right:.15rem}.classic-event-time{flex-shrink:0;margin-right:4px;white-space:nowrap}.classic-event-title{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classic-event-participants{display:inline-flex;align-items:center;gap:1px;flex-shrink:0;margin-left:auto}.classic-participant-dot{width:12px;height:12px;font-size:8px;border:1px solid rgba(255,255,255,.55)}.classic-overflow{border:0;background:rgba(0,0,0,0);color:#0d6efd;font-size:.68rem;font-weight:600;text-align:left;padding:.1rem .2rem;line-height:1.2;flex-shrink:0}.classic-day-modal-dialog{max-width:480px}.classic-day-modal-header{align-items:center}.classic-day-box-host{background:rgba(0,0,0,0) !important;zoom:1 !important;transform:none !important;width:100% !important}.classic-day-box-host .calendar-day-box{border:0 !important;border-radius:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important}.classic-day-box-host .calendar-day-box:hover{transform:none;box-shadow:none !important}.classic-day-box-host .calendar-day-box .day-box-body{background:none;padding-left:0;padding-right:0}.modal:has(>.modal-dialog.modal-fullscreen){z-index:1065 !important}.modal-backdrop.show~.modal-backdrop.show{z-index:1060 !important}@media(max-width: 768px){.classic-month-view .classic-event-time,.classic-month-view .classic-event-participants{display:none}.classic-month-view .classic-event-bar,.classic-month-view .classic-overflow{pointer-events:none;cursor:inherit}}@media(min-width: 768px){.classic-week{min-height:120px}.classic-day-cell{min-height:120px;padding:.3rem 0 .4rem}.classic-day-header{padding:0 .25rem}.classic-event-bar.single{margin-left:.25rem;margin-right:.25rem}.classic-day-number{width:1.85rem;height:1.85rem;font-size:.9rem}.classic-event-bar{min-height:1.35rem;font-size:.75rem;padding:.15rem .35rem}.classic-event-bar.multi-day{height:1.35rem}.classic-participant-dot{width:14px;height:14px;font-size:9px}.classic-overflow{font-size:.75rem}.classic-weekday{font-size:.8rem}}.calendar-table td.calendar-cell{cursor:pointer;min-height:40px;vertical-align:top;padding:4px;position:relative}.appointment-cards-container{padding-top:var(--cell-pad-top, 0);padding-bottom:var(--cell-pad-bottom, 0);padding-left:var(--cell-pad-left, 0);padding-right:var(--cell-pad-right, 0)}.multi-day-labels-start{right:var(--label-offset, 12px)}.multi-day-labels-start.horizontal{bottom:var(--label-offset, 12px);right:auto}.multi-day-labels-end{right:var(--label-offset, 12px)}.multi-day-labels-end.horizontal{bottom:var(--label-offset, 12px);right:auto}.calendar-day-column-header{width:70px;z-index:1020}.calendar-person-column-header{z-index:1030;min-width:150px}.calendar-day-header{min-width:120px}.calendar-person-row-header{z-index:1010}.calendar-person-add-btn{padding:0 4px;font-size:.7rem}.box-view-container>.calendar-day-box{flex:1 1 300px;min-width:250px;max-width:100%;min-height:150px}.classic-day-header-start{display:flex;align-items:center;gap:.15rem;min-width:0}.collision-dim{opacity:.32 !important;filter:saturate(0.65)}.collision-hit{opacity:1 !important;filter:none;position:relative;z-index:3;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--color-danger) !important}.collision-day-mark{color:var(--color-danger);font-size:.78rem;line-height:1;flex-shrink:0}.day-box-header.bg-primary .collision-day-mark{color:#ffe082}.day-view-sticky-left{position:sticky;left:0;z-index:30}.day-view-sticky-top{z-index:45;flex-shrink:0;width:100%;background-color:var(--color-bg, #f8f9fa)}.day-view-all-day-row{background-color:var(--color-bg);overflow:visible;flex-shrink:0;align-items:stretch;min-height:50px}.day-view-all-day-row .person-column-all-day{min-height:100%;overflow:visible}.day-view-all-day-row .appointment-block{position:relative;flex-shrink:0}.day-view-header-row{flex-shrink:0}.day-view-wrapper{display:flex;flex-direction:column;min-height:0}.day-view-scroll-content{display:flex;flex-direction:column;min-width:100%;width:max-content}.day-view-grid-scroll{scrollbar-width:thin;flex-grow:1;min-height:0;overflow:auto}.day-timeline-spacer,.day-timeline-column{width:80px;flex-shrink:0;position:sticky;left:0;z-index:30;background-color:#f8f9fa}.day-view-sticky-top .day-timeline-spacer{z-index:46}.day-person-column{min-width:250px;flex:1}.day-all-day-label{font-size:.75rem;color:#6c757d;font-weight:bold;background-color:#f8f9fa}.day-person-column-all-day{background-color:#f8f9fa}.day-time-slot,.day-time-slot-label{height:100px}.day-time-slot-label{font-size:.9rem;color:#6c757d}.day-appointment-all-day{min-height:30px;background-color:var(--appt-bg) !important;color:var(--appt-fg) !important;cursor:pointer;border-left:5px solid rgba(0,0,0,.15) !important;font-size:.85rem}.day-appointment-timed{top:var(--appt-top);left:var(--appt-left);width:var(--appt-width);height:var(--appt-height);background-color:var(--appt-bg) !important;color:var(--appt-fg) !important;z-index:2;cursor:pointer;border-left:8px solid rgba(0,0,0,.15) !important}.day-subtask-due{font-size:.7rem}.day-subtask-due.is-overdue{color:red !important;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,-1px 0 0 #fff,1px 0 0 #fff,0 -1px 0 #fff,0 1px 0 #fff}.day-current-time-line{top:var(--now-top);height:3px;background-color:var(--color-primary);z-index:100;pointer-events:none;opacity:.8}.day-current-time-tag{left:-75px;top:-18px;font-size:.9rem;width:65px;text-align:center;font-weight:bold;z-index:110}.day-subtask-badge{width:18px;height:18px;border:1.5px solid #fff;box-shadow:0 0 0 1px #fff;background-color:rgba(0,0,0,0)}.appointment-block:hover{z-index:100 !important;transform:scale(1.02);transition:transform .1s ease}.person-header-container{position:relative}.day-person-collision-mark{position:absolute;top:6px;right:36px;z-index:2}.day-appointment-all-day.collision-dim,.day-appointment-timed.collision-dim{opacity:.32 !important}.day-appointment-all-day.collision-hit,.day-appointment-timed.collision-hit{opacity:1 !important;z-index:4;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--color-danger) !important}.week-view-host,.week-view-wrapper{display:flex;flex-direction:column;min-height:0}.week-view-scroll-content{display:flex;flex-direction:column;min-width:100%;width:max-content}.week-view-sticky-top{z-index:45;flex-shrink:0;width:100%;background-color:var(--color-bg, #f8f9fa)}.week-view-header-row,.week-view-all-day-row{flex-shrink:0}.week-view-all-day-row{background-color:var(--color-bg);align-items:stretch;min-height:50px}.week-view-grid-scroll{scrollbar-width:thin;flex-grow:1;min-height:0;overflow:auto}.week-timeline-spacer,.week-timeline-column{width:72px;flex-shrink:0;position:sticky;left:0;z-index:30;background-color:#f8f9fa}.week-view-sticky-top .week-timeline-spacer{z-index:46}.week-day-column{min-width:110px;flex:1}.week-day-is-today{background-color:rgba(13,110,253,.06)}.week-day-header-link{font-size:.9rem;line-height:1.2;text-align:left}.week-day-name{text-transform:capitalize}.week-all-day-label{font-size:.75rem;color:#6c757d;font-weight:bold;background-color:#f8f9fa}.week-day-column-all-day{background-color:#f8f9fa}.week-time-slot,.week-time-slot-label{height:100px}.week-time-slot-label{font-size:.85rem;color:#6c757d}.week-appointment-all-day{min-height:28px;background:var(--appt-bg) !important;color:var(--appt-fg) !important;cursor:pointer;border-left:5px solid rgba(0,0,0,.15) !important;font-size:.8rem}.week-appointment-timed{top:var(--appt-top);left:var(--appt-left);width:var(--appt-width);height:var(--appt-height);background:var(--appt-bg) !important;color:var(--appt-fg) !important;z-index:2;cursor:pointer;border-left:6px solid rgba(0,0,0,.15) !important;font-size:.8rem}.week-appointment-timed-body{min-height:0}.week-participant-initial{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .15rem;border-radius:999px;background:rgba(255,255,255,.25);font-size:.65rem;font-weight:700;line-height:1}.week-current-time-line{top:var(--now-top);left:0;right:0;height:3px;background-color:var(--color-primary);z-index:100;pointer-events:none;opacity:.8}.week-current-time-tag{left:4px;top:-14px;font-size:.7rem;z-index:110}.week-appointment-all-day.collision-dim,.week-appointment-timed.collision-dim{opacity:.32 !important}.week-appointment-all-day.collision-hit,.week-appointment-timed.collision-hit{opacity:1 !important;z-index:4;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--color-danger) !important}@media(max-width: 991.98px){.week-timeline-spacer,.week-timeline-column{width:2.25rem}.week-day-column{min-width:0}.week-day-header{padding-left:.2rem !important;padding-right:.2rem !important;gap:.1rem}.week-day-header-link{font-size:.7rem;display:flex;flex-direction:column;align-items:flex-start}.week-all-day-label{font-size:.55rem;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.04em}.week-time-slot,.week-time-slot-label{height:72px}.week-time-slot-label{font-size:.65rem}.week-appointment-all-day,.week-appointment-timed{font-size:.65rem}}.vacation-planner{outline:none;min-height:calc(100vh - 120px)}.vacation-bar{display:flex;flex-direction:column;gap:.4rem}.vacation-bar-main,.vacation-bar-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.vacation-person{width:auto;min-width:8rem;max-width:12rem}.vacation-year{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;font-variant-numeric:tabular-nums}.vacation-claim{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;padding:.2rem .5rem;background:#f8f9fa;border-radius:.4rem}.vacation-claim label{margin:0;font-size:.7rem;color:#6c757d;text-transform:uppercase;letter-spacing:.02em}.vacation-claim .form-control{width:4rem;padding:.15rem .35rem;text-align:center}.vacation-stats{display:inline-flex;align-items:stretch;gap:.35rem}.vacation-stat{display:flex;flex-direction:column;justify-content:center;min-width:3.5rem;padding:.15rem .55rem;background:#e9ecef;border-radius:.35rem;line-height:1.15;text-align:center}.vacation-stat small{font-size:.65rem;color:#6c757d;text-transform:uppercase}.vacation-stat strong{font-size:.95rem;font-variant-numeric:tabular-nums}.vacation-stat-rest{background:#ff8c42;color:#fff}.vacation-stat-rest small{color:rgba(255,255,255,.85)}.vacation-notes{flex:1 1 10rem;min-width:8rem;max-width:22rem}.vacation-type-chips{display:inline-flex;flex-wrap:wrap;gap:.3rem}.vacation-chip{min-width:2.25rem;height:2rem;padding:0 .45rem;border:1px solid color-mix(in srgb, var(--vac-color) 55%, #adb5bd);border-radius:.35rem;background:color-mix(in srgb, var(--vac-color) 40%, white);font-weight:700;font-size:.85rem;line-height:1}.vacation-chip:disabled{opacity:.45}.vacation-chip:not(:disabled):hover{filter:brightness(0.97)}.vacation-hint{font-size:.7rem;white-space:nowrap}.vacation-grid-wrap{max-width:100%;outline:none;border-radius:.35rem}.vacation-grid-wrap:focus{box-shadow:0 0 0 2px rgba(13,110,253,.25)}.vacation-grid{border-collapse:collapse;width:max-content;min-width:100%;font-size:.75rem;user-select:none;background:#fff}.vacation-grid th,.vacation-grid td{border:1px solid #ced4da;text-align:center;vertical-align:middle;padding:0}.vacation-grid thead th{background:#f1f3f5;font-weight:600;width:2rem;min-width:1.75rem;height:1.75rem}.vacation-grid .vacation-month-col{width:3rem;min-width:3rem;font-weight:600;background:#f8f9fa;text-align:left;padding:0 .35rem;position:sticky;left:0;z-index:1}.vacation-grid .vacation-sum-col{width:2.5rem;min-width:2.5rem;background:#f8f9fa;font-weight:600}.vacation-grid .vacation-remaining{background:#ff8c42;color:#fff;font-size:1rem}.vacation-cell{position:relative;width:2rem;min-width:1.75rem;height:1.85rem;cursor:pointer;background:#fff}.vacation-cell.vacation-weekend{background:#fff8dc}.vacation-cell.vacation-holiday{background:#ffd6d6}.vacation-cell.vacation-cell-invalid{background:#e9ecef;cursor:default}.vacation-cell.vacation-has-entry{background:color-mix(in srgb, var(--entry-color, #90EE90) 45%, white)}.vacation-cell.vacation-approved{box-shadow:inset 0 0 0 1px #198754}.vacation-cell.vacation-selected{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:2}.vacation-cell.vacation-focused:not(.vacation-selected){outline:1px dashed var(--color-primary);outline-offset:-1px;z-index:2}.vacation-cell-code{font-weight:700;font-size:.7rem;line-height:1}.vacation-check{position:absolute;top:1px;right:1px;font-size:.55rem;color:#198754}.vacation-overlay-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--overlay-color, #9A88C4);pointer-events:none}@media(max-width: 991.98px){.vacation-hint{display:none}.vacation-grid{font-size:.65rem}.vacation-grid thead th,.vacation-grid .vacation-cell{width:1.5rem;min-width:1.4rem;height:1.6rem}}.color-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;background-color:var(--swatch-color);flex-shrink:0}.color-swatch-lg{width:24px;height:24px}.type-color-badge{background-color:var(--badge-color, #ddd);min-width:80px}.ical-url-truncate{max-width:300px}.person-row-inactive{opacity:.55}.short-code-input{width:4rem}.day-value-input{width:5rem}.backup-interval-input{width:4.5rem}.backup-time-input{width:7rem}.backup-upload-label.is-disabled{pointer-events:none;opacity:.65}.backup-upload-btn-disabled{pointer-events:none}.profile-badge-experimental{font-size:.7rem}.profile-calendar-list{max-height:200px;overflow-y:auto}.help-spotlight-backdrop{position:fixed;inset:0;z-index:1040;pointer-events:none}.help-spotlight-cutout{position:fixed;z-index:2098;border-radius:.375rem;box-shadow:0 0 0 9999px rgba(0,0,0,.62);pointer-events:none;transition:top .15s ease,left .15s ease,width .15s ease,height .15s ease}.help-spotlight-ring{position:fixed;z-index:2099;border:2px solid var(--color-primary);border-radius:.5rem;pointer-events:none;animation:help-spotlight-pulse 1.6s ease-in-out infinite;transition:top .15s ease,left .15s ease,width .15s ease,height .15s ease}.help-spotlight-here{position:absolute;top:-1.65rem;left:50%;transform:translateX(-50%);padding:.1rem .45rem;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fff;background:var(--color-primary);border-radius:.25rem;white-space:nowrap;box-shadow:0 2px 8px rgba(13,110,253,.35)}.help-spotlight-ring--card-right .help-spotlight-here{top:50%;left:auto;right:-3.25rem;transform:translateY(-50%)}.help-spotlight-ring--card-left .help-spotlight-here{top:50%;left:-3.25rem;transform:translateY(-50%)}.help-spotlight-ring--card-top .help-spotlight-here{top:auto;bottom:-1.65rem;left:50%;transform:translateX(-50%)}@keyframes help-spotlight-pulse{0%,100%{box-shadow:0 0 0 0 rgba(13,110,253,.55)}50%{box-shadow:0 0 0 10px rgba(13,110,253,0)}}.help-tour-card{position:fixed;z-index:2100;max-width:22rem;width:calc(100% - 2rem);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.2);pointer-events:auto}.help-tour-card--positioned{right:auto;bottom:auto;transform:none}.help-tour-card--centered{left:50%;top:50%;transform:translate(-50%, -50%)}.help-context-panel{position:fixed;top:0;right:0;bottom:0;width:min(24rem,100vw);z-index:1045;box-shadow:-0.25rem 0 1rem rgba(0,0,0,.12);overflow-y:auto}.help-context-backdrop{position:fixed;inset:0;z-index:1044;background:rgba(0,0,0,.25)}body:has(.help-tour-card) .mobile-zoom-controls{display:none !important}.help-tutorial-card{border-left:3px solid var(--color-primary)}.help-faq-entry{border-left:3px solid var(--bs-secondary)}.help-page{padding-bottom:2rem}.help-faq-section .btn{min-height:2.5rem}.help-tour-here-cue{line-height:1.3}@media(max-width: 575.98px){.help-tour-card--positioned{left:1rem !important;right:1rem !important;width:auto;max-height:min(70dvh,28rem);overflow-y:auto}.help-tour-card .btn{min-height:44px}.help-context-panel{width:100vw}}.hover-bg-light:hover{background-color:var(--color-bg)}.hover-bg-danger-subtle:hover{background-color:var(--color-danger-subtle) !important}.border-dashed{border-style:dashed !important}.footer-version-link{color:inherit;text-decoration:none}.footer-version-link:hover,.footer-version-link:focus-visible{text-decoration:underline}.version-update-toast{position:fixed;right:1rem;bottom:1.15rem;z-index:1032;display:flex;align-items:center;gap:.55rem;max-width:calc(100vw - 2rem);padding:.4rem .45rem .4rem .9rem;background:#fff;border-radius:999px;box-shadow:0 8px 24px rgba(15,23,42,.16);animation:version-toast-in .35s ease-out}body:has(.help-tour-card) .version-update-toast{display:none}.version-update-toast__text{font-size:.875rem;color:var(--color-text, #212529);line-height:1.2}.version-update-toast__action{display:inline-flex;align-items:center;padding:.28rem .8rem;border-radius:999px;background:var(--bs-dark, #212529);color:#fff;font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap}.version-update-toast__action:hover,.version-update-toast__action:focus-visible{color:#fff;filter:brightness(1.15)}.version-update-toast__close{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;background:rgba(0,0,0,0);color:#6c757d;border-radius:50%;cursor:pointer}.version-update-toast__close:hover,.version-update-toast__close:focus-visible{background:rgba(0,0,0,.06);color:#212529}@keyframes version-toast-in{from{opacity:0;transform:translateX(1.25rem)}to{opacity:1;transform:translateX(0)}}@media(max-width: 575.98px){.version-update-toast{left:.75rem;right:5.25rem;bottom:1.15rem;max-width:none}}.changelog-kind-badge{min-width:4.75rem;text-align:center}.custom-checkbox-small{width:1.2rem;height:1.2rem;margin-top:.15rem}.filter-checkbox{width:1.5rem;height:1.5rem;cursor:pointer}