/* Request status uses the same palette on the list and detail dialog. */
.request-status-new { --request-color:#1476a4; --request-bg:#eaf7fc; }
.request-status-reviewing { --request-color:#986000; --request-bg:#fff4dc; }
.request-status-approved { --request-color:#315bb6; --request-bg:#edf1ff; }
.request-status-scheduled { --request-color:#7040b3; --request-bg:#f4edff; }
.request-status-converted { --request-color:#087b7f; --request-bg:#e5f6f4; }
.request-status-completed { --request-color:#187044; --request-bg:#e9f7ee; }
.request-status-rejected { --request-color:#b31c35; --request-bg:#fff0f2; }
.request-status-cancelled,.request-status-unknown { --request-color:#596575; --request-bg:#edf0f4; }
.request-admin-list .job-card.request-status-card {
  border-left:5px solid var(--request-color)!important;
  background:linear-gradient(90deg,var(--request-bg) 0,#fff 32%)!important;
}
.badge.request-status-badge {
  width:max-content;
  border:1px solid var(--request-color)!important;
  background:var(--request-bg)!important;
  color:var(--request-color)!important;
  font-weight:700;
  font-size:12px!important;
  line-height:1.4;
  padding:5px 10px!important;
}

/* Every field attendee has their own icon; supporting/reporting roles stay separate. */
.planning-card.planning-card-daily { gap:10px!important; }
.planning-card-daily .planning-people {
  display:grid;
  gap:9px;
  margin-top:2px;
  padding:12px;
  border:1px solid #e0e7ed;
  border-radius:10px;
  background:#f8fafc;
}
.planning-card-daily .planning-role-row {
  display:grid;
  grid-template-columns:175px minmax(0,1fr);
  align-items:start;
  gap:8px 12px;
  font-size:13px!important;
  line-height:1.5;
}
.planning-card-daily .planning-role-row>b { color:#35495b; }
.planning-card-daily .planning-person-count {
  display:inline-block;
  margin-left:4px;
  color:#126a99;
  white-space:nowrap;
}
.planning-card-daily .planning-person-list { display:flex;flex-wrap:wrap;gap:6px;min-width:0; }
.planning-card-daily .planning-person {
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  padding:4px 9px;
  border:1px solid #cce3f0;
  border-radius:7px;
  color:#24475e;
  background:#eff8fd;
  overflow-wrap:anywhere;
}
.planning-card-daily .planning-support-row .planning-person { border-color:#eadbbb;background:#fff8e8;color:#80591b; }
.planning-card-daily .planning-reporter-row .planning-person { border-color:#ddd3ee;background:#f6f1fc;color:#634596; }
.planning-card-daily .planning-card-meta { display:flex!important;gap:6px 14px!important;font-size:12px!important; }
.planning-card-daily .planning-card-meta>span { display:inline!important;white-space:normal!important; }
.planning-card-daily .planning-site { font-size:16px!important;line-height:1.4!important; }

/* Weekly cards keep work and site visible even on connected multi-day segments. */
.week-grid.aligned-lanes { grid-template-columns:repeat(7,minmax(180px,1fr))!important;overflow-x:auto!important; }
.week-grid .week-day.lane-layout { min-height:calc(78px + max(1,var(--lane-count))*278px)!important; }
.week-grid .week-day.lane-layout>.planning-card.planning-card-weekly[data-lane] {
  top:calc(55px + var(--lane)*278px)!important;
  height:264px!important;
  padding:10px 11px 12px!important;
  gap:5px!important;
  grid-auto-rows:max-content;
  align-content:start;
  overflow:hidden!important;
}
.week-grid .planning-card-weekly .planning-card-head { padding-right:0!important;gap:4px!important;flex-wrap:wrap; }
.week-grid .planning-card-weekly .planning-card-head>div { display:flex!important;flex-wrap:wrap!important;gap:4px!important;overflow:visible!important; }
.week-grid .planning-card-weekly .planning-time { font-size:12px!important;white-space:nowrap!important; }
.week-grid .planning-card-weekly .planning-kind-badge { font-size:9px!important;padding:2px 5px!important; }
.week-grid .planning-card-weekly .planning-job-code { display:block!important;font-size:12px!important;line-height:1.4!important; }
.week-grid .week-day.lane-layout>.planning-card.planning-card-weekly .planning-job-title,
.week-grid .week-day.lane-layout>.planning-card.planning-card-weekly.series-connect-prev .planning-job-title {
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3;
  font-size:12px!important;
  line-height:1.4!important;
  min-height:0!important;
  max-height:51px!important;
  margin:0!important;
  overflow:hidden!important;
}
.week-grid .week-day.lane-layout>.planning-card.planning-card-weekly .planning-site,
.week-grid .week-day.lane-layout>.planning-card.planning-card-weekly.series-connect-prev .planning-site {
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3;
  white-space:normal!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.4!important;
  margin:0!important;
  max-height:47px!important;
  overflow:hidden!important;
}
.week-grid .planning-card-weekly .series-segment-label { display:none!important; }
.week-grid .planning-card-weekly .planning-edit-single { align-self:end;max-width:100%;font-size:10px!important;padding:5px 7px!important; }
@media(max-width:760px) {
  .planning-card-daily .planning-role-row { grid-template-columns:1fr;gap:5px; }
  .planning-card-daily .planning-people { padding:10px; }
  .week-grid.aligned-lanes { grid-template-columns:repeat(7,minmax(230px,1fr))!important; }
}
