:root{
  --pg-primary: #0f2d5c;
  --pg-secondary: #f0a83a;
  --pg-dark: #0a1f3d;
  --pg-light: #f5f7fb;
}
*{ box-sizing: border-box; }
body{ font-family:'Inter',sans-serif; background: var(--pg-light); color:#28324a; }
h1,h2,h3,h4,h5,h6{ font-family:'Poppins',sans-serif; color: var(--pg-primary); }

.pg-admin-wrapper{ display:flex; min-height:100vh; }

/* Sidebar */
.pg-admin-sidebar{
  width:270px; background: var(--pg-dark); color:#cfd9ea;
  flex-shrink:0; position:sticky; top:0; height:100vh; overflow-y:auto;
  z-index: 1040;
}
.pg-admin-brand{ display:flex; align-items:center; gap:12px; padding:22px 20px; border-bottom:1px solid rgba(255,255,255,.08); }
.pg-admin-brand img{ height:44px; }
.pg-admin-brand strong{ display:block; color:#fff; font-family:'Poppins',sans-serif; font-size:.95rem; }
.pg-admin-brand small{ color:var(--pg-secondary); font-size:.7rem; }

.pg-admin-nav{ padding:14px 12px 40px; }
.pg-admin-nav-group{
  text-transform: uppercase; font-size:.68rem; letter-spacing:.06em;
  color:#5d6f92; margin:18px 10px 6px;
}
.pg-admin-nav-link{
  display:flex; align-items:center; gap:12px;
  padding:10px 14px; border-radius:10px; color:#cfd9ea;
  font-size:.9rem; font-weight:500; margin-bottom:2px;
}
.pg-admin-nav-link i{ font-size:1.05rem; width:20px; text-align:center; }
.pg-admin-nav-link:hover{ background: rgba(255,255,255,.06); color:#fff; }
.pg-admin-nav-link.active{ background: var(--pg-secondary); color: var(--pg-dark); font-weight:700; }

/* Main */
.pg-admin-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pg-admin-topbar{
  background:#fff; border-bottom:1px solid #e7ebf3;
  padding:14px 24px; display:flex; align-items:center; gap:16px;
  position:sticky; top:0; z-index:1030;
}
.pg-lang-switch a{ color:#63708a; text-decoration:none; }
.pg-lang-switch a.fw-bold{ color:var(--pg-primary); }
.pg-admin-content{ padding:26px; flex:1; }

/* Cards */
.pg-card{ background:#fff; border-radius:14px; box-shadow:0 6px 22px rgba(15,45,92,.06); border:1px solid #eef1f6; }
.pg-card-header{ padding:18px 22px; border-bottom:1px solid #eef1f6; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.pg-card-body{ padding:22px; }

.pg-stat-box{ padding:22px; border-radius:14px; color:#fff; }
.pg-stat-box .num{ font-family:'Poppins',sans-serif; font-weight:800; font-size:1.9rem; }
.pg-stat-box .lbl{ opacity:.85; font-size:.85rem; }

.table thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; color:#63708a; border-bottom-width:1px; }
.table td, .table th{ vertical-align: middle; }

.badge-statut-nouveau{ background:#0f2d5c; }
.badge-statut-en_cours{ background:#f0a83a; color:#0a1f3d; }
.badge-statut-valide{ background:#1f9d55; }
.badge-statut-refuse{ background:#c0392b; }

.pg-thumb{ width:48px; height:48px; object-fit:cover; border-radius:8px; }
.pg-thumb-lg{ width:100px; height:70px; object-fit:cover; border-radius:8px; }

.form-label{ font-weight:600; color: var(--pg-primary); font-size:.86rem; }
.form-control, .form-select{ border-radius:9px; border:1.5px solid #e3e8f1; }
.form-control:focus, .form-select:focus{ border-color: var(--pg-secondary); box-shadow:0 0 0 .2rem rgba(240,168,58,.18); }

.btn-pg-primary{ background:var(--pg-primary); border-color:var(--pg-primary); color:#fff; font-weight:600; }
.btn-pg-primary:hover{ background:var(--pg-dark); border-color:var(--pg-dark); color:#fff; }
.btn-pg-secondary{ background:var(--pg-secondary); border-color:var(--pg-secondary); color:var(--pg-dark); font-weight:700; }
.btn-pg-secondary:hover{ filter:brightness(0.95); color:var(--pg-dark); }

.pg-color-swatch{ width:38px; height:38px; border-radius:8px; border:2px solid #fff; box-shadow:0 0 0 1px #e3e8f1; display:inline-block; vertical-align:middle; }

.pg-login-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(120deg, var(--pg-dark), var(--pg-primary));
  padding:20px;
}
.pg-login-card{ background:#fff; border-radius:18px; padding:40px; max-width:420px; width:100%; box-shadow:0 30px 60px rgba(0,0,0,.3); }
.pg-login-card img{ height:70px; }

@media (max-width: 991px){
  .pg-admin-sidebar{ position:fixed; left:-270px; transition:.25s; }
  .pg-admin-sidebar.show{ left:0; }
}
