:root{--ink:#1b2430;--muted:#5b6675;--line:#d5dae1;--bg:#f3f5f8;--card:#fff;--accent:#1f5fd1;--warn-bg:#fff4d6;--warn-fg:#4d3300;--err-bg:#fbe1e1;--err-fg:#7a1d1d}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.4 IBM Plex Sans,system-ui,sans-serif}header{background:var(--card);border-bottom:1px solid var(--line)}header .in,main{max-width:1440px;margin:0 auto;padding:0 32px}header .in{flex-wrap:wrap;align-items:center;gap:28px;min-height:52px;display:flex}header strong{font-weight:600}main{flex-direction:column;gap:20px;padding-top:24px;padding-bottom:48px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:600}p.sub{color:var(--muted);margin:4px 0 0}.fila{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}button,.btn{min-height:44px;font:inherit;cursor:pointer;color:var(--ink);background:#fff;border:1px solid #c6ccd5;border-radius:8px;padding:0 16px;font-weight:500}button.primario{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.6;cursor:default}.tabla{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;border-bottom:1px solid var(--line);color:var(--muted);background:#f8f9fb;padding:10px 16px;font-size:12px;font-weight:500}td{border-bottom:1px solid #eef1f5;padding:12px 16px}.cod{background:#eef1f5;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:500}.aviso{border-radius:10px;padding:12px 16px}.aviso.warn{background:var(--warn-bg);color:var(--warn-fg);border:1px solid #e3c06a}.aviso.err{background:var(--err-bg);color:var(--err-fg)}.aviso.ok{color:#14502d;background:#ddf3e5}.vacio{text-align:center;color:var(--muted);padding:32px}form{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:16px;max-width:720px;padding:20px;display:grid}label{flex-direction:column;gap:6px;font-weight:500;display:flex}input,select{min-height:44px;font:inherit;background:#fff;border:1px solid #c6ccd5;border-radius:8px;padding:0 12px}.dos{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){header .in,main{padding-left:16px;padding-right:16px}.dos{grid-template-columns:1fr}}
