@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--bg-app: #0f1114;--bg-panel: #1b1e24;--border-strong: #2c323b;--text-hi: #eef1f4;--text-lo: #8a939f;--accent: #3ad0c4;--danger: #ef5d63;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);color:var(--text-hi);font-family:var(--font-sans);font-size:14px}.mono,.num,code,input[type=text],input[type=password]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app{max-width:760px;margin:0 auto;padding:32px 20px}.panel{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;padding:24px}h1{font-size:20px;margin:0 0 4px}.sub{color:var(--text-lo);margin:0 0 24px}.dropzone{display:block;border:1px dashed var(--border-strong);border-radius:10px;padding:32px;text-align:center;cursor:pointer}.dropzone:hover{border-color:var(--accent)}.hidden-file{display:none}.btn{font-family:var(--font-sans);background:var(--accent);color:#08201e;border:0;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text-hi);border:1px solid var(--border-strong)}.progress-track{height:8px;background:#0b0d10;border-radius:6px;overflow:hidden;border:1px solid var(--border-strong)}.progress-fill{height:100%;transition:width .3s ease}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stage{color:var(--text-lo)}.pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.toast{position:fixed;right:16px;bottom:16px;background:var(--bg-panel);border:1px solid var(--danger);color:var(--text-hi);padding:12px 16px;border-radius:8px}.error-box{border:1px solid var(--danger);border-radius:8px;padding:16px;color:var(--text-hi);background:#ef5d6314}label.field{display:block;margin-bottom:12px}label.field span{display:block;color:var(--text-lo);margin-bottom:4px}input.text{width:100%;padding:10px;border-radius:8px;background:#0b0d10;border:1px solid var(--border-strong);color:var(--text-hi)}:root{--bg-side: #14161a;--border-side: #23272e;--bg-item-ativo: #20242b;--bg-card: #181b21;--text-dim: #6b7480;--ok: #46d17f;--atencao: #f2b23a;--falho: #ef5d63;--proc: #5b9dff}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:236px;flex:none;display:flex;flex-direction:column;background:var(--bg-side);border-right:1px solid var(--border-side);padding:18px 14px}.marca{display:flex;gap:10px;align-items:center;margin-bottom:22px}.logo{width:34px;height:34px;border-radius:9px;flex:none;background:linear-gradient(150deg,var(--accent),#2a8f8a);color:#0f1114;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center}.marca-nome{font-size:14px;font-weight:600}.marca-sub{font-size:11px;color:var(--text-dim)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:9px;border:0;cursor:pointer;background:transparent;color:#9aa3af;font-family:var(--font-sans);font-size:13.5px;font-weight:500;text-align:left}.nav-item:hover{background:#1e232a}.nav-item.ativo{background:var(--bg-item-ativo);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.nav-badge{margin-left:auto;font-size:9.5px;color:var(--text-dim);background:var(--bg-item-ativo);border-radius:5px;padding:2px 5px}.sidebar-rodape{margin-top:auto;display:flex;flex-direction:column;gap:12px}.pipeline-card{background:var(--bg-card);border:1px solid var(--border-side);border-radius:11px;padding:11px 12px}.pipeline-titulo{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:8px}.pipeline-linha{display:flex;align-items:center;gap:7px;font-size:11.5px;padding:2px 0}.pipeline-rotulo{color:#9aa3af}.pipeline-idade{margin-left:auto;font-size:11px}.pipeline-vazio{color:var(--text-dim);font-size:11.5px;margin:0}.pipeline-alerta{color:var(--falho);font-size:11px;margin:8px 0 0;line-height:1.35}.dot{width:7px;height:7px;border-radius:50%;flex:none;box-shadow:0 0 6px currentColor}.chip-usuario{display:flex;align-items:center;gap:9px}.avatar{width:30px;height:30px;border-radius:50%;flex:none;background:#262b33;display:flex;align-items:center;justify-content:center;font-size:11px}.chip-nome{font-size:12.5px}.chip-sub{font-size:11px;color:var(--text-dim)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;background:var(--bg-side);border-bottom:1px solid var(--border-side);padding:0 26px}.topbar-titulo{font-size:17px;font-weight:600;margin:0}.topbar-sub{font-size:12px;color:var(--text-dim);margin:2px 0 0}.topbar-dir{display:flex;align-items:center;gap:14px}.chip-ambiente{display:flex;align-items:center;gap:7px;font-size:11.5px;background:var(--bg-card);border:1px solid var(--border-side);border-radius:999px;padding:5px 11px}.dot-pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;box-shadow:0 0 #46d17f80}50%{opacity:.6;box-shadow:0 0 0 5px #46d17f00}}.topbar-data{font-size:11.5px;color:var(--text-dim)}.conteudo{flex:1;overflow-y:auto;padding:26px}.card{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:14px;padding:16px 17px}.card-titulo{font-size:15px;font-weight:600;margin:0 0 4px}.card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.card-header .sub{margin:0;font-size:11.5px}.link-btn{background:none;border:0;color:var(--accent);cursor:pointer;font-family:var(--font-sans);font-size:12px;padding:0}.visao-geral{max-width:1200px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-rotulo{text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--text-dim)}.kpi-valor{font-family:var(--font-mono);font-size:26px;font-weight:600;margin:6px 0 2px;font-variant-numeric:tabular-nums}.kpi-sub{font-size:11.5px;color:var(--text-lo)}.vg-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}@media(max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.vg-grid{grid-template-columns:1fr}}.jobs-grid{display:grid;grid-template-columns:1.6fr .7fr .8fr 1fr;gap:6px 10px;align-items:center}.jobs-cab{text-transform:uppercase;font-size:10.5px;letter-spacing:.04em;color:var(--text-dim)}.job-nome{display:flex;align-items:center;gap:7px;min-width:0}.job-nome span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vg-drop{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1.5px dashed #343b45;border-radius:12px;padding:24px;cursor:pointer;background:none;width:100%;color:var(--text-hi);font-family:var(--font-sans)}.vg-drop:hover{border-color:var(--accent);background:var(--bg-card)}.drop-badge{width:44px;height:44px;border-radius:11px;background:var(--bg-item-ativo);display:flex;align-items:center;justify-content:center;color:var(--accent)}.estado-vazio{color:var(--text-lo);font-size:12.5px;line-height:1.5}
