.cabin-header{cursor:default;-webkit-user-select:none;user-select:none;position:relative}[data-appointment-item=true]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.cabin-header:after{content:attr(data-tooltip);z-index:9999;color:#f8fafc;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;background:#0f172aeb;border-radius:5px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.3;transition:opacity .15s ease-out,transform .15s ease-out,visibility 0s linear .15s;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)translateY(-2px);box-shadow:0 3px 12px #0000002e}.cabin-header:hover:after{opacity:1;visibility:visible;transition:opacity .15s ease-out .25s,transform .15s ease-out .25s,visibility 0s linear .25s;transform:translate(-50%)translateY(0)}.cabin-header:first-child:after{left:0;transform:translate(0)translateY(-2px)}.cabin-header:first-child:hover:after{transform:translate(0)translateY(0)}.cabin-header:last-child:after{left:auto;right:0;transform:translate(0)translateY(-2px)}.cabin-header:last-child:hover:after{transform:translate(0)translateY(0)}.agenda-hover-overlay[data-hover-active="1"]:before{content:"";left:0;right:0;top:var(--hover-y,0px);height:var(--step-h,3px);pointer-events:none;background:#3b82f640;position:absolute}.agenda-hover-overlay[data-hover-active="1"]:after{content:attr(data-exact-time);left:0;top:var(--hover-y,0px);color:#fff;pointer-events:none;z-index:41;background:#3b82f6;border-radius:0 4px 4px 0;padding:2px 4px;font-size:10px;position:absolute;transform:translateY(-100%)}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-valid]:before{background:#22c55e40}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-valid]:after{background:#22c55e}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-invalid]:before{background:#ef444440}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-invalid]:after{background:#ef4444}.agenda-hover-overlay .agenda-move-preview{left:4px;right:4px;top:var(--hover-y,0px);height:var(--preview-h,40px);pointer-events:none;z-index:40;border:2px solid #0000;border-radius:6px;min-height:20px;padding:4px;display:none;position:absolute;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-valid] .agenda-move-preview{color:#166534;background:#dcfce7cc;border-color:#22c55e;display:block}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-invalid] .agenda-move-preview{color:#991b1b;background:#fee2e2cc;border-color:#ef4444;display:block}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-warn]:before{background:#f9731640}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-warn]:after{background:#f97316}.agenda-hover-overlay[data-hover-active="1"][data-hover-mode=move-warn] .agenda-move-preview{color:#9a3412;background:#ffedd5cc;border-color:#f97316;display:block}@media (max-width:768px){.agenda-hover-overlay[data-hover-active="1"][data-hover-mode^=move]:after{padding:3px 8px;font-size:12px;transform:translateY(calc(-100% - 48px));box-shadow:0 2px 8px #0003}}.agenda-move-preview .preview-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.agenda-move-preview .preview-subtitle{text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-size:11px;font-weight:400;line-height:1.3;overflow:hidden}.current-time-indicator{z-index:38;pointer-events:none;background:linear-gradient(90deg,#0000 0 80px,#ef4444 80px 100%);height:2px;position:absolute;left:0;right:0;box-shadow:0 1px 3px #ef444466}.weekly-agenda .current-time-indicator,.agenda-container .current-time-indicator,.weekly-agenda .agenda-body .current-time-indicator{clip-path:inset(0)}@media (max-width:768px){.weekly-agenda .current-time-indicator{background:linear-gradient(90deg,#0000 0 60px,#ef4444 60px 100%)}.mobile-agenda .current-time-indicator{background:linear-gradient(90deg,#0000 0 70px,#ef4444 70px 100%)}}[data-appointment-item=true][data-longpress-active=true]{z-index:50!important;transition:box-shadow .15s ease-out,transform .15s ease-out!important;transform:scale(1.03)!important;box-shadow:0 4px 20px #00000026!important}[data-appointment-dragging=true]{opacity:.4!important;pointer-events:none!important;transition:opacity .15s ease-out!important}body[style*="cursor: grabbing"] .agenda-body{scroll-behavior:auto}.hour-column{position:sticky}.agenda-day-today,.agenda-day-today-blocked{position:relative}.agenda-day-today:before,.agenda-day-today-blocked:before{content:"";z-index:39;pointer-events:none;position:absolute;inset:0;box-shadow:inset 2px 0 #a855f773,inset -2px 0 #a855f773}.agenda-block-editable{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='white' stroke='%23e11d48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") 4 20,pointer}
.ql-animated-border{border-radius:.5rem;position:relative}.ql-animated-border:before{content:"";pointer-events:none;border-radius:inherit;-webkit-mask-composite:destination-in;border:1px solid #0000;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#0000),linear-gradient(#000,#000);mask-image:linear-gradient(#0000,#0000),linear-gradient(#000,#000);-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect}.ql-animated-border>.ql-animated-border__beam{width:var(--ql-ab-size,100px);aspect-ratio:1;background:linear-gradient(to left, var(--ql-ab-color-from,#8b5cf6), var(--ql-ab-color-to,#ec4899), transparent);offset-path:rect(0 auto auto 0 round var(--ql-ab-size,100px));animation:ql-ab-move var(--ql-ab-duration,8s) linear infinite;position:absolute}.ql-animated-border>.ql-animated-border__inner{border-radius:inherit;background:#fff;position:absolute;inset:1px}@keyframes ql-ab-move{0%{offset-distance:0%}to{offset-distance:100%}}