:root{--t:#1f2933;--m:#616e7c;--b:#d9e2ec;--f:#f5f7fa;--p:#0b5cab}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;color:var(--t);background:var(--f)}
nav{background:#102a43;color:#fff;display:flex;gap:18px;align-items:center;padding:10px 24px;flex-wrap:wrap}
nav a{color:#d9e2ec;text-decoration:none}nav a:hover{color:#fff}nav strong{margin-right:12px}nav form{margin-left:auto}
nav button{background:none;border:1px solid #829ab1;color:#fff;margin:0;padding:3px 10px}
main{max-width:1080px;margin:24px auto;padding:0 20px}h1{font-size:24px;margin:0 0 16px}h2{font-size:17px;margin:0 0 10px}
.card{background:#fff;border:1px solid var(--b);border-radius:8px;padding:18px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
label{display:block;font-size:13px;color:var(--m)}input,select{width:100%;padding:7px 9px;border:1px solid var(--b);border-radius:5px;font:inherit;color:var(--t);background:#fff}
input[type=checkbox]{width:auto}button,.btn{background:var(--p);color:#fff;border:0;border-radius:5px;padding:8px 16px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block;margin-top:10px}
.btn2{background:#fff;color:var(--p);border:1px solid var(--p)}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:7px 9px;border-bottom:1px solid var(--b);text-align:left;font-size:14px}th{color:var(--m);font-weight:600}
.num{text-align:right}.aviso,.error{padding:10px 14px;border-radius:6px;margin-bottom:16px}.aviso{background:#e3f9e5;color:#0e5814}.error{background:#ffe3e3;color:#8a1c1c}
.tag{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.gris{background:#e4e7eb}.azul{background:#dceefb;color:#0b4a8a}.verde{background:#e3f9e5;color:#0e5814}.ambar{background:#fff3c4;color:#7a5a00}.rojo{background:#ffe3e3;color:#8a1c1c}
.amb{padding:2px 9px;border-radius:4px;font-size:12px;font-weight:700}.certificacion{background:#fff3c4;color:#7a5a00}.produccion{background:#c1121f;color:#fff}
.m{color:var(--m);font-size:13px}.kpi b{display:block;font-size:26px}code{word-break:break-all;background:#f0f4f8;padding:2px 5px;border-radius:3px}
.login{max-width:340px;margin:12vh auto}#lineas input,#lineas select{padding:5px}#lineas td{padding:4px}
