*{box-sizing:border-box}body{font:15px/1.45 system-ui,Segoe UI,Arial,sans-serif;margin:0;background:#f4f6f8;color:#1c2630}
nav{display:flex;gap:16px;align-items:center;background:#12324a;color:#fff;padding:12px 20px;flex-wrap:wrap}
nav a{color:#cfe3f3;text-decoration:none}nav a:hover{color:#fff}.sp{flex:1}
main{max-width:1050px;margin:20px auto;padding:0 16px}
h1{font-size:22px;margin:0 0 14px}h2{font-size:17px;margin:18px 0 8px}
.card{background:#fff;border:1px solid #dde3e9;border-radius:8px;padding:16px;margin-bottom:16px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #e6ebf0;vertical-align:top}
th{background:#eef2f6;font-size:13px}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #c3cdd7;border-radius:6px;width:100%}
textarea{min-height:80px}label{display:block;font-size:13px;margin:8px 0 3px;color:#4a5b6a}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
button,.btn{background:#1769aa;color:#fff;border:0;border-radius:6px;padding:8px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#5b6b7a}
.flash{background:#e6f4ea;border:1px solid #9bd0a8;padding:10px;border-radius:6px;margin-bottom:12px}
.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:#e3e9ef}
.tag.urgente,.tag.alta{background:#fde2e0}.tag.completada{background:#d9f0df}.tag.en_proceso{background:#e0edfb}
.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters>div{min-width:170px}
.muted{color:#6b7a88;font-size:13px}.login{max-width:360px;margin:80px auto}
@media print{.no-print{display:none!important}body{background:#fff}.card{border:0;padding:0}main{max-width:none;margin:0}}

/* ---- Evidencias ---- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.card.encurso{border-left:4px solid #1769aa}
.thumbs,.prev{display:flex;gap:8px;flex-wrap:wrap}
.th{position:relative}.th img,.prev img{width:110px;height:82px;object-fit:cover;border-radius:6px;border:1px solid #c3cdd7;display:block}
.th form{position:absolute;top:2px;right:2px;margin:0}
.th .x{padding:0 7px;line-height:20px;background:#c0392b;font-size:16px}
.prev{margin-top:6px}input[type=file]{padding:9px;background:#fff}
form.cierre{border-top:1px dashed #c3cdd7;margin-top:12px;padding-top:4px}

/* ---- Reporte al cliente (basado en el formato Teknosys) ---- */
.rep{background:#fff;border:1px solid #dde3e9;border-radius:8px;padding:26px 30px;font-size:14px;color:#222;line-height:1.5}
.rh{display:flex;align-items:center;gap:20px}
.rh-logo img{width:150px;height:auto;display:block}
.rh-addr{flex:1;font-size:12px;color:#444}.rh-t{letter-spacing:4px;font-weight:700;color:#1f3864;font-size:12px;margin-bottom:4px}.lnk{color:#2e75b6}
.rh-badge{background:#1f3864;color:#fff;text-align:right;padding:14px 18px;min-width:200px}
.rh-badge .b1{font-size:22px;font-weight:700}.rh-badge .b2{letter-spacing:4px;font-weight:700;font-size:12px}.rh-badge .b3{font-size:10px;color:#9dc3e6;margin-top:4px}
.tri{display:flex;height:5px;margin:12px 0}.tri i{flex:1}.tri .b{background:#0a5ca8}.tri .g{background:#7ac143}.tri .r{background:#e8333a}
.rtitle{text-align:center;font-weight:700;letter-spacing:.5px;color:#1f3864;border-bottom:1px solid #1f3864;padding:2px 0 8px;margin-bottom:12px}
.info{width:100%;border:1px solid #cfd6dd;margin-bottom:14px}.info th{background:#f2f2f2;width:190px;font-size:13px;border:1px solid #cfd6dd}.info td{border:1px solid #cfd6dd}
h2.sec{color:#1f3864;border-bottom:1px solid #1f3864;padding-bottom:3px;margin:20px 0 8px;font-size:17px}
.tb th{background:#1f3864;color:#fff}.tb td{border:1px solid #e1e6eb}.tb .tm{color:#2e75b6;font-weight:700;white-space:nowrap}
.tb tr.grp td{background:#f2f2f2;font-weight:700;color:#1f3864}
.act{margin-bottom:14px;break-inside:avoid}.act-h{font-weight:700;color:#1f3864;margin-bottom:6px;font-size:13px}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
figure{margin:0;break-inside:avoid}figure img{width:100%;height:auto;display:block;border:1px solid #cfd6dd}
figcaption{font-size:11.5px;color:#555;font-style:italic;text-align:center;margin-top:3px}
.sign td{border:0;padding:0}.rfoot{margin-top:22px;border-top:1px solid #e1e6eb;padding-top:6px;text-align:center;font-size:11px;color:#999}
@page{size:letter;margin:14mm 14mm 16mm}
@media print{
  .rep{border:0;padding:0;border-radius:0;font-size:12.5px}
  .rh-badge,.tb th,.tri i,.info th,.tb tr.grp td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rfoot{display:none}
  .tb tr,.info tr{break-inside:avoid}
}
h2.sec,.keep{break-after:avoid;page-break-after:avoid}
