:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#fff8f2;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#f0e4d8}*{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}.container{max-width:1120px;margin:0 auto;padding:20px 18px 72px}.loading,.login{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--suave)}.google-btn{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:12px 22px;font-weight:700;cursor:pointer}.hero{background:linear-gradient(120deg,var(--cereja),var(--laranja));color:#fff;border-radius:20px;padding:22px 24px;margin-bottom:18px;box-shadow:0 10px 24px rgba(229,1,69,.18)}.hero h1{font-size:22px;margin-bottom:4px}.hero p{opacity:.92;font-size:14px}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.uni-switch{display:flex;gap:6px;background:hsla(0,0%,100%,.18);padding:5px;border-radius:999px}.uni-switch button{border:none;background:transparent;color:#fff;padding:7px 16px;border-radius:999px;font-weight:700;cursor:pointer;font-size:13px}.uni-switch button.on{background:#fff;color:var(--cereja)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{border:1px solid var(--borda);background:var(--cartao);color:var(--texto);padding:8px 15px;border-radius:999px;font-weight:600;cursor:pointer;font-size:13px}.tab.on{background:var(--cereja);color:#fff;border-color:var(--cereja)}.card{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:20px;margin-bottom:16px}.card h2{font-size:17px;margin-bottom:4px}.card .sub{color:var(--suave);font-size:13px}.card .sub,.kpis{margin-bottom:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.kpi{background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:16px}.kpi .n{font-size:26px;font-weight:800}.kpi .l{color:var(--suave);font-size:12px;margin-top:2px}.kpi.warn .n{color:var(--laranja)}.kpi.danger .n{color:var(--cereja)}.kpi.ok .n{color:var(--verde)}table{width:100%;border-collapse:collapse;font-size:13.5px}.tbl-wrap{overflow-x:auto}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--borda);vertical-align:middle}th{color:var(--suave);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.3px}td.num,th.num{text-align:right}tr.cat td{background:#faf1e8;font-weight:800;color:var(--roxo);font-size:12px;text-transform:uppercase}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill-ok{background:#e3f5ea;color:var(--verde)}.pill-warn{background:#fff0e2;color:var(--laranja)}.pill-danger{background:#ffe2ea;color:var(--cereja)}.pill-muted{background:#eee;color:#777}.field{margin-bottom:13px}.field label{display:block;font-size:12.5px;font-weight:700;color:var(--suave);margin-bottom:5px}input,select,textarea{width:100%;border:1px solid var(--borda);border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit;background:#fff}input.mini{width:80px;padding:6px 8px;text-align:right}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.btn-primary{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:11px 20px;font-weight:700;cursor:pointer;font-size:14px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:#fff;color:var(--cereja);border:1px solid var(--cereja);border-radius:999px;padding:8px 15px;font-weight:700;cursor:pointer;font-size:13px}.btn-sm{padding:5px 12px;font-size:12.5px}.msg{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:13.5px;font-weight:600}.msg.ok{background:#e3f5ea;color:var(--verde)}.msg.err{background:#ffe2ea;color:var(--cereja)}.foot{text-align:center;color:var(--suave);font-size:12.5px;margin-top:26px}.inline{align-items:center;flex-wrap:wrap}.inline,.right{display:flex;gap:10px}.right{justify-content:flex-end;margin-top:8px}small.hint{font-size:12px}.empty,small.hint{color:var(--suave)}.empty{font-size:14px;padding:18px 0;text-align:center}