:root {
  --pc-ink: #eef6f2;
  --pc-muted: #a9b9b2;
  --pc-panel: rgba(8, 14, 16, .68);
  --pc-glass: rgba(9, 16, 20, .54);
  --pc-line: rgba(213, 228, 221, .16);
  --pc-brand: #b42d3a;
  --pc-green: #40b889;
  --pc-cyan: #5aa7c8;
  --pc-amber: #d7a348;
  --pc-shadow: 0 18px 46px rgba(0, 0, 0, .36);
}

.pc-audit-root {
  position: fixed;
  inset: 0;
  z-index: 760;
  overflow: hidden;
  color: var(--pc-ink);
  background: #020305;
  font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
}

.pc-audit-space,
.pc-audit-graph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.pc-audit-space { z-index: 1; }
.pc-audit-graph { z-index: 4; }

.pc-audit-vignette {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 58% 42%, rgba(90, 167, 200, .16), transparent 22%),
    radial-gradient(circle at 38% 58%, rgba(180, 45, 58, .12), transparent 20%),
    linear-gradient(180deg, rgba(4, 8, 10, .1), rgba(2, 3, 5, .92));
}

.pc-audit-watermark {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%) rotate(-9deg);
  border: 1px solid rgba(215,163,72,.18);
  color: rgba(215,163,72,.13);
  padding: 14px 26px;
  font-size: 34px;
  font-weight: 900;
  white-space: nowrap;
  pointer-events: none;
}

.pc-audit-boundary,
.pc-audit-kpis,
.pc-audit-drawer,
.pc-audit-chain,
.pc-audit-legend,
.pc-audit-rail button {
  border: 1px solid var(--pc-line);
  background: var(--pc-glass);
  box-shadow: var(--pc-shadow);
  backdrop-filter: blur(18px) saturate(140%);
}

