:root{--b:#0a6ed1;--bg:#f5f6f7}
*{box-sizing:border-box} body{margin:0;font:14px/1.5 "Segoe UI",Arial,sans-serif;color:#222;background:var(--bg)}
nav{position:fixed;top:0;left:0;bottom:0;width:280px;overflow:auto;background:#1d2d3e;padding:14px;color:#cfe3f7}
nav h1{font-size:15px;margin:0 0 4px} nav h1 a{color:#fff;text-decoration:none} .who{font-size:12px;margin-bottom:8px;color:#9fb8d0}
nav input{width:100%;padding:6px;margin:6px 0;border-radius:4px;border:0}
nav a{display:block;color:#cfe3f7;text-decoration:none;padding:4px 6px;border-radius:4px;font-size:13px} nav a:hover,nav a.on{background:#2c4560}
nav a.top{font-weight:600} .navsec{margin:8px 0;border-top:1px solid #2c4560;border-bottom:1px solid #2c4560;padding:6px 0}
nav .link{color:#cfe3f7;padding:4px 6px}
main{margin-left:280px;padding:24px 36px;max-width:1350px} main.full{margin:0 auto;max-width:460px;padding-top:12vh}
.card{background:#fff;border-radius:8px;padding:8px 24px 20px;margin-bottom:22px;box-shadow:0 1px 3px #0002}
.card.narrow{max-width:460px} .login h2,.card h2{color:var(--b)}
h2{border-bottom:2px solid var(--b);padding-bottom:4px} h4{margin:22px 0 6px;color:#1d2d3e}
table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px} th,td{border:1px solid #d9d9d9;padding:5px 7px;vertical-align:top;text-align:left}
th{background:#eaf1f8} td.n,th.n{text-align:center;width:90px}
table.steps td:nth-child(1){width:28px;text-align:center} table.steps td:nth-child(4){width:200px}
table.tc td:first-child{width:60px;font-weight:600} td.res{width:150px}
tr.mine-ok td:first-child{box-shadow:inset 4px 0 #2b7d2b} tr.mine-nok td:first-child{box-shadow:inset 4px 0 #bb0000}
tr:target td{background:#fff8d6}
code{background:#f0f0f0;padding:1px 4px;border-radius:3px;font-size:12px}
.tag{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;margin:0 2px;color:#fff;vertical-align:middle}
.std{background:#2b7d2b} .z{background:#c35500} .cfg{background:#6a4fb3} .gen{background:#777}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:10px 0}
figure{margin:0;border:1px solid #ddd;border-radius:6px;padding:6px;background:#fafafa} figure img{width:100%;cursor:zoom-in;border-radius:3px}
figcaption{font-size:12px;color:#555;margin-top:4px}
.note{background:#eef6ff;border-left:4px solid var(--b);padding:6px 10px} .warn{background:#fff4e5;border-left:4px solid #e9730c;padding:6px 10px}
.hint{color:#666;font-size:12px}
.flash{background:#fff4e5;border-left:4px solid #e9730c;padding:8px 12px;margin-bottom:14px;border-radius:4px}
label{display:block;margin:8px 0;font-weight:600;font-size:13px} label input,label select,label textarea{display:block;width:100%;margin-top:3px;padding:6px;border:1px solid #bbb;border-radius:4px;font:inherit;font-weight:400}
button,.btn{background:var(--b);color:#fff;border:0;border-radius:4px;padding:7px 14px;cursor:pointer;font:inherit;text-decoration:none;display:inline-block}
button.sec,.btn{background:#5b738b} .btn.on{background:var(--b)} button:disabled{opacity:.5}
button.link{background:none;color:var(--b);padding:0 4px;text-decoration:underline}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;align-items:end} .grid .wide{grid-column:1/-1} .grid button{justify-self:start;margin:8px 8px 8px 0}
form.inline{display:inline} form.inline input{width:auto;display:inline;padding:3px}
tr.off td{color:#999}
.st{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;color:#fff;margin:1px;background:#888;white-space:nowrap}
.st.OK{background:#2b7d2b} .st.NOK{background:#bb0000} .st.BLOQ{background:#e9730c} .st.NA{background:#888}
.chips{margin-bottom:3px} button.reg{padding:3px 8px;font-size:12px}
dialog{border:0;border-radius:8px;box-shadow:0 8px 30px #0005;width:min(720px,95vw);max-height:90vh;padding:18px 22px} dialog::backdrop{background:#0006}
.stbtns{display:flex;gap:8px;flex-wrap:wrap} .stbtns label.st{font-size:13px;padding:5px 12px;cursor:pointer;margin:4px 0}
.stbtns input{display:inline;width:auto;margin:0 4px 0 0}
.dlgbtns{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.hist{border-top:1px solid #eee;padding:6px 0;font-size:13px} .txt{white-space:pre-wrap}
img.thumb{height:70px;border:1px solid #ccc;border-radius:3px;margin:3px}
.prop{border:1px solid #ddd;border-left:5px solid #e9730c;border-radius:6px;padding:8px 12px;margin:10px 0}
.prop.aceite{border-left-color:#2b7d2b} .prop.rejeitada{border-left-color:#999;opacity:.8} .prop .meta{font-size:12px;color:#555}
@media print{nav,.reg,form,dialog{display:none} main{margin:0}}
