:root{--wine:#7a1731;--wine2:#981f42;--ink:#20242b;--muted:#667085;--line:#e5e7eb;--bg:#f5f6f8;--white:#fff;--ok:#157347;--warn:#9a6700;--bad:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{background:linear-gradient(135deg,#6d132b,#941f40);color:#fff;box-shadow:0 2px 10px #0002}.brand{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand strong{font-size:1.35rem;display:block}.brand span{font-size:.85rem;opacity:.8}.brand nav{display:flex;gap:18px}.brand a{color:#fff;text-decoration:none;font-weight:650}.hero{padding:48px 0 24px;max-width:820px}.hero h1,.adminhead h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;margin:.25rem 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.76rem;color:var(--wine2)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #1018280d;padding:28px}.form h2{margin-top:34px;border-bottom:1px solid var(--line);padding-bottom:10px}.form h2:first-of-type{margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span2{grid-column:span 2}label{display:grid;gap:7px;font-weight:700;font-size:.92rem}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfd4dc;border-radius:10px;background:#fff;font:inherit;color:inherit}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #981f4220;border-color:var(--wine2)}.hint{color:var(--muted)}.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.upload{border:1px dashed #bdc5d0;border-radius:14px;padding:16px;background:#fafafa}.upload input{padding:8px 0;border:0}.upload small{color:var(--muted);font-weight:400}.check{display:flex;align-items:flex-start;gap:10px;margin:24px 0;font-weight:500}.check input{width:auto;margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border:0;border-radius:10px;background:#eceff3;color:#222;font-weight:800;text-decoration:none;cursor:pointer}.btn.primary{background:var(--wine);color:#fff}.actions{text-align:right}.alert{padding:16px;border-radius:12px;margin:16px 0}.alert.error{background:#fff1f0;border:1px solid #fecdca;color:#912018}.success{text-align:center;max-width:680px;margin:70px auto}.success .icon{width:64px;height:64px;border-radius:50%;background:#e8f7ef;color:var(--ok);display:grid;place-items:center;font-size:2rem;margin:auto}.folio{background:#f7f8fa;padding:15px;border-radius:10px;margin:20px 0}.login{max-width:460px;margin:70px auto}.login form{display:grid;gap:16px}.adminhead{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:36px 0 20px}.adminhead h1{font-size:2.4rem;margin:0}.search{display:flex;gap:8px}.tablewrap{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.9rem}th{background:#fafafa;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.badge{padding:5px 9px;border-radius:999px;background:#eef2f6}.badge.completo{background:#e8f7ef;color:var(--ok)}.badge.rechazado,.badge.observaciones{background:#fff1f0;color:var(--bad)}.link,.back{color:var(--wine2);font-weight:750;text-decoration:none}.twocol{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.card h2{margin-top:0}dl{margin:0}dl div{padding:10px 0;border-bottom:1px solid var(--line)}dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;font-weight:800}dd{margin:3px 0 0}.doclist{display:grid;gap:10px}.doclist a{padding:12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}.doclist span,.doclist small{display:block}.doclist span{font-weight:750}.doclist small{color:var(--muted)}footer{padding:40px 0;color:var(--muted);font-size:.85rem}@media(max-width:760px){.brand{align-items:flex-start;padding:16px 0;flex-direction:column}.brand nav{flex-wrap:wrap}.grid,.docs,.twocol{grid-template-columns:1fr}.span2{grid-column:span 1}.adminhead{align-items:stretch;flex-direction:column}.search{width:100%}.search input{flex:1}.card{padding:20px}}


/* Acuerdo obligatorio de Proceso Administrativo */
body.agreement-open{overflow:hidden}.agreement-status{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:14px 16px;border:1px solid #f5c36b;border-radius:14px;background:#fff8e8}.agreement-status__icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#b54708;color:#fff;font-weight:900}.agreement-status>div{display:grid;gap:1px;flex:1}.agreement-status small{color:#7a4b12;font-weight:500}.agreement-status__badge{padding:5px 10px;border-radius:999px;background:#b54708;color:#fff;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.agreement-status.is-accepted{border-color:#a6d8bd;background:#edf9f2}.agreement-status.is-accepted .agreement-status__icon,.agreement-status.is-accepted .agreement-status__badge{background:var(--ok)}.agreement-status.is-accepted small{color:#28643f}.agreement-confirmed{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:24px 0 18px;border-radius:14px;border:1px solid #b7dfc8;background:#f0faf4}.agreement-confirmed>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff;font-weight:900}.agreement-confirmed>div{display:grid;flex:1}.agreement-confirmed small{color:#4b6354;font-weight:500}.link-button{border:0;background:transparent;color:var(--wine2);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.agreement-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px}.agreement-modal.is-hidden{display:none}.agreement-modal__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.72);backdrop-filter:blur(5px)}.agreement-modal__panel{position:relative;width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.35);outline:none;border-top:6px solid var(--wine)}.important-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#fff0e8;color:#9a3412;font-size:.76rem;font-weight:900;letter-spacing:.08em}.important-pill span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#c2410c;color:#fff}.agreement-modal h2{font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.1;margin:16px 0 10px;color:#2a2024}.agreement-modal p{color:#586174}.agreement-box{margin:20px 0;padding:18px 20px;border-radius:15px;background:#f8f4f5;border:1px solid #eadde1}.agreement-box h3{font-size:1rem;margin:0 0 10px}.agreement-box ul{margin:0;padding-left:20px}.agreement-box li{margin:8px 0;color:#3c434d}.agreement-check{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #d4d8df;border-radius:15px;background:#fff;cursor:pointer}.agreement-check:has(input:checked){border-color:var(--wine2);background:#fff8fa}.agreement-check input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--wine)}.agreement-check span{display:grid;gap:3px}.agreement-check small{color:var(--muted);font-weight:500}.agreement-modal__actions{display:flex;justify-content:flex-end;margin-top:18px}.agreement-modal__actions .btn{min-width:190px}.agreement-modal__actions .btn:disabled,.actions .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.agreement-note{font-size:.8rem;text-align:center;margin:14px 0 0}.agreement-shake{animation:agreementShake .34s ease}@keyframes agreementShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
@media(max-width:600px){.agreement-modal{padding:12px}.agreement-modal__panel{padding:22px 18px;max-height:92vh;border-radius:18px}.agreement-status{align-items:flex-start;flex-wrap:wrap}.agreement-status__badge{margin-left:44px}.agreement-confirmed{align-items:flex-start;flex-wrap:wrap}.agreement-confirmed .link-button{margin-left:46px}.agreement-modal__actions .btn{width:100%}}

/* Guía y plantilla de Currículum PRODEP */
.cv-guide{display:block;margin:18px 0 8px;padding:24px;border:1px solid #e5d7dc;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbf7f8 100%)}
.cv-guide__content{max-width:100%}.cv-guide__content h3{font-size:1.5rem;margin:.2rem 0 .7rem;color:#2d2025}.cv-guide__content>p:not(.eyebrow){color:#59616d;margin:.25rem 0 18px;max-width:980px}
.cv-guide__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.cv-step{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #eadde1;border-radius:12px;background:#fff;font-size:.92rem;font-weight:700;color:#38404a}.cv-step b{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#f2e4e9;color:var(--wine);font-size:.82rem}.cv-guide__actions{display:flex;gap:10px;margin:18px 0 24px}.cv-guide__actions .btn{min-width:250px}
.cv-example{margin-top:8px;padding-top:22px;border-top:1px solid #eadde1}.cv-example__header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:5px}.cv-example__header h4{margin:3px 0 0;font-size:1.18rem;color:#2b2024}.cv-example__eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.1em;color:var(--wine2)}.cv-example__badge{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#f2e4e9;color:var(--wine);font-size:.74rem;font-weight:850}.cv-example__help{margin:4px 0 12px;color:var(--muted);font-size:.9rem}
.cv-guide__preview{width:100%;height:820px;border:1px solid #cfd4dc;border-radius:14px;overflow:hidden;background:#525659;box-shadow:0 8px 24px #10182818}.cv-guide__preview iframe{display:block;width:100%;height:100%;border:0;background:#fff}.upload--cv{border:2px solid #caa6b2;background:#fff9fb}.upload-help{display:block;color:#6a4652!important;font-weight:600!important;margin:2px 0 5px;line-height:1.4}
@media(max-width:900px){.cv-guide__steps{grid-template-columns:1fr}.cv-guide__preview{height:720px}}@media(max-width:600px){.cv-guide{padding:16px}.cv-guide__actions{display:grid}.cv-guide__actions .btn{width:100%;min-width:0}.cv-example__header{align-items:flex-start;flex-direction:column}.cv-guide__preview{height:600px}}

.document-group{grid-column:1/-1;min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:14px}.document-group legend{padding:0 8px;font-weight:800;color:var(--wine)}.document-requirement{display:inline-block;font-size:.75rem;color:var(--muted);font-weight:500}

.btn.danger{background:var(--bad);color:#fff}.alert.success{background:#e8f7ef;color:var(--ok);border:1px solid #b7dfc8}
