/* Динамика: общие стили для десктопа и мобильной версии (токены из :root страницы) */
.dyn-issues{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dyn-issue{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.dyn-issue.cur{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.dyn-issue h3{font:700 14px/1.3 var(--font-display);margin:0}
.dyn-bar{display:flex;height:10px;border-radius:5px;background:var(--line-2);overflow:hidden;gap:2px}
.dyn-bar i,.dyn-legend i{display:block;height:100%}
.b-upd{background:var(--brand-2)} .b-none{background:var(--p-low)} .b-closed{background:var(--good)}
.dyn-issue dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px;margin:0}
.dyn-issue dl div{min-width:0}
.dyn-issue dt{font-size:11.5px;color:var(--muted);line-height:1.2}
.dyn-issue dd{margin:2px 0 0;font:800 20px/1 var(--font-display);color:var(--brand)}
.dyn-issue dd.bad{color:var(--bad)}
.dyn-npa{margin:0;font-size:12px;color:var(--muted)}
.dyn-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 0;font-size:12px;color:var(--muted)}
.dyn-legend span{display:inline-flex;align-items:center;gap:6px}
.dyn-legend i{width:14px;height:8px;border-radius:2px}
.dyn-note{margin:14px 0 0;font-size:14px;color:var(--ink-2);max-width:90ch}
.dyn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;align-items:start}
.dyn-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-width:0}
.dyn-box.wide{grid-column:1/-1}
.dyn-box.warn{border-left:4px solid var(--bad)}
.dyn-box h3{font:700 13.5px/1.3 var(--font-display);margin:0;display:flex;gap:8px;align-items:baseline}
.dyn-box h3 .num{font:500 12px var(--font-mono);color:var(--muted)}
.dyn-sub{margin:4px 0 10px;font-size:12.5px;color:var(--muted)}
.dyn-chips{display:flex;flex-wrap:wrap;gap:6px}
.dyn-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:5px 10px;font-size:12.5px;cursor:pointer;color:var(--ink-2);max-width:100%;text-align:left}
.dyn-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dyn-chip:hover{border-color:var(--brand-2)}
.dyn-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink-2)}
.dyn-list li{min-width:0}
.dyn-when{display:block;font:500 11.5px var(--font-mono);color:var(--muted);margin-top:2px}
.dyn-link{border:0;background:none;padding:0;color:var(--brand-2);cursor:pointer;text-align:left;font:inherit}
.dyn-h{font:700 15px var(--font-display);margin:26px 0 10px}
.dyn-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dyn-kcol{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-width:0}
.dyn-kcol.cur{border-color:var(--accent)}
.dyn-kcol h4{margin:0 0 8px;font:500 11px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dyn-kcol ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2)}
.dyn-foot{font-size:12px;color:var(--muted);margin:14px 0 0;max-width:100ch}
/* Точки движения */
.dyn-dots{display:inline-flex;gap:3px;flex:none;vertical-align:middle}
.dyn-dots i{width:9px;height:9px;border-radius:50%;display:inline-block;box-sizing:border-box}
.dyn-dots .d-updated{background:var(--brand-2)}
.dyn-dots .d-none{border:1.5px solid var(--p-mid);background:transparent}
.dyn-dots .d-closed{background:var(--good)}
.dyn-dots .d-absent{border:1.5px dashed var(--line)}
.dyn-dots .d-late{box-shadow:0 0 0 2px var(--bad-soft),0 0 0 3px var(--bad)}
/* История в карточке */
.dyn-hist{min-width:0}
.dyn-hist h4{display:flex;align-items:center;gap:10px}
.dyn-hnote{margin:0;font-size:13.5px;color:var(--muted)}
.dyn-hist details{border:1px solid var(--line-2);border-radius:10px;padding:8px 12px;margin-top:6px;background:var(--surface-2)}
.dyn-hist summary{cursor:pointer;display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;list-style-position:inside}
.dyn-hist details p{margin:8px 0 0;font-size:13.5px;color:var(--ink-2);white-space:pre-line}
.dyn-hp{font-weight:600}
.dyn-ht{font:500 10.5px/1 var(--font-mono);padding:4px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.dyn-ht.t-updated{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}
.dyn-ht.t-closed{color:var(--good);border-color:var(--good)}
.dyn-ht.t-shift{color:var(--bad);border-color:var(--bad)}
@media (max-width:900px){.dyn-issues,.dyn-keys{grid-template-columns:1fr}.dyn-grid{grid-template-columns:1fr}}
