:root{--bg:#f4f3f8;--panel:#fff;--panel2:#f9f8fc;--line:#e2dfec;--fg:#1f1c2e;--muted:#5f5a74;--accent:#6e3fd1;--accent-fg:#fff;--accent-soft:#efe8fd;--ok:#17803f;--ok-soft:#e3f4e8;--warn:#a15c00;--warn-soft:#fdf1dc;--err:#c62828;--err-soft:#fdeaea;--info:#1f5fbf;--info-soft:#e6effc;--f-ui:system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--f-mono:ui-monospace, "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;--c-ink:#17181a;--c-ground:#e9eae6;--c-amber:#f4b400}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--f-ui)}a{color:var(--accent)}.mono{font-family:var(--f-mono)}.muted{color:var(--muted)}.r{text-align:right}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fs{border:0;min-width:0;margin:0;padding:0;display:contents}.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);height:100vh;padding:16px 10px;position:sticky;top:0;overflow:auto}.brand{color:var(--accent);align-items:center;gap:10px;padding:4px 10px 14px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand b{background:var(--accent);color:var(--accent-fg);border-radius:9px;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.side h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 10px 4px;font-size:11.5px}.side a{color:var(--fg);border-radius:8px;justify-content:space-between;align-items:center;padding:7px 10px;text-decoration:none;display:flex}.side a:hover{background:var(--panel2)}.side a.on{background:var(--accent);color:var(--accent-fg)}.side a .n{font:600 11.5px var(--f-mono);background:var(--warn-soft);color:var(--warn);border-radius:9px;padding:0 7px}.main{flex-direction:column;min-width:0;display:flex}.top{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 22px;display:flex}.top .who{color:var(--muted);align-items:center;gap:12px;display:flex}.content{flex-direction:column;gap:14px;padding:20px 22px 40px;display:flex}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.crumb{color:var(--muted);font-size:12.5px}h1{margin:0;font-size:22px;font-weight:600}h1 small{font:500 11.5px var(--f-mono);color:var(--muted);border:1px solid var(--line);vertical-align:middle;border-radius:6px;margin-left:8px;padding:1px 6px}h2{margin:0;font-size:16px}.tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{font:500 14px var(--f-ui);border:1px solid var(--line);background:var(--panel);height:36px;color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.p{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.p:hover{filter:brightness(1.08);color:var(--accent-fg)}.btn.d{color:var(--err)}.btn:disabled{opacity:.55;cursor:default}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.panel-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-weight:600;display:flex}.panel-b{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.gwrap{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}.grid th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel2);white-space:nowrap;padding:9px 12px;font-weight:600}.grid td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.grid tr:last-child td{border-bottom:0}.grid tr.lk:hover td{background:var(--accent-soft)}.grid td a.cell{color:inherit;text-decoration:none;display:block}.empty{color:var(--muted);padding:18px 12px}.stages{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.stages a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.stages a.on{color:var(--accent);border-color:var(--accent);font-weight:600}.stages a span{font:600 11px var(--f-mono);background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:0 6px}.bdg{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 9px;font-size:12px;font-weight:600;display:inline-flex}.bdg:before{content:"";background:currentColor;border-radius:2px;width:6px;height:6px}.bdg.ok{background:var(--ok-soft);color:var(--ok)}.bdg.warn{background:var(--warn-soft);color:var(--warn)}.bdg.err{background:var(--err-soft);color:var(--err)}.bdg.info{background:var(--info-soft);color:var(--info)}.bdg.neu{background:var(--panel2);color:var(--muted)}.msg{border-radius:10px;padding:10px 14px;font-weight:500}.msg.ok{background:var(--ok-soft);color:var(--ok)}.msg.erro{background:var(--err-soft);color:var(--err)}.msg.warn{background:var(--warn-soft);color:var(--warn)}.msg.info{background:var(--info-soft);color:var(--info)}.kv{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 18px;display:grid}.kv div{flex-direction:column;display:flex}.kv span{color:var(--muted);font-size:12px}.kv b{font-weight:500}.fgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:12px;display:grid}.fld{flex-direction:column;gap:4px;display:flex}.fld label,.fld .lb{color:var(--muted);font-size:12.5px;font-weight:600}input,select{font:14px var(--f-ui);border:1px solid var(--line);background:var(--panel);height:36px;color:var(--fg);border-radius:8px;min-width:0;padding:0 10px}input[type=file]{height:auto;padding:6px}input[type=checkbox]{height:auto}input:focus-visible,select:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chk{align-items:center;gap:6px;display:inline-flex}.hint{color:var(--muted);font-size:12px}.diff-neg{color:var(--err);font-weight:600}.diff-pos{color:var(--warn);font-weight:600}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--line);color:inherit;border-radius:12px;padding:14px 16px;text-decoration:none}.card span{color:var(--muted);font-size:12.5px}.card b{font:600 26px var(--f-mono);margin-top:4px;display:block}form.inline{display:inline}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .panel{width:100%;max-width:380px}.col{background:var(--c-ground);min-height:100vh;color:var(--c-ink);flex-direction:column;max-width:520px;margin:0 auto;display:flex}.col-h{background:var(--c-ink);color:#fff;flex-direction:column;gap:4px;padding:12px 16px 14px;display:flex}.col-h .k{letter-spacing:.06em;color:#c9cbd0;font-size:12px;font-weight:600}.col-h h1{color:#fff;font-size:22px;font-weight:700}.col-h .s{color:#c9cbd0;font-size:13px}.col-b{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex}.col-f{gap:10px;padding:0 14px 16px;display:flex}.tile{color:var(--c-ink);background:#fff;border:1.5px solid #d6d8d2;border-radius:14px;flex-direction:column;gap:2px;padding:16px;text-decoration:none;display:flex}.tile b{font-size:18px}.tile span{color:#555;font-size:14px}.leitura{flex-direction:column;gap:6px;display:flex}.leitura label{font-size:14px;font-weight:600}.leitura input{height:56px;font:600 20px var(--f-mono);border:2px solid var(--c-ink);background:#fff;border-radius:12px;width:100%;padding:0 14px}.cbtn{border:1.5px solid var(--c-ink);min-height:54px;color:var(--c-ink);font:600 16px var(--f-ui);cursor:pointer;text-align:center;background:0 0;border-radius:12px;flex:1;place-items:center;padding:0 10px;text-decoration:none;display:grid}.cbtn.p{background:var(--c-ink);color:#fff;flex:2}.vaipara{background:var(--c-amber);border-radius:14px;flex-direction:column;padding:12px 16px;display:flex}.vaipara .k{letter-spacing:.08em;font-size:12px;font-weight:700}.vaipara .a{font:700 36px/1.15 var(--f-mono)}.vaipara .s{font-size:13px;font-weight:600}.ccard{background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.ccard .linha{justify-content:space-between;gap:8px;font-size:14px;display:flex}.c-erro{background:var(--err);color:#fff;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:600}.c-ok{background:var(--ok);color:#fff;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:600}.passos{color:#777;gap:12px;font-size:13px;font-weight:600;display:flex}.passos .on{color:var(--c-ink)}.passos .ok{color:var(--ok)}.g2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.g2 .full{grid-column:1/-1}.lnk{color:var(--c-ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:860px){.app{grid-template-columns:1fr}.side{height:auto;position:static}}.cbtn-form,.col-f-form{flex-direction:column;flex:2;gap:8px;display:flex}.col-f-form{flex:1}.ccard a.linha{color:var(--c-ink);text-decoration:none}.g2>.c-erro,.g2>.c-ok{grid-column:1/-1}.side a.brand{justify-content:flex-start}svg.i{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.side h3{text-transform:none;letter-spacing:0;font:500 12.5px var(--f-ui);margin:14px 14px 4px}.side a{border-radius:999px;justify-content:flex-start;gap:12px;min-height:40px;padding:6px 14px}.side a svg.i{width:18px;height:18px;color:var(--muted)}.side a.on svg.i{color:var(--accent-fg)}.side a .lbl{flex:1}.side a.on .n{background:var(--accent-fg);color:var(--accent)}.brand{font-size:22px;font-weight:500}.top{border:1px solid var(--line);border-radius:12px;min-height:56px;margin:12px 16px 0;box-shadow:0 2px 12px #281e5a0f}.top-title{font:500 17px var(--f-ui);align-items:center;gap:10px;display:flex}.top-title svg.i{width:20px;height:20px;color:var(--muted)}.top .cd{align-items:center;gap:6px;display:inline-flex}.btn{border-radius:999px;box-shadow:0 1px 4px #281e5a14}.btn svg.i{width:15px;height:15px}.panel,.card{box-shadow:0 2px 12px #281e5a0f}.stages{border-bottom:0;gap:6px}.stages a{border-bottom:3px solid #0000;flex-direction:column;gap:4px;min-width:96px;padding:6px 14px 8px;font-size:13px;font-weight:500}.stages a svg.i{width:24px;height:24px}.stages a .n{font:600 11px var(--f-mono);background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:0 6px}.stages a span:not(.n){font:inherit;background:0 0;border:0;padding:0}.filtro{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 10px;display:inline-flex;box-shadow:0 1px 4px #281e5a14}.filtro input{height:32px;box-shadow:none;border:0;outline:none;padding:0}.filtro svg.i{color:var(--muted)}.card .card-t{align-items:center;gap:8px;display:flex}.card .card-t svg.i{width:18px;height:18px;color:var(--accent)}.tile b{align-items:center;gap:8px;display:inline-flex}.tile b svg.i{width:22px;height:22px}.content{padding-top:16px}.top .quem{color:var(--fg);font-weight:500;text-decoration:none}.senha{align-items:center;display:flex;position:relative}.senha input{flex:1;width:100%;padding-right:40px}.senha .olho{width:32px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;right:4px}.senha .olho:hover{color:var(--accent)}.senha .olho svg.i{width:18px;height:18px}
