:root{color-scheme:light dark;--bg:#f7f6f2;--fg:#14141a;--card:#fff;--bd:#e2e2e8;--mut:#6b6b78;--ac:#b08d00;--ok:#1a9d5c;--ko:#d6403f;--wa:#c98a00}
@media(prefers-color-scheme:dark){:root{--ac:#f8d748;--bg:#101014;--fg:#ececf1;--card:#18181e;--bd:#2c2c35;--mut:#9a9aa8}}
*{box-sizing:border-box}
body{font:15px/1.45 system-ui,-apple-system,sans-serif;margin:0;background:var(--bg);color:var(--fg)}
a{color:var(--ac);text-decoration:none}
header.top{background:#12141c;border-bottom:3px solid #f8d748}
header.top img{height:26px;display:block}
header.top nav a{color:#8b91a0}header.top nav a.on,header.top nav a:hover{background:#2a2f3d;color:#fff}
header.top .mut{color:#8b91a0}header.top a{color:#f8d748}
.wrap{max-width:1240px;margin:auto;padding:16px}
.top .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:10px}
nav{display:flex;gap:2px;flex-wrap:wrap}
nav a{padding:7px 12px;border-radius:7px;color:var(--mut);font-weight:500}
nav a.on,nav a:hover{background:var(--bg);color:var(--fg)}
h1{font-size:20px;margin:4px 0 14px}h2{font-size:16px;margin:22px 0 8px}
input,select,button,textarea{padding:8px 10px;border-radius:7px;border:1px solid var(--bd);background:var(--card);color:var(--fg);font:inherit}
textarea{width:100%;min-height:60px}
button,.btn{cursor:pointer;display:inline-block}
button.p,.btn.p{background:#f8d748;color:#12141c;border-color:#e3bd21;font-weight:600}
button.d{color:var(--ko)}
button:disabled{opacity:.5;cursor:default}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.mut{color:var(--mut)}.small{font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;overflow:hidden;position:relative}
.card .th{aspect-ratio:1/1;background:#8881;display:grid;place-items:center;color:var(--mut);font-size:13px}
.card .th.pr{background:repeating-conic-gradient(#8882 0 25%,transparent 0 50%) 0 0/16px 16px}
.card img{width:100%;height:100%;object-fit:contain}
.card .in{padding:8px 10px;font-size:13px}
.card input[type=checkbox]{position:absolute;top:8px;left:8px;width:20px;height:20px}
.tag{display:inline-block;border-radius:5px;padding:1px 7px;font-size:12px;background:#8882}
.tag.aprobado{background:#1a9d5c22;color:var(--ok)}.tag.rechazado,.tag.error{background:#d6403f22;color:var(--ko)}
.tag.revisar,.tag.parcial{background:#c98a0022;color:var(--wa)}
.err{background:#d6403f18;border:1px solid var(--ko);padding:10px;border-radius:8px;margin-bottom:12px}
.okm{background:#1a9d5c18;border:1px solid var(--ok);padding:10px;border-radius:8px;margin-bottom:12px}
.panel{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px;margin-bottom:14px}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:980px}
th,td{text-align:left;padding:6px;border-bottom:1px solid var(--bd);vertical-align:top}
th{font-size:12px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
td input,td select,td textarea{width:100%;min-width:90px}
td textarea{min-height:44px}
.fm{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fm .o{border:1px solid var(--bd);border-radius:8px;padding:6px;background:var(--bg)}
.fm img{width:100%;border-radius:5px;display:block}
.sticky{position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:5}
pre{white-space:pre-wrap;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:10px;font-size:12.5px;margin:6px 0}
details summary{cursor:pointer;color:var(--ac)}
.pal{display:flex;gap:12px;flex-wrap:wrap}.pal label{display:grid;gap:4px;font-size:13px}.pal input[type=color]{width:70px;height:40px;padding:2px}
@media(max-width:640px){.wrap{padding:12px}.grid{grid-template-columns:repeat(2,1fr)}}
