:root{--g:#0b4f94;--gd:#083a6e;--or:#f0894a;--ord:#e0763a;--gold:#e8b400;--red:#d9040b;--bd:#d3deec;--bg:#fdf3ea}
*{box-sizing:border-box}
body{font-family:'Poppins',sans-serif;background:linear-gradient(160deg,#fdf3ea 0,#fff 55%);color:#1c2b22;min-height:100vh}
.hero{background:linear-gradient(165deg,transparent 78%,var(--or) 78.1%),linear-gradient(160deg,#0b4f94,#083a6e);color:#fff;padding:34px 16px 90px;text-align:center}
.hero img{height:84px;background:#fff;padding:6px 10px;border-radius:10px;margin-bottom:12px}
.hero h1{font-size:clamp(1.3rem,4vw,2rem);font-weight:700;margin:0}
.hero p{opacity:.85;margin:6px 0 0;font-size:.95rem}
.search-card{max-width:620px;margin:-60px auto 30px;background:#fff;border:1px solid var(--bd);border-radius:10px;box-shadow:0 15px 40px rgba(0,0,0,.18);padding:26px}
.search-card label{font-weight:600;font-size:.85rem;margin-bottom:4px}
.form-control,.form-select{border-color:#b4c8e0;font-size:.92rem}
.form-control:focus,.form-select:focus{border-color:var(--g);box-shadow:0 0 0 .2rem rgba(11,79,148,.18)}
.btn-main{background:var(--or);color:#fff;font-weight:600;border:0;padding:10px 22px}
.btn-main:hover{background:var(--ord);color:#fff}
.btn-main:disabled{opacity:.7}
#resultBox{max-width:760px;margin:0 auto 40px}
.cand-card{background:#fff;border:1px solid var(--bd);border-left:5px solid var(--or);border-radius:10px;padding:20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.cand-photo{width:96px;height:112px;border-radius:8px;object-fit:cover;background:#e6eef8;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:700;color:var(--g)}
.cand-info{flex:1;min-width:200px}
.cand-info h3{font-size:1.15rem;font-weight:700;margin:0 0 4px}
.cand-info .meta{font-size:.82rem;color:#5b6b61;line-height:1.7}
.foot{text-align:center;color:#6b7b71;font-size:.8rem;padding:20px 10px 30px}
.foot a{color:var(--g);text-decoration:none}
/* admin */
.sb{width:240px;background:#fff;border-right:1px solid var(--bd);min-height:100vh;position:fixed;top:0;left:0;z-index:100}
.sb .brand{padding:14px;text-align:center;border-bottom:3px solid var(--or);font-weight:700;color:var(--g)}
.sb .brand img{height:56px;display:block;margin:0 auto 4px}
.sb a{display:flex;gap:10px;align-items:center;padding:11px 20px;color:#34483b;text-decoration:none;font-size:.9rem;font-weight:500}
.sb a:hover,.sb a.active{background:#e6eef8;color:var(--g);border-right:3px solid var(--or)}
.sb .sec{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#8a9a90;padding:14px 20px 4px}
.main{margin-left:240px;padding:0 0 30px}
.topbar{background:#fff;border-bottom:1px solid var(--bd);padding:12px 24px;display:flex;justify-content:space-between;align-items:center}
.topbar h2{font-size:1.15rem;margin:0;font-weight:700}
.content{padding:24px}
.cardx{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:20px;box-shadow:0 4px 14px rgba(0,0,0,.04);margin-bottom:20px}
.stat{display:flex;align-items:center;gap:14px}
.stat i{width:52px;height:52px;border-radius:12px;background:#e6eef8;color:var(--g);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.stat h3{margin:0;font-size:1.7rem;font-weight:700}.stat p{margin:0;font-size:.75rem;text-transform:uppercase;color:#6b7b71;font-weight:600}
.thumb{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e6eef8;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--g);font-size:.85rem}
.table th{font-size:.78rem;text-transform:uppercase;color:#5b6b61;white-space:nowrap}
.table td{font-size:.87rem;vertical-align:middle}
@media(max-width:991px){.sb{position:static;width:100%;min-height:0}.main{margin-left:0}.sb nav{display:flex;flex-wrap:wrap}.sb .sec{display:none}}
/* results preview */
.preview{flex:0 0 100%;border-top:1px solid var(--bd);padding-top:14px;margin-top:4px}
.preview-head{font-size:.8rem;font-weight:600;color:var(--g);margin-bottom:8px}
.pdf-pages canvas{display:block;border:1px solid var(--bd);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:8px;background:#fff}

/* CDACC palette overrides for Bootstrap "success" utilities */
.btn-outline-success{color:var(--g);border-color:var(--g)}
.btn-outline-success:hover,.btn-outline-success.active{background:var(--g);border-color:var(--g);color:#fff}
.badge.bg-success{background:var(--g)!important}
.text-success{color:var(--g)!important}
.topbar{border-bottom:3px solid var(--or)}
