:root{--cereja:#d6006e;--cereja-escuro:#a80057;--laranja:#ff6b1a;--amarelo:#ffc72c;--verde:#00a868;--roxo:#6b2fa3;--tinta:#1f2430;--cinza:#5b6472;--linha:#e7e9ee;--fundo:#f5f6f9;--card:#fff}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--fundo);color:var(--tinta);-webkit-font-smoothing:antialiased}.wrap{max-width:1240px;margin:0 auto;padding:28px 20px 80px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:6px}.logo-dot{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--cereja),var(--laranja));flex:0 0 auto}h1{font-size:24px;margin:0;letter-spacing:-.02em}.sub{color:var(--cinza);font-size:14px;margin:4px 0 20px 48px}.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:16px 18px;margin-bottom:20px}.toolbar .field{min-width:150px}.toolbar .grow{flex:1 1}.sel-label{font-size:11px;font-weight:700;color:var(--cinza);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.sel{border:1px solid var(--linha);border-radius:10px;padding:9px 12px;font-size:15px;background:#fff;outline:none;width:100%}.sel:focus{border-color:var(--cereja);box-shadow:0 0 0 3px rgba(214,0,110,.12)}.tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.tab{border:1px solid var(--linha);background:var(--card);color:var(--cinza);padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.tab:hover{border-color:#cfd3db}.tab.on{background:var(--cereja);border-color:var(--cereja);color:#fff}.card{background:var(--card);border:1px solid var(--linha);border-radius:16px;padding:22px;margin-bottom:20px}.card h2{font-size:17px;margin:0 0 4px}.card .hint{color:var(--cinza);font-size:13px;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--cinza);text-transform:uppercase;letter-spacing:.03em}.field input,.field select{border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font-size:15px;outline:none;background:#fff}.field input:focus,.field select:focus{border-color:var(--cereja);box-shadow:0 0 0 3px rgba(214,0,110,.12)}.btn{background:var(--cereja);color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}.btn:hover{background:var(--cereja-escuro)}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;color:var(--cereja);border:none;cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px}.btn-ghost:hover{text-decoration:underline}.tbl-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:11px 12px;text-align:right;white-space:nowrap}td:first-child,th:first-child{text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cinza);border-bottom:2px solid var(--linha)}td{border-bottom:1px solid var(--linha)}tr:hover td{background:#fafbfc}.neg{color:var(--cereja)}.neg,.pos{font-weight:600}.pos{color:var(--verde)}.mut{color:var(--cinza)}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:#e3f7ee;color:#007a4d}.badge.alto{background:#fdeede;color:#b45300}.badge.baixo{background:#fbe0ec;color:var(--cereja-escuro)}.badge.na{background:#eef0f4;color:var(--cinza)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.stat{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:16px 18px}.stat .k{font-size:12px;color:var(--cinza);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stat .v{font-size:21px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.empty{text-align:center;color:var(--cinza);padding:40px 20px;font-size:14px}.formula{background:#fbf3f7;border:1px solid #f2d9e6;border-radius:12px;padding:14px 16px;line-height:1.6}.alertbox,.formula{font-size:13px;color:var(--cereja-escuro);margin-bottom:18px}.alertbox{background:#fbe0ec;border:1px solid #f2c2d8;border-radius:12px;padding:12px 16px;line-height:1.5}.alertbox.limpo{background:#e3f7ee;border-color:#bce8d3;color:#007a4d}.msg{font-size:13px;margin-top:12px;font-weight:600}.msg.ok{color:var(--verde)}.msg.err{color:var(--cereja)}