.m365-publication-stage {
  grid-column: 2 / 4;
  min-width: 0;
  min-height: 0;
  padding: 22px;
  overflow: auto;
  background: #e5eef1;
}

.m365-publication {
  display: grid;
  gap: 16px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 22px;
  color: #173b4a;
  background: #fff;
  border: 1px solid #c4d5da;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgb(9 44 63 / 8%);
}

.m365-publication__heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.m365-publication__heading h2 { margin: 0; color: #102f40; font-size: 20px; }
.m365-publication__intro, .m365-publication__message { margin: 0; color: #58727d; font-size: 12px; line-height: 1.5; }
.m365-publication__message[data-tone="error"] { color: #a94135; }
.m365-publication__message[data-tone="ready"] { color: #14736c; }

.m365-publication__badge {
  flex: none;
  padding: 6px 9px;
  color: #31515b;
  background: #eef5f6;
  border: 1px solid #c4d5da;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
}

.m365-publication__badge[data-state="Approved"] { color: #12645e; background: #e2f4f1; border-color: #9fd3cc; }
.m365-publication__badge[data-state="Rejected"] { color: #91392f; background: #fff0ed; border-color: #e7b9b2; }

.m365-publication__change {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.m365-publication__change > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  background: #f7fafb;
  border: 1px solid #d1dfe3;
  border-radius: 8px;
}

.m365-publication__change span, .m365-publication dt {
  color: #718993;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.m365-publication__change strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.4; }
.m365-publication__change > div:last-child { background: #eef8f7; border-color: #afd8d3; }

.m365-publication__facts, .m365-publication__hashes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 0;
}

.m365-publication__facts div, .m365-publication__hashes div { min-width: 0; }
.m365-publication dd {
  overflow: hidden;
  margin: 3px 0 0;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m365-publication dd[data-field="requesterDisplay"],
.m365-publication dd[data-field="approverDisplay"] {
  overflow: visible;
  font-family: inherit;
  font-size: 12px;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.m365-publication details { padding: 11px 12px; background: #f7fafb; border: 1px solid #d1dfe3; border-radius: 8px; }
.m365-publication summary { color: #176b66; cursor: pointer; font-size: 11px; font-weight: 750; }
.m365-publication__hashes { margin-top: 12px; }

.m365-publication__controls, .m365-publication__decision {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
}

.m365-publication__decision label { display: grid; flex: 1 1 280px; gap: 4px; color: #607983; font-size: 10px; font-weight: 700; }
.m365-publication__decision input { min-height: 34px; padding: 7px 9px; color: #173b4a; border: 1px solid #b9cdd3; border-radius: 6px; }
.m365-publication button, .m365-publication__controls a {
  min-height: 34px;
  padding: 7px 11px;
  color: #fff;
  background: #0d746d;
  border: 1px solid #0b655f;
  border-radius: 6px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.m365-publication button.secondary, .m365-publication__controls a { color: #31515b; background: #eef5f6; border-color: #b9cdd3; }
.m365-publication button.danger { color: #8b342b; background: #fff0ed; border-color: #dfafa8; }
.m365-publication button:disabled { cursor: not-allowed; opacity: .5; }

@media (max-width: 1320px) {
  .m365-publication__facts, .m365-publication__hashes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Portal monochrome theme. */
.m365-publication__message[data-tone="ready"]{color:#555}
.m365-publication__badge[data-state="Approved"]{color:#444;background:#f0f0f0;border-color:#aaa}
.m365-publication button,.m365-publication__controls a{background:#111;border-color:#111}
