.supplier-page { --supplier-ink: #102d23; --supplier-green: #078546; --supplier-line: #dce9e1; }
.supplier-page main { padding-top: 94px; color: var(--supplier-ink); }
.supplier-hero { padding: 64px 0 52px; background: radial-gradient(ellipse at 82% 26%, #d9efe3, transparent 68%), #f4f8f5; }
.supplier-hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(24px, 4vw, 64px); }
.supplier-page h1 { margin: 12px 0 18px; font-size: clamp(27px, 3.1vw, 38px); line-height: 1.24; }
.supplier-page h2 { max-width: 900px; margin: 10px 0 20px; font-size: clamp(22px, 2.45vw, 30px); line-height: 1.3; }
.supplier-page h3 { margin: 9px 0 6px; font-size: 17px; line-height: 1.4; }
.supplier-lead, .supplier-cards p, .supplier-scenes p { color: #52685d; line-height: 1.75; }
.supplier-lead { max-width: 740px; margin: 0 0 22px; }
.supplier-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.supplier-actions .button { border-radius: 9px; }
.supplier-hero .button-secondary { color: #0b633e; border: 1px solid #94b8a6; background: #fff; }
.supplier-page .page-cta .button-secondary { color: #fff; border: 1px solid #a8d7c1; background: transparent; }
.supplier-page .carbon-platform-tags { margin-top: 17px; }
.supplier-band { padding: 44px 0; background: white; scroll-margin-top: 112px; }
.supplier-band:nth-child(odd) { background: #f3f7f5; }
.supplier-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.supplier-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.supplier-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supplier-cards article { border: 1px solid var(--supplier-line); border-radius: 10px; padding: 18px; background: white; }
.supplier-cards small { color: var(--supplier-green); font-weight: 700; }
.supplier-cards p, .supplier-scenes p { margin: 0; font-size: 13px; }
.supplier-flow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; counter-reset: stage; list-style: none; margin: 0; padding: 0; }
.supplier-flow li { counter-increment: stage; padding: 14px 12px; background: white; border-top: 2px solid #20945c; border-radius: 5px; }
.supplier-flow li::before { content: counter(stage, decimal-leading-zero); color: var(--supplier-green); font-size: 12px; font-weight: 700; }
.supplier-flow strong, .supplier-flow span { display: block; margin-top: 7px; }
.supplier-flow span { color: #52685d; font-size: 12px; }
.supplier-loop { margin: 16px 0 0; color: #087748; font-weight: 700; }
.supplier-board { min-width: 0; border: 1px solid #2b7160; border-radius: 15px; padding: clamp(13px, 2.2vw, 25px); background: linear-gradient(145deg, #0c4238, #062923); color: #e8fcf2; box-shadow: 0 18px 40px #123d2b20; }
.supplier-board-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #4d85766b; }
.supplier-board-head span { color: #a7d9c4; font-size: 11px; white-space: nowrap; }
.supplier-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.supplier-kpis div { padding: 10px; border: 1px solid #4d85766b; border-radius: 6px; background: #8fd9bb0d; }
.supplier-kpis strong, .supplier-kpis span { display: block; }
.supplier-kpis strong { color: #80edbb; font-size: 25px; }
.supplier-kpis span { color: #c4e9da; font-size: 11px; }
.supplier-table-wrap { overflow-x: auto; }
.supplier-board table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
.supplier-board-wide table { min-width: 690px; }
.supplier-board :is(th, td) { padding: 9px 7px; border-bottom: 1px solid #4d85766b; }
.supplier-board thead { color: #b5dbcc; background: #78d2af12; }
.supplier-status { display: inline-block; padding: 3px 6px; border-radius: 4px; background: #1a614b; color: #c8ffe4; white-space: nowrap; }
.supplier-status.is-due { background: #554827; color: #ffe7a6; }
.supplier-example-note { margin: 12px 0 0; color: #a8ccbe; font-size: 11px; }
.supplier-trend { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; padding: 12px; border: 1px solid #4d85766b; border-radius: 6px; }
.supplier-trend p { margin: 5px 0 0; color: #b5dbcc; font-size: 12px; }
.supplier-trend svg { width: min(30%, 220px); fill: none; stroke: #6ee5b0; stroke-width: 2; }
.supplier-trend polyline + polyline { stroke: #f1ca77; }
.supplier-scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.supplier-scenes article { padding: 18px; border-radius: 10px; background: #eaf5ee; }
@media (max-width: 960px) {
  .supplier-page main { padding-top: 72px; }
  .supplier-hero-grid { grid-template-columns: 1fr; }
  .supplier-cards, .supplier-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .supplier-hero { padding: 34px 0; }
  .supplier-band { padding: 32px 0; }
  .supplier-cards, .supplier-flow, .supplier-scenes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supplier-cards article, .supplier-scenes article { padding: 13px; }
  .supplier-trend { flex-direction: column; align-items: flex-start; }
  .supplier-trend svg { width: min(100%, 220px); }
}
