/* Production Calendar + Brand Deals — connected planning workspace */
.productionWorkspaceTabs {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 22px 0 20px;
  padding: 5px;
  border: 1px solid #e5e5e9;
  border-radius: 14px;
  background: #f4f4f6;
  box-shadow: inset 0 1px rgba(255,255,255,.9);
}

.productionWorkspaceTabs button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 15px;
  border: 0;
  border-radius: 10px;
  color: #74757c;
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 760;
  cursor: pointer;
  transition: color .18s ease, background .22s ease, box-shadow .22s ease, transform .22s cubic-bezier(.2,.8,.2,1);
}
.productionWorkspaceTabs button:hover { color: #161618; transform: translateY(-1px); }
.productionWorkspaceTabs button.active {
  color: #111113;
  background: #fff;
  box-shadow: 0 5px 16px rgba(17,17,19,.08), 0 0 0 1px rgba(17,17,19,.04);
}
.productionWorkspaceTabs button.active svg { color: #ed1717; }
.productionRailView { margin-bottom: 3px; }
.productionBoardRail .productionRailView.active { color: #fff; background: #ed1717; }
.productionBoardRail .productionRailView.active svg { color: #fff; }
.productionBoardRail .productionRailView + .productionAddBoard { margin-top: 18px !important; }

.productionPlanningHeader {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  width: min(100%,1500px);
}
.productionPlanningHeader > div:first-child > span {
  display: block;
  margin-bottom: 7px;
  color: #ed1717;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
.productionPlanningHeader h1 {
  margin: 0;
  color: #111113;
  font-size: clamp(36px,4.2vw,58px);
  font-weight: 920;
  letter-spacing: -.065em;
  line-height: .95;
}
.productionPlanningHeader p {
  max-width: 650px;
  margin: 13px 0 0;
  color: #74757c;
  font-size: 12px;
  line-height: 1.55;
}
.productionPlanningActions { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.productionPlanningActions .productionPrimary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 17px;
  border-radius: 11px;
  box-shadow: 0 9px 24px rgba(237,23,23,.18);
}

.productionPlanningStats,
.productionDealsOverview {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  width: min(100%,1500px);
  margin-bottom: 18px;
}
.productionPlanningStats article,
.productionDealsOverview article {
  position: relative;
  min-height: 105px;
  padding: 17px 18px;
  overflow: hidden;
  border: 1px solid #e5e5e9;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17,17,19,.035);
}
.productionPlanningStats article::after,
.productionDealsOverview article::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  border-radius: 0 0 0 64px;
  background: rgba(237,23,23,.045);
  content: "";
}
.productionPlanningStats article.alert { border-color: rgba(237,23,23,.3); background: #fff8f8; }
.productionPlanningStats span,
.productionDealsOverview span { display: block; color: #8c8d94; font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.productionPlanningStats b,
.productionDealsOverview b { display: block; margin-top: 8px; color: #111113; font-size: 26px; font-weight: 900; letter-spacing: -.055em; }
.productionPlanningStats small,
.productionDealsOverview small { display: block; margin-top: 3px; color: #9a9ba1; font-size: 9px; }
.productionPlanningStats .alert b { color: #d31212; }

.productionCalendarToolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: min(100%,1500px);
  min-height: 58px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid #e4e4e8;
  border-radius: 15px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 24px rgba(17,17,19,.035);
  backdrop-filter: blur(16px);
}
.productionCalendarMove { display: flex; align-items: center; gap: 5px; }
.productionCalendarMove button {
  display: grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #e1e1e5;
  border-radius: 10px;
  color: #55565d;
  background: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.productionCalendarMove button:hover { color: #ed1717; border-color: rgba(237,23,23,.3); transform: translateY(-1px); }
.productionCalendarMove h2 { margin: 0 0 0 8px; color: #111113; font-size: 18px; font-weight: 880; letter-spacing: -.035em; }
.productionCalendarModes { display: flex; gap: 3px; padding: 3px; border-radius: 10px; background: #f1f1f3; }
.productionCalendarModes button {
  min-height: 31px;
  padding: 0 13px;
  border: 0;
  border-radius: 8px;
  color: #85868d;
  background: transparent;
  font: inherit;
  font-size: 9px;
  font-weight: 820;
  cursor: pointer;
}
.productionCalendarModes button.active { color: #111113; background: #fff; box-shadow: 0 4px 12px rgba(17,17,19,.08); }

.productionCalendarLayout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 285px;
  align-items: start;
  gap: 14px;
  width: min(100%,1500px);
}
.productionCalendarLayout > div:first-child { display: grid; gap: 14px; min-width: 0; }
.productionCalendarMonth,
.productionCalendarAgenda,
.productionUnscheduled {
  overflow: hidden;
  border: 1px solid #e3e3e7;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17,17,19,.04);
}
.productionCalendarWeekdays,
.productionCalendarGrid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.productionCalendarWeekdays { min-height: 34px; border-bottom: 1px solid #e7e7ea; background: #f7f7f9; }
.productionCalendarWeekdays span { display: grid; place-items: center; color: #8a8b92; font-size: 8px; font-weight: 860; letter-spacing: .07em; text-transform: uppercase; }
.productionCalendarDay {
  position: relative;
  min-width: 0;
  min-height: 125px;
  padding: 6px;
  border-right: 1px solid #ececef;
  border-bottom: 1px solid #ececef;
  background: #fff;
  cursor: pointer;
  transition: background .18s ease, box-shadow .18s ease;
}
.productionCalendarDay:nth-child(7n) { border-right: 0; }
.productionCalendarDay.outside { background: #fafafb; }
.productionCalendarDay.outside > div { opacity: .48; }
.productionCalendarDay.selected { z-index: 1; box-shadow: inset 0 0 0 2px rgba(237,23,23,.32); }
.productionCalendarDay.today { background: #fffafa; }
.productionCalendarDate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 27px;
  padding: 0 5px;
  border: 0;
  color: #6f7077;
  background: transparent;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.productionCalendarDate i { color: #b1b2b8; font-size: 7px; font-style: normal; }
.productionCalendarDay.today .productionCalendarDate span { display: grid; place-items: center; width: 24px; height: 24px; margin-left: -2px; border-radius: 50%; color: #fff; background: #ed1717; }
.productionCalendarDay > div { display: grid; gap: 4px; }
.productionCalendarEvent {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 8px 9px;
  border: 1px solid #e6e6e9;
  border-radius: 11px;
  color: #242428;
  background: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), border-color .18s ease, box-shadow .18s ease;
}
.productionCalendarEvent:hover { z-index: 2; border-color: rgba(237,23,23,.24); box-shadow: 0 8px 20px rgba(17,17,19,.08); transform: translateY(-1px); }
.productionCalendarEvent > i { flex: 0 0 5px; align-self: stretch; border-radius: 5px; background: #ed1717; }
.productionCalendarEvent > span { display: grid; min-width: 0; flex: 1; gap: 2px; }
.productionCalendarEvent b { overflow: hidden; font-size: 10px; font-weight: 790; text-overflow: ellipsis; white-space: nowrap; }
.productionCalendarEvent small { overflow: hidden; color: #8b8c93; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.productionCalendarEvent.event-task > i { background: #18181a; }
.productionCalendarEvent.event-deal > i { background: #8f2aff; }
.productionCalendarEvent.event-deliverable > i { background: #0c8e82; }
.productionCalendarEvent.overdue { border-color: rgba(237,23,23,.25); background: #fff8f8; }
.productionCalendarEvent.compact { min-height: 26px; padding: 4px 5px; gap: 5px; border: 0; border-radius: 6px; background: #f4f4f6; box-shadow: none; }
.productionCalendarEvent.compact > i { flex-basis: 3px; }
.productionCalendarEvent.compact b { font-size: 7px; }
.productionCalendarEvent.compact small { display: none; }
.productionCalendarEvent.compact.event-production { color: #9e1111; background: #ffeded; }
.productionCalendarEvent.compact.event-deal { color: #6520a4; background: #f3eaff; }
.productionCalendarEvent.compact.event-deliverable { color: #08675f; background: #e8f7f5; }
.productionCalendarMore { padding: 2px 5px; border: 0; color: #6d6e75; background: transparent; font: inherit; font-size: 7px; font-weight: 800; text-align: left; cursor: pointer; }

.productionCalendarAgenda > header,
.productionUnscheduled > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 63px;
  padding: 13px 16px;
  border-bottom: 1px solid #e9e9ec;
}
.productionCalendarAgenda > header span,
.productionUnscheduled > header span { color: #ed1717; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.productionCalendarAgenda > header h3 { margin: 4px 0 0; color: #171719; font-size: 15px; letter-spacing: -.03em; }
.productionCalendarAgenda > header button { display: inline-flex; align-items: center; gap: 5px; min-height: 33px; padding: 0 10px; border: 0; border-radius: 9px; color: #fff; background: #171719; font: inherit; font-size: 8px; font-weight: 820; cursor: pointer; }
.productionAgendaDay { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 12px 15px; border-bottom: 1px solid #ededf0; }
.productionAgendaDay:last-child { border-bottom: 0; }
.productionAgendaDay time { display: grid; align-content: start; gap: 3px; padding: 5px 0; }
.productionAgendaDay time b { color: #ed1717; font-size: 9px; text-transform: uppercase; }
.productionAgendaDay time span { color: #777880; font-size: 9px; }
.productionAgendaDay > div { display: grid; gap: 6px; }
.productionAgendaEmpty { display: grid; justify-items: center; min-height: 165px; padding: 26px; text-align: center; }
.productionAgendaEmpty > span { color: #ed1717; }
.productionAgendaEmpty b { margin-top: 8px; font-size: 14px; }
.productionAgendaEmpty p { margin: 4px 0 12px; color: #8d8e95; font-size: 9px; }
.productionAgendaEmpty button { border: 0; color: #ed1717; background: transparent; font: inherit; font-size: 9px; font-weight: 830; }
.productionUnscheduled { position: sticky; top: 18px; }
.productionUnscheduled > header b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; color: #fff; background: #171719; font-size: 10px; }
.productionUnscheduled > p { margin: 0; padding: 11px 15px; color: #8b8c93; background: #fafafc; font-size: 8px; line-height: 1.45; }
.productionUnscheduled > div { display: grid; max-height: 520px; padding: 7px; overflow: auto; }
.productionUnscheduled > div > button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 52px; padding: 7px 8px; border: 0; border-radius: 10px; color: #232327; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.productionUnscheduled > div > button:hover { background: #f5f5f7; }
.productionUnscheduled > div > button > i { width: 4px; align-self: stretch; border-radius: 4px; background: #ed1717; }
.productionUnscheduled > div > button > i.event-deal { background: #8f2aff; }
.productionUnscheduled > div > button > i.event-deliverable { background: #0c8e82; }
.productionUnscheduled > div > button > span { display: grid; min-width: 0; flex: 1; gap: 3px; }
.productionUnscheduled > div > button b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.productionUnscheduled > div > button small { color: #999aa1; font-size: 7px; }
.productionScheduleClear { padding: 25px 12px; color: #187249; font-size: 9px; font-weight: 760; text-align: center; }

.productionDealsOverview { grid-template-columns: repeat(3,minmax(0,1fr)); }
.productionDealsToolbar { display: grid; gap: 11px; width: min(100%,1500px); margin-bottom: 14px; }
.productionDealsToolbar > label { display: flex; align-items: center; gap: 9px; width: min(100%,520px); height: 42px; padding: 0 12px; border: 1px solid #e1e1e5; border-radius: 11px; color: #85868d; background: #fff; }
.productionDealsToolbar input { min-width: 0; flex: 1; border: 0; outline: 0; color: #171719; background: transparent; font: inherit; font-size: 10px; }
.productionDealFilters { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.productionDealFilters::-webkit-scrollbar { display: none; }
.productionDealFilters button { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 34px; padding: 0 11px; border: 1px solid #e2e2e6; border-radius: 999px; color: #72737a; background: #fff; font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.productionDealFilters button:hover { color: #111113; border-color: #cfd0d5; transform: translateY(-1px); }
.productionDealFilters button.active { color: #fff; border-color: #171719; background: #171719; box-shadow: 0 6px 16px rgba(17,17,19,.13); }
.productionDealFilters i { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #f0f0f2; color: #6d6e75; font-style: normal; font-size: 7px; }
.productionDealFilters .active i { color: #171719; background: #fff; }
.productionDealsGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; width: min(100%,1500px); padding-bottom: 50px; }
.productionDealCard { min-width: 0; border: 1px solid #e2e2e6; border-radius: 17px; background: #fff; box-shadow: 0 9px 28px rgba(17,17,19,.045); transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, border-color .2s ease; }
.productionDealCard:hover { border-color: rgba(237,23,23,.22); box-shadow: 0 15px 38px rgba(17,17,19,.08); transform: translateY(-3px); }
.productionDealCard.overdue { border-color: rgba(237,23,23,.3); }
.productionDealCardMain { display: block; width: 100%; padding: 16px; border: 0; color: #171719; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.productionDealCard header { display: flex; align-items: center; gap: 10px; }
.productionBrandAvatar { display: grid; place-items: center; flex: 0 0 41px; width: 41px; height: 41px; border-radius: 13px; color: #fff; background: linear-gradient(145deg,#ed1717,#a80808); box-shadow: 0 7px 16px rgba(237,23,23,.18); font-size: 10px; font-weight: 900; }
.productionDealIdentity { display: grid; min-width: 0; flex: 1; gap: 3px; }
.productionDealIdentity small { color: #ed1717; font-size: 7px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.productionDealIdentity b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.productionDealStatus { flex: 0 0 auto; padding: 6px 8px; border-radius: 8px; color: #55565d; background: #f0f0f2; font-size: 7px; font-weight: 860; }
.productionDealStatus.deal-in-production,.productionDealStatus.deal-contracted { color: #8d1111; background: #ffe7e7; }
.productionDealStatus.deal-submitted { color: #66500c; background: #fff2c9; }
.productionDealStatus.deal-approved,.productionDealStatus.deal-paid { color: #17623c; background: #ddf4e7; }
.productionDealMeta { display: flex; align-items: center; gap: 14px; margin-top: 17px; color: #777880; font-size: 8px; }
.productionDealMeta span { display: inline-flex; align-items: center; gap: 5px; }
.productionDealProject { display: flex; align-items: center; gap: 7px; min-width: 0; margin-top: 13px; padding: 9px 10px; border-radius: 10px; color: #52535a; background: #f5f5f7; font-size: 8px; }
.productionDealProject b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.productionDealProject.empty { color: #9a9ba1; }
.productionDealCard footer { display: flex; align-items: center; gap: 10px; margin-top: 15px; }
.productionDealCard footer > div { height: 5px; flex: 1; overflow: hidden; border-radius: 6px; background: #ececef; }
.productionDealCard footer > div span { display: block; width: var(--deal-progress); height: 100%; border-radius: inherit; background: #ed1717; transition: width .3s ease; }
.productionDealCard footer > b { color: #85868d; font-size: 7px; white-space: nowrap; }

.productionDealDrawerHead > div > span { color: #ed1717 !important; }
.productionDealForm { border-bottom: 1px solid #e6e6e9; }
.productionDealLinkedProject > button,
.productionLinkedDeals > div > button { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 59px; padding: 9px 11px; border: 1px solid #e5e5e9; border-radius: 12px; color: #171719; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.productionDealLinkedProject > button:hover,
.productionLinkedDeals > div > button:hover { border-color: rgba(237,23,23,.25); box-shadow: 0 8px 20px rgba(17,17,19,.06); transform: translateY(-1px); }
.productionDealLinkedProject > button > span:first-child { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; color: #ed1717; background: #fff0f0; }
.productionDealLinkedProject > button > span:nth-child(2),
.productionLinkedDeals > div > button > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 4px; }
.productionDealLinkedProject b,.productionLinkedDeals b { font-size: 10px; }
.productionDealLinkedProject small,.productionLinkedDeals small { color: #8d8e95; font-size: 8px; }
.productionLinkedDeals > p { margin: 0; color: #8d8e95; font-size: 9px; }
.productionLinkDealButton { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; margin-top: 10px; padding: 0 10px; border: 1px solid #dedee3; border-radius: 9px; color: #ed1717; background: #fff; font: inherit; font-size: 8px; font-weight: 830; cursor: pointer; }
.productionDeliverableList { display: grid; gap: 7px; }
.productionDeliverableRow { display: grid; grid-template-columns: 32px minmax(125px,1.4fr) minmax(90px,.8fr) 115px 110px 48px 30px; align-items: end; gap: 7px; padding: 9px; border: 1px solid #e5e5e9; border-radius: 12px; background: #fff; }
.productionDeliverableRow label,.productionAddDeliverable label { display: grid; gap: 4px; min-width: 0; }
.productionDeliverableRow label > span,.productionAddDeliverable label > span { color: #92939a; font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.productionDeliverableRow input,.productionDeliverableRow select,.productionAddDeliverable input { width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid #dedee2; border-radius: 8px; color: #171719; background: #fff; font: inherit; font-size: 8px; }
.productionDeliverableCheck { display: grid; place-items: center; align-self: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: #ededf0; }
.productionDeliverableCheck.status-in-progress { background: #ed1717; }
.productionDeliverableCheck.status-submitted { background: #d5a315; }
.productionDeliverableCheck.status-approved { background: #238553; }
.productionDeliverableSave { height: 34px; border: 0; border-radius: 8px; color: #fff; background: #171719; font: inherit; font-size: 8px; font-weight: 820; }
.productionDeliverableDelete { align-self: center; width: 28px; height: 28px; border: 0; border-radius: 8px; color: #a0a1a8; background: #f2f2f4; font-size: 16px; }
.productionDeliverableDelete:hover { color: #fff; background: #ed1717; }
.productionAddDeliverable { display: grid; grid-template-columns: minmax(0,1fr) 110px 120px 72px; align-items: end; gap: 8px; margin-top: 10px; padding: 11px; border: 1px dashed #d9d9de; border-radius: 12px; background: #fafafc; }
.productionAddDeliverable button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 34px; }
.productionCalendarAddChoices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 15px; }
.productionCalendarAddChoices button { display: grid; justify-items: start; gap: 6px; min-height: 135px; padding: 18px; border: 1px solid #e2e2e6; border-radius: 15px; color: #171719; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.productionCalendarAddChoices button:hover { border-color: rgba(237,23,23,.3); box-shadow: 0 12px 26px rgba(17,17,19,.08); transform: translateY(-2px); }
.productionCalendarAddChoices button > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; color: #ed1717; background: #fff0f0; }
.productionCalendarAddChoices b { margin-top: 6px; font-size: 12px; }
.productionCalendarAddChoices small { color: #8d8e95; font-size: 8px; }

@media (max-width: 1120px) and (min-width: 768px) {
  .productionCalendarLayout { grid-template-columns: minmax(0,1fr) 230px; }
  .productionCalendarDay { min-height: 105px; }
  .productionDealsGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .productionDeliverableRow { grid-template-columns: 30px minmax(120px,1fr) 95px 100px 42px 28px; }
  .productionDeliverableRow label:nth-of-type(2) { display: none; }
}

@media (max-width: 767px) {
  .productionMobilePlanBar strong { min-width: 0; flex: 1; font-size: 13px; }
  .productionMobile .productionBoardWorkspace { padding-top: 20px !important; }
  .productionMobile .productionPlanningHeader { align-items: flex-start; padding: 0 16px; }
  .productionMobile .productionPlanningHeader h1 { font-size: 34px; }
  .productionMobile .productionPlanningHeader p { max-width: 95%; font-size: 10px; }
  .productionMobile .productionPlanningActions { display: none; }
  .productionMobile .productionWorkspaceTabs { position: sticky; top: 58px; z-index: 22; display: grid; grid-template-columns: repeat(3,1fr); width: calc(100% - 20px); margin: 18px 10px 16px; padding: 4px; background: rgba(242,242,244,.94); backdrop-filter: blur(18px); }
  .productionMobile .productionWorkspaceTabs button { min-width: 0; min-height: 39px; padding: 0 7px; font-size: 9px; }
  .productionMobile .productionWorkspaceTabs svg { width: 14px; height: 14px; }
  .productionMobile .productionPlanningStats,.productionMobile .productionDealsOverview { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0 10px; }
  .productionMobile .productionPlanningStats article,.productionMobile .productionDealsOverview article { min-height: 91px; padding: 14px; }
  .productionMobile .productionPlanningStats b,.productionMobile .productionDealsOverview b { font-size: 22px; }
  .productionMobile .productionCalendarToolbar { position: sticky; top: 111px; z-index: 20; width: calc(100% - 20px); min-height: 54px; margin: 0 10px 10px; padding: 7px; }
  .productionMobile .productionCalendarMove h2 { margin-left: 4px; font-size: 14px; }
  .productionMobile .productionCalendarMove button { min-width: 34px; height: 34px; padding: 0 8px; }
  .productionMobile .productionCalendarMove button:nth-child(2) { display: none; }
  .productionMobile .productionCalendarModes button { padding: 0 9px; }
  .productionMobile .productionCalendarLayout { display: block; width: 100%; }
  .productionMobile .productionCalendarLayout > div:first-child { padding: 0 10px; }
  .productionMobile .productionCalendarMonth { border-radius: 14px; }
  .productionMobile .productionCalendarDay { min-height: 58px; padding: 3px; }
  .productionMobile .productionCalendarDay > div { display: flex; justify-content: center; gap: 2px; }
  .productionMobile .productionCalendarEvent.compact { width: 5px; min-height: 5px; height: 5px; padding: 0; border-radius: 50%; }
  .productionMobile .productionCalendarEvent.compact > i,.productionMobile .productionCalendarEvent.compact > span { display: none; }
  .productionMobile .productionCalendarMore { display: none; }
  .productionMobile .productionCalendarDate { height: 28px; justify-content: center; }
  .productionMobile .productionCalendarDate i { display: none; }
  .productionMobile .productionCalendarDay.today .productionCalendarDate span { width: 23px; height: 23px; }
  .productionMobile .productionCalendarAgenda { border-radius: 14px; }
  .productionMobile .productionAgendaDay { grid-template-columns: 70px minmax(0,1fr); padding: 10px; }
  .productionMobile .productionCalendarEvent { min-height: 55px; }
  .productionMobile .productionUnscheduled { position: static; margin: 12px 10px 40px; }
  .productionMobile .productionDealsToolbar { padding: 0 10px; }
  .productionMobile .productionDealsToolbar > label { width: 100%; height: 44px; }
  .productionMobile .productionDealFilters { margin-right: -10px; padding-right: 10px; }
  .productionMobile .productionDealsGrid { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 0 10px 45px; }
  .productionMobile .productionDealCardMain { padding: 15px; }
  .productionDeliverableRow { grid-template-columns: 30px minmax(0,1fr) 33px; align-items: center; gap: 7px; }
  .productionDeliverableRow > label { grid-column: 2 / 4; }
  .productionDeliverableRow > label.productionDeliverableTitle { grid-row: 1; grid-column: 2; }
  .productionDeliverableRow > .productionDeliverableCheck { grid-row: 1; grid-column: 1; }
  .productionDeliverableRow > .productionDeliverableDelete { grid-row: 1; grid-column: 3; }
  .productionDeliverableSave { grid-column: 2 / 4; height: 38px; }
  .productionAddDeliverable { grid-template-columns: 1fr; }
  .productionCalendarAddChoices { grid-template-columns: 1fr; }
  .productionCalendarAddChoices button { min-height: 105px; }
}

@media (prefers-reduced-motion: reduce) {
  .productionWorkspaceTabs button,.productionDealCard,.productionCalendarEvent,.productionCalendarMove button,.productionCalendarAddChoices button { transition: none !important; transform: none !important; }
}

/* Calendar canvas v2 — the schedule is the workspace, not a dashboard card. */
.productionBoardWorkspace.calendarWorkspace {
  padding: 0 0 70px;
  overflow: visible;
  background: #fff !important;
}
.productionCalendarApp {
  --calendar-red: #ed1717;
  --calendar-line: #e4e5e8;
  width: 100%;
  min-width: 0;
  color: #1d1d20;
  background: #fff;
}
.productionCalendarChrome {
  position: sticky;
  top: 68px;
  z-index: 18;
  border-bottom: 1px solid var(--calendar-line);
  background: rgba(255,255,255,.96);
  box-shadow: 0 5px 18px rgba(17,17,19,.025);
  backdrop-filter: saturate(1.25) blur(20px);
}
.productionCalendarAppHeader {
  display: grid;
  grid-template-columns: auto minmax(260px,1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 66px;
  padding: 8px 24px 7px;
  border-bottom: 1px solid #f0f0f2;
}
.productionCalendarAppIdentity {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.productionCalendarAppIdentity > span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg,#f22424,#c90d0d);
  box-shadow: 0 8px 18px rgba(237,23,23,.2);
}
.productionCalendarAppIdentity > div { display: grid; gap: 2px; }
.productionCalendarAppIdentity small {
  color: #96979e;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .14em;
}
.productionCalendarAppIdentity h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.045em;
}
.productionCalendarAppHeader .productionWorkspaceTabs {
  justify-self: start;
  margin: 0;
  padding: 4px;
  border-color: #e8e8eb;
  border-radius: 11px;
  background: #f5f5f7;
  box-shadow: none;
}
.productionCalendarAppHeader .productionWorkspaceTabs button {
  min-height: 33px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 9px;
}
.productionCalendarHeaderActions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.productionCalendarRefresh {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #dfdfe3;
  border-radius: 10px;
  color: #676870;
  background: #fff;
  cursor: pointer;
}
.productionCalendarRefresh:hover { color: var(--calendar-red); border-color: rgba(237,23,23,.3); background: #fff8f8; }
.productionCalendarNew {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 39px;
  padding: 0 15px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(237,23,23,.19);
}
.productionCalendarMobileNew { display: none; }
.productionCalendarToolbar {
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 8px 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.productionCalendarMove { min-width: 0; gap: 7px; }
.productionCalendarMove .productionCalendarToday {
  display: inline-flex;
  width: auto;
  min-width: 57px;
  padding: 0 12px;
  color: #303035;
  border-color: #d8d9dd;
  border-radius: 8px;
}
.productionCalendarArrows { display: inline-flex; align-items: center; }
.productionCalendarArrows button {
  min-width: 33px;
  width: 33px;
  padding: 0;
  border-color: transparent;
  border-radius: 50%;
  background: transparent;
}
.productionCalendarArrows button:hover { border-color: transparent; background: #f2f2f4; transform: none; }
.productionCalendarMove h2 {
  min-width: 140px;
  margin-left: 4px;
  font-size: 20px;
  font-weight: 820;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.productionCalendarLegend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #74757d;
  font-size: 8px;
  font-weight: 750;
}
.productionCalendarLegend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.productionCalendarLegend i { width: 7px; height: 7px; border-radius: 50%; background: #303035; }
.productionCalendarLegend .event-production i { background: var(--calendar-red); }
.productionCalendarLegend .event-deal i { background: #d58a00; }
.productionCalendarLegend .event-deliverable i { background: #2d6cdf; }
.productionCalendarViewControls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.productionCalendarTrayToggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 37px;
  padding: 0 10px;
  border: 1px solid #dedee2;
  border-radius: 9px;
  color: #56575e;
  background: #fff;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}
.productionCalendarTrayToggle:hover,
.productionCalendarTrayToggle.active { color: #ad0c0c; border-color: rgba(237,23,23,.28); background: #fff4f4; }
.productionCalendarTrayToggle > i {
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  border-radius: 7px;
  color: #fff;
  background: #18181b;
  font-size: 7px;
  font-style: normal;
}
.productionCalendarModes { border: 1px solid #e3e3e6; background: #f3f3f5; }
.productionCalendarModes button { min-height: 30px; padding: 0 11px; }

.productionCalendarLayout {
  position: relative;
  display: block;
  width: 100%;
  padding: 14px 18px 0;
}
.productionCalendarCanvas { display: grid; gap: 16px; width: 100%; min-width: 0; }
.productionCalendarMonth {
  width: 100%;
  overflow: hidden;
  border: 1px solid #dfe0e4;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(17,17,19,.035);
  animation: productionCalendarCanvasIn .22s cubic-bezier(.2,.8,.2,1) both;
}
.productionCalendarWeekdays {
  min-height: 32px;
  border-bottom: 1px solid #dfe0e4;
  background: #fbfbfc;
}
.productionCalendarWeekdays span {
  justify-content: flex-start;
  padding-left: 9px;
  color: #6c6d74;
  font-size: 9px;
  letter-spacing: .075em;
}
.productionCalendarGrid {
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: repeat(6,minmax(84px,1fr));
  min-height: calc(100dvh - 246px);
}
.productionCalendarWeek { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); min-height: 0; }
.productionCalendarDay {
  min-height: 0;
  padding: 3px 5px 7px;
  overflow: visible;
  border-color: #e5e6e9;
  background: #fff;
}
.productionCalendarDay:nth-last-child(-n+7) { border-bottom: 1px solid #e5e6e9; }
.productionCalendarWeek:last-child .productionCalendarDay { border-bottom: 0; }
.productionCalendarDay:hover { background: #fafafc; }
.productionCalendarDay.outside { background: #fbfbfc; }
.productionCalendarDay.outside .productionCalendarItems { opacity: .42; }
.productionCalendarDay.selected { z-index: 2; background: #f7f8fa; box-shadow: inset 0 0 0 1px #bfc1c7; }
.productionCalendarDay.today { background: #fff9f9; }
.productionCalendarDay.today.selected { background: #fff5f5; box-shadow: inset 0 0 0 1px rgba(237,23,23,.26); }
.productionCalendarDayHead { position: relative; display: flex; align-items: center; height: 29px; }
.productionCalendarDate {
  height: 29px;
  padding: 0 4px;
  color: #5f6067;
  font-size: 11px;
  font-weight: 720;
}
.productionCalendarDate i { display: none; }
.productionCalendarDay.today .productionCalendarDate span {
  width: 25px;
  height: 25px;
  margin-left: -3px;
  background: var(--calendar-red);
  box-shadow: 0 4px 10px rgba(237,23,23,.2);
}
.productionCalendarCellAdd {
  position: absolute;
  top: 2px;
  right: 1px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #7c7d84;
  background: #f1f1f3;
  opacity: 0;
  transform: scale(.86);
  cursor: pointer;
  transition: opacity .15s ease, transform .18s cubic-bezier(.2,.8,.2,1), color .15s ease, background .15s ease;
}
.productionCalendarDay:hover .productionCalendarCellAdd,
.productionCalendarCellAdd:focus-visible { opacity: 1; transform: scale(1); }
.productionCalendarCellAdd:hover { color: #fff; background: var(--calendar-red); }
.productionCalendarItems { display: grid; align-content: start; gap: 3px; min-height: 0; }
.productionCalendarEvent.compact {
  position: relative;
  z-index: 1;
  min-height: 22px;
  height: 22px;
  padding: 3px 6px;
  gap: 0;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  color: #37383e;
  background: #eff0f2;
  box-shadow: none;
}
.productionCalendarEvent.compact:hover {
  z-index: 8;
  box-shadow: 0 5px 13px rgba(17,17,19,.13);
  filter: saturate(1.08);
  transform: none;
}
.productionCalendarEvent.compact > i { display: none; }
.productionCalendarEvent.compact b { font-size: 9px; font-weight: 760; line-height: 1; }
.productionCalendarEvent.compact.event-production { color: #991212; background: #ffe9e9; }
.productionCalendarEvent.compact.event-deal { color: #704500; background: #ffedc5; }
.productionCalendarEvent.compact.event-deliverable { color: #164b9d; background: #e4efff; }
.productionCalendarEvent.compact.event-task { color: #34353a; background: #e9eaed; }
.productionCalendarEvent.compact.done { color: #226143; background: #def2e7; }
.productionCalendarAgenda .productionCalendarEvent.event-production > i { background: var(--calendar-red); }
.productionCalendarAgenda .productionCalendarEvent.event-deal > i { background: #d58a00; }
.productionCalendarAgenda .productionCalendarEvent.event-deliverable > i { background: #2d6cdf; }
.productionCalendarAgenda .productionCalendarEvent.event-task > i { background: #303035; }
.productionCalendarAgenda .productionCalendarEvent.done > i { background: #33825a; }
.productionCalendarEvent.compact.segment-start,
.productionCalendarEvent.compact.segment-middle,
.productionCalendarEvent.compact.segment-end,
.productionCalendarEvent.compact.segment-single {
  z-index: 3;
  color: #fff;
  background: linear-gradient(90deg,#ec1a1a,#db1010);
  box-shadow: inset 0 0 0 1px rgba(149,0,0,.08);
}
.productionCalendarEvent.compact.segment-start { margin-right: -6px; border-radius: 5px 0 0 5px; }
.productionCalendarEvent.compact.segment-middle { margin-right: -6px; margin-left: -6px; border-radius: 0; }
.productionCalendarEvent.compact.segment-end { margin-left: -6px; border-radius: 0 5px 5px 0; }
.productionCalendarEvent.compact.segment-single { border-radius: 5px; }
.productionCalendarEvent.compact.segment-middle b,
.productionCalendarEvent.compact.segment-end b { color: transparent; }
.productionCalendarEvent.compact.done.segment-start,
.productionCalendarEvent.compact.done.segment-middle,
.productionCalendarEvent.compact.done.segment-end,
.productionCalendarEvent.compact.done.segment-single { background: #33825a; }
.productionCalendarMore {
  min-height: 18px;
  padding: 1px 4px;
  color: #5e6068;
  border-radius: 4px;
  font-size: 8px;
}
.productionCalendarMore:hover { color: #ad0c0c; background: #fff0f0; }
.productionCalendarAgenda {
  border-color: #dfe0e4;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(17,17,19,.025);
}
.productionCalendarLayout.agendaMode .productionCalendarAgenda { min-height: calc(100dvh - 248px); }
.productionCalendarLayout:not(.agendaMode) .productionCalendarAgenda { margin-bottom: 4px; }
.productionCalendarLayout .productionUnscheduled {
  position: absolute;
  top: 12px;
  right: 30px;
  z-index: 32;
  width: min(310px,calc(100% - 60px));
  border-radius: 16px;
  box-shadow: 0 24px 65px rgba(17,17,19,.2), 0 0 0 1px rgba(17,17,19,.04);
  animation: productionCalendarTrayIn .2s cubic-bezier(.2,.8,.2,1) both;
}
.productionCalendarTrayScrim { display: none; }
.productionCalendarHealth {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-height: 42px;
  padding: 0 22px;
  color: #85868d;
  font-size: 8px;
}
.productionCalendarHealth span { display: inline-flex; align-items: center; gap: 4px; }
.productionCalendarHealth i { width: 5px; height: 5px; border-radius: 50%; background: #b9bac0; }
.productionCalendarHealth b { color: #4b4c52; }
.productionCalendarHealth .alert { color: #b10d0d; }
.productionCalendarHealth .alert i { background: var(--calendar-red); }
.productionCalendarHealth .alert b { color: #b10d0d; }

@keyframes productionCalendarCanvasIn {
  from { opacity: .55; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes productionCalendarTrayIn {
  from { opacity: 0; transform: translateX(14px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@media (max-width: 1120px) and (min-width: 768px) {
  .productionCalendarAppHeader { grid-template-columns: auto 1fr auto; gap: 12px; padding-right: 16px; padding-left: 16px; }
  .productionCalendarAppHeader .productionWorkspaceTabs button { padding: 0 9px; }
  .productionCalendarToolbar { padding-right: 16px; padding-left: 16px; }
  .productionCalendarLegend { display: none; }
  .productionCalendarGrid { grid-template-rows: repeat(6,minmax(78px,1fr)); }
}

@media (max-width: 767px) {
  .productionMobile .productionBoardWorkspace.calendarWorkspace { padding: 0 0 94px !important; overflow: visible; }
  .productionMobile .productionCalendarChrome { position: sticky; top: 58px; }
  .productionMobile .productionCalendarAppHeader {
    display: block;
    min-height: 0;
    padding: 7px 10px;
  }
  .productionMobile .productionCalendarAppIdentity { display: none; }
  .productionMobile .productionCalendarAppHeader .productionWorkspaceTabs {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%;
    margin: 0;
    padding: 3px;
  }
  .productionMobile .productionCalendarAppHeader .productionWorkspaceTabs button { min-width: 0; min-height: 35px; padding: 0 5px; font-size: 8px; }
  .productionMobile .productionCalendarHeaderActions { position: absolute; width: 0; height: 0; }
  .productionMobile .productionCalendarRefresh { display: none; }
  .productionMobile .productionCalendarNew { display: none; }
  .productionMobile .productionCalendarMobileNew {
    position: fixed;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 45;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    min-height: 54px;
    padding: 0;
    border-radius: 17px;
    box-shadow: 0 14px 34px rgba(237,23,23,.35);
  }
  .productionMobile .productionCalendarMobileNew svg { width: 22px; height: 22px; }
  .productionMobile .productionCalendarToolbar {
    position: relative;
    top: auto;
    z-index: 20;
    min-height: 57px;
    padding: 7px 8px;
    gap: 5px;
    border-top: 1px solid #f0f0f2;
    background: rgba(255,255,255,.96);
    backdrop-filter: saturate(1.2) blur(18px);
  }
  .productionMobile .productionCalendarMove { flex: 1 1 auto; gap: 1px; }
  .productionMobile .productionCalendarMove .productionCalendarToday { display: inline-flex; min-width: 42px; height: 34px; padding: 0 6px; font-size: 7.5px; }
  .productionMobile .productionCalendarArrows button { display: grid; min-width: 24px; width: 24px; height: 34px; padding: 0; }
  .productionMobile .productionCalendarMove .productionCalendarArrows button:nth-child(2) { display: grid; }
  .productionMobile .productionCalendarMove h2 { min-width: 0; margin-left: 1px; overflow: hidden; font-size: 13px; text-overflow: ellipsis; }
  .productionMobile .productionCalendarLegend { display: none; }
  .productionMobile .productionCalendarViewControls { flex: 0 0 auto; gap: 2px; }
  .productionMobile .productionCalendarTrayToggle { width: 33px; min-height: 35px; padding: 0; }
  .productionMobile .productionCalendarTrayToggle > span { display: none; }
  .productionMobile .productionCalendarTrayToggle > i {
    position: absolute;
    margin: -25px 0 0 25px;
    min-width: 16px;
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 7px;
    background: #18181b;
    font-size: 6px;
  }
  .productionMobile .productionCalendarModes { padding: 2px; }
  .productionMobile .productionCalendarModes button { min-height: 29px; padding: 0 5px; font-size: 6.8px; }
  .productionMobile .productionCalendarLayout { display: block; padding: 8px 0 0; }
  .productionMobile .productionCalendarCanvas { gap: 10px; }
  .productionMobile .productionCalendarMonth {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .productionMobile .productionCalendarWeekdays { min-height: 27px; }
  .productionMobile .productionCalendarWeekdays span { justify-content: center; padding-left: 0; font-size: 7px; }
  .productionMobile .productionCalendarGrid { grid-template-rows: repeat(6,70px); min-height: 420px; }
  .productionMobile .productionCalendarDay { min-height: 70px; padding: 2px 2px 4px; }
  .productionMobile .productionCalendarDay > .productionCalendarDayHead { display: flex; justify-content: flex-start; gap: 0; height: 25px; }
  .productionMobile .productionCalendarDate { height: 25px; padding: 0 3px; font-size: 9px; }
  .productionMobile .productionCalendarDay.today .productionCalendarDate span { width: 22px; height: 22px; margin-left: -2px; }
  .productionMobile .productionCalendarCellAdd { display: none; }
  .productionMobile .productionCalendarDay > .productionCalendarItems { display: grid; justify-content: stretch; gap: 2px; }
  .productionMobile .productionCalendarEvent.compact {
    display: flex;
    width: 100%;
    min-height: 18px;
    height: 18px;
    padding: 2px 3px;
    border-radius: 3px;
  }
  .productionMobile .productionCalendarEvent.compact > span { display: grid; }
  .productionMobile .productionCalendarEvent.compact b { display: block; font-size: 7.4px; line-height: 1; }
  .productionMobile .productionCalendarEvent.compact.segment-start { margin-right: -3px; border-radius: 3px 0 0 3px; }
  .productionMobile .productionCalendarEvent.compact.segment-middle { margin-right: -3px; margin-left: -3px; }
  .productionMobile .productionCalendarEvent.compact.segment-end { margin-left: -3px; border-radius: 0 3px 3px 0; }
  .productionMobile .productionCalendarMore { min-height: 12px; padding: 0 2px; font-size: 6px; line-height: 1; }
  .productionMobile .productionCalendarAgenda { margin: 0 9px 10px; border-radius: 13px; }
  .productionMobile .productionCalendarLayout.agendaMode .productionCalendarAgenda { min-height: 360px; }
  .productionMobile .productionCalendarTrayScrim {
    position: fixed;
    inset: 0;
    z-index: 49;
    display: block;
    border: 0;
    background: rgba(12,12,14,.32);
    backdrop-filter: blur(3px);
  }
  .productionMobile .productionCalendarLayout .productionUnscheduled {
    position: fixed;
    top: auto;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 10px;
    z-index: 50;
    width: auto;
    max-height: min(620px,76dvh);
    margin: 0;
    border-radius: 21px;
    box-shadow: 0 28px 80px rgba(17,17,19,.35);
    animation: productionCalendarMobileSheetIn .22s cubic-bezier(.2,.8,.2,1) both;
  }
  .productionMobile .productionUnscheduled > div { max-height: min(480px,58dvh); }
  .productionMobile .productionCalendarHealth { justify-content: flex-start; gap: 12px; padding: 0 12px; overflow-x: auto; white-space: nowrap; }
}

/* Production status travels from the board into every calendar event. */
.productionCalendarStatusLegend > b { display: inline-flex; align-items: center; gap: 6px; }
.productionCalendarStatusLegend > b > em { display: inline-flex; align-items: center; gap: 3px; color: #74757d; font-size: 7px; font-style: normal; font-weight: 760; }
.productionCalendarStatusLegend > b > em > i { width: 6px; height: 6px; border-radius: 50%; }
.productionCalendarStatusLegend .status-planning { background: #8b8d96; }
.productionCalendarStatusLegend .status-in-progress { background: #e69a18; }
.productionCalendarStatusLegend .status-blocked { background: #d92532; }
.productionCalendarStatusLegend .status-ready { background: #3478c7; }
.productionCalendarStatusLegend .status-done { background: #33825a; }

.productionCalendarEvent.compact.event-production.status-planning { color: #4b4d55; background: #ececf0; }
.productionCalendarEvent.compact.event-production.status-in-progress { color: #704500; background: #fff0ce; }
.productionCalendarEvent.compact.event-production.status-blocked { color: #9e1520; background: #ffe2e4; }
.productionCalendarEvent.compact.event-production.status-ready { color: #174b85; background: #e4efff; }
.productionCalendarEvent.compact.event-production.status-done { color: #17643c; background: #dff5e9; }
.productionCalendarCompactStatus { flex: 0 0 auto; margin-left: 5px; padding: 2px 4px; border-radius: 4px; color: inherit; background: rgba(255,255,255,.58); font-size: 5.7px; font-style: normal; font-weight: 900; letter-spacing: .035em; line-height: 1; text-transform: uppercase; }

.productionCalendarEvent.compact.event-production.status-planning.segment-start,
.productionCalendarEvent.compact.event-production.status-planning.segment-middle,
.productionCalendarEvent.compact.event-production.status-planning.segment-end,
.productionCalendarEvent.compact.event-production.status-planning.segment-single { color: #fff; background: #858891; }
.productionCalendarEvent.compact.event-production.status-in-progress.segment-start,
.productionCalendarEvent.compact.event-production.status-in-progress.segment-middle,
.productionCalendarEvent.compact.event-production.status-in-progress.segment-end,
.productionCalendarEvent.compact.event-production.status-in-progress.segment-single { color: #fff; background: #df9414; }
.productionCalendarEvent.compact.event-production.status-blocked.segment-start,
.productionCalendarEvent.compact.event-production.status-blocked.segment-middle,
.productionCalendarEvent.compact.event-production.status-blocked.segment-end,
.productionCalendarEvent.compact.event-production.status-blocked.segment-single { color: #fff; background: repeating-linear-gradient(135deg,#d92532 0,#d92532 8px,#c81724 8px,#c81724 14px); }
.productionCalendarEvent.compact.event-production.status-ready.segment-start,
.productionCalendarEvent.compact.event-production.status-ready.segment-middle,
.productionCalendarEvent.compact.event-production.status-ready.segment-end,
.productionCalendarEvent.compact.event-production.status-ready.segment-single { color: #fff; background: #3478c7; }
.productionCalendarEvent.compact.event-production.status-done.segment-start,
.productionCalendarEvent.compact.event-production.status-done.segment-middle,
.productionCalendarEvent.compact.event-production.status-done.segment-end,
.productionCalendarEvent.compact.event-production.status-done.segment-single { color: #fff; background: #33825a; }
.productionCalendarEvent.compact.segment-start .productionCalendarCompactStatus,
.productionCalendarEvent.compact.segment-middle .productionCalendarCompactStatus,
.productionCalendarEvent.compact.segment-end .productionCalendarCompactStatus,
.productionCalendarEvent.compact.segment-single .productionCalendarCompactStatus { background: rgba(0,0,0,.14); }

.productionCalendarAgenda .productionCalendarEvent.event-production.status-planning > i { background: #8b8d96; }
.productionCalendarAgenda .productionCalendarEvent.event-production.status-in-progress > i { background: #e69a18; }
.productionCalendarAgenda .productionCalendarEvent.event-production.status-blocked > i { background: #d92532; }
.productionCalendarAgenda .productionCalendarEvent.event-production.status-ready > i { background: #3478c7; }
.productionCalendarAgenda .productionCalendarEvent.event-production.status-done > i { background: #33825a; }

@media (max-width:767px) {
  .productionCalendarCompactStatus { margin-left: 2px; padding: 1px 2px; font-size: 4.8px; }
}

@keyframes productionCalendarMobileSheetIn {
  from { opacity: .2; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .productionCalendarMonth,.productionCalendarLayout .productionUnscheduled { animation: none !important; }
  .productionCalendarCellAdd { transition: none !important; }
}

/* Brand deals v2 — the deadline, linked video, and exact outputs stay obvious. */
.productionDealDeliverableSummary { display: flex; flex-wrap: wrap; gap: 5px; min-height: 25px; margin-top: 12px; }
.productionDealDeliverableSummary span { padding: 5px 7px; border: 1px solid #e4e4e8; border-radius: 999px; color: #4f5057; background: #fafafc; font-size: 7px; font-weight: 780; }
.productionDealDeliverableSummary em { color: #9a9ba2; font-size: 8px; font-style: normal; }
.productionDealBrandField input { min-height: 54px !important; font-size: 17px !important; font-weight: 850; letter-spacing: -.025em; }
.productionDealMore { padding: 0; border: 1px solid #e1e1e5; border-radius: 12px; background: #fff; }
.productionDealMore summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 12px; color: #65666e; font-size: 9px; font-weight: 800; cursor: pointer; list-style: none; }
.productionDealMore summary::-webkit-details-marker { display: none; }
.productionDealMore summary::after { margin-left: 8px; content: "+"; font-size: 14px; }
.productionDealMore[open] summary::after { content: "−"; }
.productionDealMore summary span { margin-left: auto; padding: 5px 7px; border-radius: 7px; color: #8d1111; background: #ffe9e9; font-size: 7px; }
.productionDealMore > label { margin: 0 10px 10px; }
.productionDeliverablePicker { display: grid; gap: 12px; margin: 4px -2px 0; padding: 16px; border: 1px solid #dedee3; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(17,17,19,.035); }
.productionDeliverablePicker > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.productionDeliverablePicker > header span { display: block; color: #ed1717; font-size: 7px; font-weight: 900; letter-spacing: .12em; }
.productionDeliverablePicker > header h3 { margin: 4px 0 0; font-size: 17px; letter-spacing: -.035em; }
.productionDeliverablePicker > header p { margin: 0; color: #898a92; font-size: 8px; }
.productionDeliverablePresets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.productionDeliverablePreset { position: relative; min-width: 0; border: 1px solid #e3e3e7; border-radius: 13px; color: #202024; background: #fafafc; transition: border-color .18s ease, box-shadow .2s ease, transform .2s cubic-bezier(.2,.8,.2,1); }
button.productionDeliverablePreset { display: grid; grid-template-columns: 38px minmax(0,1fr) 22px; align-items: center; gap: 9px; width: 100%; min-height: 66px; padding: 10px; font: inherit; text-align: left; cursor: pointer; }
.productionDeliverablePreset:hover { border-color: rgba(237,23,23,.35); box-shadow: 0 9px 20px rgba(17,17,19,.07); transform: translateY(-1px); }
.productionDeliverablePreset.has { border-color: rgba(237,23,23,.28); background: #fff8f8; }
.productionDeliverablePreset i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #fff; background: #171719; font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: -.02em; }
.productionDeliverablePreset:nth-child(3n+1) i { background: linear-gradient(145deg,#171719,#4a4a50); }
.productionDeliverablePreset:nth-child(3n+2) i { background: linear-gradient(145deg,#ed1717,#a90808); }
.productionDeliverablePreset:nth-child(3n+3) i { background: linear-gradient(145deg,#8f1111,#ed1717); }
.productionDeliverablePreset > span,.productionDeliverablePreset > button > span { display: grid; min-width: 0; gap: 3px; }
.productionDeliverablePreset b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.productionDeliverablePreset small { color: #91929a; font-size: 7px; }
.productionDeliverablePreset em { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 8px; color: #ed1717; background: #fff; font-size: 11px; font-style: normal; font-weight: 900; }
.productionDeliverablePresetNew > button { display: grid; grid-template-columns: 38px minmax(0,1fr) 22px; align-items: center; gap: 9px; width: 100%; min-height: 66px; padding: 10px; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.productionDeliverablePresetNew > div { display: none; grid-template-columns: 34px 1fr 34px; align-items: center; margin: 0 8px 8px; overflow: hidden; border: 1px solid #efcaca; border-radius: 9px; background: #fff; }
.productionDeliverablePresetNew.has > div { display: grid; }
.productionDeliverablePresetNew > div button { height: 32px; border: 0; color: #ed1717; background: transparent; font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
.productionDeliverablePresetNew > div b { text-align: center; }
.productionDeliverables > header > b { min-width: 40px; text-align: right; }
.productionDeliverableList { gap: 9px; }
.productionDeliverableRow { grid-template-columns: 42px minmax(145px,1fr) 105px 120px 130px 45px 30px; align-items: center; gap: 8px; padding: 11px; border-radius: 14px; box-shadow: 0 5px 15px rgba(17,17,19,.025); transition: border-color .16s ease, opacity .16s ease; }
.productionDeliverableRow.saving { opacity: .68; border-color: rgba(237,23,23,.25); }
.productionDeliverableType { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; color: #fff; background: #7f818a; font-size: 8px; font-weight: 900; }
.productionDeliverableType.status-in-progress { background: #ed1717; }
.productionDeliverableType.status-submitted { color: #563e00; background: #f0c84c; }
.productionDeliverableType.status-approved { background: #238553; }
.productionDeliverableRow input,.productionDeliverableRow select { height: 38px; font-size: 9px; }
.productionDeliverableTitle input { border-color: transparent; background: transparent; font-size: 10px; font-weight: 800; }
.productionDeliverableTitle input:hover,.productionDeliverableTitle input:focus { border-color: #dedee2; background: #fff; }
.productionDeliverableQuantity { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; height: 38px; overflow: hidden; border: 1px solid #dedee2; border-radius: 9px; background: #fff; }
.productionDeliverableQuantity button { height: 100%; border: 0; color: #ed1717; background: transparent; font: inherit; font-size: 14px; font-weight: 850; cursor: pointer; }
.productionDeliverableQuantity button:hover { background: #fff0f0; }
.productionDeliverableQuantity b { text-align: center; font-size: 10px; }
.productionDeliverableSaveState { color: #898a92; font-size: 7px; font-weight: 760; text-align: center; }
.productionDeliverableDelete { width: 30px; height: 30px; }
.productionCustomDeliverable { margin-top: 12px; border: 1px dashed #d8d8de; border-radius: 13px; background: #fafafc; }
.productionCustomDeliverable > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 43px; padding: 0 13px; color: #ed1717; font-size: 8px; font-weight: 830; cursor: pointer; list-style: none; }
.productionCustomDeliverable > summary::-webkit-details-marker { display: none; }
.productionAddDeliverable { margin: 0; border: 0; border-top: 1px dashed #d8d8de; border-radius: 0 0 12px 12px; }

@media (max-width:1120px) and (min-width:768px) {
  .productionDeliverablePresets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .productionDeliverableRow { grid-template-columns: 40px minmax(130px,1fr) 95px 110px 30px; }
  .productionDeliverableRow .productionDeliverableDate,.productionDeliverableSaveState { display: none; }
}

@media (max-width:767px) {
  .productionDealBrandField input { font-size: 16px !important; }
  .productionDeliverablePicker { margin: 0; padding: 13px; }
  .productionDeliverablePicker > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .productionDeliverablePresets { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  button.productionDeliverablePreset,.productionDeliverablePresetNew > button { grid-template-columns: 34px minmax(0,1fr) 20px; min-height: 62px; padding: 8px; gap: 7px; }
  .productionDeliverablePreset i { width: 34px; height: 34px; }
  .productionDeliverablePreset b { font-size: 8px; }
  .productionDeliverablePreset small { font-size: 6px; }
  .productionDeliverableRow { grid-template-columns: 38px minmax(0,1fr) 30px !important; align-items: center; padding: 10px; }
  .productionDeliverableType { grid-column: 1; grid-row: 1; width: 37px; height: 37px; }
  .productionDeliverableTitle { grid-column: 2 !important; grid-row: 1 !important; }
  .productionDeliverableDelete { grid-column: 3 !important; grid-row: 1 !important; }
  .productionDeliverableQuantity { grid-column: 1 / 3; grid-row: 2; }
  .productionDeliverableStatus { grid-column: 3; grid-row: 2; }
  .productionDeliverableDate { grid-column: 1 / 4 !important; grid-row: 3; }
  .productionDeliverableSaveState { grid-column: 1 / 4; grid-row: 4; text-align: right; }
  .productionAddDeliverable { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .productionDeliverablePreset,.productionDeliverableRow { transition: none !important; transform: none !important; }
}
