/* ==================== PRODUCTION CALENDAR (MONTH VIEW) ==================== */
.prod-cal { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.prod-cal-header { display: grid; grid-template-columns: repeat(7, 1fr); background: var(--bg-hover); border-bottom: 1px solid var(--border); }
.prod-cal-header__day { text-align: center; padding: 8px 4px; font-size: 11px; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.05em; }
.prod-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.prod-cal-day { min-height: 76px; padding: 6px 7px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.1s; position: relative; }
.prod-cal-day:nth-child(7n) { border-right: none; }
.prod-cal-day:hover { background: var(--bg-hover); }
.prod-cal-day--empty { cursor: default; background: var(--pc-empty-day-bg); }
.prod-cal-day--empty:hover { background: var(--pc-empty-day-bg); }
.prod-cal-day--weekend { background: var(--pc-weekend-bg); }
.prod-cal-day--weekend:hover { background: var(--bg-hover); }
.prod-cal-day--today .prod-cal-day__num { background: var(--accent); color: #fff; border-radius: 50%; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.prod-cal-day__num { font-size: 12px; font-weight: 600; color: var(--text-dim); margin-bottom: 5px; }
.prod-cal-day__dots { display: flex; flex-wrap: wrap; gap: 3px; }
.prod-cal-dot { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 10px; }
.prod-cal-dot--due { background: var(--pc-dot-due-bg); color: var(--pc-dot-due-text); }
.prod-cal-dot--publish { background: var(--pc-dot-publish-bg); color: var(--pc-dot-publish-text); }
.prod-cal-dot--step { background: var(--pc-dot-step-bg); color: var(--pc-dot-step-text); }
.prod-cal-legend { display: flex; align-items: center; gap: 14px; font-size: 11px; color: var(--text-dim); justify-content: center; margin-top: 10px; flex-wrap: wrap; }
.prod-cal-legend-item { display: flex; align-items: center; gap: 5px; }
.prod-cal-detail { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 20px 24px; }
.prod-cal-detail h3 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 16px; text-transform: capitalize; }
.prod-cal-detail__section { margin-bottom: 14px; }
.prod-cal-detail__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-secondary); margin-bottom: 6px; }
.prod-cal-detail__item { display: flex; align-items: center; gap: 8px; padding: 5px 10px; border-radius: 6px; text-decoration: none; color: var(--text); font-size: 13px; margin-bottom: 3px; transition: background 0.1s; }
.prod-cal-detail__item:hover { background: var(--bg-hover); color: var(--accent); }
.prod-cal-detail__item span { color: var(--text-dim); font-size: 11px; margin-left: auto; }

/* ==================== PRODUCTION CALENDAR (WEEK VIEW) ==================== */
.pc-wrap { display: flex; height: calc(100vh - 120px); max-width: 1500px; margin: 0 auto; background: var(--pc-bg); border-radius: 12px; overflow: hidden; border: 1px solid var(--border); }

