.schedule-calendar{--schedule-hour:52px;--schedule-rail:64px;min-width:0}.schedule-scroll{border:1px solid var(--border);background:var(--card);border-radius:10px;min-height:20rem;max-height:65vh;overflow:auto}.schedule-canvas{min-width:0}.schedule-canvas-week{min-width:930px}.schedule-columns{grid-template-columns:var(--schedule-rail) repeat(var(--schedule-days), minmax(0, 1fr));display:grid}.schedule-days{z-index:4;background:var(--card);border-bottom:1px solid var(--border);height:74px;position:sticky;top:0}.schedule-days>div{border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.schedule-days>div:first-child{z-index:5;background:var(--card);color:var(--muted-foreground);border-left:0;font-size:10px;position:sticky;left:0}.schedule-day-number{font-variant-numeric:tabular-nums;place-items:center;min-width:32px;height:32px;font-size:23px;display:grid}.schedule-today .schedule-day-number{background:var(--primary);color:var(--primary-foreground);border-radius:50%}.schedule-weekend{background:color-mix(in srgb, var(--muted) 30%, var(--card))}.schedule-all-day{z-index:3;background:var(--card);border-bottom:1px solid var(--border);min-height:42px;position:sticky;top:74px}.schedule-all-day>div{border-left:1px solid var(--border);min-width:0;padding:6px 4px}.schedule-all-day>div:first-child{background:var(--card);color:var(--muted-foreground);text-align:right;border-left:0;padding-top:12px;font-size:10px;position:sticky;left:0}.schedule-hours{height:calc(24 * var(--schedule-hour))}.schedule-ruler{z-index:2;background:var(--card);position:sticky;left:0}.schedule-hour{height:var(--schedule-hour);text-align:right;border-bottom:1px solid var(--border);color:var(--muted-foreground);font-variant-numeric:tabular-nums;padding:3px 8px 0 0;font-size:10px}.schedule-day{border-left:1px solid var(--border);min-width:0;position:relative}.schedule-slot{height:var(--schedule-hour);border-bottom:1px solid var(--border);position:relative}.schedule-slot:after{content:"";top:calc(var(--schedule-hour) / 2);border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent);position:absolute;left:0;right:0}.schedule-event{border-left:3px solid var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--card));min-height:0;color:var(--foreground);text-align:left;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;padding:6px;font-size:12px;line-height:1.3;display:flex;position:absolute;overflow:hidden}.schedule-event:hover{filter:brightness(.97)}.schedule-event strong{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.schedule-event small{font-variant-numeric:tabular-nums;font-size:10px}.schedule-event[data-kind=Shift],.schedule-all-day-event{border-color:var(--info);background:color-mix(in srgb, var(--info) 12%, var(--card))}.schedule-event[data-kind=Leave]{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--card))}.schedule-event[data-kind=Training],.schedule-event[data-kind=Unavailable]{border-color:var(--destructive);background:color-mix(in srgb, var(--destructive) 8%, var(--card))}.schedule-all-day-event{border-left:3px solid var(--info);text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;min-height:28px;color:var(--foreground);border-radius:4px;margin-bottom:3px;padding:4px 6px;font-size:11px;display:block;overflow:hidden}.schedule-gap{z-index:1;background:var(--muted);color:var(--muted-foreground);border-block:1px dashed var(--border);padding:3px;font-size:10px;position:absolute;inset-inline:0;overflow:hidden}.schedule-now{z-index:2;border-top:1px solid var(--destructive);pointer-events:none;position:absolute;inset-inline:0}.schedule-now:before{content:"";background:var(--destructive);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:-3px}.schedule-dialog{border:1px solid var(--border);background:var(--card);width:min(32rem,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--foreground);box-shadow:var(--ui-lift-2);border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto}.schedule-dialog::backdrop{background:color-mix(in srgb, var(--foreground) 45%, transparent)}.schedule-dialog dd{min-width:0}@media (width<=639px){.schedule-calendar{--schedule-rail:48px}.schedule-scroll{max-height:60vh}.schedule-canvas-week{min-width:870px}}.eam-field .schedule-calendar .kt-btn,.eam-field .schedule-calendar li>button{min-height:44px}
