:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#fff8f2;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#f0e4d8;--crit:#e50145;--aten:#f15a22;--ok:#0c893e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.container{max-width:1240px;margin:0 auto;padding:16px 20px 64px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.top h1{color:var(--cereja);font-size:20px}.top .sub{color:var(--suave);font-size:12px;margin-top:2px}.btn-primary{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:13px}.btn-mini{padding:4px 9px;font-size:11px;background:#f0e4d8;color:var(--texto);border:none;border-radius:6px;cursor:pointer}.painel{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;padding:14px 16px;margin-bottom:16px}.painel h2{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--suave);margin-bottom:10px}.row{flex-wrap:wrap;gap:12px;align-items:flex-end}.field,.row{display:flex}.field{flex-direction:column;gap:4px}.field label{font-size:11px;color:var(--suave);font-weight:600}input[type=date],input[type=number],input[type=search],select{padding:7px 8px;border:1px solid var(--borda);border-radius:7px;font-size:13px;background:#fff;color:var(--texto)}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:12px;gap:12px}.kpi{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;padding:12px 14px;cursor:pointer;position:relative}.kpi:hover{border-color:var(--cereja)}.kpi .lab{font-size:11px;color:var(--suave);font-weight:600;min-height:26px;line-height:1.2}.kpi .val{font-size:24px;font-weight:800;margin-top:6px}.kpi .sub{font-size:11px;color:var(--suave);margin-top:3px}.kpi .lupa{position:absolute;top:8px;right:10px;font-size:11px;color:var(--laranja);opacity:.7}.tag{display:inline-block;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:700}.t-ok{background:#e6f4ea;color:var(--ok)}.t-aten{background:#fdeee3;color:var(--aten)}.t-crit{background:#fbe4e7;color:var(--crit)}table{width:100%;border-collapse:collapse;font-size:12.5px}td,th{padding:7px 9px;border-bottom:1px solid var(--borda);text-align:right;white-space:nowrap}td:first-child,th:first-child{text-align:left}th{background:#fdf6ee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:11px;color:var(--suave);text-transform:uppercase}.scroll{overflow:auto;max-height:440px;border:1px solid var(--borda);border-radius:8px}.muted{color:var(--suave)}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{background:#fdf0e6;color:#8a4a1e;border:1px solid #f3d9c4;border-radius:16px;padding:3px 9px;font-size:11px}.storebox{max-height:180px;overflow:auto;border:1px solid var(--borda);border-radius:7px;padding:6px;min-width:260px;background:#fff}.storebox label{display:flex;gap:6px;align-items:center;font-size:12px;padding:2px 0;cursor:pointer}.loading,.login{padding:60px 20px;text-align:center;color:var(--suave)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal .box{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:88vh;overflow:auto;padding:20px}.modal .close{float:right;cursor:pointer;font-size:22px;color:var(--suave);border:none;background:none}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.boxnum{background:var(--fundo);border-radius:8px;padding:10px 12px}.boxnum .big{font-size:20px;font-weight:800}.erro{background:#fbe4e7;border:1px solid #f3b6c1;color:#8a1030;border-radius:8px;padding:12px 14px}.nota{background:#fffbe6;border:1px solid #f3e29a;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:12px}@media(max-width:640px){.grid2{grid-template-columns:1fr}}