.psv-shell{padding:12px;display:grid;gap:12px}
.psv-hero{padding:16px;border:1px solid rgba(245,183,0,.45);border-radius:17px;background:linear-gradient(145deg,rgba(245,183,0,.1),rgba(255,255,255,.025))}
.psv-hero h3{margin:0 0 6px;font-size:18px}.psv-hero p{margin:0;color:var(--muted);line-height:1.5}
.psv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.psv-kpis>div{padding:10px;border:1px solid var(--border);border-radius:11px;text-align:center;background:var(--card)}
.psv-kpis b{display:block;font-size:18px}.psv-kpis small{font-size:8px;color:var(--muted);font-weight:900}
.psv-actions{display:flex;gap:8px;flex-wrap:wrap}.psv-actions button,.psv-btn{padding:10px 13px;border:1px solid var(--border);border-radius:10px;font-size:10px;font-weight:900}
.psv-actions .primary,.psv-btn.primary{background:var(--accent);border-color:var(--accent);color:#111}
.psv-card{padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--card);margin-bottom:8px}
.psv-card.clickable{cursor:pointer}.psv-head{display:flex;gap:10px;align-items:flex-start}.psv-head>div{flex:1}
.psv-head h4{margin:0 0 4px}.psv-head p,.psv-card small{margin:0;color:var(--muted);line-height:1.5}
.psv-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#28313b;color:#cbd5df;font-size:8px;font-weight:900}
.psv-badge.APPROVED,.psv-badge.PASS,.psv-badge.COMPLETED{background:rgba(43,201,126,.17);color:#55d99f}
.psv-badge.REJECTED,.psv-badge.ABNORMAL,.psv-badge.NOT_AVAILABLE,.psv-badge.NOT_REPLACED{background:rgba(255,59,78,.16);color:#ff7a87}
.psv-badge.PENDING_APPROVAL,.psv-badge.PARTIAL{background:rgba(245,183,0,.16);color:#ffd24a}
.psv-section{font-size:10px;font-weight:900;color:var(--accent);letter-spacing:.8px;margin:14px 0 8px}
.psv-note{padding:10px;border:1px solid rgba(245,183,0,.35);border-radius:10px;background:rgba(245,183,0,.07);font-size:11px;line-height:1.5}
.psv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.psv-members{display:grid;gap:7px;max-height:240px;overflow:auto}
.psv-member{display:grid;grid-template-columns:auto 1fr 130px;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px}
.psv-member input[type=checkbox]{width:auto}.psv-member span small{display:block;color:var(--muted)}
.psv-check,.psv-material{padding:11px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px}
.psv-check.abnormal,.psv-material.ost{border-color:#d24455;background:rgba(210,68,85,.06)}
.psv-check.safety{box-shadow:inset 4px 0 #f05a3d}.psv-check h4,.psv-material h4{margin:0 0 4px}
.psv-pills{display:flex;gap:5px;overflow:auto;margin:8px 0}.psv-pills button{padding:7px 9px;border:1px solid var(--border);border-radius:999px;white-space:nowrap;font-size:9px;font-weight:900}
.psv-pills button.on{background:var(--accent);border-color:var(--accent);color:#111}
.psv-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.psv-wide{grid-column:1/-1}
.psv-file{display:block;padding:11px;border:1px dashed var(--accent);border-radius:10px;text-align:center;color:var(--accent);font-weight:900}.psv-file input{display:none}
.psv-config-tabs{display:flex;gap:6px;overflow:auto;margin:10px 0}.psv-config-tabs button{white-space:nowrap;padding:8px 11px;border:1px solid var(--border);border-radius:999px;font-size:9px;font-weight:900}.psv-config-tabs button.active{color:var(--accent);border-color:var(--accent)}
.psv-model{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:11px;margin-bottom:7px;cursor:pointer}.psv-model>div{flex:1}.psv-model small{display:block;color:var(--muted)}
.psv-ost{border-left:5px solid #e24858}.psv-ost.overdue{background:rgba(226,72,88,.08)}
@media(max-width:600px){.psv-kpis{grid-template-columns:repeat(2,1fr)}.psv-grid,.psv-subgrid{grid-template-columns:1fr}.psv-wide{grid-column:auto}.psv-member{grid-template-columns:auto 1fr}.psv-member input[type=text]{grid-column:2}}