/* Sidebar */
.pc-sidebar { width: 300px; min-width: 260px; display: flex; flex-direction: column; border-right: 1px solid var(--border); background: var(--pc-sidebar-bg); }
.pc-sidebar__hdr { padding: 14px 12px 10px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.pc-sidebar__title { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.pc-sidebar__search { width: 100%; box-sizing: border-box; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px; color: var(--text); font-size: 13px; outline: none; }
.pc-sidebar__search:focus { border-color: var(--accent); }
.pc-sidebar__list { flex: 1; overflow-y: auto; padding: 8px 0; }
.pc-board-label { font-size: 10px; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.07em; padding: 10px 12px 4px; }
.pc-mini-card { margin: 2px 8px; padding: 8px 10px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 7px; cursor: grab; transition: border-color 0.15s, opacity 0.15s; }
.pc-mini-card:hover { border-color: var(--accent); }
.pc-mini-card:active { cursor: grabbing; }
.pc-mini-card.pc-scheduled { opacity: 0.45; }
.pc-mini-card__title { font-size: 12px; font-weight: 600; color: var(--text); line-height: 1.3; }
.pc-mini-card__meta { font-size: 11px; color: var(--text-dim); margin-top: 3px; }
.pc-mini-card__meta--sched { color: var(--accent); }
.pc-empty-msg { padding: 24px 12px; font-size: 13px; color: var(--text-dim); text-align: center; }

/* Main area */
.pc-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }

/* Toolbar */
.pc-toolbar { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-bottom: 1px solid var(--border); background: var(--bg-card); flex-shrink: 0; flex-wrap: wrap; }
.pc-toolbar__title { font-size: 15px; font-weight: 700; color: var(--text); margin-left: 8px; }
.pc-toolbar__hint { font-size: 11px; color: var(--text-dim); text-align: right; }

/* Week view */
.pc-week-view { flex: 1; display: flex; flex-direction: column; overflow: hidden; }

/* Day header row */
.pc-week-hdr { display: flex; flex-shrink: 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.pc-time-gutter { width: 52px; flex-shrink: 0; }
.pc-day-hdr { flex: 1; text-align: center; padding: 8px 4px; border-left: 1px solid var(--border); }
.pc-day-hdr.today { background: var(--pc-today-bg); }
.pc-day-hdr__name { font-size: 11px; font-weight: 600; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; }
.pc-day-hdr__num { font-size: 20px; font-weight: 700; color: var(--text); width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; margin: 2px auto 0; border-radius: 50%; }
.pc-day-hdr__num.today-num { background: var(--accent); color: #fff; }

/* Scrollable body */
.pc-body { flex: 1; overflow-y: auto; overflow-x: hidden; display: flex; position: relative; }

/* Time labels */
.pc-times { width: 52px; flex-shrink: 0; position: relative; min-height: 960px; }
.pc-time-label { position: absolute; right: 6px; font-size: 10px; color: var(--text-dim); transform: translateY(-50%); white-space: nowrap; }

/* Day columns */
.pc-days { flex: 1; display: flex; min-width: 0; }
.pc-day-col { flex: 1; border-left: 1px solid var(--border); position: relative; min-height: 960px; }
.pc-day-col.drag-over { background: var(--pc-today-bg); }

/* Grid lines */
.pc-hr-line { position: absolute; left: 0; right: 0; border-top: 1px solid var(--pc-grid-line); pointer-events: none; }
.pc-hf-line { position: absolute; left: 0; right: 0; border-top: 1px dashed var(--pc-grid-half); pointer-events: none; }

/* Events */
.pc-event { position: absolute; left: 2px; right: 2px; border-radius: 5px; padding: 3px 5px; cursor: grab; overflow: hidden; z-index: 1; transition: box-shadow 0.1s; box-sizing: border-box; user-select: none; }
.pc-event:hover { box-shadow: 0 2px 10px var(--pc-event-shadow); z-index: 2; }
.pc-event:active { cursor: grabbing; }
.pc-event__title { font-size: 11px; font-weight: 600; color: #fff; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
.pc-event__time { font-size: 10px; color: rgba(255,255,255,0.85); margin-top: 2px; }
.pc-event__del { position: absolute; top: 2px; right: 2px; background: var(--overlay-black-medium); border: none; color: #fff; width: 18px; height: 18px; border-radius: 50%; font-size: 11px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; opacity: 0.75; transition: opacity 0.15s, background 0.15s; }
.pc-event__del:hover { opacity: 1; background: var(--red); }
.pc-event__resize { position: absolute; bottom: 0; left: 0; right: 0; height: 6px; cursor: s-resize; background: var(--overlay-black-ultra); border-radius: 0 0 5px 5px; }
.pc-event__resize:hover { background: var(--overlay-black-faint); }
/* Done state — card moved to Post-Production */
.pc-event--done { opacity: 0.85; border: 1px solid var(--pc-event-done-bg); }
.pc-event--done .pc-event__title { opacity: 0.9; }
.pc-event__check { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; background: var(--pc-event-check); font-size: 9px; font-weight: 700; line-height: 1; margin-right: 2px; vertical-align: middle; }

/* Drag preview ghost */
.pc-drag-preview { position: absolute; left: 2px; right: 2px; background: var(--drag-over-bg); border: 2px dashed var(--drag-over-border); border-radius: 5px; pointer-events: none; z-index: 0; box-sizing: border-box; }
