

:root {
  --primary: #003087;
  --secondary: #c8102e;
  --accent: #f4b942;
  --dark: #1a1a2e;
  --light: #f5f7fa;
  --white: #ffffff;
  --text: #333344;
  --border: #dde2ec;
  --ribbon-bg: #16213e;
  --footer-bg: #0d1b2a;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Source Sans 3', sans-serif; color:var(--text); background:#fff; overflow-x:hidden; }

/* TOP RIBBON */
.top-ribbon { background:var(--ribbon-bg); color:#cdd6f4; font-size:12px; padding:6px 20px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; z-index:1000; position:relative; }
.ribbon-left { display:flex; align-items:center; gap:10px; }
.ribbon-center { display:flex; align-items:center; gap:20px; flex:1; justify-content:center; flex-wrap:wrap; }
.ribbon-right { display:flex; align-items:center; gap:12px; }
.ribbon-link { color:#cdd6f4; text-decoration:none; font-size:12px; font-weight:600; padding:3px 10px; border:1px solid #2a3f6e; border-radius:3px; transition:all .2s; white-space:nowrap; cursor:pointer; background:none; font-family:'Source Sans 3',sans-serif; }
.ribbon-link:hover { background:var(--secondary); color:#fff; border-color:var(--secondary); }
.social-icon { color:#aab3d4; font-size:15px; text-decoration:none; width:26px; height:26px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid #2a3f6e; transition:all .2s; }
.social-icon:hover { background:var(--secondary); color:#fff; border-color:var(--secondary); }
.calendar-widget { display:flex; align-items:center; gap:6px; cursor:pointer; color:#cdd6f4; font-size:12px; }
.calendar-widget i { color:var(--accent); }

/* HEADER */
header { background:#ffffff; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:4px solid var(--secondary); }
.header-left { display:flex; align-items:center; gap:16px; }
.header-logo { width:80px; height:80px; object-fit:contain; }
.header-title { color:#003087; }
.header-title h1 { font-family:'Crimson Pro',serif; font-size:22px; font-weight:700; line-height:1.2; color:#003087; }
.header-title .telugu { font-size:14px; color:#003087; font-weight:400; margin-top:2px; }
.header-title .act { font-size:11px; color:#1a4a9e; margin-top:2px; }
.header-title .address { font-size:11px; color:#1a4a9e; margin-top:1px; }
.header-right { display:flex; align-items:center; gap:12px; }
.header-logo-sm { height:80px; object-fit:contain; }
/* NAAC logo has more built-in padding than 75years.jpeg at the same box height,
   so it needs a taller box to visually match. Adjust the height below if it's
   still not an exact match. */
.header-logo-sm.header-logo-naac { height:100px; }

/* MAIN NAV */
nav.main-nav { background:linear-gradient(90deg,#002070 0%,#003087 50%,#002070 100%); position:sticky; top:0; z-index:999; box-shadow:0 3px 10px rgba(0,0,0,.3); }
.nav-container { display:flex; align-items:stretch; position:relative; }
.nav-item { position:relative; }
.nav-link { display:flex; align-items:center; gap:5px; color:#c8d8f8; text-decoration:none; padding:14px 16px; font-size:13px; font-weight:600; letter-spacing:.3px; white-space:nowrap; transition:all .2s; cursor:pointer; border-bottom:3px solid transparent; background:none; border-top:none; border-left:none; border-right:none; font-family:'Source Sans 3',sans-serif; }
.nav-link:hover, .nav-link.active { color:#fff; background:rgba(200,16,46,.9); border-bottom-color:var(--accent); }
.nav-link i { font-size:10px; }
.dropdown { position:absolute; top:100%; left:0; background:#fff; min-width:240px; box-shadow:0 8px 30px rgba(0,0,0,.2); border-top:3px solid var(--secondary); display:none; z-index:1000; border-radius:0 0 6px 6px; }
.nav-item:hover .dropdown { display:block; }
.dropdown-link { display:flex; align-items:center; justify-content:space-between; padding:10px 18px; color:var(--text); text-decoration:none; font-size:13px; border-bottom:1px solid #f0f2f8; transition:all .2s; cursor:pointer; background:none; width:100%; border-left:none; border-right:none; border-top:none; font-family:'Source Sans 3',sans-serif; }
.dropdown-link:hover { background:#f0f5ff; color:var(--primary); padding-left:24px; }
.has-sub { position:relative; }
.has-sub .sub-dropdown { position:absolute; left:100%; top:0; background:#fff; min-width:220px; box-shadow:8px 8px 30px rgba(0,0,0,.15); border-top:3px solid var(--secondary); display:none; border-radius:0 0 6px 6px; z-index:1001; }
.has-sub:hover .sub-dropdown { display:block; }

/* NEWS TICKER */

@keyframes ticker { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* HERO SLIDER */
.hero-slider { position:relative; overflow:hidden; height:560px; background:linear-gradient(135deg,#001a57,#003087); }
.slide { position:absolute; inset:0; opacity:0; transition:opacity 0.8s ease; display:flex; align-items:flex-end; justify-content:center; will-change:opacity; pointer-events:none; }
.slide.active { opacity:1; pointer-events:auto; }
.slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.45); }
.slide-content { position:relative; z-index:2; text-align:center; color:#fff; padding:20px 20px 56px; width:100%; background:linear-gradient(to top, rgba(0,10,40,.75) 0%, rgba(0,10,40,.35) 60%, transparent 100%); }
.slide-content h2 { font-family:'Crimson Pro',serif; font-size:38px; font-weight:700; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.slide-content p { font-size:16px; opacity:.9; margin-top:8px; }
.slider-dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:10; }
.slider-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer; transition:all .3s; border:none; }
.slider-dot.active { background:#fff; transform:scale(1.2); }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; background:rgba(0,0,0,.4); color:#fff; border:none; width:44px; height:44px; border-radius:50%; font-size:18px; cursor:pointer; transition:all .25s; display:flex; align-items:center; justify-content:center; }
.slider-arrow:hover { background:rgba(200,16,46,.85); }
.slider-prev { left:16px; }
.slider-next { right:16px; }

/* VC SECTION */
.vc-section { display:flex; background:#fff; border-bottom:4px solid #eef2ff; }
.vc-photo-box { width:320px; flex-shrink:0; background:linear-gradient(135deg,#f0f5ff,#e8eeff); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 20px; text-align:center; border-right:4px solid var(--primary); }
.vc-photo-placeholder { width:160px; height:200px; background:linear-gradient(135deg,#003087,#001a57); border-radius:8px; border:4px solid #fff; display:flex; align-items:center; justify-content:center; color:#fff; font-size:48px; }
.vc-name { margin-top:14px; font-family:'Crimson Pro',serif; font-size:18px; font-weight:700; color:var(--primary); }
.vc-designation { font-size:12px; color:#666; margin-top:4px; }
.vc-profile-btn { margin-top:12px; padding:6px 18px; background:var(--secondary); color:#fff; border:none; border-radius:4px; cursor:pointer; font-size:12px; font-weight:600; text-decoration:none; display:inline-block; transition:all .2s; }
.vc-profile-btn:hover { background:#a00020; }
.vc-message { flex:1; padding:36px 48px; display:flex; flex-direction:column; justify-content:center; }
.vc-message h3 { font-family:'Crimson Pro',serif; font-size:28px; color:var(--secondary); margin-bottom:16px; position:relative; padding-bottom:12px; }
.vc-message h3::after { content:''; position:absolute; bottom:0; left:0; width:60px; height:3px; background:var(--primary); }
.vc-message p { font-size:14px; line-height:1.8; color:#444; font-style:italic; margin-bottom:12px; }
.read-more { display:inline-flex; align-items:center; gap:6px; color:var(--primary); text-decoration:none; font-weight:600; font-size:13px; transition:all .2s; }
.read-more:hover { color:var(--secondary); gap:10px; }

/* WELCOME */
.welcome-section { background:linear-gradient(135deg,#001a57 0%,#003087 100%); padding:50px 60px; color:#fff; text-align:center; }
.welcome-section h2 { font-family:'Crimson Pro',serif; font-size:36px; font-weight:700; margin-bottom:16px; }
.welcome-section .divider { width:80px; height:3px; background:var(--accent); margin:0 auto 20px; }
.welcome-section p { font-size:15px; line-height:1.9; max-width:900px; margin:0 auto 14px; opacity:.9; text-align:justify; }
.welcome-section p:last-child { margin-bottom:0; }
.welcome-section a { color:var(--accent); font-weight:600; text-decoration:underline; }
.welcome-section a:hover { color:#fff; }

/* UNITS */
.units-section { padding:50px 40px; background:#f8faff; }
.section-title { text-align:center; margin-bottom:36px; }
.section-title h2 { font-family:'Crimson Pro',serif; font-size:32px; color:var(--primary); margin-bottom:8px; }
.section-title .divider { width:60px; height:3px; background:var(--secondary); margin:0 auto; }
.units-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; max-width:1200px; margin:0 auto; }
.unit-card { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 3px 15px rgba(0,48,135,.1); text-align:center; transition:all .3s; cursor:pointer; text-decoration:none; color:inherit; display:block; }
.unit-card:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,48,135,.2); }
.unit-img { width:100%; height:140px; background:linear-gradient(135deg,var(--primary),#001a57); display:flex; align-items:center; justify-content:center; color:#fff; font-size:40px; }
.unit-name { padding:14px 10px; font-size:13px; font-weight:600; color:var(--primary); line-height:1.4; }

/* NOTIF */
.notif-section { padding:50px 40px; background:#fff; }
.notif-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:30px; max-width:1200px; margin-left:auto; margin-right:auto; }
.notif-btn { padding:10px 20px; border:2px solid var(--primary); background:#fff; color:var(--primary); border-radius:5px; font-size:13px; font-weight:700; cursor:pointer; transition:all .25s; font-family:'Source Sans 3',sans-serif; }
.notif-btn:hover, .notif-btn.active { background:var(--primary); color:#fff; }
.notif-scroll-area { max-width:1200px; margin:0 auto; background:#f5f8ff; border:1px solid #dde4f5; border-radius:8px; padding:0; height:260px; overflow:hidden; position:relative; }
.notif-list { width:100%; display:inline-block; animation:notifScrollUp 20s linear infinite; }
.notif-scroll-area:hover .notif-list { animation-play-state:paused; cursor:pointer; }
@keyframes notifScrollUp {
  0%   { transform:translateY(0); }
  100% { transform:translateY(-50%); }
}
.notif-item { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px dashed #d0d9ee; font-size:13px; }
.notif-item i { color:var(--secondary); margin-top:2px; flex-shrink:0; }
.notif-link { color:var(--text); text-decoration:none; line-height:1.4; }
.notif-new-badge { display:inline-block;background:#c8102e;color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:8px;margin-left:6px;vertical-align:middle;letter-spacing:.5px; }
.notif-link:hover { color:var(--secondary); }
.notif-date { color:#888; font-size:11px; white-space:nowrap; margin-left:auto; }
@keyframes scrollUp { 0%{transform:translateY(0);} 100%{transform:translateY(-50%);} }

/* Notification Centre (full paginated list) — overrides the ticker's
   fixed 260px clipped height and baked-in scroll animation. */
.notif-scroll-area.notif-centre-area { height:auto; max-height:640px; overflow-y:auto; overflow-x:hidden; }
.notif-list.notif-centre-list { animation:none !important; }
.notif-pager { display:flex; align-items:center; justify-content:center; gap:16px; max-width:1200px; margin:18px auto 0; }
.notif-pager-btn { padding:8px 16px; border:2px solid var(--primary); background:#fff; color:var(--primary); border-radius:5px; font-size:13px; font-weight:700; cursor:pointer; transition:all .2s; font-family:'Source Sans 3',sans-serif; }
.notif-pager-btn:hover:not(:disabled) { background:var(--primary); color:#fff; }
.notif-pager-btn:disabled { opacity:.4; cursor:default; }
.notif-pager-info { font-size:12.5px; color:#555; font-weight:600; }

/* CONTACT */
.contact-section { padding:50px 40px; background:linear-gradient(135deg,#f0f5ff,#e8efff); display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.contact-info h3 { font-family:'Crimson Pro',serif; font-size:26px; color:var(--primary); margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid var(--secondary); }
.contact-item { display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; }
.contact-item i { color:var(--secondary); font-size:18px; width:24px; margin-top:2px; }
.contact-item span { font-size:14px; line-height:1.6; color:#444; }
.map-container { border-radius:10px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.1); }
.map-container iframe { width:100%; height:320px; border:none; }

/* FOOTER */
/* ── Recognitions & Approvals ─────────────────────────────────── */
.recognitions-section {
  background:#f8faff;
  padding:48px 24px 52px;
  border-top:1px solid #e4ecf7;
  text-align:center;
}
.recognitions-heading {
  font-family:'Crimson Pro',Georgia,serif;
  font-size:30px;
  font-weight:700;
  color:var(--primary);
  margin:0 0 10px;
}
.recognitions-divider {
  width:60px;
  height:3px;
  background:var(--secondary);
  margin:0 auto 36px;
  border-radius:2px;
}
.recognitions-grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:20px;
  max-width:1200px;
  margin:0 auto;
}
.rec-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:140px;
  padding:18px 12px 14px;
  background:#fff;
  border:1px solid #e4ecf7;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(0,48,135,.06);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
.rec-card:hover {
  transform:translateY(-5px) scale(1.04);
  box-shadow:0 10px 28px rgba(0,48,135,.14);
  border-color:#b0c4e8;
}
.rec-card img {
  width:90px;
  height:90px;
  object-fit:contain;
}
.rec-card span {
  font-size:12px;
  font-weight:700;
  color:var(--primary);
  text-align:center;
  line-height:1.3;
}
/* Tooltip */
.rec-tooltip {
  position:absolute;
  bottom:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:#1a2a5e;
  color:#fff;
  font-size:11px;
  font-weight:600;
  padding:6px 10px;
  border-radius:6px;
  white-space:nowrap;
  max-width:200px;
  white-space:normal;
  text-align:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease, transform .2s ease;
  z-index:100;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  line-height:1.4;
}
.rec-tooltip::after {
  content:'';
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:#1a2a5e;
}
.rec-card:hover .rec-tooltip {
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
@media(max-width:768px){
  .recognitions-grid { gap:14px; }
  .rec-card { width:100px; padding:14px 8px 10px; }
  .rec-card img { width:64px; height:64px; }
  .rec-card span { font-size:10px; }
  .recognitions-heading { font-size:22px; }
}

footer { background:var(--footer-bg); color:#8892b0; text-align:center; padding:18px; font-size:13px; border-top:3px solid var(--secondary); }
footer a { color:#c8d8f8; text-decoration:none; }

/* PAGE OVERLAY */
.page-overlay { display:none; position:fixed; inset:0; z-index:2000; background:#fff; overflow-y:auto; }
.page-overlay.active { display:block; }
.dir-univ-header { position:sticky; top:0; z-index:20; box-shadow:0 2px 12px rgba(0,0,0,.15); }
.dir-univ-header header { z-index:20; background:#fff !important; }
.page-header { background:linear-gradient(135deg,#001a57,#003087); padding:22px 40px; display:flex; align-items:center; justify-content:space-between; border-bottom:4px solid var(--secondary); position:sticky; top:0; z-index:10; }
.page-header h1 { font-family:'Crimson Pro',serif; font-size:26px; color:#fff; }
.page-back-btn { background:var(--secondary); color:#fff; border:none; padding:8px 20px; border-radius:5px; cursor:pointer; font-size:13px; font-weight:600; display:flex; align-items:center; gap:6px; font-family:'Source Sans 3',sans-serif; }
.page-back-btn:hover { background:#a00020; }
.page-content { padding:40px; max-width:1100px; margin:0 auto; }
.breadcrumb { padding:10px 40px; background:#f0f5ff; border-bottom:1px solid #dde; font-size:12px; color:#666; }
.breadcrumb a { color:var(--primary); text-decoration:none; cursor:pointer; }

/* MODAL */
.modal-overlay { display:none; position:fixed; inset:0; z-index:3000; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); align-items:center; justify-content:center; }
.modal-overlay.active { display:flex; }
.modal-box { background:#fff; border-radius:12px; padding:40px; width:420px; max-width:95vw; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.modal-box h2 { font-family:'Crimson Pro',serif; font-size:26px; color:var(--primary); margin-bottom:8px; }
.modal-close { position:absolute; top:16px; right:16px; background:none; border:none; font-size:22px; cursor:pointer; color:#888; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:#444; margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 14px; border:2px solid #dde; border-radius:6px; font-size:14px; font-family:'Source Sans 3',sans-serif; transition:border-color .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--primary); }
.btn-primary { width:100%; padding:12px; background:var(--primary); color:#fff; border:none; border-radius:6px; font-size:15px; font-weight:700; cursor:pointer; transition:all .2s; font-family:'Source Sans 3',sans-serif; }
.btn-primary:hover { background:#001a57; }

/* ADMIN DASH */
.admin-dash { display:none; position:fixed; inset:0; z-index:3000; background:#f0f2f8; flex-direction:column; }
.admin-dash.active { display:flex; }
.admin-topbar { background:var(--primary); color:#fff; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; width:100%; flex-shrink:0; z-index:100; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.admin-sidebar { position:fixed; left:0; top:0; bottom:0; width:240px; background:#1a1a2e; overflow-y:auto; padding:0; z-index:10; margin-top:56px; }
.admin-main { margin-left:240px; padding:30px; flex:1; overflow-y:auto; min-height:0; }
.sidebar-item { display:flex; align-items:center; gap:10px; padding:12px 20px; color:#8892b0; text-decoration:none; font-size:13px; font-weight:600; cursor:pointer; transition:all .2s; border-left:3px solid transparent; }
.sidebar-item:hover, .sidebar-item.active { color:#fff; background:rgba(255,255,255,.05); border-left-color:var(--accent); }
.admin-card { background:#fff; border-radius:10px; padding:24px; margin-bottom:20px; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.admin-card h3 { color:var(--primary); font-size:18px; margin-bottom:16px; border-bottom:2px solid #f0f0f0; padding-bottom:10px; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.stat-card { background:#fff; border-radius:10px; padding:20px; text-align:center; box-shadow:0 2px 10px rgba(0,0,0,.06); border-top:4px solid var(--primary); }
.stat-card:nth-child(2){border-top-color:var(--secondary);} .stat-card:nth-child(3){border-top-color:var(--accent);} .stat-card:nth-child(4){border-top-color:#28a745;}
.stat-number { font-size:32px; font-weight:700; color:var(--primary); }
.stat-label { font-size:12px; color:#666; margin-top:4px; }
.btn-sm { padding:6px 14px; font-size:12px; font-weight:600; border:none; border-radius:4px; cursor:pointer; transition:all .2s; }
.btn-success { background:#28a745; color:#fff; }
.btn-danger { background:#dc3545; color:#fff; }
.btn-warning { background:#ffc107; color:#000; }

/* TABLES */
table { width:100%; border-collapse:collapse; font-size:13px; }
th { background:var(--primary); color:#fff; padding:10px 14px; text-align:left; font-weight:600; }
td { padding:10px 14px; border-bottom:1px solid #eee; }
tr:hover td { background:#f8f9ff; }
tr:nth-child(even) td { background:#fafbff; }

/* PROFILES */
.profile-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:24px; margin-top:20px; }
.profile-card { background:#fff; border-radius:10px; text-align:center; padding:24px 16px; box-shadow:0 3px 15px rgba(0,48,135,.1); transition:all .3s; }
.profile-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,48,135,.15); }
.profile-avatar { width:110px; height:130px; border-radius:8px; margin:0 auto 12px; background:linear-gradient(135deg,var(--primary),#001a57); display:flex; align-items:center; justify-content:center; color:#fff; font-size:40px; }
.profile-name { font-family:'Crimson Pro',serif; font-size:16px; font-weight:700; color:var(--primary); }
.profile-desg { font-size:12px; color:#666; margin-top:4px; line-height:1.4; }
.profile-btn { margin-top:12px; display:inline-flex; align-items:center; gap:4px; padding:5px 14px; background:transparent; border:2px solid var(--primary); color:var(--primary); border-radius:4px; cursor:pointer; font-size:12px; font-weight:700; transition:all .2s; text-decoration:none; }
.profile-btn:hover { background:var(--primary); color:#fff; }

/* GALLERY */
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-top:20px; }
.gallery-item { border-radius:8px; overflow:hidden; aspect-ratio:4/3; background:linear-gradient(135deg,#003087,#001a57); display:flex; align-items:center; justify-content:center; color:#fff; font-size:40px; cursor:pointer; box-shadow:0 3px 15px rgba(0,0,0,.15); transition:transform .3s; }
.gallery-item:hover { transform:scale(1.03); }
.gallery-photo-item { border-radius:8px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 3px 15px rgba(0,0,0,.15); transition:transform .3s; display:block; }
.gallery-photo-item:hover { transform:scale(1.03); }
.gallery-photo-item img { width:100%; height:100%; object-fit:cover; display:block; }

/* DIRECTORATE */
.dir-layout { display:grid; grid-template-columns:240px 1fr; gap:30px; }
.dir-person-card { background:linear-gradient(135deg,#003087,#001a57); border-radius:10px; overflow:hidden; text-align:center; padding-bottom:16px; color:#fff; }
.dir-person-img-placeholder { width:100%; height:200px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:60px; color:rgba(255,255,255,.5); }
.dir-person-card h4 { font-family:'Crimson Pro',serif; font-size:18px; padding:12px 16px 4px; }
.dir-person-card p { font-size:12px; opacity:.8; padding:0 16px; line-height:1.5; }
.dir-content h3 { font-family:'Crimson Pro',serif; font-size:26px; color:var(--primary); margin-bottom:12px; padding-bottom:10px; border-bottom:2px solid var(--secondary); }
.dir-content p { font-size:14px; line-height:1.8; color:#444; margin-bottom:14px; }
.dir-quicklinks { margin-top:16px; background:#f0f5ff; border-radius:8px; padding:16px; }
.dir-quicklinks h4 { color:var(--primary); font-size:14px; margin-bottom:10px; }
.dir-quicklinks a { display:block; padding:7px 0; border-bottom:1px dashed #dde; color:var(--text); text-decoration:none; font-size:13px; }
.dir-quicklinks a:hover { color:var(--primary); }

/* ANTHEM */
.anthem-video { max-width:800px; margin:0 auto; background:#000; border-radius:10px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,.3); }
.anthem-video iframe { width:100%; height:450px; border:none; }

/* MISC */
.login-admin-btn { position:fixed; bottom:20px; right:20px; z-index:500; background:var(--primary); color:#fff; border:none; border-radius:50%; width:50px; height:50px; cursor:pointer; font-size:20px; box-shadow:0 4px 15px rgba(0,0,0,.3); transition:all .2s; }
.login-admin-btn:hover { background:var(--secondary); transform:scale(1.1); }
.alert-new { display:inline-block; background:var(--secondary); color:#fff; font-size:10px; font-weight:700; padding:1px 6px; border-radius:3px; margin-left:6px; animation:blink 1s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.4;} }
::-webkit-scrollbar{width:6px;} ::-webkit-scrollbar-track{background:#f0f0f0;} ::-webkit-scrollbar-thumb{background:#003087;border-radius:3px;}
@media(max-width:768px) { .header-title h1{font-size:15px;} .units-grid{grid-template-columns:repeat(2,1fr);} .contact-section{grid-template-columns:1fr;} .vc-section{flex-direction:column;} .vc-photo-box{width:100%;} .admin-sidebar{display:none;} .admin-main{margin-left:0;} .dir-layout{grid-template-columns:1fr;} .hero-slider{height:320px;} }

/* ===== MEDIA LIBRARY ===== */
.ml-wrap{display:flex;height:580px;border:1px solid #dde;border-radius:10px;overflow:hidden;background:#fff;}
.ml-sidebar{width:230px;border-right:1px solid #dde;display:flex;flex-direction:column;background:#f8faff;flex-shrink:0;}
.ml-sidebar-hdr{padding:12px 14px;border-bottom:1px solid #dde;display:flex;align-items:center;justify-content:space-between;}
.ml-sidebar-hdr span{font-size:11px;font-weight:700;color:#003087;text-transform:uppercase;letter-spacing:.05em;}
.ml-search-wrap{padding:8px 10px;border-bottom:1px solid #dde;position:relative;}
.ml-search-wrap input{width:100%;padding:5px 10px 5px 28px;font-size:12px;border:1px solid #dde;border-radius:5px;}
.ml-search-wrap i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#aaa;font-size:12px;}
.ml-tree{flex:1;overflow-y:auto;padding:6px 0;}
.ml-ti{display:flex;align-items:center;gap:5px;padding:5px 10px;cursor:pointer;font-size:12px;color:#444;user-select:none;}
.ml-ti:hover{background:#eef2ff;}
.ml-ti.active{background:#e8efff;color:#003087;font-weight:600;}
.ml-ti.ml-drop{background:#dce8ff!important;outline:2px dashed #003087;outline-offset:-2px;border-radius:4px;}
.ml-badge{font-size:10px;background:#e0e8ff;color:#003087;padding:1px 5px;border-radius:10px;margin-left:auto;flex-shrink:0;}
.ml-storage{padding:10px 14px;border-top:1px solid #dde;font-size:11px;color:#666;}
.ml-storage .ml-track{height:4px;background:#e0e8ff;border-radius:2px;margin-top:5px;overflow:hidden;}
.ml-storage .ml-fill{height:100%;background:#003087;border-radius:2px;transition:width .3s;}
.ml-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.ml-topbar{padding:10px 14px;border-bottom:1px solid #dde;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ml-bc{flex:1;font-size:12px;color:#666;display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden;}
.ml-bc .ml-bcs{cursor:pointer;color:#003087;}
.ml-bc .ml-bcs:hover{text-decoration:underline;}
.ml-bc .ml-bcsep{color:#aaa;}
.ml-bc .ml-bccur{color:#333;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ml-content{flex:1;overflow-y:auto;padding:14px;}
.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;}
.ml-list{display:flex;flex-direction:column;gap:2px;}
.ml-gi{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid #dde;border-radius:8px;cursor:pointer;background:#fff;transition:border-color .12s;position:relative;}
.ml-gi:hover{border-color:#003087;}
.ml-gi.ml-sel{border-color:#003087;background:#eef2ff;}
.ml-gi.ml-dragging{opacity:.4;}
.ml-gi.ml-drop{border:2px dashed #003087;background:#eef2ff;}
.ml-gthumb{width:44px;height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
.ml-glabel{font-size:11px;text-align:center;word-break:break-word;color:#333;line-height:1.3;}
.ml-gmeta{font-size:10px;color:#888;}
.ml-tag{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;}
.ml-li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;cursor:pointer;}
.ml-li:hover{background:#f0f4ff;}
.ml-li.ml-sel{background:#eef2ff;}
.ml-li.ml-dragging{opacity:.4;}
.ml-li.ml-drop{outline:2px dashed #003087;background:#eef2ff;}
.ml-lthumb{width:28px;height:28px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ml-lname{flex:1;font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ml-ltype{font-size:10px;color:#888;min-width:40px;text-align:right;text-transform:uppercase;}
.ml-lsize{font-size:10px;color:#888;min-width:52px;text-align:right;}
.ml-sb{padding:6px 14px;border-top:1px solid #dde;font-size:11px;color:#888;display:flex;gap:12px;}
.ml-ctx{position:fixed;background:#fff;border:1px solid #dde;border-radius:6px;padding:4px 0;z-index:9999;min-width:160px;box-shadow:0 4px 12px rgba(0,0,0,.12);}
.ml-cxi{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:12px;cursor:pointer;color:#333;}
.ml-cxi:hover{background:#f0f4ff;}
.ml-cxi.danger{color:#dc3545;}
.ml-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9998;display:flex;align-items:center;justify-content:center;}
.ml-modal{background:#fff;border-radius:10px;padding:20px;width:280px;box-shadow:0 8px 32px rgba(0,0,0,.2);}
.ml-modal h4{font-size:14px;font-weight:700;color:#003087;margin-bottom:12px;}
.ml-modal input{width:100%;font-size:13px;padding:7px 10px;border:1px solid #dde;border-radius:5px;margin-bottom:12px;}
.ml-gi:hover .ml-itembtn{opacity:1!important;}
.ml-gi .ml-itembtn{opacity:0;transition:opacity .15s;}
.ml-mactions{display:flex;gap:8px;justify-content:flex-end;}

/* ── Directorate secondary nav dropdowns ──────────── */
.dir-nav-item { position:relative; display:inline-block; }
.dir-nav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 230px;
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
  border-top: 3px solid #c8102e;
  z-index: 200;
  border-radius: 0 0 6px 6px;
}
.dir-nav-item:hover .dir-nav-dropdown { display: block; }
.dir-nav-dropdown.open { display: block !important; }
.dir-nav-dropdown .dropdown-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px; color: #333344; font-size: 13px;
  border-bottom: 1px solid #f0f2f8; cursor: pointer;
  background: none; width: 100%;
  border-left: none; border-right: none; border-top: none;
  font-family: 'Source Sans 3', sans-serif; transition: all .15s;
}
.dir-nav-dropdown .dropdown-link:hover { background:#f0f5ff; color:var(--primary); padding-left:22px; }
.dir-nav-dropdown .has-sub { position: relative; }
.dir-nav-dropdown .sub-dropdown {
  display: none; position: absolute; left: 100%; top: 0;
  background: #fff; min-width: 210px;
  box-shadow: 8px 8px 30px rgba(0,0,0,.15);
  border-top: 3px solid #c8102e; z-index: 201;
  border-radius: 0 0 6px 6px;
}
.dir-nav-dropdown .has-sub:hover .sub-dropdown { display: block; }
.dir-nav-link.dir-nav-active { background: rgba(200,16,46,.85) !important; }


/* Slider Manager Panel */
#sliderManagerPanel { display:none; }
#sliderManagerPanel.slider-open {
  display:flex !important;
  position:fixed !important;
  top:0 !important; left:0 !important;
  width:100vw !important; height:100vh !important;
  z-index:2147483647 !important;
  background:rgba(0,0,0,.72) !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:auto !important;
}


@keyframes lnRTL { from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes lnPulse { 0%,100%{opacity:1;} 50%{opacity:.3;} }
#liveNewsTicker:hover { animation-play-state:paused !important; cursor:pointer; }
