:root{
  --pp-bg:#0b1020; --pp-card:#101633; --pp-muted:#a9b6ff; --pp-text:#e7ecff;
  --pp-primary:#6ea8fe; --pp-primary-600:#3d8bfd; --pp-border:#1e2752;
  --pp-success:#49d1a5; --pp-danger:#ff6b6b; --pp-warning:#f8d06b;
}
body{background:var(--pp-bg); color:var(--pp-text);}
.navbar, .sidebar{background:rgba(16,22,51,.75); backdrop-filter: blur(8px);}
.pp-card{background:var(--pp-card); border:1px solid var(--pp-border); border-radius:1rem; padding:1rem;}
.pp-shadow{box-shadow:0 10px 30px rgba(0,0,0,.25);}
.pp-btn{--bs-btn-bg:var(--pp-primary); --bs-btn-border-color:var(--pp-primary-600);}
.pp-badge{background:#0d214f; border:1px solid var(--pp-border); color:var(--pp-muted);}
.pp-kpi{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(61,139,253,.18),rgba(16,22,51,.4));border:1px solid var(--pp-border)}
.pp-table thead th{color:#c9d4ff; font-weight:600; border-bottom:1px solid var(--pp-border);}
.pp-table td{border-top:1px solid var(--pp-border);}
.pp-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--pp-border)}
.pp-link{color:var(--pp-primary); text-decoration:none}
.pp-link:hover{text-decoration:underline}
.pp-toast{position:fixed; right:16px; bottom:16px; z-index:1080}
.pp-toast .toast{background:var(--pp-card); color:var(--pp-text); border:1px solid var(--pp-border)}
.pp-section-title{font-size:1.1rem; color:#c9d4ff; margin-bottom:.5rem}
.form-control, .form-select{background:#0e152e; border-color:var(--pp-border); color:var(--pp-text)}
.form-control:focus, .form-select:focus{border-color:var(--pp-primary-600); box-shadow:none}
.form-check-input{background:#0e152e; border-color:var(--pp-border)}
.form-check-input:checked{background-color:var(--pp-primary-600); border-color:var(--pp-primary-600)}
.btn-primary{background:var(--pp-primary-600); border-color:var(--pp-primary-600)}
.btn-outline-light{border-color:var(--pp-border); color:var(--pp-text)}
.btn-outline-light:hover{background:#0e152e}
.pp-divider{border-top:1px solid var(--pp-border); margin:1rem 0}
