:root{--g:#0056b3;--g2:#004a99;--g3:#003366;--soft:#eef4fb;--txt:#1f2937;--muted:#63726a;--line:#d7e2da;--card:#fff;--warn:#a05a00;--danger:#9f1d32}*{box-sizing:border-box}body{margin:0;background:#f3f7fc;color:var(--txt);font-family:Calibri,Arial,sans-serif;font-size:16px}a{color:inherit}.top{background:linear-gradient(135deg,var(--g3),var(--g),#0066cc);color:#fff;padding:20px 16px;box-shadow:0 3px 14px rgba(0,0,0,.14)}.topin{max-width:1240px;margin:auto;display:flex;align-items:center;gap:17px}.logo{width:78px;height:78px;object-fit:contain;background:#fff;border-radius:18px;padding:7px}.kicker{font-size:14px;opacity:.95}.kicker a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.title{font-size:29px;font-weight:800;line-height:1.05;margin-top:4px}.sub{opacity:.96;margin-top:5px}.contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 10px;font-size:13px}.nav{background:#fff;border-bottom:1px solid var(--line)}.navin{max-width:1240px;margin:auto;display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px}.btn,.nav a{border:1px solid var(--line);background:#fff;color:var(--txt);border-radius:12px;padding:9px 12px;text-decoration:none;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn:hover,.nav a:hover{background:#f8fbf9}.btn.primary{background:var(--g);color:#fff;border-color:var(--g)}.btn.danger{color:var(--danger);border-color:#e7b7c0}.btn.small{font-size:14px;padding:6px 9px}.wrap{max-width:1240px;margin:22px auto;padding:0 16px}.notice{background:#fff;border-left:7px solid var(--g);padding:16px 18px;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.045);margin-bottom:18px}.tools{display:grid;grid-template-columns:1fr 190px 190px 180px;gap:10px;margin:17px 0}.input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}.input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,86,179,.16);border-color:var(--g)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 3px 12px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column}.photo{height:220px;background:#edf4fc;position:relative}.photo img{width:100%;height:100%;object-fit:contain;background:#f8fafc;padding:6px}.num{position:absolute;top:10px;left:10px;background:rgba(0,74,153,.93);color:#fff;border-radius:999px;padding:6px 10px;font-weight:800}.body{padding:15px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:13px;font-weight:800;border-radius:999px;padding:5px 9px;background:#edf4fc;color:#1f3f66}.ok{background:#e6f0ff;color:#0056b3}.warn{background:#fff3d9;color:#9b5b00}.no{background:#f7e6ea;color:#9f1d32}.desc{font-size:19px;font-weight:800;margin:9px 0}.meta{font-size:14px;color:var(--muted);line-height:1.45}.meta b{color:#344238}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal.open{display:flex}.modalcard{background:#fff;border-radius:22px;max-width:1000px;width:100%;max-height:94vh;overflow:auto}.modalhead{padding:16px 18px;border-bottom:1px solid var(--line)}.modalbody{padding:18px}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px}.gallery .mainimg{height:430px;object-fit:contain;background:#eef4fb;border-radius:14px;border:1px solid var(--line)}.thumbs{display:grid;grid-template-columns:1fr;gap:8px}.thumbs img{height:80px;object-fit:contain;background:#f8fafc;padding:4px;border-radius:12px;border:2px solid var(--line);cursor:pointer}.table{width:100%;border-collapse:collapse;margin-top:12px}.table td,.table th{border:1px solid var(--line);padding:8px;text-align:left}.form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.fg{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field label{display:block;font-weight:800;margin-bottom:6px}.full{grid-column:1/-1}.hint{font-size:13px;color:var(--muted);margin-top:4px}.rows{margin-top:18px}.row{display:grid;grid-template-columns:84px 80px 1fr 145px 165px;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;margin-bottom:8px}.row img{width:78px;height:58px;object-fit:contain;background:#f8fafc;padding:3px;border-radius:9px}.foot{max-width:1240px;margin:28px auto;color:var(--muted);font-size:14px;padding:0 16px 26px}.counter{position:fixed;right:12px;bottom:10px;background:#0f4e34;color:#fff;border-radius:999px;padding:7px 11px;font-size:13px;box-shadow:0 2px 12px rgba(0,0,0,.18);z-index:5}.login{max-width:440px;margin:55px auto}.hideprint{}@media(max-width:820px){.tools,.fg,.row,.gallery{grid-template-columns:1fr}.logo{width:62px;height:62px}.title{font-size:23px}.photo{height:190px}}@media print{.nav,.tools,.actions,.counter,.hideprint{display:none!important}.top{box-shadow:none}.wrap{max-width:none}.modal{position:static;display:block;background:#fff;padding:0}.modalcard{max-height:none;box-shadow:none}.card{break-inside:avoid}}


/* =====================================================
   FICHA SIDEP - ENCABEZADO INSTITUCIONAL E IMPRESION
===================================================== */
.print-header{
  width:100%;
  border-bottom:2px solid #1f5d3b;
  padding-bottom:12px;
  margin-bottom:18px;
}
.print-header-inner{
  display:flex;
  align-items:center;
  gap:18px;
}
.print-logo img{
  width:78px;
  height:auto;
  object-fit:contain;
}
.print-title{flex:1;}
.print-title .u1{
  font-size:20px;
  font-weight:800;
  color:#184d30;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.print-title .u2{
  font-size:18px;
  font-weight:800;
  color:#21613d;
  margin-top:2px;
}
.print-title .u3{
  font-size:16px;
  font-weight:700;
  color:#2d6f4a;
  margin-top:2px;
}
.print-title .u4{
  font-size:18px;
  font-weight:800;
  margin-top:10px;
  color:#111827;
}
.ficha-sidep .mainimg{
  width:100%;
}

@media print{
  body.print-ficha-only > *:not(.modal){
    display:none!important;
  }
  body.print-ficha-only .modal{
    position:static!important;
    display:block!important;
    background:#fff!important;
    padding:0!important;
    inset:auto!important;
  }
  body.print-ficha-only .modalcard{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.print-ficha-only .modalhead,
  body.print-ficha-only .hideprint,
  body.print-ficha-only .thumbs{
    display:none!important;
  }
  body.print-ficha-only .modalbody{
    padding:0!important;
  }
  body.print-ficha-only .print-header{
    margin-top:0!important;
    margin-bottom:14px!important;
  }
  body.print-ficha-only .gallery{
    display:block!important;
  }
  body.print-ficha-only .gallery .mainimg{
    width:100%!important;
    max-height:360px!important;
    object-fit:contain!important;
    border:1px solid #d7e2da!important;
    border-radius:10px!important;
    background:#eef4fb!important;
  }
  body.print-ficha-only .table{
    font-size:12.5px!important;
    margin-top:12px!important;
  }
  body.print-ficha-only .table th{
    width:28%!important;
  }
}


.warning{
  background:#fff8e8;
  border-left:6px solid #f0ad4e;
  padding:14px 18px;
  border-radius:14px;
  margin:18px 0;
  color:#5c4400;
  line-height:1.5;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.warning b{
  display:block;
  margin-bottom:6px;
}
