:root{
  --navy:#14304A; --navy-light:#1F4A6D; --teal:#0F6E64; --orange:#E0762A;
  --bg:#F5F3EE; --ink:#1B1B18; --ink-soft:#5B584C; --surface:#FFFFFF; --line:#E1DCCF;
  --danger:#B3261E; --ok:#276B45;
  font-synthesis: none;
}
*{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--bg); color:var(--ink); font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Poppins',system-ui,sans-serif; line-height:1.15; margin:0 0 .4em;}
a{color:var(--navy);}
img{max-width:100%;}

.wrap{max-width:920px; margin:0 auto; padding-inline:20px;}

/* ---------- Header / hero ---------- */
.hero{background:linear-gradient(135deg,var(--navy) 0%, var(--navy-light) 100%); color:#fff; padding-block:38px 44px;}
.hero .eyebrow{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#BFD3E2; margin-bottom:8px;}
.hero h1{font-size:clamp(26px,4.4vw,38px); font-weight:700; text-wrap:balance;}
.hero .role{display:inline-block; margin-top:10px; background:var(--orange); color:#fff; font-weight:600;
  padding:8px 16px; border-radius:8px; font-size:clamp(15px,2.4vw,19px);}

/* ---------- Sections ---------- */
main{padding-block:32px 60px;}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-block:24px;}
@media (max-width:640px){ .grid2{grid-template-columns:1fr;} }

.card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px 24px;
  box-shadow:0 1px 2px rgba(20,20,15,.05), 0 8px 20px -12px rgba(20,20,15,.18);}
.card h2{font-size:18px; color:var(--navy); display:flex; align-items:center; gap:8px;}
.card.teal h2{color:var(--teal);}
.card ul{margin:.4em 0 0; padding-left:1.2em;}
.card li{margin-block:5px;}

.info-strip{display:flex; flex-wrap:wrap; gap:10px 22px; margin-block:22px; font-size:14px; color:var(--ink-soft);}
.info-strip b{color:var(--ink);}

.cta-wrap{text-align:center; margin-block:38px 10px;}
.btn{display:inline-block; font-family:'Poppins',sans-serif; font-weight:600; font-size:17px;
  background:var(--orange); color:#fff; padding:15px 34px; border-radius:10px; text-decoration:none;
  border:none; cursor:pointer; transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 8px 20px -8px rgba(224,118,42,.55);}
.btn:hover{transform:translateY(-1px);}
.btn.secondary{background:var(--navy); box-shadow:0 8px 20px -8px rgba(20,48,74,.5);}
.btn.danger{background:var(--danger);}
.btn.small{font-size:13px; padding:8px 16px; border-radius:7px;}

.map-note{font-size:13px; color:var(--ink-soft); text-align:center; margin-top:6px;}

footer{text-align:center; font-size:12px; color:var(--ink-soft); padding-block:28px; border-top:1px solid var(--line);}

/* ---------- Form ---------- */
.form-section{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px 24px; margin-block:20px;}
.form-section h2{font-size:17px; color:var(--navy); border-bottom:2px solid var(--line); padding-bottom:8px; margin-bottom:16px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:13.5px; font-weight:600; margin-bottom:5px;}
.field .hint{font-weight:400; color:var(--ink-soft); font-size:12.5px;}
.field input[type=text], .field input[type=email], .field input[type=tel], .field input[type=date],
.field input[type=number], .field select, .field textarea{
  width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:8px; font-family:inherit;
  font-size:14px; background:#fff; color:var(--ink);
}
.field textarea{resize:vertical; min-height:64px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px;}
@media (max-width:640px){ .row2, .row3{grid-template-columns:1fr;} }

.radio-group{display:flex; gap:18px; flex-wrap:wrap; padding-top:4px;}
.radio-group label{font-weight:400; display:flex; align-items:center; gap:6px; font-size:14px;}

.check-group{display:flex; flex-wrap:wrap; gap:10px 18px; padding-top:4px;}
.check-group label{font-weight:400; display:flex; align-items:center; gap:6px; font-size:14px;}

.repeat-block{border:1px dashed var(--line); border-radius:10px; padding:14px 16px; margin-bottom:12px; position:relative; background:var(--bg);}
.repeat-block .remove-btn{position:absolute; top:8px; right:10px; background:none; border:none; color:var(--danger); cursor:pointer; font-size:13px;}
.add-btn{background:var(--teal); color:#fff; border:none; border-radius:7px; padding:8px 14px; font-size:13px; cursor:pointer; font-weight:600;}

.consent-box{background:#FBF8EE; border:1px solid #E7DCB0; border-radius:10px; padding:14px 16px; margin-block:16px; font-size:13px;}
.consent-box label{display:flex; align-items:flex-start; gap:8px; font-weight:400; cursor:pointer;}
.consent-box input{margin-top:3px;}

.error-box{background:#FBEAE8; border:1px solid #F0C6C1; color:var(--danger); border-radius:10px; padding:12px 16px; margin-bottom:18px; font-size:14px;}
.ok-box{background:#E7F4EC; border:1px solid #BFE0CC; color:var(--ok); border-radius:10px; padding:12px 16px; margin-bottom:18px; font-size:14px;}

/* ---------- Admin ---------- */
.admin-topbar{background:var(--navy); color:#fff; padding:14px 0;}
.admin-topbar .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
.admin-topbar a{color:#fff; text-decoration:none; font-size:13px; opacity:.85;}
.admin-topbar a:hover{opacity:1;}
.login-wrap{max-width:360px; margin:80px auto; background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px 28px; box-shadow:0 10px 30px -14px rgba(0,0,0,.2);}

table.applist{width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; font-size:13.5px;}
table.applist th, table.applist td{padding:10px 12px; border-bottom:1px solid var(--line); text-align:left;}
table.applist th{background:var(--bg); font-family:'Poppins',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft);}
table.applist tr:hover{background:#FAFAF6;}
table.applist a{font-weight:600; text-decoration:none;}

.pill{display:inline-block; padding:3px 10px; border-radius:99px; font-size:11.5px; font-weight:600;}
.pill.nuevo{background:#E4ECF1; color:var(--navy);}
.pill.en_revision{background:#F6EAD4; color:#8A5A10;}
.pill.entrevista{background:#E4F0E8; color:var(--ok);}
.pill.descartado{background:#F8E7E4; color:var(--danger);}
.pill.contratado{background:#DCEFE3; color:#155C33;}

.detail-grid{display:grid; grid-template-columns:220px 1fr; gap:18px; margin-top:20px;}
@media (max-width:720px){ .detail-grid{grid-template-columns:1fr;} }
.detail-photo{width:100%; border-radius:12px; border:1px solid var(--line); object-fit:cover;}
.dl{display:grid; grid-template-columns:180px 1fr; gap:6px 14px; font-size:14px; margin-bottom:6px;}
.dl dt{color:var(--ink-soft); font-weight:600;}
.dl dd{margin:0;}
.section-h{font-family:'Poppins',sans-serif; color:var(--navy); font-size:15px; margin:22px 0 8px; border-bottom:2px solid var(--line); padding-bottom:6px;}
