:root{
  --pvf-blue:#2F2F91;
  --pvf-blue-2:#2F2F91;
  --pvf-orange:#F47D1A;
  --pvf-bg:#f3f6ff;
  --pvf-card:#ffffff;
  --pvf-muted:#6b7280;
  --radius-xl:22px;
  --shadow: 0 12px 30px rgba(16, 24, 40, .10);
}

*{ box-sizing:border-box; }
body{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--pvf-bg);
  color:#0f172a;
}

.site-header{
  background:#fff;
  position:sticky;
  top:0;
  z-index:50;
  box-shadow: 0 8px 20px rgba(0,0,0,.04);
}

.brand-logo{ width:50px; height:50px; object-fit:contain; }
.brand-text{
  font-weight:800;
  color:var(--pvf-blue);
  font-size: 13px;
  line-height: 1.1;
}

.navbar .nav-link{
  font-weight:700;
  color:#1f2937;
  padding:10px 12px;
  border-radius: 10px;
}
.navbar .nav-link.active{
  color: var(--pvf-blue-2);
  background: rgba(36,64,143,.08);
}

.btn-donate{
  background: var(--pvf-orange);
  color:#fff !important;
  font-weight:800;
  border-radius: 12px;
  padding:10px 16px;
  box-shadow: 0 10px 18px rgba(244,125,26,.25);
  border: none;
}
.btn-donate:hover{ filter: brightness(.95); }

.btn-contact{
  background: var(--pvf-blue-2);
  color:#fff !important;
  font-weight:800;
  border-radius: 12px;
  padding:10px 16px;
  border: none;
}

.section{
  padding: 56px 0;
}

.surface{
  background: #fff;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  overflow:hidden;
}

.soft-bg{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.92)),
    url("../img/bg-texture.png");
  background-size: cover;
  background-position:center;
}

.hero{
  min-height: 360px;
  border-radius: var(--radius-xl);
  overflow:hidden;
  box-shadow: var(--shadow);
  position:relative;
  background:#111827;
}
.hero .hero-media{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  filter: saturate(1.02);
}
.hero .hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.10) 100%);
}
.hero .hero-content{
  position:relative;
  padding: 56px 46px;
  max-width: 820px;
  color:#fff;
}
.hero h1{
  font-weight:900;
  font-size: 44px;
  line-height: 1.05;
  margin: 0 0 12px;
}
.hero p{
  margin:0 0 18px;
  color: rgba(255,255,255,.88);
  font-weight: 500;
  max-width: 640px;
}
.hero .btn{
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 900;
}

.h2-title{
  font-weight: 900;
  color: var(--pvf-blue);
  margin-bottom: 18px;
}
.h2-title .accent{ color: var(--pvf-blue-2); }

.mini-lead{
  color: var(--pvf-muted);
  font-weight: 500;
}

.icon-bullet{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin: 10px 0;
  color:#1f2937;
  font-weight: 600;
}
.icon-bullet i{
  color: var(--pvf-orange);
  font-size: 18px;
  margin-top: 2px;
}

.card-pvf{
  background: var(--pvf-card);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(16,24,40,.08);
  border: 1px solid rgba(15,23,42,.06);
  overflow:hidden;
  height: 100%;
}
.card-pvf img{ width:100%; height:240px; object-fit:cover; }

.card-body-tight{ padding: 18px; }
.card-title{
  font-weight: 900;
  color: var(--pvf-blue);
  margin-bottom: 6px;
}
.card-text{ color: var(--pvf-muted); font-weight: 500; }

.btn-pvf{
  background: var(--pvf-orange);
  color:#fff;
  border:none;
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 900;
}
.btn-pvf:hover{ filter: brightness(.96); }

.btn-pvf-outline{
  background:#fff;
  color: var(--pvf-blue-2);
  border: 2px solid rgba(36,64,143,.22);
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 900;
}

