:root{
  --pp-bg:#f5f7fb;
  --pp-card:#ffffff;
  --pp-text:#0f172a;
  --pp-muted:#64748b;
  --pp-primary:#4f6ef7;
  --pp-primary-2:#5b7cfa;
  --pp-border:#e5e7eb;
  --pp-sidebar:#ffffff;
  --pp-shadow:0 10px 30px rgba(15,23,42,.08);
  --pp-radius:16px;
}
body{background:var(--pp-bg); color:var(--pp-text);}
.pp-app{min-height:100vh; display:flex;}
.pp-sidebar{
  width:260px; background:var(--pp-sidebar);
  border-right:1px solid var(--pp-border);
  padding:18px 14px;
  position:sticky; top:0; height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
}
.pp-brand{display:flex; gap:10px; align-items:center; padding:10px 10px 16px;}
.pp-brand-logo{
  width:38px; height:38px; border-radius:12px;
  background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-2));
  box-shadow:var(--pp-shadow);
}
.pp-brand-title{font-weight:700; line-height:1.1;}
.pp-brand-sub{font-size:.8rem; color:var(--pp-muted);}
.pp-menu-title{font-size:.72rem; letter-spacing:.08em; color:#94a3b8; font-weight:700; padding:10px 10px 6px;}
.pp-nav a{
  display:flex; align-items:center; gap:10px;
  padding:10px 10px; border-radius:12px;
  color:#334155; text-decoration:none;
}
.pp-nav a:hover{background:#f1f5ff;}
.pp-nav a.active{background:#eef2ff; color:#1e40af; font-weight:700;}
.pp-subnav{padding-left:8px; margin-top:6px;}
.pp-subnav a{padding:8px 10px; border-radius:10px; font-size:.92rem;}
.pp-subtitle{color:#94a3b8; font-weight:700; font-size:.72rem; letter-spacing:.08em; padding:10px 10px 4px;}
.pp-collapse-toggle{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.pp-caret{opacity:.6; font-size:.85rem;}
.pp-icon{
  width:28px; height:28px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:#f1f5f9; color:#334155; font-size:.9rem;
}
.pp-content{flex:1; padding:22px;}
.pp-topbar{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px;
}
.pp-topbar h1{font-size:1.05rem; margin:0;}
.pp-top-right{display:flex; align-items:center; gap:12px;}
.pp-badge{
  background:var(--pp-card); border:1px solid var(--pp-border);
  padding:8px 12px; border-radius:999px; box-shadow:0 6px 18px rgba(15,23,42,.05);
  font-weight:700;
}
.pp-avatar{
  width:34px; height:34px; border-radius:999px;
  background:#e2e8f0; display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#334155;
}
.pp-avatar-btn{
  border:0;
  cursor:pointer;
}
.pp-avatar-btn:focus{outline:0; box-shadow:0 0 0 .2rem rgba(79,110,247,.25);}
.pp-user-menu .dropdown-menu{
  border-radius:14px;
  border:1px solid var(--pp-border);
  padding:8px;
  min-width: 190px;
  max-height: 240px;
  overflow:auto;
}
.pp-user-menu .dropdown-item{
  border-radius:10px;
  padding:10px 10px;
}
.pp-user-menu .dropdown-item:hover{background:#f1f5ff;}
.pp-card{
  background:var(--pp-card);
  border:1px solid var(--pp-border);
  border-radius:var(--pp-radius);
  box-shadow:var(--pp-shadow);
}
.pp-card-header{padding:16px 18px; border-bottom:1px solid var(--pp-border); font-weight:800;}
.pp-card-body{padding:18px;}
.pp-metric{display:flex; justify-content:space-between; align-items:center;}
.pp-metric .label{color:var(--pp-muted); font-weight:700;}
.pp-metric .value{font-size:1.35rem; font-weight:900;}
.pp-stat{
  display:flex; align-items:center; gap:12px;
}
.pp-stat-icon{
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:#f1f5ff;
  color:#1e40af;
  border:1px solid #e0e7ff;
}
.pp-stat-icon.soft-green{background:#ecfdf5; border-color:#d1fae5; color:#065f46;}
.pp-stat-icon.soft-rose{background:#fff1f2; border-color:#ffe4e6; color:#9f1239;}
.pp-stat-icon.soft-amber{background:#fffbeb; border-color:#fef3c7; color:#92400e;}
.pp-stat-value{font-weight:900; font-size:1.25rem; line-height:1.1;}
.pp-stat-label{color:var(--pp-muted); font-weight:700; font-size:.85rem; margin-top:2px;}
.pp-stat-card .pp-card{height:100%;}
.pp-stat-card .pp-card-body{
  padding:14px 16px;
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pp-stat-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:2px;
}
.pp-stat-btn{
  padding:4px 10px;
  font-size:.78rem;
  border-radius:999px;
}
.pp-stat-msg{font-size:.78rem; color:var(--pp-muted); min-height:16px; margin-top:4px;}
.pp-grid{display:grid; grid-template-columns:repeat(12,1fr); gap:14px;}
.pp-col-12{grid-column:span 12;}
.pp-col-6{grid-column:span 6;}
.pp-col-3{grid-column:span 3;}
@media (max-width: 1000px){
  .pp-sidebar{display:none;}
  .pp-content{padding:16px;}
  .pp-col-6,.pp-col-3{grid-column:span 12;}
}

