.pv { min-width:0; color:var(--text); }
.pv h3,.pv h4 { margin:0 0 10px; }
.pv p { color:var(--text2); line-height:1.55; overflow-wrap:anywhere; }
.pv-heading p,.pv-definition,.pv-history,.pv-panel p { font-size:12px; }
.pv-presets,.pv-filter { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:12px 0; }
.pv-presets button,.pv-filter [data-pv-refresh] { background:var(--bg3); color:var(--text2); border:1px solid var(--border2); border-radius:8px; padding:9px 14px; font:inherit; font-size:12px; cursor:pointer; }
.pv-presets button:hover,.pv-filter [data-pv-refresh]:hover { color:var(--text); border-color:var(--accent); }
.pv-filter label { display:flex; flex-direction:column; gap:5px; color:var(--text2); font-size:12px; }
.pv-filter input { min-width:150px; max-width:100%; box-sizing:border-box; }
.pv-status { margin:14px 0; font-size:13px; color:var(--text2); line-height:1.6; overflow-wrap:anywhere; }
.pv-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:16px 0; }
.pv-card,.pv-panel { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; min-width:0; }
.pv-card span { display:block; color:var(--text2); font-size:12px; line-height:1.5; }
.pv-card strong { display:block; font-size:27px; margin-top:7px; }
.pv-panel { margin:16px 0; }
.pv-chart { position:relative; height:280px; margin:14px 0; }
.pv-table-wrap { overflow-x:auto; max-width:100%; border-radius:5px; }
.pv table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
.pv th,.pv td { padding:10px 8px; border-bottom:1px solid var(--border); vertical-align:top; }
.pv th { color:var(--text2); font-weight:600; }
.pv td:first-child { min-width:140px; max-width:280px; overflow-wrap:anywhere; }
.pv-name,.pv-login { display:block; }
.pv-login { color:var(--text3); font-size:11px; margin-top:4px; }
.pv summary { cursor:pointer; padding:8px 0; font-size:12px; }
.pv-empty { padding:14px; background:var(--bg3); border-radius:8px; color:var(--text2); }
.pv :is(button,input,summary,.pv-table-wrap):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media (max-width:480px) {
  .pv-cards { grid-template-columns:1fr; }
  .pv-filter label { flex:1 1 100%; }
  .pv-filter input { width:100%; }
  .pv-panel { padding:12px; }
  .pv-chart { height:230px; }
}