.stat-band{
  padding: 28px 0;
  background: linear-gradient(90deg, rgba(19,40,95,.85), rgba(244,125,26,.58));
  color:#fff;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}
.stat{
  text-align:center;
}
.stat .num{
  font-size: 42px;
  font-weight: 900;
  line-height:1;
}
.stat .label{
  color: rgba(255,255,255,.88);
  font-weight: 600;
}

.team-card img{
  height: 260px;
  object-fit: cover;
}
.team-card .role{
  color: var(--pvf-muted);
  font-weight: 700;
  font-size: 12px;
  margin-top: 2px;
}

.footer-top{
  background: linear-gradient(180deg, #0e2a6e, #071a44);
  color:#fff;
  padding: 42px 0 22px;
  margin-top: 60px;
}
.footer-logo{ width: 46px; height: 46px; object-fit:contain; }
.footer-brand{ font-weight: 900; }
.footer-title{ font-weight: 900; margin-bottom: 10px; }
.footer-list, .footer-links{ list-style:none; padding:0; margin:0; }
.footer-list li{ margin: 8px 0; color: rgba(255,255,255,.88); }
.footer-links li{ margin: 8px 0; }
.footer-links a{ color: rgba(255,255,255,.90); text-decoration:none; font-weight:700; }
.footer-links a:hover{ text-decoration: underline; }

.social-btn{
  width: 44px; height:44px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
}
.social-btn:hover{ background: rgba(255,255,255,.18); }

.form-control, .form-select{
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(15,23,42,.10);
}
textarea.form-control{ min-height: 140px; }

.donation-amounts .amount-btn{
  border: 1px solid rgba(15,23,42,.10);
  background:#fff;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 900;
  color: var(--pvf-blue);
  width: 100%;
}
.donation-amounts .amount-btn.active{
  background: var(--pvf-orange);
  color:#fff;
  border-color: rgba(244,125,26,.55);
}

.gallery-filter{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}
.gallery-filter button{
  border:none;
  background: transparent;
  font-weight: 900;
  color: var(--pvf-blue);
  padding: 10px 14px;
  border-radius: 14px;
}
.gallery-filter button.active{
  background: rgba(244,125,26,.14);
  color: var(--pvf-orange);
}

/* -------- Mobile Fine-tuning -------- */
@media (max-width: 991.98px){
  .navbar-nav{
    padding-top: 10px;
    gap: 6px !important;
  }
  .nav-cta{
    width: 100%;
  }
  .nav-cta .btn{
    width: 100%;
  }
  .brand-text{
    font-size: 12px;
  }
}

@media (max-width: 767.98px){
  .section{
    padding: 40px 0;
  }
  .hero{
    min-height: 320px;
  }
  .hero .hero-content{
    padding: 34px 18px;
  }
  .hero h1{
    font-size: 30px;
    line-height: 1.12;
  }
  .hero p{
    font-size: 14px;
  }
  .surface{
    border-radius: 18px;
  }
  .card-pvf img{
    height: 210px;
  }
  .stat .num{
    font-size: 34px;
  }
}

@media (max-width: 575.98px){
  .hero{
    border-radius: 18px;
  }
  .h2-title{
    font-size: 22px;
  }
  .btn-donate, .btn-contact, .btn-pvf{
    padding: 11px 14px;
    border-radius: 14px;
  }
  .footer-top{
    padding: 34px 0 18px;
  }
}


.tiny-admin-link{color:#fff;text-decoration:none;font-size:.85rem;opacity:.8}
.tiny-admin-link:hover{opacity:1;text-decoration:underline}
.table-admin td,.table-admin th{vertical-align:middle}

.admin-shell{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(244,125,26,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(47,47,145,.12), transparent 32%),
    linear-gradient(180deg,#f8f9ff 0%,#eef2ff 100%);
}
.admin-sidebar{
  background: linear-gradient(180deg, #23236f 0%, #2F2F91 55%, #1d1d63 100%);
  color:#fff;
  min-height:100vh;
  padding:28px 18px;
  position:relative;
  box-shadow: 18px 0 40px rgba(47,47,145,.16);
}
.admin-sidebar::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at top, rgba(255,255,255,.10), transparent 30%);
  pointer-events:none;
}
.admin-sidebar .brand-wrap{
  position:relative;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  padding:14px;
  border-radius:20px;
  backdrop-filter: blur(8px);
  margin-bottom:24px;
}
.admin-sidebar .brand-wrap img{
  width:52px;height:52px;object-fit:contain;background:#fff;border-radius:14px;padding:6px;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}
.admin-sidebar .brand-kicker{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;background:rgba(244,125,26,.18);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.02em;margin-top:10px;
}
.admin-sidebar .nav-label{
  text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;opacity:.7;margin:18px 10px 8px;font-weight:700;
}
.admin-sidebar a{
  color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:14px;margin-bottom:8px;font-weight:600;
  transition: all .2s ease;
  position:relative;
}
.admin-sidebar a i{font-size:1rem;opacity:.95}
.admin-sidebar a:hover{
  background:rgba(255,255,255,.12);
  transform: translateX(2px);
}
.admin-sidebar a.active{
  background: linear-gradient(90deg, rgba(244,125,26,.96), rgba(255,165,73,.92));
  color:#fff;
  box-shadow: 0 12px 24px rgba(244,125,26,.24);
}
.admin-sidebar .sidebar-foot{
  margin-top:24px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  font-size:.9rem;
  color:rgba(255,255,255,.86);
}
.admin-main{padding:30px}
.admin-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;
  background:rgba(255,255,255,.68);backdrop-filter: blur(12px);padding:18px 20px;border-radius:22px;
  border:1px solid rgba(47,47,145,.08);box-shadow:0 16px 36px rgba(31,41,55,.06);
}
.admin-topbar h2{font-weight:800;color:var(--pvf-blue);margin:0}
.admin-topbar .text-muted{font-size:.95rem}
.badge-soft{
  background:rgba(47,47,145,.08);color:var(--pvf-blue);padding:8px 12px;border-radius:999px;font-weight:700;border:1px solid rgba(47,47,145,.10)
}
.admin-card{
  background:rgba(255,255,255,.92);
  border-radius:24px;
  box-shadow:0 16px 40px rgba(17,24,39,.07);
  border:1px solid rgba(47,47,145,.08);
  padding:24px;
}
.admin-stat{
  position:relative;overflow:hidden;
}
.admin-stat::before{
  content:"";position:absolute;right:-18px;top:-18px;width:90px;height:90px;border-radius:50%;background:rgba(244,125,26,.10)
}
.admin-stat .small{font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.admin-stat .display-6{color:var(--pvf-blue)}
.admin-section-title{font-weight:800;color:var(--pvf-blue);margin-bottom:16px}
.table-admin{margin:0}
.table-admin thead th{
  border-bottom:none;background:#f7f8ff;color:var(--pvf-blue);font-size:.83rem;text-transform:uppercase;letter-spacing:.04em
}
.table-admin tbody tr td{border-color:rgba(47,47,145,.08)}
.table-admin tbody tr:hover{background:rgba(47,47,145,.025)}
.form-control,.form-select{
  border-radius:16px;
  border:1px solid rgba(47,47,145,.12);
  padding:12px 14px;
}
.form-control:focus,.form-select:focus{
  box-shadow:0 0 0 4px rgba(244,125,26,.12);
  border-color: var(--pvf-orange);
}
.btn-pvf{
  background: linear-gradient(135deg, #F47D1A 0%, #ff983f 100%);
  color:#fff;
  border:none;
  border-radius: 14px;
  padding: 11px 16px;
  font-weight: 800;
  box-shadow: 0 12px 20px rgba(244,125,26,.22);
}
.btn-pvf:hover{ filter: brightness(.97); transform: translateY(-1px); }
.btn-admin-secondary{
  background:#fff;color:var(--pvf-blue);border:1px solid rgba(47,47,145,.16);border-radius:14px;padding:11px 16px;font-weight:700;
}
.admin-login-wrap{
  min-height:100vh;
  display:grid;place-items:center;
  background:
   radial-gradient(circle at top left, rgba(244,125,26,.14), transparent 28%),
   radial-gradient(circle at bottom right, rgba(47,47,145,.16), transparent 30%),
   linear-gradient(180deg,#f6f7ff 0%, #eef2ff 100%);
}
.admin-login-card{
  width:min(460px,100%);
  background:rgba(255,255,255,.92);
  border-radius:28px;
  box-shadow:0 20px 50px rgba(31,41,55,.10);
  border:1px solid rgba(47,47,145,.08);
  padding:30px;
}
.admin-login-logo{
  width:74px;height:74px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 12px 24px rgba(47,47,145,.12)
}
.admin-login-badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
  background:rgba(47,47,145,.08);color:var(--pvf-blue);font-weight:700;font-size:.82rem;margin-bottom:12px;
}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick-links{display:grid;gap:10px}
.empty-note{padding:12px 14px;border-radius:14px;background:#f8f9ff;border:1px dashed rgba(47,47,145,.14);color:#475569}
@media (max-width: 991.98px){
  .admin-sidebar{min-height:auto;border-radius:0 0 24px 24px}
  .admin-main{padding:20px}
  .metric-grid{grid-template-columns:1fr}
}

.news-card img{height:220px;object-fit:cover;width:100%}

/* Professional polish update */
body{background:linear-gradient(180deg,#eef3ff 0%,#f8faff 34%,#ffffff 100%);} 
.site-header{border-bottom:1px solid rgba(47,47,145,.08);backdrop-filter:saturate(140%) blur(8px);} 
.surface,.card-pvf{transition:transform .22s ease, box-shadow .22s ease,border-color .22s ease;} 
.card-pvf:hover,.surface:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(16,24,40,.12);border-color:rgba(47,47,145,.14);} 
.hero{background:linear-gradient(135deg, rgba(47,47,145,.98), rgba(27,27,90,.90));}
.hero .hero-overlay{background:linear-gradient(90deg, rgba(14,18,48,.80) 0%, rgba(14,18,48,.42) 48%, rgba(14,18,48,.12) 100%);} 
.h2-title .accent{color:var(--pvf-orange);} 
.gallery-filter button,.badge-soft{box-shadow:0 6px 16px rgba(47,47,145,.08);} 
.gallery-filter button.active{background:var(--pvf-orange);color:#fff;border-color:var(--pvf-orange);} 
.table-admin td,.table-admin th{vertical-align:middle;} 
.admin-main{background:linear-gradient(180deg,#f5f8ff 0%,#ffffff 100%);min-height:100vh;padding:28px;} 
.admin-card{background:#fff;border:1px solid rgba(47,47,145,.08);border-radius:22px;box-shadow:0 14px 32px rgba(16,24,40,.08);padding:24px;} 
.admin-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;} 
.admin-topbar h2{font-weight:900;color:var(--pvf-blue);margin:0;} 
.admin-sidebar{min-height:100vh;background:linear-gradient(180deg,#2F2F91 0%,#222268 100%);padding:24px 18px;color:#fff;box-shadow:20px 0 40px rgba(0,0,0,.08);} 
.admin-sidebar a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:rgba(255,255,255,.92);text-decoration:none;font-weight:700;margin-bottom:8px;} 
.admin-sidebar a.active,.admin-sidebar a:hover{background:rgba(255,255,255,.12);color:#fff;} 
.brand-wrap{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);padding:16px;border-radius:18px;margin-bottom:18px;} 
.brand-wrap img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:16px;padding:8px;} 
.brand-kicker,.nav-label,.sidebar-foot{color:rgba(255,255,255,.76);} 
.nav-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:10px 0;} 
.admin-login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left, rgba(244,125,26,.22), transparent 24%),linear-gradient(135deg,#f4f7ff 0%,#eef3ff 100%);} 
.admin-login-card{width:min(100%,480px);background:#fff;border:1px solid rgba(47,47,145,.09);border-radius:28px;padding:34px;box-shadow:0 24px 60px rgba(16,24,40,.14);} 
.admin-login-logo{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:22px;padding:10px;box-shadow:0 10px 20px rgba(47,47,145,.12);} 
.admin-login-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(47,47,145,.08);color:var(--pvf-blue);font-weight:800;border-radius:999px;padding:8px 14px;} 
.empty-note{background:#fff8ef;border:1px solid rgba(244,125,26,.18);border-radius:16px;padding:12px 14px;} 
.admin-stat{min-height:170px;display:flex;flex-direction:column;justify-content:center;} 
.admin-section-title{font-weight:900;color:var(--pvf-blue);font-size:1.05rem;margin-bottom:14px;} 
.quick-links{display:flex;flex-wrap:wrap;gap:10px;} 
.badge-soft{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(244,125,26,.12);color:#a24d08;font-weight:800;border:1px solid rgba(244,125,26,.2);} 
.btn-admin-secondary{background:#fff;border:1px solid rgba(47,47,145,.12);color:var(--pvf-blue);font-weight:800;border-radius:14px;padding:11px 16px;} 
.admin-thumb{width:68px;height:54px;object-fit:cover;border-radius:12px;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 16px rgba(0,0,0,.08);} 
.admin-upload-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:18px;border:1px solid rgba(15,23,42,.08);} 
.form-text{color:var(--pvf-muted);} 
@media (max-width: 991px){.admin-sidebar{min-height:auto}.admin-main{padding:18px}.admin-topbar{flex-direction:column;} }


/* Mobile optimization + gallery full view */
img{max-width:100%;height:auto}
body.lightbox-open{overflow:hidden}
.gallery-card{position:relative}
.gallery-link{display:block;position:relative;color:inherit;text-decoration:none}
.gallery-link img{display:block;width:100%;height:260px;object-fit:cover}
.gallery-zoom{
  position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;
  background:rgba(15,23,42,.72);color:#fff;padding:9px 12px;border-radius:999px;
  font-weight:700;font-size:.9rem;backdrop-filter:blur(8px);opacity:0;transform:translateY(8px);
  transition:all .22s ease;
}
.gallery-link:hover .gallery-zoom,
.gallery-link:focus .gallery-zoom{opacity:1;transform:translateY(0)}
.gallery-lightbox{
  position:fixed;inset:0;background:rgba(2,6,23,.88);z-index:1060;display:none;
  align-items:center;justify-content:center;padding:24px;
}
.gallery-lightbox.active{display:flex}
.gallery-lightbox-stage{position:relative;max-width:min(1100px,100%);max-height:100%;text-align:center}
.gallery-lightbox-stage img{
  max-width:100%;max-height:80vh;object-fit:contain;border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);background:#fff;
}
.gallery-lightbox-caption{color:#fff;font-weight:700;margin-top:14px;font-size:1rem}
.gallery-lightbox-close{
  position:absolute;top:18px;right:18px;width:48px;height:48px;border:none;border-radius:999px;
  background:#fff;color:#111827;display:grid;place-items:center;font-size:1.1rem;
  box-shadow:0 10px 20px rgba(0,0,0,.2);
}
.gallery-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.gallery-filter button{
  border:1px solid rgba(47,47,145,.12);background:#fff;color:var(--pvf-blue);padding:10px 14px;
  border-radius:999px;font-weight:800
}
.navbar-toggler{border-color:rgba(47,47,145,.15);padding:8px 10px;border-radius:12px}
.navbar-toggler:focus{box-shadow:0 0 0 4px rgba(244,125,26,.12)}
.nav-cta .btn{white-space:nowrap}
@media (max-width: 991.98px){
  .site-header .container{padding-left:16px;padding-right:16px}
  .navbar .navbar-collapse{
    background:#fff;margin-top:14px;padding:14px;border-radius:18px;box-shadow:0 16px 30px rgba(16,24,40,.08);
    border:1px solid rgba(47,47,145,.08)
  }
  .navbar .nav-link{padding:12px 14px}
  .nav-cta{width:100%;margin-top:8px}
  .nav-cta .btn{width:100%}
  .hero{min-height:320px}
  .hero .hero-content{padding:34px 22px 30px}
  .hero h1{font-size:2rem;line-height:1.1}
  .section{padding:40px 0}
  .card-pvf img,.gallery-link img{height:220px}
  .team-card img,.news-card img{height:220px}
}
@media (max-width: 767.98px){
  body{font-size:15px}
  .brand-text{font-size:12px;max-width:150px}
  .hero h1{font-size:1.75rem}
  .hero p{font-size:.95rem}
  .h2-title{font-size:1.55rem}
  .gallery-filter{gap:8px}
  .gallery-filter button{width:100%;max-width:320px}
  .card-body-tight{padding:16px}
  .card-pvf img,.gallery-link img{height:210px}
  .gallery-lightbox{padding:16px}
  .gallery-lightbox-stage img{max-height:72vh;border-radius:14px}
  .gallery-lightbox-close{top:12px;right:12px;width:44px;height:44px}
  .footer-top{padding:34px 0 18px}
}
@media (max-width: 575.98px){
  .section{padding:34px 0}
  .surface.soft-bg{padding-left:16px!important;padding-right:16px!important}
  .hero .hero-content{padding:28px 18px 24px}
  .hero h1{font-size:1.55rem}
  .mini-lead{font-size:.94rem}
  .card-pvf img,.gallery-link img{height:190px}
  .social-btn{width:40px;height:40px}
}

/* ---- Premium admin dashboard organization ---- */
.admin-topbar-enhanced .eyebrow{display:inline-block;background:rgba(244,125,26,.12);color:var(--pvf-orange);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}
.admin-topbar-actions{display:flex;gap:12px;flex-wrap:wrap;}
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;}
.admin-section-copy{color:var(--pvf-muted);font-size:.95rem;}
.admin-metric{display:flex;gap:16px;align-items:flex-start;min-height:154px;}
.metric-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(47,47,145,.14), rgba(244,125,26,.14));color:var(--pvf-blue);font-size:1.45rem;flex-shrink:0;}
.metric-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pvf-muted);font-weight:800;margin-bottom:6px;}
.metric-value{font-size:2rem;line-height:1;font-weight:900;color:var(--pvf-blue);margin-bottom:8px;}
.metric-inline{font-size:1rem;font-weight:800;color:#0f172a;word-break:break-word;}
.metric-meta{color:var(--pvf-muted);font-size:.92rem;line-height:1.5;}
.dashboard-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.dashboard-action-card{background:linear-gradient(180deg,#fff 0%, #f8faff 100%);border:1px solid rgba(47,47,145,.09);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:#0f172a;box-shadow:0 10px 24px rgba(16,24,40,.05);transition:.2s ease;}
.dashboard-action-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(16,24,40,.08);border-color:rgba(244,125,26,.26);}
.dashboard-action-card strong{font-size:1rem;color:var(--pvf-blue);}
.dashboard-action-card small{font-size:.92rem;line-height:1.55;color:var(--pvf-muted);}
.dashboard-action-icon{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg, var(--pvf-blue), #4040b5);display:grid;place-items:center;color:#fff;font-size:1.12rem;box-shadow:0 10px 20px rgba(47,47,145,.18);}
.dashboard-checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.dashboard-checklist li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.06);}
.dashboard-checklist li:last-child{border-bottom:none;padding-bottom:0;}
.dashboard-checklist i{color:var(--pvf-orange);font-size:1.1rem;line-height:1.2;margin-top:2px;}
.dashboard-checklist span{color:#334155;font-weight:500;line-height:1.55;}
.admin-note-box{padding:16px;border-radius:18px;background:linear-gradient(135deg, rgba(47,47,145,.08), rgba(244,125,26,.08));border:1px solid rgba(47,47,145,.08);}
.admin-note-box strong{display:block;color:var(--pvf-blue);margin-bottom:6px;}
.admin-note-box p{color:#334155;line-height:1.55;}
.dashboard-list{display:grid;gap:12px;}
.dashboard-list-item{display:flex;gap:14px;align-items:center;padding:14px;border-radius:18px;background:#fafbff;border:1px solid rgba(47,47,145,.08);}
.dashboard-list-icon{width:44px;height:44px;border-radius:14px;background:rgba(47,47,145,.10);display:grid;place-items:center;color:var(--pvf-blue);font-size:1rem;flex-shrink:0;}
.dashboard-list-content strong{display:block;color:#0f172a;line-height:1.4;}
.dashboard-list-content small{display:block;color:var(--pvf-muted);margin-top:2px;}
.dashboard-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.dashboard-thumb{position:relative;border-radius:18px;overflow:hidden;min-height:150px;background:#eef2ff;border:1px solid rgba(47,47,145,.08);}
.dashboard-thumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1;}
.dashboard-thumb span{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(180deg, transparent, rgba(15,23,42,.78));color:#fff;font-size:.86rem;font-weight:700;line-height:1.35;}
.empty-state{padding:18px;border-radius:18px;background:#fafbff;border:1px dashed rgba(47,47,145,.18);color:var(--pvf-muted);line-height:1.6;}
@media (max-width: 1199px){.dashboard-actions-grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 767px){.admin-topbar-actions{width:100%;}.admin-topbar-actions .btn{flex:1 1 auto;justify-content:center;}.dashboard-actions-grid,.dashboard-gallery-grid{grid-template-columns:1fr;}.admin-metric{min-height:auto;}.admin-section-head{flex-direction:column;}}


/* --- Global responsive + interactive enhancements --- */
html{scroll-behavior:smooth;}
.site-main{overflow-x:hidden;}
.container{width:min(100%, 1140px);}
.scroll-progress{position:fixed;left:0;top:0;height:4px;background:linear-gradient(90deg,var(--pvf-orange),#ffb16d);width:0;z-index:1200;box-shadow:0 4px 12px rgba(244,125,26,.28);}
.back-to-top{position:fixed;right:18px;bottom:18px;width:50px;height:50px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--pvf-orange),#ff9d49);color:#fff;display:grid;place-items:center;box-shadow:0 16px 28px rgba(244,125,26,.28);z-index:1100;opacity:0;pointer-events:none;transform:translateY(14px) scale(.96);transition:.25s ease;}
.back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.back-to-top:hover{filter:brightness(.97);}
.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal-up.revealed{opacity:1;transform:none;}
.interactive-lift{transition:transform .22s ease, box-shadow .22s ease;}
.interactive-lift:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(16,24,40,.14);}
.icon-bullet{transition:transform .18s ease, color .18s ease;}
.icon-bullet:hover{transform:translateX(4px);}
.gallery-item{transition:opacity .25s ease, transform .25s ease;}
.gallery-item.is-hidden{opacity:0;transform:scale(.98);pointer-events:none;position:relative;}
.hero .hero-content > *{animation:fadeInUp .75s ease both;}
.hero .hero-content > *:nth-child(1){animation-delay:.05s;}
.hero .hero-content > *:nth-child(2){animation-delay:.12s;}
.hero .hero-content > *:nth-child(3){animation-delay:.2s;}
.hero .hero-content > *:nth-child(4){animation-delay:.28s;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.btn-donate,.btn-contact,.btn-pvf,.btn-pvf-outline,.social-btn,.gallery-filter button,.navbar .nav-link{transition:all .2s ease;}
.btn-contact:hover{filter:brightness(.96);transform:translateY(-1px);}
.btn-pvf-outline:hover{background:rgba(47,47,145,.06);transform:translateY(-1px);}
.social-btn:hover{transform:translateY(-2px) scale(1.02);}
.site-header.scrolled{box-shadow:0 12px 26px rgba(16,24,40,.08);}
.card-pvf,.surface,.admin-card{will-change:transform;}
.news-card img,.team-card img,.card-pvf img,.gallery-link img{background:#eef2ff;}
.footer-links a,.navbar .nav-link{position:relative;}
.footer-links a::after,.navbar .nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--pvf-orange);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.footer-links a:hover::after,.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1);}
.table-responsive{border-radius:18px;overflow:hidden;}
@media (max-width: 991.98px){
  .site-header{position:sticky;top:0;}
  .navbar .navbar-collapse{max-height:calc(100vh - 110px);overflow:auto;}
  .row.g-4{--bs-gutter-y:1rem;}
  .footer-top .row > div{margin-bottom:10px;}
}
@media (max-width: 767.98px){
  .btn-donate,.btn-contact,.btn-pvf,.btn-pvf-outline{width:100%;justify-content:center;}
  .hero .hero-content{max-width:100%;}
  .surface,.card-pvf,.admin-card{border-radius:18px;}
  .back-to-top{right:14px;bottom:14px;width:46px;height:46px;}
}
@media (max-width: 575.98px){
  .container{padding-left:16px!important;padding-right:16px!important;}
  .site-header .navbar-brand{max-width:70%;}
  .gallery-lightbox-stage img{max-width:100%;}
}

/* === Admin UI v2: reference-inspired premium dashboard === */
.admin-shell-v2{background:#eef2f8;color:#1e293b;}
.admin-layout{min-height:100vh;}
.admin-mobile-top{padding:14px 16px;background:#2f2f91;color:#fff;}
.admin-mobile-brand{display:flex;align-items:center;gap:10px;font-weight:800;}
.admin-mobile-brand img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;}
.admin-sidebar-v2{background:linear-gradient(180deg,#2f5fb9 0%,#1d4ea3 100%);padding:22px 16px 18px;color:#fff;min-height:100vh;box-shadow:18px 0 36px rgba(29,78,163,.18);}
.admin-sidebar-v2 .brand-wrap{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14);}
.admin-sidebar-v2 .brand-mark{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;}
.admin-sidebar-v2 .brand-mark img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1);}
.admin-sidebar-v2 .brand-wrap strong{font-size:1rem;line-height:1.1;}
.admin-sidebar-v2 .brand-wrap span{display:block;font-size:.78rem;color:rgba(255,255,255,.78);}
.admin-nav-v2{display:grid;gap:8px;}
.admin-nav-v2 a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.92);text-decoration:none;font-weight:700;transition:.2s ease;}
.admin-nav-v2 a i{font-size:1rem;width:18px;text-align:center;}
.admin-nav-v2 a:hover,.admin-nav-v2 a.active{background:#0e2e68;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.admin-sidebar-v2 .sidebar-foot{margin-top:18px;padding:14px;border-radius:14px;background:rgba(255,255,255,.10);font-size:.86rem;color:rgba(255,255,255,.88);}
.admin-sidebar-v2 .sidebar-foot p{margin:6px 0 0;color:rgba(255,255,255,.74);line-height:1.5;}
.admin-main-v2{padding:20px 24px 30px;background:#eef2f8;}
.admin-headerbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}
.admin-search-wrap{flex:1;max-width:420px;position:relative;}
.admin-search-wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;}
.admin-search-wrap input{width:100%;height:44px;border:1px solid #d7dee9;background:#fff;border-radius:10px;padding:0 14px 0 40px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.admin-header-actions{display:flex;align-items:center;gap:10px;}
.admin-icon-btn{width:38px;height:38px;border:1px solid #d8e0ed;background:#fff;border-radius:10px;color:#64748b;display:grid;place-items:center;}
.admin-user-chip{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#fff;border:1px solid #d8e0ed;border-radius:999px;}
.admin-user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#f47d1a,#da6a0d);color:#fff;font-weight:800;}
.admin-user-chip strong{display:block;font-size:.88rem;line-height:1.1;}
.admin-user-chip span{display:block;font-size:.74rem;color:#64748b;line-height:1.2;}
.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;}
.admin-page-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(47,95,185,.10);color:#1d4ea3;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
.admin-page-head h1{margin:0;font-size:2rem;font-weight:900;color:#1e293b;}
.admin-page-head p{margin:8px 0 0;color:#64748b;max-width:760px;}
.admin-page-tools{display:flex;gap:10px;flex-wrap:wrap;}
.metric-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;border:1px solid rgba(15,23,42,.05);box-shadow:0 8px 26px rgba(15,23,42,.05);}
.metric-card .metric-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12);}
.metric-card .metric-copy span{display:block;color:#475569;font-size:.84rem;font-weight:700;margin-bottom:4px;}
.metric-card .metric-copy strong{display:block;font-size:1.75rem;line-height:1;color:#0f172a;}
.metric-peach{background:#ffe9dd;}.metric-peach .metric-icon{background:#f47d1a;}
.metric-amber{background:#fff0cf;}.metric-amber .metric-icon{background:#f0ad1e;}
.metric-sky{background:#dff0ff;}.metric-sky .metric-icon{background:#2f8de4;}
.metric-teal{background:#dff6f4;}.metric-teal .metric-icon{background:#21b5a2;}
.admin-panel-card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:18px;box-shadow:0 8px 28px rgba(15,23,42,.05);}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.panel-head h3{margin:0;color:#0f172a;font-size:1rem;font-weight:800;}
.panel-head p{margin:4px 0 0;color:#64748b;font-size:.87rem;}
.panel-link{color:#1d4ea3;text-decoration:none;font-weight:700;font-size:.86rem;}
.chart-card{position:relative;height:250px;border:1px solid #edf2f7;border-radius:12px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);overflow:hidden;}
.chart-grid{position:absolute;inset:0;background:repeating-linear-gradient(to top, transparent 0, transparent 41px, rgba(148,163,184,.15) 42px),repeating-linear-gradient(to right, transparent 0, transparent 59px, rgba(148,163,184,.10) 60px);}
.line-chart{position:absolute;inset:18px 10px 12px 10px;width:calc(100% - 20px);height:calc(100% - 30px);}
.progress-stack{display:grid;gap:10px;margin-bottom:18px;}
.progress-row{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;font-weight:700;color:#334155;}
.progress.slim{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden;}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.quick-action{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#1e293b;font-weight:700;background:#f8fbff;}
.quick-action i{width:34px;height:34px;border-radius:10px;background:#e6eefb;display:grid;place-items:center;color:#1d4ea3;}
.table-ui thead th{background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0;padding:14px 12px;}
.table-ui tbody td{padding:14px 12px;border-color:#edf2f7;color:#0f172a;}
.table-ui tbody tr:hover{background:#f9fbff;}
.status-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.76rem;font-weight:800;}
.status-pill.success{background:#dcfce7;color:#166534;}
.status-pill.info{background:#dbeafe;color:#1d4ed8;}
.status-pill.neutral{background:#f1f5f9;color:#475569;}
.dashboard-gallery-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.dashboard-thumb-v2{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px;}
.dashboard-thumb-v2 img{width:100%;height:120px;object-fit:cover;border-radius:10px;margin-bottom:8px;}
.dashboard-thumb-v2 span{display:block;font-size:.82rem;font-weight:700;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.empty-state-box{display:grid;place-items:center;min-height:180px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;text-align:center;padding:20px;}
.admin-label{font-weight:800;color:#334155;font-size:.9rem;margin-bottom:6px;}
.admin-input{border-radius:10px;border:1px solid #d7dee9;min-height:44px;}
.admin-input:focus{border-color:#2f5fb9;box-shadow:0 0 0 .25rem rgba(47,95,185,.12);}
.admin-upload-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid #e2e8f0;}
.admin-thumb{width:62px;height:48px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;}
.flash-success,.flash-danger,.flash-warning{border-radius:12px;padding:12px 16px;margin-bottom:18px;}
@media (max-width: 991px){
  .admin-sidebar-v2{min-height:auto;padding-bottom:12px;}
  .admin-main-v2{padding:16px;}
  .admin-headerbar,.admin-page-head{flex-direction:column;align-items:stretch;}
  .admin-search-wrap{max-width:none;}
}
@media (max-width: 767px){
  .admin-header-actions{flex-wrap:wrap;justify-content:space-between;}
  .dashboard-gallery-grid-v2,.quick-grid{grid-template-columns:1fr;}
  .metric-card .metric-copy strong{font-size:1.45rem;}
}

/* ===== Premium Admin V3 ===== */
.admin-shell-v3{background:#eef3f9;color:#18212f;}
.admin-sidebar-v3{background:linear-gradient(180deg,#1e56c5 0%,#1d4aa4 48%,#173a85 100%);padding:22px 16px 18px;color:#fff;min-height:100vh;box-shadow:18px 0 36px rgba(29,78,163,.16);position:sticky;top:0;}
.admin-sidebar-v3 .brand-wrap{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.admin-sidebar-v3 .brand-mark{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.admin-sidebar-v3 .brand-mark img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}
.admin-sidebar-v3 .brand-wrap strong{font-size:1rem;line-height:1.1}
.admin-sidebar-v3 .brand-wrap span{display:block;font-size:.78rem;color:rgba(255,255,255,.8)}
.admin-nav-v3{display:flex;flex-direction:column;gap:6px}
.admin-nav-v3 a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.86);font-weight:600;text-decoration:none;transition:.2s ease}
.admin-nav-v3 a i{font-size:.95rem;width:16px;text-align:center}
.admin-nav-v3 a:hover,.admin-nav-v3 a.active{background:rgba(7,18,49,.24);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.admin-sidebar-v3 .sidebar-foot{margin-top:18px;padding:14px;border-radius:14px;background:rgba(255,255,255,.1);font-size:.86rem;color:rgba(255,255,255,.88)}
.admin-sidebar-v3 .sidebar-foot p{margin:6px 0 0;color:rgba(255,255,255,.74);line-height:1.5}
.admin-main-v3{padding:24px}
.admin-headerbar-v3{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #dce6f1;border-radius:16px;padding:14px 18px;box-shadow:0 10px 26px rgba(15,23,42,.04);margin-bottom:24px}
.admin-header-left{display:flex;align-items:center;gap:12px;flex:1}
.admin-search-wrap.large{max-width:460px;width:100%}
.admin-icon-btn.has-dot{position:relative}
.admin-icon-btn.has-dot::after{content:"";position:absolute;top:10px;right:10px;width:7px;height:7px;border-radius:50%;background:#ef4444;border:2px solid #fff}
.admin-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.admin-page-head h1{font-size:2rem;margin:2px 0 6px;font-weight:800;color:#172554}
.admin-page-head p{margin:0;color:#64748b;max-width:680px}
.admin-page-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#e7f0ff;color:#2452af;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:6px 10px}
.admin-page-tools{display:flex;gap:10px;flex-wrap:wrap}
.admin-panel-card{background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.panel-head h3{font-size:1.05rem;margin:0 0 4px;color:#0f172a;font-weight:800}
.panel-head p{margin:0;color:#64748b;font-size:.9rem}
.panel-link{text-decoration:none;font-weight:700;color:#2452af}
.metric-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;border:1px solid rgba(15,23,42,.05);box-shadow:0 8px 26px rgba(15,23,42,.05)}
.metric-card .metric-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.metric-card .metric-copy span{display:block;color:#475569;font-size:.84rem;font-weight:700;margin-bottom:4px}
.metric-card .metric-copy strong{display:block;font-size:1.75rem;line-height:1;color:#0f172a}
.metric-peach{background:#ffefe8}.metric-peach .metric-icon{background:#f47d1a}
.metric-amber{background:#fdf4dd}.metric-amber .metric-icon{background:#f6b31a}
.metric-sky{background:#eaf4ff}.metric-sky .metric-icon{background:#2490ea}
.metric-teal{background:#e4f8f4}.metric-teal .metric-icon{background:#1ab39a}
.metric-indigo{background:#edf0ff}.metric-indigo .metric-icon{background:#5161f5}
.metric-green{background:#e8f7eb}.metric-green .metric-icon{background:#28a745}
.chart-card{position:relative;height:250px;border:1px solid #edf2f7;border-radius:14px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);overflow:hidden}
.chart-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.12) 1px, transparent 1px),linear-gradient(90deg, rgba(148,163,184,.12) 1px, transparent 1px);background-size:100% 25%,12% 100%}
.line-chart,.bar-chart{position:absolute;inset:0;width:100%;height:100%}
.donut-wrap{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:18px}
.donut-chart{width:170px;height:170px;border-radius:50%;background:conic-gradient(#2f5fb9 0 36%, #f6b31a 36% 59%, #25b79f 59% 79%, #dbe5f1 79% 100%);position:relative;margin:auto}
.donut-chart::after{content:"";position:absolute;inset:28px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #eef2f7}
.legend-list{display:grid;gap:10px}.legend-item{display:flex;align-items:center;gap:10px;color:#334155;font-weight:600}.legend-dot{width:12px;height:12px;border-radius:50%}
.progress-stack{display:grid;gap:10px}.progress-row{display:flex;justify-content:space-between;font-weight:700;color:#334155;font-size:.92rem}.progress.slim{height:10px;background:#e5edf8}
.quick-grid,.mini-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.quick-action,.mini-stat{display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#f8fbff;border:1px solid #e2ecf7;color:#2452af;text-decoration:none;font-weight:700}
.quick-action i,.mini-stat i{font-size:1.1rem}
.dashboard-gallery-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-thumb-v2{position:relative;border-radius:14px;overflow:hidden;border:1px solid #dbe6f1;background:#f8fafc;height:132px}
.dashboard-thumb-v2 img{width:100%;height:100%;object-fit:cover}
.dashboard-thumb-v2 span{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;color:#fff;font-weight:700;font-size:.86rem;background:linear-gradient(180deg,transparent,rgba(15,23,42,.78))}
.empty-state-box{padding:28px;border-radius:14px;border:1px dashed #c8d5e6;background:#f8fbff;color:#64748b;text-align:center}
.admin-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px;border:1px solid #e1e8f0;border-radius:14px;background:#f8fbff;margin-bottom:14px}
.admin-filter-bar .form-select,.admin-filter-bar .form-control{max-width:220px}
.table-ui thead th{background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0;padding:14px 12px;white-space:nowrap}
.table-ui tbody td{padding:14px 12px;border-color:#edf2f7;color:#0f172a;vertical-align:middle}
.table-ui tbody tr:hover{background:#f9fbff}
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.status-pill.success{background:#e8f7ec;color:#248a46}.status-pill.warning{background:#fff3dd;color:#b7791f}.status-pill.info{background:#e6f1ff;color:#285fbe}.status-pill.neutral{background:#edf2f7;color:#475569}
.admin-thumb{width:62px;height:46px;border-radius:10px;object-fit:cover;border:1px solid #e2e8f0}
.admin-upload-preview img{max-width:100%;border-radius:14px;border:1px solid #dbe3ef}
.admin-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpi-box{padding:16px;border-radius:14px;background:#fff;border:1px solid #dce6f1;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.kpi-box strong{display:block;font-size:1.6rem;color:#0f172a}.kpi-box span{color:#64748b;font-weight:700;font-size:.9rem}
.activity-list{display:grid;gap:10px}.activity-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f8fbff;border:1px solid #e6edf6}.activity-item strong{display:block}.activity-item span{color:#64748b;font-size:.86rem}
.btn-pvf{background:#f47d1a;border-color:#f47d1a;color:#fff;font-weight:700}.btn-pvf:hover{background:#de6f11;border-color:#de6f11;color:#fff}
.btn-pvf-outline{border:1px solid #c9d8ee;background:#fff;color:#2452af;font-weight:700}.btn-pvf-outline:hover{background:#f8fbff;color:#173a85}
@media (max-width:1199px){.admin-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-wrap{grid-template-columns:1fr}.admin-sidebar-v3{position:relative;min-height:auto}.admin-main-v3{padding:18px}}
@media (max-width:767px){.admin-page-head,.panel-head,.admin-headerbar-v3{flex-direction:column;align-items:stretch}.admin-filter-bar .form-select,.admin-filter-bar .form-control,.admin-search-wrap.large{max-width:none}.dashboard-gallery-grid-v2,.quick-grid,.mini-stat-grid,.admin-kpi-strip{grid-template-columns:1fr}.metric-card .metric-copy strong{font-size:1.45rem}}


/* ==== Desktop dashboard refinement pass ==== */
@media (min-width: 1200px){
  .admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;}
  .admin-layout > aside{width:260px;max-width:260px;}
  .admin-layout > main{min-width:0;}
  .admin-main-v3{padding:22px 24px 28px;max-width:calc(100vw - 260px);}
  .admin-headerbar-v3{padding:14px 18px;margin-bottom:22px;}
  .admin-page-head{margin-bottom:22px;}
  .admin-panel-card{border-radius:18px;padding:20px;}
  .metric-card{min-height:112px;}
  .metric-card .metric-copy strong{font-size:1.95rem;}
  .chart-card{height:280px;}
  .dashboard-gallery-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dashboard-thumb-v2{height:156px;}
  .admin-filter-bar{justify-content:space-between;}
  .admin-filter-bar .form-control{flex:1;max-width:none;min-width:240px;}
  .admin-filter-bar .form-select{min-width:170px;}
  .table-ui thead th,.table-ui tbody td{padding-left:14px;padding-right:14px;}
}

@media (min-width: 1400px){
  .admin-layout{grid-template-columns:272px minmax(0,1fr);}
  .admin-layout > aside{width:272px;max-width:272px;}
  .admin-main-v3{padding:24px 28px 34px;max-width:calc(100vw - 272px);}
  .admin-headerbar-v3{padding:15px 20px;}
  .admin-panel-card{padding:22px;}
  .metric-card{min-height:118px;}
  .metric-card .metric-copy strong{font-size:2.05rem;}
}

.dashboard-hero-grid{display:grid;gap:18px;}
@media (min-width:1200px){
  .dashboard-hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:stretch;}
}
.dashboard-main-grid{display:grid;gap:18px;}
@media (min-width:1200px){
  .dashboard-main-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start;}
}
.dashboard-lower-grid{display:grid;gap:18px;}
@media (min-width:1200px){
  .dashboard-lower-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
}
.panel-soft{background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);}
.panel-subgrid{display:grid;gap:16px;}
.panel-inline-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;}
.panel-inline-stat{padding:14px 16px;border:1px solid #e5ecf5;border-radius:14px;background:#f8fbff;}
.panel-inline-stat strong{display:block;font-size:1.1rem;color:#0f172a;}
.panel-inline-stat span{display:block;margin-top:4px;color:#64748b;font-size:.85rem;font-weight:700;}
.activity-item{align-items:flex-start;}
.activity-item > div{min-width:0;}
.activity-item strong{font-size:.92rem;line-height:1.35;margin-bottom:4px;}
.recent-news-list{display:grid;gap:12px;}
.news-list-item{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e6edf6;background:#f8fbff;border-radius:14px;}
.news-list-item strong{display:block;color:#0f172a;line-height:1.4;}
.news-list-item span{display:block;margin-top:4px;color:#64748b;font-size:.84rem;}
.news-list-meta{flex-shrink:0;text-align:right;}
.news-list-meta .status-pill{margin-bottom:8px;}
.dashboard-note{padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(36,82,175,.08),rgba(244,125,26,.10));border:1px solid rgba(36,82,175,.10);}
.dashboard-note strong{display:block;color:#173a85;margin-bottom:6px;}
.dashboard-note p{margin:0;color:#475569;line-height:1.6;}


/* Sidebar refinement v4 */
.admin-sidebar-v3{padding:18px 14px 16px;display:flex;flex-direction:column;gap:12px}
.admin-sidebar-v3 .brand-wrap-v4{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.16);margin-bottom:4px}
.admin-sidebar-v3 .brand-copy{min-width:0}
.admin-sidebar-v3 .brand-copy em{display:inline-flex;font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800;color:rgba(255,255,255,.74);margin-bottom:4px}
.admin-sidebar-v3 .brand-copy strong{font-size:1rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.admin-sidebar-v3 .brand-copy span{font-size:.76rem;color:rgba(255,255,255,.82)}
.admin-sidebar-v3 .brand-mark{flex:0 0 44px}
.admin-nav-v3{gap:4px;overflow:auto;padding-right:2px}
.nav-group-label{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58);padding:12px 10px 6px}
.admin-nav-v3 a{padding:10px 12px;border-radius:12px;font-weight:700}
.admin-nav-v3 a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-sidebar-v3 .sidebar-foot-v4{margin-top:auto;padding:12px;border-radius:16px;background:linear-gradient(180deg,rgba(9,18,48,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.12)}
.admin-sidebar-v3 .sidebar-foot-v4 strong{display:block;font-size:.85rem;margin-bottom:10px}
.sidebar-mini-meta{display:grid;gap:8px}
.sidebar-mini-meta span{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(255,255,255,.84);padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08)}
.sidebar-mini-meta i{font-size:.9rem}
.admin-main-v3{padding:26px 28px 24px}
@media (min-width: 1200px){
  .admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr)}
  .admin-layout > aside,.admin-layout > main{width:auto}
}
@media (max-width: 1199px){
  .admin-sidebar-v3 .brand-copy strong{white-space:normal}
}
@media (max-width: 991px){
  .nav-group-label{padding-top:10px}
  .admin-sidebar-v3 .sidebar-foot-v4{margin-top:10px}
}


/* Admin premium upgrades: collapsible sidebar, icon rails, top status bar */
.admin-top-statusbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;background:linear-gradient(90deg,#1d3e86,#2F2F91);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.admin-top-statusbar span{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.92)}
.admin-top-statusbar .statusbar-left,.admin-top-statusbar .statusbar-right{display:flex;flex-wrap:wrap;gap:18px}
.admin-layout{min-height:calc(100vh - 52px)}
.admin-sidebar-v3{background:linear-gradient(180deg,#213e8f 0%,#2F2F91 60%,#262677 100%);border-right:1px solid rgba(255,255,255,.12);box-shadow:20px 0 42px rgba(22,39,90,.18);transition:width .28s ease, padding .28s ease, transform .28s ease;overflow:hidden;z-index:30}
.admin-main-v3{background:#f3f6fb;transition:margin-left .28s ease,padding .28s ease}
.admin-headerbar-v3{position:sticky;top:16px;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}
.admin-header-controls{display:flex;align-items:center;gap:10px}
.sidebar-toggle-btn{background:#2F2F91;color:#fff;border-color:#2F2F91}
.sidebar-toggle-btn:hover{background:#24369b;border-color:#24369b}
.admin-shell-v3 .admin-layout{display:grid;grid-template-columns:290px minmax(0,1fr)}
.admin-shell-v3.admin-sidebar-collapsed .admin-layout{grid-template-columns:96px minmax(0,1fr)}
.admin-shell-v3.admin-sidebar-collapsed .admin-sidebar-v3{padding-inline:10px}
.admin-shell-v3.admin-sidebar-collapsed .brand-copy,.admin-shell-v3.admin-sidebar-collapsed .nav-group-label,.admin-shell-v3.admin-sidebar-collapsed .sidebar-foot-v4 strong,.admin-shell-v3.admin-sidebar-collapsed .sidebar-mini-meta,.admin-shell-v3.admin-sidebar-collapsed .nav-label{display:none}
.admin-shell-v3.admin-sidebar-collapsed .brand-wrap-v4{justify-content:center;padding:12px 8px}
.admin-shell-v3.admin-sidebar-collapsed .admin-nav-item{justify-content:center;padding:12px 10px}
.admin-shell-v3.admin-sidebar-collapsed .nav-icon-wrap{margin-right:0}
.admin-shell-v3.admin-sidebar-collapsed .admin-sidebar-v3 .brand-mark{flex:0 0 48px}
.admin-shell-v3.admin-sidebar-collapsed .sidebar-foot-v4{padding:10px;min-height:58px}
.admin-nav-v3{display:flex;flex-direction:column;gap:8px}
.admin-nav-item{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.92)!important;border:1px solid transparent;background:transparent;position:relative}
.admin-nav-item::after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:999px;background:transparent;transition:background .2s ease}
.admin-nav-item:hover,.admin-nav-item.active{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.12)}
.admin-nav-item:hover::after,.admin-nav-item.active::after{background:#F47D1A}
.nav-icon-wrap{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.11);display:grid;place-items:center;flex:0 0 34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.admin-nav-item:hover .nav-icon-wrap,.admin-nav-item.active .nav-icon-wrap{background:#F47D1A;color:#fff;box-shadow:none}
.admin-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.admin-header-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#eef4ff;border:1px solid #d8e4ff;color:#243b82;font-weight:700;font-size:.84rem}
.admin-header-pill b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#2F2F91;color:#fff;font-size:.76rem}
.admin-header-pill.alert{background:#fff5ea;border-color:#ffd9b0;color:#9a5212}
.admin-header-pill.alert b{background:#F47D1A}
.admin-user-chip{padding-right:12px;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.admin-user-chip i{color:#64748b}
@media (max-width: 1199px){
  .admin-top-statusbar{padding:10px 16px}
}
@media (max-width: 991px){
  .admin-top-statusbar{display:none}
  .admin-shell-v3 .admin-layout{display:block}
  .admin-sidebar-v3{position:fixed;top:0;left:0;bottom:0;width:280px;transform:translateX(-100%);min-height:100vh;border-right:1px solid rgba(255,255,255,.14)}
  .admin-shell-v3.admin-sidebar-mobile-open .admin-sidebar-v3{transform:translateX(0)}
  .admin-shell-v3.admin-sidebar-mobile-open::before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:20}
  .admin-main-v3{padding:18px}
  .admin-headerbar-v3{top:10px}
}

/* Admin modern polish v5 */
.admin-shell-v3{
  background:
    radial-gradient(circle at top left, rgba(47,47,145,.08), transparent 26%),
    linear-gradient(180deg,#f7f9fc 0%,#eef3f9 100%);
}
.admin-layout{position:relative}
.admin-layout::before{
  content:"";
  position:fixed;
  top:52px;
  bottom:0;
  left:290px;
  width:1px;
  background:linear-gradient(180deg, rgba(47,47,145,.10), rgba(244,125,26,.18), rgba(47,47,145,.08));
  pointer-events:none;
  z-index:5;
}
.admin-shell-v3.admin-sidebar-collapsed .admin-layout::before{left:96px}
.admin-top-statusbar{
  backdrop-filter: blur(14px);
  box-shadow:0 10px 30px rgba(20,35,84,.12);
}
.admin-sidebar-v3{
  position:sticky;
  top:0;
  min-height:100vh;
  padding:18px 16px 16px;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(180deg,#243b8f 0%, #2F2F91 46%, #20206b 100%);
}
.admin-sidebar-v3::after{
  content:"";
  position:absolute;
  top:18px;
  right:0;
  width:1px;
  height:calc(100% - 36px);
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(244,125,26,.55), rgba(255,255,255,.1));
}
.brand-wrap-v4{
  box-shadow:0 14px 30px rgba(7,17,56,.22);
}
.admin-nav-v3{
  margin-top:2px;
  padding-right:4px;
}
.admin-nav-item{
  min-height:50px;
  border-radius:16px;
  padding:11px 14px;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.admin-nav-item:hover,
.admin-nav-item.active{
  transform:translateX(3px);
  background:linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
  box-shadow:0 14px 24px rgba(13,23,59,.16);
}
.admin-nav-item .nav-label{
  font-size:.93rem;
  letter-spacing:.01em;
}
.nav-icon-wrap{
  width:38px;
  height:38px;
  border-radius:14px;
  background:rgba(255,255,255,.11);
}
.nav-group-label{
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.10);
}
.nav-group-label:first-of-type{border-top:0;margin-top:4px;padding-top:8px}
.sidebar-foot-v4{
  box-shadow:0 12px 28px rgba(7,17,56,.18);
}
.admin-main-v3{
  padding:28px 30px 26px;
}
.admin-headerbar-v3{
  border:1px solid rgba(220,230,241,.88);
  box-shadow:0 18px 34px rgba(15,23,42,.06);
}
.admin-headerbar-v3,
.admin-panel-card,
.metric-card{
  backdrop-filter: blur(8px);
}
.admin-search-wrap.large{
  min-width:340px;
  background:#f7f9fd;
  border:1px solid #dbe4f0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.admin-search-wrap.large input{background:transparent}
.metric-card{
  min-height:118px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfe 100%);
}
.metric-card .metric-icon{
  width:52px;
  height:52px;
  border-radius:16px;
}
.metric-card .metric-copy strong{
  font-size:1.95rem;
  letter-spacing:-.03em;
}
.panel-soft,
.admin-panel-card{
  border-radius:20px;
  box-shadow:0 18px 36px rgba(15,23,42,.06);
}
.panel-head h3{letter-spacing:-.02em}
.table-ui thead th{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  background:#f7f9fc;
}
.table-ui tbody tr:hover{background:#fafcff}
.admin-filter-bar{
  background:#f7f9fd;
  border:1px solid #e4ebf4;
  padding:10px;
  border-radius:16px;
}
.quick-action{
  min-height:92px;
  border-radius:18px;
  box-shadow: inset 0 0 0 1px rgba(47,47,145,.08);
}
.quick-action:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(15,23,42,.08), inset 0 0 0 1px rgba(244,125,26,.16);
}
.donut-chart{
  box-shadow:inset 0 0 0 12px rgba(255,255,255,.65), 0 16px 30px rgba(47,47,145,.08);
}
.dashboard-thumb-v2 img{
  border-radius:16px;
}
.news-list-item,
.activity-item{
  border-radius:16px;
}
.status-pill{
  border-radius:999px;
  padding:7px 10px;
  font-weight:700;
}
.admin-user-chip{
  border-radius:16px;
  background:#fff;
  border:1px solid #e3eaf3;
}
@media (max-width: 991px){
  .admin-layout::before{display:none}
  .admin-sidebar-v3::after{display:none}
  .admin-main-v3{padding:18px 16px 22px}
  .admin-search-wrap.large{min-width:0;width:100%}
}
