.poc-banner {
  margin: 0 0 1.5rem;
  padding: 1.5rem;
  border: 1px solid #2b617c;
  border-radius: .75rem;
  background: radial-gradient(circle at 15% 30%, #123f58 0, #0b263a 40%, #091a2a 78%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.poc-banner h2 { font-size: 1.5rem; line-height: 1.35; margin: .25rem 0 .55rem; }
.poc-banner p:last-child { max-width: 52rem; color: #bad1dc; margin: 0; }
.primary-run { white-space: nowrap; padding: .8rem 1rem; }
.poc-stats { grid-template-columns: repeat(4, 1fr); }
.value.compact { font-size: 1.25rem !important; margin-top: .7rem !important; }
.flow-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.flow-step { min-height: 8.5rem; padding: 1rem; background: var(--panel); border: 1px solid var(--line); border-radius: .65rem; display: flex; gap: .8rem; }
.flow-step > span { width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border-radius: 50%; background: #14364d; color: #9fe9f8; flex: 0 0 auto; }
.flow-step > div { display: grid; align-content: start; gap: .2rem; }
.flow-step strong { font-size: 1rem; }
.flow-step b { font-size: .9rem; color: var(--amber); }
.flow-step small { color: var(--muted); font-size: .8rem; }
.flow-step.is-done { border-color: #2d6f61; }
.flow-step.is-done > span { background: #173f37; color: #8ce8bd; }
.flow-step.is-done b { color: #8ce8bd; }
.run-time { color: var(--muted); font-size: .8rem; }
.poc-split { margin-top: 1.5rem; }
.decision-card, .boundary-card { padding: 1.25rem; }
.decision-card .section-head, .boundary-card .section-head { margin: 0 0 .75rem; }
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.check-list li { display: grid; gap: .15rem; padding-top: .7rem; border-top: 1px solid #173248; }
.check-list li:first-child { border: 0; padding-top: 0; }
.check-list span { color: var(--muted); font-size: .9rem; }
.boundary-tags { display: flex; gap: .55rem; flex-wrap: wrap; }
.boundary-tags span { border: 1px solid #3a4554; border-radius: 999px; padding: .35rem .65rem; color: #b6c4cc; background: #111e2a; font-size: .82rem; }
.external-notice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.external-notice .button { white-space: nowrap; }
.external-notice .button:disabled { opacity: .6; cursor: wait; }
.delivery-layout { display: grid; grid-template-columns: minmax(24rem, 1fr) 24rem; gap: 1.4rem; margin-top: 1.25rem; align-items: start; }
.phone-stage { padding: 1.25rem; background: #091b2b; border: 1px solid var(--line); border-radius: .75rem; }
.phone-frame.wecom-only { width: min(28rem, 100%); height: 43rem; }
.daily-message { max-width: 25rem; }
.daily-lead { font-size: .8rem !important; color: #63737c !important; }
.message-item { display: flex; gap: .55rem; padding: .65rem 0; border-top: 1px solid #e4eaed; }
.message-item > b { width: 1.3rem; height: 1.3rem; border-radius: 50%; background: #d9f2ec; color: #16725e; display: grid; place-items: center; flex: 0 0 auto; font-size: .7rem; }
.message-item strong { font-size: .82rem; line-height: 1.35; display: block; }
.message-item p { font-size: .73rem !important; line-height: 1.45 !important; margin: .2rem 0 !important; color: #4c606b !important; }
.message-item small { font-size: .68rem; line-height: 1.4; color: #788991; }
.risk-note { padding: .7rem; margin: .55rem 0; background: #fff4df; border-left: 3px solid #e19b29; font-size: .75rem; }
.message-link { width: 100%; border: 0; border-top: 1px solid #e4eaed; background: transparent; color: #1f86a0; font: inherit; font-weight: 700; text-align: left; padding: .7rem 0 0; cursor: pointer; }
.delivery-side { display: grid; gap: 1rem; }
.status-card, .boundary-note { padding: 1.2rem; }
.status-card h3, .boundary-note h3 { margin: 0 0 .8rem; }
.status-card dl { margin: 0 0 1rem; display: grid; gap: .65rem; }
.status-card dl div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #173248; padding-top: .55rem; }
.status-card dt { color: var(--muted); }
.status-card dd { margin: 0; text-align: right; }
.boundary-note p { color: #b9cbd3; }
.table-card { padding: 1.2rem; }
.table-card .section-head { margin: 0 0 .8rem; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; min-width: 48rem; }
th, td { text-align: left; padding: .8rem; border-top: 1px solid #173248; vertical-align: top; }
th { color: var(--muted); font-weight: 500; font-size: .8rem; }
td { font-size: .88rem; }
@media (max-width: 950px) {
  .poc-stats { grid-template-columns: repeat(2, 1fr); }
  .delivery-layout { grid-template-columns: 1fr; }
  .delivery-side { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .poc-banner { display: grid; }
  .flow-grid { grid-template-columns: 1fr; }
  .delivery-side { grid-template-columns: 1fr; }
  .run-time { display: none; }
  .phone-stage { padding: .7rem; }
  .phone-frame.wecom-only { height: 40rem; }
  .external-notice { align-items: stretch; flex-direction: column; }
}
@media (max-width: 430px) {
  .poc-stats { grid-template-columns: 1fr; }
  .poc-banner h2 { font-size: 1.25rem; }
  .message-item small { display: none; }
}
