:root{
  --ihs:#29989E; --fg:#0f172a; --card:#ffffff; --soft:#f1f5f9;
  --ihs2:#7C3AED; --ihs3:#F59E0B; --ihs4:#2563EB; --ihs5:#10B981;
}
*{ font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }

.pp-dashboard .pp-hero{ display:flex; gap:14px; align-items:center; background:linear-gradient(90deg, #e6fffa, #fff); padding:16px; border:1px solid #e2e8f0; border-radius:18px; }
.pp-dashboard .pp-logo{ width:72px; height:72px; object-fit:contain; }
.pp-dashboard .pp-hero-text h2{ margin:0; color:var(--ihs); }
.pp-dashboard .pp-meta span{ margin-right:6px; }

.pp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.pp-card{ background:var(--card); border:1px solid #e2e8f0; border-radius:16px; }
.pp-card-header{ padding:10px 14px; border-bottom:1px solid #e2e8f0; font-weight:700; color:var(--ihs); }
.pp-card-body{ padding:12px; min-height:220px; }
.pp-title{ font-weight:700; }
.pp-avatar{ width:72px; height:72px; border-radius:999px; object-fit:cover; border:2px solid var(--ihs); }

.pp-table{ width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:12px; }
.pp-table th{ cursor:pointer; background: linear-gradient(90deg, var(--ihs), var(--ihs4)); color:#fff; padding:10px; }
.pp-table td{ border-bottom:1px solid #e2e8f0; padding:10px; }
.pp-table tbody tr:nth-child(odd){ background:#fafafa; }
.pp-table tbody tr:hover{ background:#f0f9ff; }

.pp-btn{ display:inline-block; text-decoration:none; padding:8px 12px; border-radius:10px; }
.pp-btn-ihs{ background: linear-gradient(90deg, var(--ihs3), var(--ihs)); color:#fff; border:0; }
.pp-btn-ihs:hover{ filter: brightness(1.05); }

.pp-form-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.pp-form input, .pp-form select{ width:100%; padding:10px; border:1px solid #e2e8f0; border-radius:10px; background:#fff; }
.pp-form input:focus, .pp-form select:focus{ outline:2px solid var(--ihs); }

.pp-marquee{ overflow:hidden; white-space:nowrap; border:2px dashed var(--ihs2); border-radius:12px; padding:8px; background:#faf5ff; }
.pp-marquee-inner{ display:inline-block; padding-left:100%; animation: marquee 15s linear infinite; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-100% * var(--pp-direction, 1))); } }

.pp-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:12px; }
.pp-muted{ color:#64748b; font-size:12px; margin-bottom:6px; }

@media (max-width: 1024px){ .pp-grid{ grid-template-columns:1fr; } }
