body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Noto Sans CJK SC",Arial,sans-serif;}
.calendar-scroll{overflow-x:auto;}
.calendar-table{table-layout:fixed;min-width:1400px;}
.day-col{width:42px;}
.day-cell{width:42px;cursor:pointer;border-left:1px solid rgba(0,0,0,.04);border-right:1px solid rgba(0,0,0,.04);}
.day-cell:hover{outline:2px solid rgba(0,0,0,.15);outline-offset:-2px;}
.abbr{font-size:.85rem;font-weight:700;color:rgba(0,0,0,.65);}
.legend{padding:2px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);margin-right:6px;}
.sticky-col,.sticky-col-2,.sticky-col-3,.sticky-col-4,.sticky-col-5,.sticky-col-6{position:sticky;left:0;z-index:3;background:#fff;}
.sticky-col-2{left:160px;}
.sticky-col-3{left:320px;}
.sticky-col-4{left:440px;}
.sticky-col-5{left:560px;}
.sticky-col-6{left:640px;}
.col-name{width:160px;}
.col-title{width:160px;}
.col-start{width:120px;}
.col-status{width:120px;}
.col-cyc{width:80px;}
.col-note{width:260px;}
thead th{white-space:nowrap;}
.pulse{animation:pulse .9s ease-in-out;}
@keyframes pulse{0%{box-shadow:inset 0 0 0 0 rgba(13,110,253,0);}50%{box-shadow:inset 0 0 0 999px rgba(13,110,253,.08);}100%{box-shadow:inset 0 0 0 0 rgba(13,110,253,0);}}
