/* Basic styling */
.pf-wrap, .pf-report, .pf-admin { font-family: Tahoma, Arial, sans-serif; }
.pf-form h2, .pf-report h2 { margin: 0 0 12px; }
.pf-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.pf-grid label { display:flex; flex-direction:column; gap:6px; }
.pf-grid input { padding:10px; border:1px solid #ddd; border-radius:8px; }

.pf-step { display:none; padding:16px; border-radius:12px; margin-bottom:14px; background:#f6f9ff; }
.pf-step[data-color="green"] { background:#f3fff6; }
.pf-step[data-color="orange"] { background:#fff8f0; }
.pf-step[data-color="purple"] { background:#f8f4ff; }
.pf-step.pf-step-active { display:block; }

.pf-question { padding:12px; margin:10px 0; border:1px dashed #ddd; border-radius:10px; background:#fff; }
.pf-qtext { margin-bottom:8px; font-weight:bold; }
.pf-likert { display:flex; flex-wrap:wrap; gap:10px; }
.pf-likert label { display:flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #e0e0e0; border-radius:8px; background:#fafafa; cursor:pointer; }
.pf-likert input[type="radio"] { transform: scale(1.1); }

.pf-nav { display:flex; justify-content:space-between; margin-top:12px; }
.pf-btn { padding:10px 16px; border:none; border-radius:10px; background:#2563eb; color:#fff; cursor:pointer; }
.pf-btn.pf-secondary { background:#64748b; }

.pf-alert { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; padding:10px; border-radius:8px; margin-bottom:12px; }

/* Report */
.pf-report-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.pf-report-card { background:#fff; border:1px solid #eee; border-radius:12px; padding:14px; }
.pf-span-2 { grid-column: span 2; }
.pf-table-wrapper { overflow:auto; }
.pf-table { width:100%; border-collapse:collapse; }
.pf-table th, .pf-table td { border:1px solid #eee; padding:8px; text-align:center; }
.pf-table thead th { background:#f3f4f6; }

/* Admin */
.pf-admin-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.pf-admin-card { background:#fff; border:1px solid #eee; border-radius:12px; padding:14px; }
.pf-footer-credit { margin:20px 0 0; }
@media (max-width:800px){
  .pf-grid { grid-template-columns:1fr; }
  .pf-report-grid, .pf-admin-grid { grid-template-columns:1fr; }
  .pf-span-2 { grid-column: span 1; }
}