.pc-audit-boundary {
  position: absolute;
  z-index: 10;
  top: 86px;
  left: 50%;
  width: min(920px, calc(100% - 160px));
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 12px;
  border-left: 4px solid var(--pc-amber);
  color: #c8b982;
  transform: translateX(-50%);
}
.pc-audit-boundary strong { color: #fff4c7; font-size: 12px; white-space: nowrap; }
.pc-audit-boundary span { font-size: 12px; }

.pc-audit-kpis {
  position: absolute;
  z-index: 10;
  top: 138px;
  left: 50%;
  width: min(780px, calc(100% - 240px));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 8px;
  transform: translateX(-50%);
}
.pc-audit-kpis div { min-width: 0; padding: 9px 11px; border-right: 1px solid var(--pc-line); }
.pc-audit-kpis div:last-child { border-right: 0; }
.pc-audit-kpis span { display: block; color: var(--pc-muted); font-size: 10px; }
.pc-audit-kpis strong { display: block; margin-top: 3px; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }

.pc-audit-title {
  position: absolute;
  z-index: 7;
  left: 92px;
  top: 214px;
  max-width: 410px;
  display: grid;
  gap: 4px;
  padding-left: 12px;
  border-left: 3px solid var(--pc-cyan);
  pointer-events: none;
}
.pc-audit-title span { color: var(--pc-cyan); font-size: 11px; font-weight: 900; }
.pc-audit-title strong { color: #fff; font-size: 25px; line-height: 1.15; text-shadow: 0 6px 22px rgba(0,0,0,.65); }
.pc-audit-title small { color: var(--pc-muted); font-size: 12px; }

.pc-audit-rail { position: absolute; z-index: 12; top: 158px; left: 18px; display: grid; gap: 9px; }
.pc-audit-rail button { width: 42px; height: 42px; border-radius: 8px; color: var(--pc-ink); font-size: 16px; font-weight: 900; }
.pc-audit-rail button.active { border-color: rgba(64,184,137,.72); background: rgba(24,53,45,.68); color: #fff; }

.pc-audit-drawer {
  position: absolute;
  z-index: 11;
  top: 86px;
  bottom: 24px;
  width: 336px;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 220ms ease, opacity 220ms ease;
}
.pc-audit-drawer-left { left: 72px; transform: translateX(-430px); }
.pc-audit-drawer-right { right: 18px; transform: translateX(430px); }
.pc-audit-drawer.open { transform: translateX(0); opacity: 1; }
.pc-audit-drawer:not(.open) { opacity: .15; pointer-events: none; }
.pc-audit-drawer-head { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 13px 14px; border-bottom: 1px solid var(--pc-line); background: rgba(5, 9, 11, .36); }
.pc-audit-drawer-head span { color: var(--pc-green); font-size: 11px; font-weight: 900; }
.pc-audit-drawer-head strong { display: block; margin-top: 2px; color: #fff; font-size: 16px; }
.pc-audit-drawer-head button { height: 30px; border: 1px solid var(--pc-line); border-radius: 6px; background: rgba(19,32,30,.68); color: var(--pc-ink); }
.pc-audit-drawer-body { height: calc(100% - 60px); overflow-y: auto; padding: 12px; }

.pc-audit-org-node { margin-bottom: 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: rgba(16,27,26,.62); overflow: hidden; }
.pc-audit-org-node[open] { border-color: rgba(64,184,137,.44); background: rgba(23,49,41,.58); }
.pc-audit-org-node summary { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 9px 10px; list-style: none; cursor: pointer; color: #fff; font-weight: 900; }
.pc-audit-org-node summary::-webkit-details-marker { display: none; }
.pc-audit-org-node summary::before { content: "+"; display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid var(--pc-line); border-radius: 5px; color: var(--pc-green); }
.pc-audit-org-node[open] > summary::before { content: "-"; }
.pc-audit-org-meta { padding: 0 10px 11px 36px; color: var(--pc-muted); font-size: 11px; }
.pc-audit-org-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 0 10px 11px 36px; }
.pc-audit-org-metrics div, .pc-audit-detail-grid div { padding: 8px; border-radius: 6px; background: rgba(7,13,15,.66); }
.pc-audit-org-metrics span, .pc-audit-detail-grid span { display: block; color: var(--pc-muted); font-size: 10px; }
.pc-audit-org-metrics strong, .pc-audit-detail-grid strong { display: block; margin-top: 3px; color: #fff; font-size: 13px; }

.pc-audit-detail-title { color: #fff; font-size: 19px; font-weight: 900; line-height: 1.25; }
.pc-audit-token { margin: 6px 0 12px; color: var(--pc-cyan); font-size: 11px; overflow-wrap: anywhere; }
.pc-audit-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-bottom: 12px; background: var(--pc-line); }
.pc-audit-field { display: grid; grid-template-columns: 92px 1fr; gap: 9px; padding: 9px 0; border-bottom: 1px solid rgba(213,228,221,.12); }
.pc-audit-field label { color: var(--pc-muted); font-size: 11px; }
.pc-audit-field div { overflow-wrap: anywhere; color: #dbe5f1; font-size: 12px; }
.pc-audit-notice { margin-top: 12px; padding: 10px; border-left: 3px solid var(--pc-brand); border-radius: 6px; background: rgba(36,7,12,.62); color: #ffc7ce; font-size: 12px; }

.pc-audit-chain {
  position: absolute;
  z-index: 10;
  left: 50%;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(900px, calc(100% - 180px));
  min-height: 54px;
  padding: 8px;
  border-radius: 8px;
  transform: translateX(-50%);
}
.pc-audit-step { flex: 1 1 0; min-width: 0; min-height: 38px; display: grid; place-items: center; border: 1px solid rgba(213,228,221,.12); border-radius: 6px; background: rgba(255,255,255,.04); color: var(--pc-ink); font: inherit; font-weight: 900; }
.pc-audit-step.active { border-color: rgba(90,167,200,.86); background: rgba(19,40,43,.72); color: #fff; }
.pc-audit-step i { width: 8px; height: 8px; margin-bottom: 4px; border-radius: 50%; background: var(--step-color); box-shadow: 0 0 12px var(--step-color); }

.pc-audit-legend { position: absolute; z-index: 9; right: 18px; bottom: 92px; display: flex; gap: 8px; padding: 7px 9px; border-radius: 7px; color: var(--pc-muted); font-size: 11px; }
.pc-audit-legend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.pc-audit-legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
