:root{
  --bg:#f3f5f8; --card:#fff; --ink:#14202b; --mut:#5b6875; --line:#d8dee5;
  --pri:#0e4a6e; --pri2:#156a9c; --ok:#0a7a3a; --warn:#b35900; --ko:#b00020; --chip:#eef2f6;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 "Segoe UI",system-ui,Arial,sans-serif}
a{color:var(--pri2)}
.top{background:var(--pri);color:#fff;display:flex;align-items:center;gap:14px;padding:10px 16px;flex-wrap:wrap}
.top a{color:#fff;text-decoration:none;font-weight:600;padding:6px 10px;border-radius:8px}
.top a:hover,.top a.on{background:rgba(255,255,255,.15)}
.top .marca{font-size:18px;font-weight:800;letter-spacing:.3px;margin-right:8px}
.top .yo{margin-left:auto;font-size:14px;opacity:.9}
.top form{display:flex;gap:6px}
.top input{padding:7px 10px;border-radius:8px;border:0;min-width:200px;font-size:15px}
main{max-width:1200px;margin:0 auto;padding:16px}
h1{font-size:24px;margin:6px 0 14px} h2{font-size:19px;margin:0 0 10px} h3{font-size:16px;margin:12px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>*{flex:1 1 180px}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin:8px 0 3px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:3px solid #9ccbe8;border-color:var(--pri2)}
textarea{min-height:70px}
.scan{font-size:20px;font-family:Consolas,monospace;letter-spacing:1px;border:2px solid var(--pri2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;border:0;background:var(--pri2);color:#fff;font:600 15px/1.2 inherit;cursor:pointer;text-decoration:none;min-height:44px}
.btn:hover{filter:brightness(1.08)} .btn.sec{background:#e3e9ef;color:var(--ink)} .btn.ok{background:var(--ok)} .btn.ko{background:var(--ko)} .btn.warn{background:var(--warn)}
.btn.sm{padding:6px 10px;min-height:32px;font-size:13px} .btn[disabled]{opacity:.45;cursor:not-allowed}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px;white-space:pre-line;font-weight:600}
.flash.ok{background:#e3f5ea;color:#05501f;border:1px solid #9fd8b4} .flash.error{background:#fde8eb;color:#7a0016;border:1px solid #f3a9b5}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);background:#f8fafc}
tr.an td{color:#9aa3ad;text-decoration:line-through}
.tw{overflow-x:auto}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--chip);font-size:12.5px;font-weight:600;white-space:nowrap}
.chip.RECEPCION{background:#e6f0ff;color:#0b3d91} .chip.ANALITICA{background:#f3e8ff;color:#5b1a8b} .chip.EXPEDICION{background:#fff2e0;color:#7a4300}
.chip.CERRADO{background:#e3f5ea;color:#05501f} .chip.PARA{background:#fde8eb;color:#7a0016}
.mut{color:var(--mut);font-size:13.5px}
.mono{font-family:Consolas,monospace}
.hash{font-family:Consolas,monospace;font-size:11px;color:#8a95a1;word-break:break-all}
.circs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.circ{border:2px solid var(--line);border-radius:12px;padding:12px}
.circ.cerrado{border-color:#9fd8b4;background:#f3fbf6}
.circ b{font-size:16px}
.tl{list-style:none;margin:0;padding:0}
.tl li{border-left:3px solid var(--line);padding:6px 0 10px 14px;position:relative}
.tl li:before{content:"";position:absolute;left:-7px;top:11px;width:11px;height:11px;border-radius:50%;background:var(--pri2)}
.tl li.RECEPCION:before{background:#0b3d91} .tl li.ANALITICA:before{background:#5b1a8b} .tl li.EXPEDICION:before{background:#b35900} .tl li.GENERAL:before{background:#5b6875}
.tl li.an{opacity:.55} .tl li.an .txt{text-decoration:line-through}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fotos figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fafbfc}
.fotos img{width:100%;height:130px;object-fit:cover;display:block}
.fotos figcaption{font-size:12px;padding:5px 7px}
.fotos .an{opacity:.4}
.pdfbox{display:flex;align-items:center;justify-content:center;height:130px;font-size:40px;background:#f1f1f1}
details>summary{cursor:pointer;font-weight:600;padding:6px 0}
.alerta{background:#fde8eb;border:2px solid #f3a9b5;color:#7a0016;padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:600}
.modal{position:fixed;inset:0;background:rgba(10,20,30,.55);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px}
.modal.on{display:flex}
.modal .card{max-width:420px;width:100%;margin:0}
.pin{font-size:30px;text-align:center;letter-spacing:10px;font-family:Consolas,monospace}
.cnt{font-size:34px;font-weight:800}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}
.kpi.PARA{border-color:#f3a9b5;background:#fff6f7}
@media (max-width:760px){
  .circs{grid-template-columns:1fr}
  .top input{min-width:0;width:100%}
  .top form{flex:1 1 100%}
  main{padding:12px}
  th.opt,td.opt{display:none}
}
@media print{.top,.noprint{display:none!important} body{background:#fff}}
