
:root{color-scheme:light;
 --brand:#6B8378;--brand-d:#55695F;--brand-xl:#e8edea;
 --plane:#f2f4f2;--panel:#fff;--text-1:#0b0b0b;--text-2:#52514e;--muted:#898781;
 --grid:#e1e0d9;--axis:#c3c2b7;--border:rgba(11,11,11,.10);
 --ok:#0ca30c;--warn:#fab219;--serious:#ec835a;--crit:#d03b3b;
 --shadow:0 1px 2px rgba(11,11,11,.05),0 4px 16px rgba(11,11,11,.04)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
 color-scheme:dark;--brand:#7d9689;--brand-d:#6B8378;--brand-xl:#232a26;
 --plane:#0d0d0d;--panel:#1a1a19;--text-1:#fff;--text-2:#c3c2b7;
 --grid:#2c2c2a;--axis:#383835;--border:rgba(255,255,255,.10);--shadow:none}}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--plane);color:var(--text-1);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:60px}
a{color:var(--brand-d)}@media(prefers-color-scheme:dark){a{color:#9db3a8}}
button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}
button{cursor:pointer;background:none;border:none}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
header{background:var(--brand);color:#fff}
.hin{max-width:1180px;margin:0 auto;padding:16px 24px 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hin img{height:38px;opacity:.97}
.hin h1{font-size:16px;font-weight:600}.hin p{font-size:12.3px;opacity:.82}
.hin .sp{flex:1}
.warnkey{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
 border-radius:6px;padding:5px 10px;font-size:11.5px}
nav{max-width:1180px;margin:14px auto 0;padding:0 24px;display:flex;gap:2px;flex-wrap:wrap}
nav a{padding:9px 15px;font-size:12.8px;font-weight:600;color:rgba(255,255,255,.72);
 border-bottom:3px solid transparent;text-decoration:none}
nav a.on{color:#fff;border-bottom-color:#fff}nav a:hover{color:#fff}
main{max-width:1180px;margin:0 auto;padding:22px 24px}
h2{font-size:15px;font-weight:600;margin-bottom:3px}
p.cap{font-size:12.5px;color:var(--text-2);margin-bottom:14px}
.sec{margin-bottom:26px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;
 padding:16px 18px;box-shadow:var(--shadow)}
.banner{background:var(--brand-xl);border:1px solid var(--border);border-left:3px solid var(--brand);
 border-radius:8px;padding:12px 15px;font-size:12.6px;color:var(--text-2);margin-bottom:18px}
.banner b{color:var(--text-1)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:820px){.tiles{grid-template-columns:1fr 1fr}}
.tile{background:var(--panel);border:1px solid var(--border);border-radius:10px;
 padding:13px 15px;box-shadow:var(--shadow)}
.tile .l{font-size:11.4px;color:var(--text-2);min-height:30px}
.tile .v{font-size:27px;font-weight:600;line-height:1.15;margin-top:3px}
.tile .d{font-size:11.4px;color:var(--muted);margin-top:2px}
.tile.hi{border-top:3px solid var(--brand)}
.hero{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.hero .fig{font-size:50px;font-weight:600;line-height:1;color:var(--brand-d)}
@media(prefers-color-scheme:dark){.hero .fig{color:#9db3a8}}
.hero .lab{font-size:12.6px;color:var(--text-2);max-width:260px;margin-top:5px}
.bar{height:9px;background:var(--grid);border-radius:5px;overflow:hidden;margin-top:5px}
.bar i{display:block;height:100%;background:var(--brand);border-radius:5px}
.sal{margin-top:2px}
.sal .r{display:flex;align-items:center;gap:11px;padding:6px 0;font-size:12.6px}
.sal .n{flex:0 0 210px;color:var(--text-2)}
.sal .b{flex:1}.sal .p{flex:0 0 74px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
table{width:100%;border-collapse:collapse;font-size:12.4px}
th{text-align:left;font-weight:600;font-size:11.4px;letter-spacing:.03em;color:var(--text-2);
 padding:8px 9px;border-bottom:1.5px solid var(--axis);white-space:nowrap}
td{padding:7px 9px;border-bottom:1px solid var(--grid);vertical-align:top}
tbody tr:hover td{background:var(--brand-xl)}
.scroll{overflow-x:auto}
.fbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--panel);
 border:1px solid var(--border);border-radius:10px;padding:12px 15px;margin-bottom:16px;box-shadow:var(--shadow)}
.fld{display:flex;flex-direction:column;gap:4px}
.fld label{font-size:10.4px;letter-spacing:.05em;color:var(--muted);font-weight:600;text-transform:uppercase}
.fld select,.fld input{border:1px solid var(--axis);border-radius:6px;padding:6px 9px;font-size:12.6px;
 background:var(--panel);min-width:160px}
.fcount{margin-left:auto;align-self:center;font-size:12.4px;color:var(--text-2)}
.fcount b{font-size:15px;color:var(--text-1)}
.btn{background:var(--brand);color:#fff;border-radius:7px;padding:8px 15px;font-size:12.8px;font-weight:600}
.btn:hover{background:var(--brand-d)}
.btn.sec{background:none;color:var(--text-2);border:1px solid var(--border)}
.btn.sec:hover{background:var(--brand-xl);color:var(--text-1)}
.m{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--axis);
 border-radius:10px;padding:13px 16px;margin-bottom:10px;box-shadow:var(--shadow)}
.m.alta{border-left-color:var(--ok)}.m.media{border-left-color:var(--warn)}
.m.baja{border-left-color:var(--serious)}
.mh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.mh .cl{font-size:13.6px;font-weight:600}.mh .as{font-size:11.4px;color:var(--text-2)}
.mh .sc{margin-left:auto;font-size:10.8px;font-weight:700;padding:2px 9px;border-radius:20px;
 border:1px solid var(--border);white-space:nowrap;color:var(--text-2)}
.m.alta .sc{color:#006300}.m.media .sc{color:#8a6200}.m.baja .sc{color:#a2542f}
@media(prefers-color-scheme:dark){.m.alta .sc{color:var(--ok)}.m.media .sc{color:var(--warn)}
 .m.baja .sc{color:var(--serious)}}
.mb{font-size:12.3px;color:var(--text-2);margin-bottom:6px}.mb b{color:var(--text-1)}
.props{border-top:1px solid var(--grid);padding-top:7px}
.prop{padding:6px 0 7px;border-bottom:1px dashed var(--grid)}.prop:last-child{border-bottom:none}
.pt{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.pt a{font-size:12.6px;font-weight:600;text-decoration:none}.pt a:hover{text-decoration:underline}
.pt .meta{font-size:11.4px;color:var(--muted)}
.pt .pr{margin-left:auto;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}
.rz{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.rz span{font-size:10.8px;padding:2px 8px;border-radius:20px;border:1px solid var(--border);color:var(--muted)}
.rz .y{color:#006300;background:rgba(12,163,12,.07)}
.rz .p{color:#8a6200;background:rgba(250,178,25,.10)}
@media(prefers-color-scheme:dark){.rz .y{color:var(--ok)}.rz .p{color:var(--warn)}}
.req{font-size:11.4px;color:var(--muted);margin-top:6px;padding-top:5px;border-top:1px solid var(--grid);font-style:italic}
.empty{padding:30px;text-align:center;color:var(--muted);font-size:12.8px;
 background:var(--panel);border:1px dashed var(--axis);border-radius:10px}
.tag{font-size:10.4px;padding:1.5px 7px;border-radius:20px;border:1px solid var(--border);
 color:var(--text-2);white-space:nowrap;display:inline-block;margin:1px 2px 1px 0}
.grp{margin-bottom:20px}
.grp h3{font-size:12px;font-weight:700;color:var(--brand-d);text-transform:uppercase;
 letter-spacing:.05em;margin-bottom:8px}
@media(prefers-color-scheme:dark){.grp h3{color:#9db3a8}}
.cfg{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--grid)}
.cfg:last-child{border-bottom:none}
.cfg .lab{flex:1;font-size:12.8px}
.cfg .ay{display:block;font-size:11.2px;color:var(--muted);margin-top:1px}
.cfg input{width:82px;text-align:right;border:1px solid var(--axis);border-radius:6px;
 padding:5px 8px;font-variant-numeric:tabular-nums;background:var(--panel)}
form.inline{display:inline}
.mini{font-size:11.4px;color:var(--muted)}
.ok{color:var(--ok);font-weight:600}.bad{color:var(--crit);font-weight:600}
footer{max-width:1180px;margin:0 auto;padding:10px 24px;font-size:11.3px;color:var(--muted)}

/* sesión de usuario en el header */
.userbox{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#fff;opacity:.95}
.userbox form{margin:0}
.userbox button{border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:5px 11px;
 font-size:11.8px;color:#fff}
.userbox button:hover{background:rgba(255,255,255,.14)}
