/* Bounded month cells; full details live in the selected-day list. */
.calendar-workspace{grid-template-columns:minmax(0,1fr)300px;gap:16px}.calendar-workspace .calendar-grid{min-width:0}.calendar-scroll{overflow:hidden}.calendar-day{height:auto;min-height:72px;max-height:118px;padding:4px;min-width:0;overflow:hidden}.calendar-day[data-selected=true]{background:#303030;box-shadow:inset 0 0 0 1px #888}.calendar-day-pick{display:flex;align-items:center;justify-content:space-between;width:100%;height:22px;padding:1px 4px;margin-bottom:2px;font:inherit;font-size:12px;border:0;background:transparent;color:#ddd;cursor:pointer}.calendar-day-pick small{font-size:10px;color:#aaa}.is-today .calendar-day-pick>span{background:#eee;color:#171717;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.other-month .calendar-day-pick{color:#777}.calendar-day-jobs{gap:2px}.calendar-job.calendar-mini-job{display:flex;align-items:center;gap:5px;padding:1px 4px;height:21px;min-height:21px;border:0;background:#383838;box-shadow:none;border-radius:3px}.calendar-mini-job .calendar-job-title{font-size:11.5px;font-weight:500;line-height:1.5;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.calendar-mini-status{width:4px;height:12px;border-radius:1px;background:#ccc;flex-shrink:0}.calendar-mini-status[data-status="รอตัด"]{background:#888}.calendar-mini-status[data-status="รอแก้"]{background:#fff;border:1px dashed #777}.calendar-mini-status[data-status="รอตรวจ"]{background:#bbb}.calendar-mini-status[data-status="พร้อมลง"]{background:#fff}.calendar-mini-status[data-status="ลงแล้ว"]{background:transparent;border:1px solid #aaa}.calendar-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;min-height:20px;color:#bbb;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font-size:17px}.calendar-more{font:inherit;font-size:10px;line-height:15px;padding:0 4px;border:0;border-radius:3px;background:transparent;color:#ddd;width:100%;text-align:left;cursor:pointer}.calendar-more:hover,.calendar-day-pick:hover{background:#484848}.calendar-day-pick:focus-visible,.calendar-more:focus-visible,.calendar-job:focus-visible{outline:2px solid #eee;outline-offset:-2px}.calendar-agenda{top:12px}.calendar-agenda-head{padding:12px}.calendar-agenda-head h2{font-size:15px;margin:12px 0 6px}.calendar-agenda-head p{font-size:11px;margin:0}.calendar-agenda-tabs{gap:3px}.calendar-agenda-tabs button{font-size:12px;padding:9px 4px}.calendar-return-zone{margin:10px 12px 0;padding:12px 9px;border:1px dashed #777;border-radius:5px;font-size:12px;line-height:1.5;color:#ddd;text-align:center;min-height:56px}.calendar-return-zone small{display:block;font-size:10px;color:#aaa;margin-top:4px}.calendar-return-zone.drop-over{background:#eee;color:#111;border-color:#fff;box-shadow:0 0 0 2px #aaa}.calendar-return-zone.drop-over small{color:#444}.calendar-agenda-scroll{min-height:120px;max-height:min(540px,calc(100vh - 340px));padding:10px 12px 12px;overflow-y:auto;scrollbar-gutter:stable}.calendar-agenda-jobs{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.calendar-agenda-job{padding:8px 10px;touch-action:pan-y}.calendar-agenda-job .calendar-agenda-top{display:flex;align-items:center;margin:0 0 3px;gap:5px;color:#bbb;font-size:10px}.calendar-agenda-top>span:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-agenda-job .calendar-job-title{font-size:13px;line-height:1.5;-webkit-line-clamp:2}.calendar-agenda-job .calendar-job-labels{margin-top:5px}.calendar-agenda-job .calendar-job-labels .status,.calendar-agenda-job .calendar-job-labels .channel-label{font-size:10px}.calendar-agenda-dates{display:flex;gap:3px 8px;flex-wrap:wrap;font-size:10px;color:#ccc;margin-top:6px;line-height:1.6}.calendar-agenda-job .calendar-tags{display:flex;gap:3px;margin-top:5px}.calendar-agenda-job .calendar-tags:empty{display:none}.calendar-agenda-job .tag-chip{font-size:9px;max-width:100%;padding:0 4px}.calendar-modal-meta{font-size:14px;line-height:1.7;margin:0 0 8px}.calendar-modal-detail{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto}.calendar-modal-tags{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.calendar-is-dragging{user-select:none;-webkit-user-select:none}.calendar-is-dragging .calendar-return-zone{border-color:#eee;background:#333}.calendar-is-dragging .calendar-return-zone.drop-over{background:#eee}.calendar-job{user-select:none;-webkit-user-select:none}.calendar-job.dragging{opacity:.35}.calendar-view .heading{margin-bottom:16px}
@media(min-width:1600px){.calendar-workspace{grid-template-columns:minmax(0,1fr)330px}.calendar-day{height:auto;min-height:72px;max-height:118px}.calendar-mini-job .calendar-job-title{font-size:12px}}
@media(min-width:721px) and (max-width:1100px){.calendar-workspace{grid-template-columns:minmax(0,1fr)260px}.calendar-mini-job .calendar-drag-handle{width:14px;min-width:14px}.calendar-mini-job .calendar-job-title{font-size:11px}.calendar-day{padding:3px}.calendar-workspace .calendar-toolbar{padding:10px}.calendar-workspace .calendar-month h2{font-size:14px;min-width:0}.calendar-view .heading{flex-wrap:wrap}.calendar-agenda{position:sticky}.calendar-agenda-head{display:block}.calendar-agenda-head .pill{margin:0}}
@media(max-width:720px){.calendar-workspace{display:flex;flex-direction:column;gap:12px}.calendar-panel,.calendar-agenda{width:100%}.calendar-day{height:51px;min-height:51px;max-height:51px;padding:0}.calendar-day-pick{height:50px;min-height:50px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:3px 0;margin:0;font-size:14px}.calendar-day-pick small{font-size:9px}.calendar-day .calendar-day-jobs{display:none}.calendar-agenda{position:static;margin-top:0}.calendar-agenda-head{display:block;padding:12px}.calendar-agenda-scroll{max-height:440px;min-height:80px}.calendar-agenda-jobs{grid-template-columns:minmax(0,1fr)}.calendar-agenda-job .calendar-job-title{font-size:14px;line-height:1.5}.calendar-agenda-dates{font-size:11px}.calendar-agenda-job .calendar-drag-handle{width:32px;min-width:32px;min-height:32px;font-size:22px}.calendar-agenda-job .calendar-job-labels .status,.calendar-agenda-job .calendar-job-labels .channel-label{font-size:11px}.calendar-return-zone{min-height:60px}.calendar-agenda-head h2{margin-top:12px}.calendar-view .heading{margin-bottom:12px}.calendar-view .heading .subtitle{font-size:12px;line-height:1.7}}

.calendar-agenda-jobs{gap:14px}.calendar-channel-group{min-width:0}.calendar-channel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 7px;padding:7px 1px;border-bottom:1px solid #555;font-size:13px;position:sticky;top:-10px;z-index:1;background:#222}.calendar-channel-heading .channel-label{font-size:12px;font-weight:600;min-width:0;overflow-wrap:anywhere}.calendar-channel-heading small{font-size:11px;font-weight:400;color:#bbb;white-space:nowrap}.calendar-channel-items{display:grid;gap:6px}.calendar-channel-group .calendar-job-labels .channel-label{display:none}@media(max-width:720px){.calendar-channel-heading .channel-label{font-size:13px}.calendar-channel-heading{padding:9px 1px}.calendar-channel-heading small{font-size:12px}}

/* Channel, content, and status stay visible together in each calendar entry. */
@media(min-width:721px){
 .calendar-day{max-height:186px}
 .calendar-job.calendar-mini-job{height:40px;min-height:40px;gap:3px;padding:3px 4px;flex-wrap:wrap;align-content:center}
 .calendar-mini-job .calendar-mini-channel{font-size:10px;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ddd}
 .calendar-mini-job .calendar-job-title{font-size:11px;flex:1 1 35%;min-width:12px}
 .calendar-mini-job .calendar-mini-label{font-size:9px;line-height:13px;color:#ccc;white-space:nowrap}
 .calendar-mini-job .calendar-drag-handle{margin-left:auto;width:15px;min-width:15px;min-height:15px;font-size:14px}
}
.calendar-agenda-job .calendar-job-title{display:block;overflow-wrap:anywhere}
