:root{--deep:#073F39;--teal:#00AC99;--mint:#6FDDCD;--yellow:#FDCC00;--ink:#1d2b29;--mute:#5d6f6c;--line:#dbe6e4;--bg:#f5f8f7;--card:#fff;--err:#b3261e;--errbg:#fdecea;--warn:#8a5a00;--warnbg:#fff6da;--ok:#1f7a4d;--okbg:#e6f5ec}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 "Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--deep)}header.top{background:var(--deep);color:#fff;display:flex;align-items:center;gap:24px;padding:0 24px;height:56px;border-bottom:4px solid var(--yellow)}
.marca{font-weight:800;font-size:20px;letter-spacing:.5px}.marca span{color:var(--mint)}.marca small{display:block;font-weight:400;font-size:11px;color:var(--mint);margin-top:-4px}
nav a{color:#fff;text-decoration:none;margin-right:18px;opacity:.85}nav a:hover,nav a.on{opacity:1;border-bottom:2px solid var(--mint)}
.der{margin-left:auto;font-size:13px}.der a{color:var(--mint);margin-left:12px}
main{max-width:1240px;margin:0 auto;padding:24px}h1{font-size:22px;margin:0 0 4px;color:var(--deep)}h2{font-size:16px;color:var(--deep);margin:24px 0 10px}
.sub{color:var(--mute);margin:0 0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--mute);background:#fafcfc}tr:hover td{background:#fbfefd}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.e-DOCS_PENDIENTES{background:#eef1f1;color:#45514f}.e-EN_REVISION{background:#e3f4f2;color:#05665b}.e-NO_REGISTRABLE{background:var(--errbg);color:var(--err)}
.e-LISTO{background:#fff4c2;color:#6b5100}.e-INGRESADO{background:#e5edff;color:#2442a0}.e-PREVENIDO{background:#ffe6cf;color:#8a4200}.e-REGISTRADO{background:var(--okbg);color:var(--ok)}
.kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:inherit}
.kpi b{display:block;font-size:24px;color:var(--deep)}.kpi span{font-size:12px;color:var(--mute)}.kpi.on{outline:2px solid var(--teal)}
.btn{display:inline-block;background:var(--deep);color:#fff;border:0;border-radius:7px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--deep);border:1px solid var(--deep)}.btn.teal{background:var(--teal)}.btn.peq{padding:4px 10px;font-size:12px}.btn.rojo{background:var(--err)}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #c7d6d3;border-radius:6px;width:100%;background:#fff}textarea{min-height:70px}
label{display:block;font-size:12px;color:var(--mute);margin-bottom:3px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px 16px}
.chk{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink)}.chk input{width:auto}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:12px}.flash.ok{background:var(--okbg);color:var(--ok)}.flash.error{background:var(--errbg);color:var(--err)}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:16px}.tabs a{padding:8px 14px;text-decoration:none;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-2px}
.tabs a.on{color:var(--deep);border-color:var(--teal);font-weight:600}
.h{border-left:4px solid;padding:8px 12px;margin:6px 0;border-radius:4px}.h.ERROR{border-color:var(--err);background:var(--errbg)}.h.REVISAR{border-color:#d9a521;background:var(--warnbg)}.h.OK{border-color:var(--ok);background:var(--okbg)}
.h small{display:block;color:var(--mute)}.dict{font-size:17px;font-weight:700;padding:12px 16px;border-radius:8px;margin-bottom:12px}.dict.no{background:var(--errbg);color:var(--err)}.dict.si{background:var(--okbg);color:var(--ok)}
.muted{color:var(--mute)}.fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dos{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.log li{margin-bottom:6px}.log small{color:var(--mute)}fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 14px;padding:12px 14px}legend{color:var(--deep);font-weight:700;padding:0 6px}
.login{max-width:380px;margin:80px auto}.tri{display:flex;gap:10px}.tri label{display:flex;gap:4px;align-items:center;color:var(--ink);font-size:13px}.tri input{width:auto}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.dos{grid-template-columns:1fr}header.top{flex-wrap:wrap;height:auto;padding:10px 16px}main{padding:16px}}
.overlay{position:fixed;inset:0;background:rgba(7,63,57,.55);display:flex;align-items:center;justify-content:center;z-index:50}
.overlay[hidden]{display:none}.caja{background:#fff;border-radius:12px;padding:28px 32px;max-width:420px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.caja b{display:block;font-size:17px;color:var(--deep);margin-top:14px}.caja p{color:var(--mute);margin:8px 0 0}
.spin{width:44px;height:44px;margin:0 auto;border:4px solid var(--mint);border-top-color:var(--deep);border-radius:50%;animation:gira 0.9s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.flash.aviso{background:var(--warnbg);color:var(--warn);border-left:4px solid #d9a521}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.mod{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none;color:inherit;border-top:4px solid var(--teal);transition:box-shadow .15s}
.mod:hover{box-shadow:0 6px 20px rgba(7,63,57,.12)}.mod h3{margin:0 0 6px;color:var(--deep);font-size:17px}.mod p{margin:0;color:var(--mute);font-size:13px}
.mod.prox{border-top-color:#c7d6d3;opacity:.75;cursor:default}.mod .tag{display:inline-block;margin-top:12px;font-size:12px;font-weight:600;color:var(--teal)}
.mod.prox .tag{color:var(--mute)}
