/* Раздел «Тест цен» (public/js/price-test.js): цепочка нод Артикул → Порог → Шаг → Замер → Итог.
   Только переменные темы — работает и в обычном, и в «новом» дизайне, и в тёмной теме. */
#pt-root{max-width:1400px;}
.pt-intro{font-size:13px;line-height:1.55;color:var(--muted);margin-bottom:14px;max-width:900px;}
.pt-intro b{color:var(--text);}
.pt-flow{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap;}
.pt-node{flex:1 1 0;min-width:0;background:var(--white);border:1.5px solid var(--s3);border-radius:14px;padding:12px 13px 13px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s;}
.pt-node-res{flex-basis:0;}
.pt-node-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;color:var(--text);}
.pt-node-i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--s2);color:var(--muted);font-size:11px;font-weight:800;}
.pt-node label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);font-weight:600;min-width:0;}
.pt-node-b{font-size:12px;line-height:1.45;color:var(--text);}
.pt-row{display:flex;gap:8px;}
.pt-row label{flex:1 1 0;}
.pt-in{width:100%;box-sizing:border-box;height:36px;padding:0 10px;border:1px solid var(--s3);border-radius:10px;background:var(--s1);color:var(--text);font:600 14px var(--font-body);}
.pt-in:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-dim);}
.pt-in:disabled{opacity:.6;}
.pt-muted{color:var(--muted);font-size:11.5px;line-height:1.45;}
.pt-err{color:var(--danger,#c0392b);font-size:12px;line-height:1.45;}
.pt-art-name{font-weight:700;font-size:12px;line-height:1.35;margin-bottom:2px;}
.pt-art-price{font-size:13px;}
.pt-arrow{flex:0 0 46px;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.pt-arrow svg{width:46px;height:20px;}
.pt-node.is-active{border-color:var(--red);box-shadow:0 0 0 4px var(--red-dim);animation:ptPulse 1.6s ease-in-out infinite;}
.pt-node.is-done{border-color:var(--ok);}
.pt-node.is-done .pt-node-i{background:var(--ok);color:#fff;}
.pt-node.is-err{border-color:var(--danger,#c0392b);}
@keyframes ptPulse{50%{box-shadow:0 0 0 8px transparent;}}
@media (prefers-reduced-motion:reduce){.pt-node.is-active{animation:none;}}

.pt-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 6px;}
.pt-stop{border-color:var(--danger,#c0392b);color:var(--danger,#c0392b);}
.pt-est{font-size:12px;color:var(--muted);}
#pt-btn-start{background:var(--red);border-color:var(--red);color:#fff;}
#pt-btn-start:disabled{background:var(--red);}

.pt-h2{font-weight:800;font-size:14px;margin:18px 0 8px;}
.pt-res{margin-top:6px;}
.pt-chart{width:100%;max-width:820px;height:auto;display:block;background:var(--white);border:1px solid var(--s2);border-radius:14px;padding:6px;box-sizing:border-box;margin-bottom:12px;}
.pt-grid{stroke:var(--s3);stroke-width:1;stroke-dasharray:3 4;}
.pt-ax{fill:var(--muted);font-size:11px;font-family:var(--font-body);}
.pt-line{fill:none;stroke:var(--red);stroke-width:2;stroke-linejoin:round;}
.pt-dot{fill:var(--white);stroke:var(--red);stroke-width:2;}
.pt-ctl-dot{fill:var(--ok);}
.pt-tw{overflow-x:auto;border:1px solid var(--s2);border-radius:14px;background:var(--white);}
.pt-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.pt-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--s2);white-space:nowrap;}
.pt-table td{padding:7px 10px;border-bottom:1px solid var(--s2);white-space:nowrap;}
.pt-table tbody tr:not(.pt-obs){cursor:pointer;}
.pt-table tbody tr:not(.pt-obs):hover{background:var(--s1);}
.pt-ctl td{background:var(--s1);}
.pt-obs{display:none;}
.pt-obs.open{display:table-row;}
.pt-obs td{white-space:normal;background:var(--s1);font-size:11.5px;color:var(--muted);line-height:1.6;}
.pt-up{color:var(--ok);font-weight:700;}
.pt-down{color:#8B1E3E;font-weight:700;}
.pt-ok{color:var(--ok);font-weight:600;}
.pt-warn{color:#b26a00;font-weight:600;}

.pt-hist{margin-top:8px;}
.pt-hist-row{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;margin-bottom:6px;padding:8px 12px;background:var(--white);border:1px solid var(--s2);border-radius:12px;font:500 12.5px var(--font-body);color:var(--text);cursor:pointer;text-align:left;}
.pt-hist-row.on{border-color:var(--red);}
.pt-hist-row:hover{background:var(--s1);}
.pt-pill{padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;background:var(--s2);color:var(--muted);}
.pt-pill--running,.pt-pill--restoring{background:var(--red-dim);color:var(--red);}
.pt-pill--done{background:#e6f7ec;color:#1a7a3e;}
.pt-pill--error{background:#fdecea;color:#b3261e;}

@media (max-width:1100px){
  .pt-flow{flex-direction:column;}
  .pt-arrow{flex:0 0 28px;transform:rotate(90deg);}
}
