[hidden]{display:none!important}
:root{--green:#1F4D3A;--green2:#2C6B50;--orange:#E07A2F;--orange2:#C8692B;--cream:#FFF6EA;--cream2:#FBE9D2;--ink:#2A211B;--muted:#6F625A;--red:#B83A2B;--yellow:#C98B12;--ok:#2C7A4B}
*{box-sizing:border-box}body{margin:0;font-family:"Nunito","Segoe UI",system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.45}
h1,h2,h3{color:var(--green);margin:.2em 0 .5em;line-height:1.2}h2{font-size:1.35rem}h3{font-size:1.08rem}
.muted{color:var(--muted)}.small{font-size:.85rem}.err{color:var(--red);font-weight:700;min-height:1.2em}
.btn{background:var(--orange);color:#fff;border:0;border-radius:999px;padding:.7em 1.2em;font-weight:800;font:inherit;font-weight:800;cursor:pointer}
.btn:hover{background:var(--orange2)}.btn.sec{background:#fff;color:var(--green);border:2px solid var(--green)}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.sm{padding:.4em .9em;font-size:.88rem}
.btn:disabled{opacity:.5;cursor:default}.link{background:none;border:0;color:var(--green2);font-weight:700;cursor:pointer;font:inherit}
input,select,textarea{font:inherit;padding:.6em .75em;border:1.5px solid #E2CDB4;border-radius:10px;background:#fff;width:100%}
input:focus,select:focus,textarea:focus{outline:3px solid #F6C79E;border-color:var(--orange)}
label{display:grid;gap:.25rem;font-weight:700;font-size:.9rem;margin-bottom:.7rem}
.auth{min-height:100vh;display:grid;place-items:center;padding:1rem}
.auth-card{background:#fff;border-radius:20px;padding:2rem;width:min(420px,100%);box-shadow:0 10px 30px rgba(0,0,0,.08);text-align:center}
.auth-card form{text-align:left;margin-top:1rem}.auth-card h1{font-size:2rem;margin:0}.auth-card img{margin:0 auto}
.seg{display:flex;background:var(--cream2);border-radius:999px;padding:4px;margin-top:1rem}.seg button{flex:1;border:0;background:none;padding:.5em;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;font-size:.88rem}.seg .on{background:#fff;color:var(--green)}
.bar{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;background:var(--green);color:#fff;position:sticky;top:0;z-index:5}
.logo{display:flex;align-items:center;gap:.35rem;color:#fff;text-decoration:none;font-weight:900;font-size:1.3rem}.tname{font-weight:700;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badge{background:var(--orange);border-radius:999px;padding:.15em .7em;font-size:.78rem;font-weight:800;margin-left:auto}.bar .link{color:#F6C79E}
.tabs{display:flex;gap:.3rem;overflow-x:auto;padding:.5rem;background:#fff;border-bottom:1px solid var(--cream2);position:sticky;top:50px;z-index:4;scrollbar-width:none}
.tabs a{white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:700;padding:.45em .8em;border-radius:999px;font-size:.92rem}.tabs a.on{background:var(--cream2);color:var(--green)}
.banner{background:#FDE7D3;border-bottom:2px solid var(--orange);padding:.6rem 1rem;font-weight:700}
.view{padding:1rem;max-width:1100px;margin:0 auto}
.grid{display:grid;gap:1rem}@media(min-width:760px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.kpi{font-size:1.8rem;font-weight:900;color:var(--green)}.kpi small{font-size:.85rem;color:var(--muted);font-weight:700}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--cream2);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.tw{overflow-x:auto}
.pill{display:inline-block;border-radius:999px;padding:.1em .6em;font-size:.78rem;font-weight:800;background:var(--cream2)}
.ok{color:var(--ok)}.warn{color:var(--yellow)}.bad{color:var(--red)}
.pill.ok{background:#DFF2E6}.pill.warn{background:#FCF0D2}.pill.bad{background:#F8DCD7}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.right{margin-left:auto}
.list .item{display:block;padding:.7rem;border-radius:12px;text-decoration:none;color:inherit;border:1px solid var(--cream2);margin-bottom:.5rem;background:#fff}.list .item:hover{border-color:var(--orange)}
.chat{display:flex;flex-direction:column;gap:.4rem;max-height:55vh;overflow:auto;padding:.5rem;background:#EFE6D8;border-radius:12px}
.msg{max-width:80%;padding:.5rem .7rem;border-radius:12px;background:#fff;white-space:pre-wrap;font-size:.93rem}.msg.out{align-self:flex-end;background:#DCF3D9}.msg.sys{align-self:center;background:#FDE7D3;font-size:.8rem}
.msg .who{display:block;font-size:.7rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.matrix{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.matrix .q{border-radius:12px;padding:.7rem;min-height:110px}
.q.estrela{background:#DFF2E6}.q.burro{background:#FCF0D2}.q.quebra{background:#E3ECF8}.q.cachorro{background:#F8DCD7}
.toast{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:12px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:92%;z-index:30}.toast.show{opacity:1}
.ing-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.4rem;align-items:center;margin-bottom:.4rem}
dialog{border:0;border-radius:18px;padding:1.2rem;width:min(640px,96%);box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.35)}
.thumb{width:110px;height:80px;object-fit:cover;border-radius:10px;background:var(--cream2)}
pre.report{white-space:pre-wrap;font-family:inherit;background:var(--cream);padding:1rem;border-radius:12px}
.plan-card{border:2px solid var(--cream2)}.plan-card.cur{border-color:var(--orange)}
