.pm-display {
  --pm-bg: #070809; --pm-panel: #101216; --pm-panel2: #171a20; --pm-edge: #3d4148;
  --pm-text: #f6f5ef; --pm-muted: #aeb4bd; --pm-orange: #ff711c; --pm-hot: #ffb45b;
  position: relative; isolation: isolate; overflow: hidden; padding: 0 clamp(.7rem, 2.3vw, 1.6rem) 1rem;
  color: var(--pm-text); background: radial-gradient(ellipse at 51% -35%, #3a271f 0, #12141a 40%, #070809 78%);
  border: 1px solid #55565b; border-radius: .35rem; box-shadow: 0 1rem 2.5rem #0009, 0 1px #ffffff26 inset;
  font-family: Inter, "Segoe UI", sans-serif;
}
.pm-display::before {
  content: ""; position: absolute; inset: 0 auto auto 17%; width: 65%; height: 1px;
  background: linear-gradient(90deg, transparent, #ff711c, transparent); pointer-events: none;
}
.pm-display h2, .pm-display h3, .pm-display p, .pm-display ul { margin: 0; }
.pm-display a { color: var(--pm-text); }
.pm-kicker { font: 700 .64rem/1.35 "IBM Plex Mono", Consolas, monospace; letter-spacing: .16em; color: var(--pm-orange); }
.pm-shift-band { height: .62rem; display: grid; grid-template-columns: repeat(15, 1fr); gap: .2rem; margin: .78rem -.12rem .9rem; }
.pm-shift-band span { background: #55575b; clip-path: polygon(8% 0, 100% 0, 90% 100%, 0 100%); }
.pm-shift-band span:nth-child(-n+7) { background: #8c613e; }
.pm-shift-band span:nth-child(n+8):nth-child(-n+12) { background: var(--pm-orange); }
.pm-shift-band span:nth-child(n+13) { background: var(--pm-hot); box-shadow: 0 0 .55rem #ff711c; }
.pm-grid { display: grid; grid-template-columns: 1.36fr 1fr 1fr; gap: .55rem; align-items: stretch; }
.pm-card { min-width: 0; min-height: 18.2rem; display: flex; flex-direction: column; position: relative; padding: .95rem .9rem .8rem;
  background: linear-gradient(155deg, #20232a, #101216 40%, #0d0f12); border: 1px solid #50535a;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
  box-shadow: inset 0 1px #ffffff19; }
.pm-card::before { content: ""; position: absolute; top: 0; left: 0; height: .24rem; width: 40%; background: var(--pm-orange); }
.pm-card-social::before { background: #68717c; }
.pm-card-top { display: flex; align-items: center; gap: .45rem; min-height: 3.15rem; }
.pm-card-top > div { min-width: 0; }
.pm-card h3 { font-size: .91rem; line-height: 1.2; letter-spacing: -.025em; }
.pm-state { margin-left: auto; align-self: flex-start; white-space: nowrap; font: 700 .62rem/1.3 "IBM Plex Mono", Consolas, monospace;
  letter-spacing: .055em; text-transform: uppercase; color: #f9c387; border: 1px solid #805c3c; padding: .27rem .36rem; }
.pm-tone-good .pm-state { color: #b8ebc5; border-color: #537562; }
.pm-tone-neutral .pm-state { color: #c2c7cd; border-color: #666e77; }
.pm-tone-danger .pm-state { color: #ffc2b6; border-color: #9d574d; }
.pm-reading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .65rem; padding: 1rem 0 .55rem; border-bottom: 1px solid #373a3f; }
.pm-reading strong { font: 650 clamp(2.1rem, 4.7vw, 4.2rem)/.9 "IBM Plex Mono", Consolas, monospace;
  letter-spacing: -.105em; font-variant-numeric: tabular-nums; color: var(--pm-text); }
.pm-card-audit .pm-reading strong { font-size: clamp(3.1rem, 6vw, 5.5rem); }
.pm-reading span { font: 600 .7rem/1.25 "IBM Plex Mono", Consolas, monospace; text-transform: uppercase;
  letter-spacing: .055em; color: var(--pm-muted); }
.pm-coverage { margin-top: .72rem; }
.pm-coverage-label { display: flex; gap: .5rem; justify-content: space-between; color: var(--pm-muted);
  font: .65rem/1.35 "IBM Plex Mono", Consolas, monospace; text-transform: uppercase; letter-spacing: .035em; }
.pm-coverage-label strong { color: var(--pm-text); text-align: right; font-weight: 600; }
.pm-ribbon { display: block; width: 100%; height: 1.3rem; margin-top: .36rem; overflow: visible; }
.pm-ribbon-track { fill: #4a4d52; }
.pm-ribbon-active { fill: var(--pm-orange); filter: drop-shadow(0 0 3px #ff711c80); }
.pm-detail { margin-top: .55rem !important; color: #e4e3df; font-size: .78rem; min-height: 2.5rem; }
.pm-card-foot { margin-top: auto; padding-top: .65rem; border-top: 1px solid #34373c; display: flex; gap: .45rem; justify-content: space-between; align-items: end; }
.pm-card-foot p { color: var(--pm-muted); font: .59rem/1.4 "IBM Plex Mono", Consolas, monospace; text-transform: uppercase; letter-spacing: .045em; }
.pm-card-foot p span { display: inline-block; color: var(--pm-text); font-size: .68rem; text-transform: none; letter-spacing: 0; margin-top: .18rem; }
.pm-investigate { text-decoration: none; white-space: nowrap; font: 700 .65rem/1.3 "IBM Plex Mono", Consolas, monospace; text-transform: uppercase; letter-spacing: .045em; }
.pm-investigate b { color: var(--pm-orange); font-size: 1rem; }
.pm-investigate:hover, .pm-alert a:hover { color: var(--pm-hot); text-decoration: underline; }
.pm-priority { display: flex; align-items: center; gap: .55rem 1rem; flex-wrap: wrap; margin-top: .6rem;
  padding: .7rem .85rem; border: 1px solid #4a4d51; border-left: .2rem solid var(--pm-orange);
  background: linear-gradient(90deg, #25201c, #0b0d10); }
.pm-priority.pm-alert-high, .pm-priority.pm-alert-critical { border-left-color: #ffb6a0; }
.pm-priority span { color: var(--pm-hot); font: 700 .62rem/1.3 "IBM Plex Mono", Consolas, monospace;
  text-transform: uppercase; letter-spacing: .045em; }
.pm-priority strong { min-width: 0; flex: 1 1 15rem; font-size: .83rem; line-height: 1.25; overflow-wrap: anywhere; }
.pm-priority a { margin-left: auto; white-space: nowrap; font: 700 .64rem/1.3 "IBM Plex Mono", Consolas, monospace;
  text-transform: uppercase; text-decoration: none; }
@media (max-width: 59rem) {
  .pm-grid { grid-template-columns: 1fr 1fr; }
  .pm-card-audit { grid-column: 1 / -1; min-height: 15rem; }
  .pm-card-audit .pm-reading { padding-top: .4rem; }
}
@media (max-width: 37rem) {
  .pm-display { padding-inline: .55rem; }
  .pm-grid { grid-template-columns: minmax(0, 1fr); }
  .pm-card, .pm-card-audit { grid-column: auto; min-height: 15.4rem; }
  .pm-card-audit .pm-reading strong { font-size: 3.8rem; }
}
@media (max-width: 21rem) {
  .pm-card-top { flex-wrap: wrap; }
  .pm-state { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .pm-display *, .pm-display *::before, .pm-display *::after { animation: none !important; transition: none !important; } }
@media print { .pm-display { color: #111; background: #fff; box-shadow: none; } .pm-card, .pm-priority { color: #111; background: #fff; } }
