/* =====================================================================
 * 03 宠物坐高铁携带 · 独立版式「站台闸机」
 * 紫李色 + 闸机立柱 / 通行灯 / 双仪表 + 可编辑批量表
 * ===================================================================== */
.pb--pr { --pb-a: #6b4f8a; --pb-a-soft: #eee8f5; }
:root[data-theme="dark"] .pb--pr { --pb-a: #bda3de; --pb-a-soft: #2c2438; }

.pr-hero { padding-top: 32px; }
.pr-hero-copy { max-width: 760px; }
.pr-gate { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .78fr); gap: 14px; margin-top: 22px; align-items: stretch; }
.pr-form { border-top: 3px solid var(--pb-a); }
.pr-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pr-switches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
.pr-switches .pb-check { padding: 8px 10px; }

/* 闸机 */
.pr-gateview { background: var(--pb-card); border: 1px solid var(--pb-line2); border-radius: var(--pb-r); box-shadow: var(--pb-shadow-sm); padding: 18px; display: flex; flex-direction: column; }
.pr-gate-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--pb-line2); padding-bottom: 10px; }
.pr-gate-head span { font-family: var(--pb-mono); font-size: 10px; letter-spacing: .16em; color: var(--pb-a); }
.pr-gate-head b { font-size: 15px; }
.pr-gate-svg { width: 100%; height: auto; display: block; margin: 8px 0; }
.pr-gate-pillar { fill: var(--pb-card2); stroke: var(--pb-line); stroke-width: 1.5; }
.pr-gate-flap { fill: var(--pb-a); opacity: .32; transition: opacity .3s, transform .3s; }
.pr-gateview.is-open .pr-gate-flap { opacity: .85; transform: translateY(-14px); }
.pr-gate-floor { stroke: var(--pb-line); stroke-width: 2; stroke-dasharray: 5 5; }
.pr-gate-lamp { fill: var(--pb-brand-soft); stroke: var(--pb-a); stroke-width: 2; transition: fill .3s; }
.pr-gateview.is-open .pr-gate-lamp { fill: var(--pb-ok-soft); stroke: var(--pb-ok); }
.pr-gateview.is-danger .pr-gate-lamp { fill: var(--pb-danger-soft); stroke: var(--pb-danger); }
.pr-gateview.is-warn .pr-gate-lamp { fill: var(--pb-warn-soft); stroke: var(--pb-warn); }
.pr-gate-mark { fill: var(--pb-ink); font-family: var(--pb-serif); font-size: 30px; font-weight: 700; }
.pr-gate-tip { fill: var(--pb-muted); font-family: var(--pb-mono); font-size: 10px; letter-spacing: .08em; }
.pr-verdict { font-size: 14px; line-height: 1.8; color: var(--pb-ink2); min-height: 52px; }
.pr-verdict b { color: var(--pb-ink); }
.pr-verdict-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 14px; min-height: 22px; }
.pr-gauges { display: grid; gap: 12px; margin-top: auto; }
.pr-gauge > span { display: flex; justify-content: space-between; font-size: 12px; color: var(--pb-muted); margin-bottom: 5px; }
.pr-gauge > span b { font-family: var(--pb-mono); color: var(--pb-ink); }
.pr-gauge .pb-meter > i { transition: width .4s ease; }
.pr-gauge.is-over .pb-meter > i { background: var(--pb-danger); }
.pr-gauge small { display: block; font-size: 11px; color: var(--pb-muted); margin-top: 4px; }

.pr-split { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 14px; }
.pr-batch { min-width: 900px; }
.pr-batch td input[type="text"], .pr-batch td input[type="number"] { padding: 5px 7px; font-size: 12px; min-width: 56px; }
.pr-batch td:first-child input { min-width: 78px; }
.pr-batch .pb-num { font-size: 12.5px; }
.pr-prose { font-size: 14.5px; line-height: 2; color: var(--pb-ink2); }
.pr-prose b { color: var(--pb-ink); }
.pr-prose p { margin-bottom: 11px; }

@media (max-width: 1060px) {
    .pr-gate, .pr-split { grid-template-columns: 1fr; }
    .pr-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pr-gateview { max-width: none; }
    .pr-gate-svg { max-height: 200px; }
}
@media (max-width: 720px) {
    .pr-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-switches { grid-template-columns: 1fr; }
}
@media (max-width: 420px) { .pr-fields { grid-template-columns: 1fr; } }
