.campaign-parent-field {
  display: grid;
  gap: 6px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.campaign-parent-field > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.campaign-parent-field > span i {
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.campaign-parent-field > small { color: var(--muted); font-size: 9px; line-height: 1.45; }

.campaign-family-meta {
  display: flex;
  grid-column: 1;
  grid-row: auto;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-top: 4px;
  color: #5d7363;
  font-size: 8px;
}

.campaign-family-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  padding: 2px 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3e9;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campaign-family-parent { max-width: 220px; }
.campaign-family-parent i { flex: 0 0 auto; font-style: normal; }

.campaign-parent-context {
  display: inline-grid;
  grid-template-columns: auto minmax(0, auto) auto;
  align-items: center;
  gap: 8px;
  max-width: min(100%, 560px);
  margin-top: 10px;
  padding: 7px 9px;
  border: 1px solid #dbe5d8;
  border-radius: 8px;
  background: #f5f8f2;
}

.campaign-parent-context > span:nth-child(2) { display: grid; min-width: 0; }
.campaign-parent-context small { color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.campaign-parent-context button { min-width: 0; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--green); font: inherit; font-size: 10px; font-weight: 800; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.campaign-parent-context em { margin-top: 2px; color: #9a6849; font-size: 8px; font-style: normal; }
.campaign-parent-context .campaign-parent-unlink { align-self: stretch; padding-left: 8px; border-left: 1px solid #dbe5d8; color: var(--muted); font-size: 8px; font-weight: 700; }
.campaign-parent-branch { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: #e3ede0; color: #42664d; font-weight: 850; }

.robust-campaign > .campaign-hierarchy-panel { order: 4; width: 100%; margin: 0 0 14px; padding: 0; overflow: hidden; }
.robust-campaign > .campaign-at-a-glance { order: 5; }
.robust-campaign > .campaign-notes { order: 6; }
.robust-campaign > .campaign-task-panel { order: 7; }
.robust-campaign > .campaign-discussion { order: 8; }
.robust-campaign > .campaign-danger-zone { order: 9; }

.campaign-hierarchy-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 66px;
  padding: 13px 17px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, #fbfcf9 0%, #f4f7f1 100%);
}

.campaign-hierarchy-panel > header h2 { margin: 2px 0 0; font-size: 15px; }
.campaign-hierarchy-panel > header p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.campaign-hierarchy-panel > header > span { display: grid; place-items: center; min-width: 29px; height: 29px; padding: 0 7px; border-radius: 9px; background: #e5eee1; color: #42664d; font-size: 10px; font-weight: 850; }

.subcampaign-list { display: grid; }
.subcampaign-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--line);
}

.subcampaign-branch { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: #edf3e9; color: #4d7258; font-weight: 850; }
.subcampaign-row > button[data-action="full-plan"] { display: grid; min-width: 0; padding: 4px 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.subcampaign-row > button strong,
.subcampaign-row > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.subcampaign-row > button strong { font-size: 11px; }
.subcampaign-row > button small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.subcampaign-row > button:hover strong { color: var(--green); }
.subcampaign-warning { padding: 3px 7px; border-radius: 999px; background: #f8eee7; color: #8b5d42; font-size: 7px; font-weight: 750; white-space: nowrap; }
.subcampaign-unlink { padding: 4px 6px; border: 0; background: transparent; color: var(--muted); font-size: 8px; font-weight: 700; cursor: pointer; }
.subcampaign-unlink:hover { color: #9b5b48; }
.subcampaign-empty { padding: 18px 17px; color: var(--muted); font-size: 9px; }

.subcampaign-add {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
  gap: 8px;
  padding: 11px 16px;
  background: #fafbf8;
}

.subcampaign-add label { display: grid; gap: 5px; margin: 0; color: var(--muted); font-size: 8px; font-weight: 700; }
.subcampaign-add select { min-height: 34px !important; height: 34px !important; margin: 0 !important; padding-top: 4px !important; padding-bottom: 4px !important; background-color: #fff !important; }
.subcampaign-add .button { min-height: 34px; height: 34px; margin: 0; padding: 4px 10px; font-size: 8px; }

.portfolio-gantt-label { display: flex; align-items: center; gap: 8px; }
.portfolio-gantt-label > span { min-width: 0; }
.portfolio-branch,
.campaign-list-branch { flex: 0 0 auto; color: #5a7c63; font-style: normal; font-weight: 900; }
.portfolio-gantt-row:not([data-hierarchy-depth="0"]) { background: #fbfcfa; }
.portfolio-gantt-row[data-hierarchy-depth="1"] .portfolio-gantt-label { padding-left: 16px; }
.portfolio-gantt-row[data-hierarchy-depth="2"] .portfolio-gantt-label { padding-left: 32px; }
.portfolio-gantt-row[data-hierarchy-depth="3"] .portfolio-gantt-label,
.portfolio-gantt-row[data-hierarchy-depth="4"] .portfolio-gantt-label { padding-left: 48px; }
.portfolio-tbd button.is-subcampaign { padding-left: 16px; background: #fbfcfa; }
.portfolio-tbd button.is-subcampaign strong > i { color: #5a7c63; font-style: normal; }

.campaign-list-title { display: flex; align-items: center; gap: 8px; }
.campaign-list-title > span { display: block; min-width: 0; }
.campaign-list-row:not([data-hierarchy-depth="0"]) { background: #fbfcfa; }
.campaign-list-row[data-hierarchy-depth="1"] .campaign-list-title { padding-left: 16px; }
.campaign-list-row[data-hierarchy-depth="2"] .campaign-list-title { padding-left: 32px; }
.campaign-list-row[data-hierarchy-depth="3"] .campaign-list-title,
.campaign-list-row[data-hierarchy-depth="4"] .campaign-list-title { padding-left: 48px; }

@media (min-width: 901px) {
  .campaign-group-body > .campaign-item .campaign-family-meta { grid-column: 1; grid-row: 3; }
  .campaign-group-body > .campaign-item .campaign-open > div:has(.campaign-family-meta) { grid-template-rows: auto auto auto; }
}

@media (max-width: 700px) {
  .campaign-parent-context { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; width: 100%; }
  .campaign-hierarchy-panel > header { min-height: 60px; padding: 12px 14px; }
  .campaign-hierarchy-panel > header p { max-width: 250px; }
  .subcampaign-row { grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; padding: 9px 13px; }
  .subcampaign-warning { grid-column: 2; justify-self: start; }
  .subcampaign-unlink { grid-column: 3; grid-row: 1 / span 2; }
  .subcampaign-add { grid-template-columns: 1fr; padding: 12px 13px; }
  .subcampaign-add .button { width: 100%; }
  .portfolio-gantt-row[data-hierarchy-depth="1"] .portfolio-gantt-label { padding-left: 10px; }
  .portfolio-gantt-row[data-hierarchy-depth="2"] .portfolio-gantt-label { padding-left: 20px; }
  .portfolio-gantt-row[data-hierarchy-depth="3"] .portfolio-gantt-label,
  .portfolio-gantt-row[data-hierarchy-depth="4"] .portfolio-gantt-label { padding-left: 30px; }
  .campaign-list-row[data-hierarchy-depth="1"] .campaign-list-title { padding-left: 8px; }
  .campaign-list-row[data-hierarchy-depth="2"] .campaign-list-title { padding-left: 16px; }
  .campaign-list-row[data-hierarchy-depth="3"] .campaign-list-title,
  .campaign-list-row[data-hierarchy-depth="4"] .campaign-list-title { padding-left: 24px; }
}

@media print {
  .subcampaign-add,
  .subcampaign-unlink,
  .campaign-parent-unlink { display: none !important; }
}
