:root{--blue:#001f5f;--red:#d71920;--ink:#172033;--muted:#667085;--bg:#eef2f7}*{box-sizing:border-box}body{font-family:Inter,Arial,sans-serif;background:var(--bg);margin:0;color:var(--ink)}.wrap{max-width:1180px;margin:24px auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 12px 40px #102a5618}.top{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}h1{color:var(--blue);margin:.1em 0}h2{color:#0b316f}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--red);margin:0}.card,.q{border:1px solid #d9e2ef;border-radius:16px;padding:18px;margin:16px 0;background:linear-gradient(180deg,#fff,#fbfdff)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.score{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0}.score label{font-weight:700;background:#f3f6fb;padding:8px 12px;border-radius:999px}textarea,input,select{width:100%;padding:11px;margin:6px 0 12px;border:1px solid #b8c3d3;border-radius:10px;background:white}button,.btn{background:linear-gradient(135deg,var(--blue),#123f91);color:white;border:0;padding:10px 15px;border-radius:10px;text-decoration:none;display:inline-block;cursor:pointer;font-weight:700}.small{font-size:12px;padding:7px 10px}.danger{background:#991b1b!important}.inline{display:inline-block;margin:2px}.inline input,.inline select{width:auto;max-width:140px;padding:7px;margin:0}.notice{background:#ecfdf3;border:1px solid #b7ebc6;color:#075e32;padding:12px;border-radius:12px;margin:12px 0}.badge{display:inline-block;border-radius:999px;padding:5px 10px;background:#e5e7eb;font-weight:800;font-size:12px}.badge.finalizado{background:#dbeafe;color:#1e40af}.badge.revisado{background:#dcfce7;color:#166534}.badge.borrador{background:#fff7ed;color:#9a3412}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left;vertical-align:top}.thumb{max-width:210px;max-height:155px;margin:6px;border:1px solid #d7dce5;border-radius:10px;object-fit:cover}.photos{display:flex;flex-wrap:wrap;gap:8px}.cover{border-left:8px solid var(--red);padding:24px;background:linear-gradient(135deg,#f8fbff,#eef4ff);border-radius:16px;margin-bottom:18px}.stats{display:flex;gap:12px;flex-wrap:wrap}.stats span{background:#eef2ff;border-radius:12px;padding:12px 16px;font-weight:800}.signature{margin-top:40px;width:360px;border-top:2px solid #111;padding-top:10px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#08111f,#102a56 55%,#d71920)}.login-shell{width:min(1050px,100%);min-height:600px;display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.38)}.login-hero{position:relative;background:linear-gradient(180deg,rgba(0,31,95,.2),rgba(0,31,95,.9)),url('https://fedacv.com/wp-content/uploads/2025/05/fedacv-home.webp') center/cover no-repeat;display:flex;align-items:flex-end;padding:42px;color:white}.login-hero h1{font-size:48px;color:#fff}.login-card{padding:56px 46px;display:flex;flex-direction:column;justify-content:center}.login-btn{width:100%;background:linear-gradient(135deg,var(--blue),var(--red));padding:14px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:12px;margin:16px 0;font-weight:700}@media(max-width:820px){.grid,.login-shell{grid-template-columns:1fr}.top{display:block}.wrap{margin:0;border-radius:0}.login-hero{min-height:260px}}@media print{body{background:white}.no-print,button,.btn{display:none!important}.wrap{box-shadow:none;margin:0;max-width:none;padding:0}.q,.card{page-break-inside:avoid;border-color:#999}.cover{page-break-after:avoid}.thumb{max-width:45%;max-height:240px}.report{font-size:12pt}a:after{content:''}}

/* Login v5 limpio con logo FEDACV */
.login-v5{min-height:100vh;background:#f3f6fb;display:flex;align-items:center;justify-content:center;padding:28px;position:relative;overflow:hidden}
.login-v5:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(0,31,95,.16),transparent 28%),radial-gradient(circle at 82% 16%,rgba(215,25,32,.12),transparent 26%),linear-gradient(135deg,#f7f9fc,#e9eef7);z-index:0}.login-v5:after{content:"";position:absolute;right:-160px;bottom:-180px;width:520px;height:520px;border-radius:50%;background:#001f5f;opacity:.06;z-index:0}.login-v5-box{position:relative;z-index:1;width:min(1040px,100%);display:grid;grid-template-columns:1fr 430px;gap:28px;align-items:stretch}.login-v5-brand{background:#fff;border:1px solid #e4e9f2;border-radius:28px;padding:44px;box-shadow:0 24px 70px rgba(16,42,86,.13);display:flex;flex-direction:column;justify-content:space-between;min-height:560px;overflow:hidden;position:relative}.login-v5-brand:before{content:"";position:absolute;inset:auto -80px -120px auto;width:430px;height:430px;border-radius:50%;background:linear-gradient(135deg,#001f5f,#d71920);opacity:.09}.login-v5-logo{width:330px;max-width:82%;height:auto;object-fit:contain;margin-bottom:60px}.login-v5-kicker{display:inline-block;width:max-content;background:#eef2ff;color:#001f5f;border:1px solid #dbe4ff;border-radius:999px;padding:8px 13px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;margin:0 0 18px}.login-v5-brand h1{font-size:54px;line-height:.98;margin:0;color:#001f5f;letter-spacing:-.04em}.login-v5-copy{font-size:18px;line-height:1.55;color:#475467;max-width:560px;margin:18px 0 0}.login-v5-card{background:#001f5f;color:white;border-radius:28px;padding:38px;box-shadow:0 24px 70px rgba(0,31,95,.28);display:flex;flex-direction:column;justify-content:center}.login-v5-card-head{display:flex;gap:14px;align-items:center;margin-bottom:24px}.login-v5-shield{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.12);font-size:24px}.login-v5-card h2{color:#fff;font-size:30px;margin:0 0 4px}.login-v5-card p{color:#dbeafe;margin:0}.login-v5-form label{font-weight:800;color:#eef2ff}.login-v5-form input{width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;border-radius:14px;padding:14px 15px;margin:7px 0 16px;font-size:16px}.login-v5-form input::placeholder{color:#b9c7df}.login-v5-form input:focus{outline:3px solid rgba(255,255,255,.18);border-color:#fff;background:rgba(255,255,255,.16)}.login-v5-btn{width:100%;border:0;border-radius:14px;padding:15px 18px;margin-top:4px;font-size:16px;font-weight:900;background:#d71920;color:#fff;box-shadow:0 14px 26px rgba(215,25,32,.28)}.login-v5-btn:hover{filter:brightness(1.06)}.login-v5-foot{font-size:13px;text-align:center;margin-top:20px!important;color:#bfdbfe!important}.login-v5 .alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:12px;margin:0 0 18px;font-weight:800}@media(max-width:880px){.login-v5-box{grid-template-columns:1fr}.login-v5-brand{min-height:340px;padding:30px}.login-v5-logo{margin-bottom:34px;width:260px}.login-v5-brand h1{font-size:40px}.login-v5-card{padding:28px}}
.section-title{margin-top:28px;padding:16px 20px;background:#111827;color:#fff;border-radius:16px;page-break-before:auto}.section-title h2{margin:0}.sub-title{margin:16px 0 8px;padding:10px 14px;background:#e5e7eb;border-radius:12px}.hint{color:#374151;background:#f8fafc;border-left:4px solid #94a3b8;padding:8px}.legend{gap:12px;flex-wrap:wrap}.legend span{display:inline-block;background:#f3f4f6;padding:8px 10px;border-radius:10px}.stats span{display:inline-block;margin:4px;padding:8px 10px;background:#eef2ff;border-radius:10px}@media print{.section-title{background:#ddd!important;color:#000!important}.no-print{display:none!important}.q,.card{break-inside:avoid}}


/* Ajustes informe v7.3 */
.report-cover{background:#fff;border-left:8px solid var(--blue);border-top:1px solid #d9e2ef;border-right:1px solid #d9e2ef;border-bottom:1px solid #d9e2ef}
.report-brand{display:flex;align-items:center;gap:24px}.report-logo{width:210px;max-width:35%;height:auto;background:#fff;border-radius:12px;padding:8px;border:1px solid #e5e7eb}.photo-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 10px 10px 0}.photo-link small{display:block;max-width:520px;word-break:break-all;color:#475467}.section-title{background:var(--blue)!important;color:#fff!important;border-radius:14px}.section-title h2{color:#fff!important}.section-title *{color:#fff!important}@media print{.section-title{background:#001f5f!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.section-title h2{color:#fff!important}.report-logo{max-width:180px}.photo-link small{font-size:9pt;color:#111!important}.photo-link a{color:#001f5f!important;text-decoration:underline!important}}

/* Links de fotos v7.4 */
.photo-block{margin-top:14px;padding:14px;border:1px dashed #b8c3d3;border-radius:14px;background:#f8fafc}.photo-block h4{margin:0 0 10px;color:#001f5f}.photo-open-btn{display:inline-block;background:#001f5f;color:#fff!important;text-decoration:none;padding:8px 12px;border-radius:10px;font-weight:800;margin-bottom:8px}.photo-url input{font-size:12px;padding:7px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111;min-width:360px;max-width:100%}@media print{.photo-open-btn{background:#001f5f!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.photo-url input{border:0;padding:0;min-width:0;width:100%;font-size:8.5pt}.photo-url b{font-size:9pt}}

/* v7.5 selección visual S/C/I/N */
.selected-score{margin:12px 0;padding:12px 14px;border:2px solid #001f5f;border-radius:12px;background:#eef4ff;font-weight:800;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.score-code{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#001f5f;color:#fff;font-size:20px}.selected-S{border-color:#166534;background:#ecfdf3}.selected-S .score-code{background:#166534}.selected-C{border-color:#1e40af;background:#eff6ff}.selected-C .score-code{background:#1e40af}.selected-I{border-color:#b45309;background:#fffbeb}.selected-I .score-code{background:#b45309}.selected-N{border-color:#991b1b;background:#fef2f2}.selected-N .score-code{background:#991b1b}.selected-empty{border-color:#9ca3af;background:#f9fafb;color:#6b7280}
.badge.cerrado{background:#111827;color:#fff}
@media print{.selected-score{-webkit-print-color-adjust:exact;print-color-adjust:exact}.score-code{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Fotos vinculadas por pregunta v7.6 */
.linked-answer-photos{border:2px solid #001f5f;background:#f1f6ff}.linked-answer-photos h4{color:#001f5f;font-size:18px}.photo-question-note{background:#fff;border-left:5px solid #d71920;padding:10px;border-radius:8px}.answer-photo-link{font-size:15px}.answer-gallery-url{margin-bottom:12px}.photo-gallery-item{border:1px solid #d9e2ef;border-radius:14px;padding:12px;background:#fff}@media print{.linked-answer-photos{border:2px solid #001f5f!important;background:#f1f6ff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.photo-question-note{border-left:5px solid #d71920!important}}

/* Vista informe v7.7: selección visible por pregunta */
.score-result-box{border:2px solid #d9e2ef;border-radius:14px;padding:14px;margin:14px 0;background:#fbfdff}.score-result-box h4{margin:0 0 10px;color:#001f5f}.score-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-result-option{border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.score-result-option.marked{border:3px solid #001f5f;background:#eaf1ff;box-shadow:0 0 0 3px rgba(0,31,95,.08)}.score-letter{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5e7eb;font-weight:900;color:#111}.score-result-option.marked .score-letter{background:#001f5f;color:#fff}.score-label{font-weight:800}.score-mark{margin-left:auto;background:#16a34a;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.score-empty{color:#991b1b;font-weight:800}.no-photos{background:#f8fafc;border-left:4px solid #94a3b8;padding:8px;border-radius:8px}.answer-question{border-left:5px solid #001f5f}@media(max-width:760px){.score-result-grid{grid-template-columns:1fr}.photo-url input{min-width:0;width:100%}}@media print{.score-result-option.marked{border:3px solid #001f5f!important;background:#eaf1ff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.score-mark{background:#16a34a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v7.13 colores oficiales S/C/I/N y fila compacta */
.score-S .score-letter,.score-stat.score-S b{background:#166534!important;color:#fff!important}.score-C .score-letter,.score-stat.score-C b{background:#111827!important;color:#fff!important}.score-I .score-letter,.score-stat.score-I b{background:#f97316!important;color:#fff!important}.score-N .score-letter,.score-stat.score-N b{background:#dc2626!important;color:#fff!important}
.score-result-grid.score-result-row{display:flex!important;flex-wrap:nowrap;gap:6px;align-items:stretch}.score-result-row .score-result-option{flex:1 1 0;min-width:0;padding:6px 7px;border-radius:9px;gap:5px}.score-result-row .score-letter{width:26px;height:26px;font-size:15px;flex:0 0 auto}.score-result-row .score-label{font-size:12px;line-height:1.15}.score-result-row .score-mark{font-size:10px;padding:3px 6px;white-space:nowrap}.score-result-option.marked.score-S{border-color:#166534!important;background:#ecfdf3!important}.score-result-option.marked.score-C{border-color:#111827!important;background:#f3f4f6!important}.score-result-option.marked.score-I{border-color:#f97316!important;background:#fff7ed!important}.score-result-option.marked.score-N{border-color:#dc2626!important;background:#fef2f2!important}.score-stat b{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;margin-right:4px}.delete-photo-option{display:inline-flex;flex-direction:column;gap:6px;border:1px solid #cbd5e1;border-radius:12px;padding:8px;background:#fff;max-width:230px}.delete-photo-option input{width:auto;margin:0 6px 0 0}.delete-photo-option span{font-weight:800;color:#991b1b}.edit-photos{align-items:flex-start}
@media(max-width:760px){.score-result-grid.score-result-row{flex-wrap:wrap}.score-result-row .score-result-option{flex:1 1 48%}}
@media print{.score-result-grid.score-result-row{display:flex!important;flex-wrap:nowrap!important;gap:4px}.score-result-row .score-result-option{padding:4px 5px}.score-result-row .score-label{font-size:9pt}.score-result-row .score-mark{font-size:8pt}.score-S .score-letter,.score-C .score-letter,.score-I .score-letter,.score-N .score-letter,.score-stat b{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Datos informe optimizado v7.19 */
.report-data-card h2{margin-top:0}.report-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-data-grid div{border:1px solid #d9e2ef;border-radius:10px;padding:9px;background:#fbfdff}.report-data-grid b{display:block;color:#001f5f;font-size:12px;margin-bottom:3px}.report-data-grid span{display:block;font-weight:700;color:#172033}@media(max-width:760px){.report-data-grid{grid-template-columns:1fr}}@media print{.report-data-grid{grid-template-columns:repeat(3,1fr);gap:6px}.report-data-grid div{padding:6px}}

/* Datos informe dos columnas v7.20 */
.report-data-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-data-grid.two-cols div{min-height:54px}@media(max-width:760px){.report-data-grid.two-cols{grid-template-columns:1fr!important}}@media print{.report-data-grid.two-cols{grid-template-columns:repeat(2,1fr)!important}}

.hint-inline{font-size:12px;color:#667085;font-weight:400}select[multiple]{min-height:96px}

/* Apartados finales v7.23 */
.final-superior h2,.final-plan h2{color:#001f5f}.superior-item{border-left:5px solid #166534;background:#f0fdf4;padding:10px;border-radius:10px;margin:10px 0}.plan-table{width:100%;border-collapse:collapse;margin-top:10px}.plan-table th{background:#001f5f;color:white;padding:9px;text-align:left}.plan-table td{border:1px solid #d9e2ef;padding:8px;vertical-align:top}.plan-table textarea{width:100%;box-sizing:border-box}@media print{.plan-table th{background:#001f5f!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.superior-item{background:#f0fdf4!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.nota-final-facv{border:2px solid #001f5f;background:#f8fbff}.nota-final-facv p{margin:0;line-height:1.45}

.report-placa{width:140px;max-height:100px;object-fit:contain;border:1px solid #d9e2ef;border-radius:10px;background:#fff;padding:6px}.report-brand{align-items:center}@media print{.report-placa{max-width:120px;max-height:85px}}

/* Ajuste placa cabecera v7.26 */
.report-brand{display:grid!important;grid-template-columns:190px 1fr 260px;align-items:center;gap:22px}.report-logo{grid-column:1;width:180px!important;max-width:180px!important}.report-placa{grid-column:3;justify-self:center;width:240px!important;max-width:240px!important;max-height:150px!important;object-fit:contain;border:1px solid #d9e2ef;border-radius:10px;background:#fff;padding:6px}.report-brand > div{grid-column:2}@media(max-width:760px){.report-brand{display:flex!important;flex-wrap:wrap}.report-placa{width:200px!important;max-width:100%!important}}@media print{.report-brand{display:grid!important;grid-template-columns:170px 1fr 230px}.report-logo{width:160px!important}.report-placa{width:220px!important;max-height:135px!important}}

/* Desplazamiento placa v7.27 */
.report-placa{transform:translate(4cm,3cm)!important}
@media print{.report-placa{transform:translate(4cm,3cm)!important}}

/* Ajuste placa v7.28 */
.report-placa{transform:translate(6cm,3cm)!important;padding:2px!important;object-position:center center!important}
.report-cover{padding-top:8px!important;padding-bottom:8px!important;min-height:0!important}
@media print{.report-placa{transform:translate(6cm,3cm)!important;padding:2px!important}.report-cover{padding-top:6px!important;padding-bottom:6px!important;min-height:0!important}}

/* Ajuste placa v7.29 */
.report-placa{transform:translate(6cm,5cm)!important}
.report-cover{padding-top:0!important;padding-bottom:4px!important}
.cover.report-cover{padding-top:0!important}
@media print{.report-placa{transform:translate(6cm,5cm)!important}.report-cover{padding-top:0!important;padding-bottom:3px!important}}

/* Reducir espacio superior cabecera v7.30 */
.report-cover{padding-top:0!important;margin-top:-3cm!important}
.cover.report-cover{padding-top:0!important;margin-top:-3cm!important}
.report-brand{margin-top:0!important;padding-top:0!important}
@media print{.report-cover{padding-top:0!important;margin-top:-3cm!important}.cover.report-cover{padding-top:0!important;margin-top:-3cm!important}}

/* Corrección marco cabecera v7.31 */
.report-cover{margin-top:0!important;padding-top:2px!important;border-top:1px solid #d9e2ef!important}
.cover.report-cover{margin-top:0!important;padding-top:2px!important;border-top:1px solid #d9e2ef!important}
.report-brand{margin-top:-2.6cm!important;padding-top:0!important}
@media print{.report-cover{margin-top:0!important;padding-top:2px!important;border-top:1px solid #d9e2ef!important}.cover.report-cover{margin-top:0!important;padding-top:2px!important;border-top:1px solid #d9e2ef!important}.report-brand{margin-top:-2.6cm!important}}

/* Cabecera compacta v7.32 */
.report-cover{margin-top:0!important;padding:6px 14px!important;min-height:120px!important;max-height:155px!important;overflow:hidden!important;border-top:1px solid #d9e2ef!important}
.report-brand{margin-top:0!important;padding-top:0!important;min-height:110px!important;height:115px!important;align-items:center!important}
.report-logo{width:150px!important;max-width:150px!important;max-height:85px!important;object-fit:contain!important}
.report-placa{transform:translate(6cm,1.2cm)!important;width:240px!important;max-height:130px!important;object-fit:contain!important;padding:2px!important}
.report-brand > div h1{font-size:22px!important;margin:2px 0!important}.report-brand > div .eyebrow{margin:0!important;font-size:11px!important}
@media print{.report-cover{padding:5px 12px!important;min-height:110px!important;max-height:145px!important;overflow:hidden!important}.report-brand{height:110px!important;min-height:105px!important}.report-logo{width:145px!important;max-height:80px!important}.report-placa{transform:translate(6cm,1.2cm)!important;width:230px!important;max-height:125px!important}}
