:root{
  --pst-primary:#4f46e5;
  --pst-primary-dark:#4338ca;
  --pst-bg:#f7f8fb;
  --pst-border:#e5e7eb;
}
body{ background:var(--pst-bg); font-family:'Segoe UI',system-ui,-apple-system,sans-serif; }
.pst-navbar{ background:#fff; border-bottom:1px solid var(--pst-border); }
.pst-search{ max-width:520px; }

.pst-hero-banner{
  background:linear-gradient(135deg,#eef2ff 0%,#f7f8fb 65%);
  border:1px solid var(--pst-border);
  border-radius:24px;
  padding:3rem 1.5rem 2.5rem;
}
.pst-hero-banner h1{ font-size:2.25rem; }
.pst-hero-badge{
  display:inline-block; background:#fff; border:1px solid var(--pst-border);
  color:var(--pst-primary); font-size:.8rem; font-weight:600;
  padding:.35rem .9rem; border-radius:999px;
}

.pst-quick-dropzone{
  max-width:560px; background:#fff; border:2px dashed #c7c9f5; border-radius:18px;
  padding:2.25rem 1rem; cursor:pointer; color:#6b7280; transition:.15s ease;
}
.pst-quick-dropzone:hover, .pst-quick-dropzone.dragover{
  border-color:var(--pst-primary); background:#f5f4ff; color:var(--pst-primary);
  transform:translateY(-2px);
}
.pst-quick-panel{
  max-width:560px; background:#fff; border:1px solid var(--pst-border); border-radius:18px;
  padding:1.25rem; text-align:left; box-shadow:0 10px 30px rgba(79,70,229,.08);
}
.pst-cat-icon-pdf{ color:#dc2626; }
.pst-cat-icon-image{ color:#2563eb; }
.pst-tool-card{ border:1px solid var(--pst-border); border-radius:14px; transition:.15s ease; cursor:pointer; }
.pst-tool-card:hover{ border-color:var(--pst-primary); box-shadow:0 6px 18px rgba(79,70,229,.12); transform:translateY(-2px); }
.pst-tool-icon{ font-size:1.8rem; color:var(--pst-primary); }
.pst-disabled{ opacity:.55; cursor:not-allowed; }
.pst-recent-pill{ padding:.4rem .7rem; }
.pst-dropzone{ border:2px dashed var(--pst-border); border-radius:14px; padding:2.5rem 1rem; text-align:center; cursor:pointer; color:#6b7280; transition:.15s; }
.pst-dropzone:hover, .pst-dropzone.dragover{ border-color:var(--pst-primary); background:#f5f4ff; color:var(--pst-primary); }
.pst-workspace{ border-radius:16px; border:1px solid var(--pst-border); }
.pst-file-item{ display:flex; align-items:center; justify-content:space-between; }
.pst-spin{ display:inline-block; animation:pst-spin 1.2s linear infinite; }
@keyframes pst-spin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }
.pst-result-stat{ text-align:center; }
.pst-result-stat .val{ font-size:1.4rem; font-weight:700; }
.pst-badge-safe{ background:#dcfce7; color:#15803d; }
.pst-badge-warning{ background:#fef9c3; color:#a16207; }
.pst-badge-highrisk{ background:#fee2e2; color:#b91c1c; }
.pst-footer{ border-top:1px solid var(--pst-border); background:#fff; }
