@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;900&family=Source+Serif+4:wght@300;400;600&display=swap');

:root {
  --navy: #0a1628;
  --navy2: #112040;
  --blue: #1a4a8a;
  --blue2: #2563b0;
  --blue3: #3b82d4;
  --accent-red: #c0392b;
  --gold: #d4a843;
  --gold2: #e8c46a;
  --gold3: #f5d98a;
  --white: #f8faff;
  --muted: rgba(180,200,240,0.5);
  --border: rgba(212,168,67,0.2);
  --surface: rgba(17,32,64,0.95);
  --card: rgba(255,255,255,0.04);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Source Serif 4',Georgia,serif;background:var(--navy);color:var(--white);min-height:100vh;}
a{color:var(--gold);text-decoration:none;}
h1,h2,h3,.cinzel{font-family:'Cinzel',serif;}

/* Layout */
.admin-wrap{display:flex;min-height:100vh;}
.sidebar{width:260px;background:var(--navy2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;}
.sidebar-brand{padding:28px 22px 20px;border-bottom:1px solid var(--border);}
.sidebar-brand .logo-text{font-family:'Cinzel',serif;font-size:13px;color:var(--gold);line-height:1.5;}
.sidebar-brand .sub{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:3px;}
.accent-bar{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--navy),var(--blue),var(--gold),var(--blue));margin-bottom:18px;}
.nav-wrap{flex:1;padding:14px 10px;overflow-y:auto;}
.nav-section{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:10px 12px 5px;}
.nav-wrap a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:9px;color:rgba(200,220,255,0.7);font-size:13px;font-family:'Source Serif 4',serif;margin-bottom:2px;transition:all 0.15s;}
.nav-wrap a:hover{background:rgba(212,168,67,0.08);color:var(--white);}
.nav-wrap a.active{background:linear-gradient(135deg,rgba(26,74,138,0.6),rgba(37,99,176,0.35));color:#fff;border:1px solid rgba(37,99,176,0.4);}
.nav-wrap a .ni{font-size:17px;width:22px;text-align:center;}
.sidebar-foot{padding:16px 18px;border-top:1px solid var(--border);}
.user-chip{background:rgba(255,255,255,0.04);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--gold));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;font-family:'Cinzel',serif;}
.logout{display:block;margin-top:8px;text-align:center;background:rgba(192,57,43,0.12);border:1px solid rgba(192,57,43,0.3);border-radius:8px;color:#e8a;font-size:12px;padding:7px;transition:background 0.15s;}
.logout:hover{background:rgba(192,57,43,0.22);color:#faa;}
.main-content{margin-left:260px;flex:1;display:flex;flex-direction:column;min-height:100vh;}
.topbar{background:var(--navy2);border-bottom:1px solid var(--border);padding:17px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.topbar h2{font-family:'Cinzel',serif;font-size:18px;color:var(--white);}
.datebadge{background:rgba(212,168,67,0.1);border:1px solid var(--border);border-radius:20px;padding:5px 15px;font-size:11px;color:var(--gold);}
.page{padding:28px;}

/* Cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:22px;}
.card-title{font-family:'Cinzel',serif;font-size:15px;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;position:relative;overflow:hidden;}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--gold));}
.stat-lbl{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;}
.stat-val{font-size:28px;font-weight:700;color:var(--white);margin:5px 0 2px;line-height:1;}
.stat-sub{font-size:11px;color:var(--muted);}
.stat-ico{position:absolute;right:16px;top:16px;font-size:26px;opacity:0.2;}

/* Tables */
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:9px 14px;border-bottom:1px solid var(--border);font-family:'Cinzel',serif;}
td{padding:11px 14px;border-bottom:1px solid rgba(212,168,67,0.06);font-size:13px;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,0.02);}

/* Forms */
.form-group{margin-bottom:16px;}
.form-label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-family:'Cinzel',serif;}
.form-control{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:9px;color:var(--white);font-size:13px;font-family:'Source Serif 4',serif;padding:11px 14px;outline:none;transition:border-color 0.2s,background 0.2s;}
.form-control:focus{border-color:var(--gold);background:rgba(212,168,67,0.04);}
.form-control::placeholder{color:rgba(255,255,255,0.2);}
select.form-control option{background:#0a1628;}
textarea.form-control{resize:vertical;min-height:80px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:9px;font-size:13px;font-weight:600;font-family:'Source Serif 4',serif;border:none;cursor:pointer;text-decoration:none;transition:all 0.15s;}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 4px 14px rgba(26,74,138,0.35);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,74,138,0.5);}
.btn-gold{background:linear-gradient(135deg,#b8902e,var(--gold));color:#000;font-weight:700;box-shadow:0 4px 14px rgba(212,168,67,0.25);}
.btn-gold:hover{transform:translateY(-1px);}
.btn-danger{background:rgba(192,57,43,0.2);border:1px solid rgba(192,57,43,0.4);color:#e8a;}
.btn-sm{padding:6px 13px;font-size:11px;}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* Badges */
.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:0.5px;font-family:'Cinzel',serif;}
.badge-blue{background:rgba(26,74,138,0.3);color:#7eb3ff;border:1px solid rgba(37,99,176,0.45);}
.badge-gold{background:rgba(212,168,67,0.2);color:var(--gold);border:1px solid rgba(212,168,67,0.35);}
.badge-green{background:rgba(22,163,74,0.2);color:#4ade80;border:1px solid rgba(22,163,74,0.35);}
.badge-red{background:rgba(192,57,43,0.2);color:#f87171;border:1px solid rgba(192,57,43,0.35);}
.badge-gray{background:rgba(255,255,255,0.07);color:var(--muted);}

/* Alerts */
.alert{border-radius:10px;padding:12px 16px;margin-bottom:18px;font-size:13px;}
.alert-success{background:rgba(22,163,74,0.15);border:1px solid rgba(22,163,74,0.4);color:#4ade80;}
.alert-error{background:rgba(192,57,43,0.15);border:1px solid rgba(192,57,43,0.4);color:#f87171;}
.alert-info{background:rgba(26,74,138,0.2);border:1px solid rgba(37,99,176,0.4);color:#7eb3ff;}

/* Candidate photo in table */
.cand-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--border);}
.cand-photo-placeholder{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--gold));display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-family:'Cinzel',serif;}

/* Logo & branding */
.site-logo{height:38px;max-width:140px;width:auto;border-radius:10px;padding:6px;background:linear-gradient(180deg,rgba(59,130,246,0.06),transparent);border:1px solid rgba(255,255,255,0.12);box-shadow:0 6px 18px rgba(10,26,40,0.35);display:block;object-fit:contain;}
.site-logo-small{height:34px;width:auto;border-radius:8px;padding:4px;background:transparent;border:1px solid rgba(255,255,255,0.08);object-fit:contain;}

@media (max-width: 800px) {
  .site-logo {height: 32px; max-width: 120px;}
}

@media (max-width: 520px) {
  .site-logo {height: 28px; max-width: 100px; padding: 4px;}
}

.sidebar-logo{height:48px;width:auto;margin-bottom:8px;border-radius:8px;padding:4px;background:linear-gradient(180deg,rgba(37,99,176,0.06),transparent);border:1px solid rgba(255,255,255,0.03);box-shadow:0 6px 18px rgba(10,26,40,0.45)}

/* slight red accents for actions/destructive states */
.text-red{color:var(--accent-red)}
.btn-danger{background:linear-gradient(180deg, rgba(192,57,43,0.12), rgba(192,57,43,0.08));border:1px solid rgba(192,57,43,0.25);color:var(--accent-red)}
