:root{--red:#c6353b;--red-dark:#a3242a;--red-soft:#fdeced;--green:#5aa832;--green-dark:#3f7d22;--green-soft:#eef7e7;--blue:#5a97b5;--ink:#2b2b2b;--ink-soft:#6b6b6b;--ink-faint:#9a958c;--line:#e4e2dc;--paper:#f7f5f0;--card:#fff;--shadow:0 1px 2px rgba(43,43,43,.06),0 8px 24px rgba(43,43,43,.06);--radius:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-size:15px;line-height:1.45;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.hidden{display:none!important}.muted{color:var(--ink-soft)}.small{font-size:12.5px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.right{text-align:right}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 400px at 50% -10%,#e9d9c6 0%,transparent 60%),var(--paper)}.login{width:min(380px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px #2b2b2b1f;padding:26px;text-align:center}.login h1{font-size:19px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.login p{color:var(--ink-soft);font-size:13.5px;margin:8px 0 18px}.login input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;text-align:center}.topbar{background:linear-gradient(180deg,#cf3a40,var(--red) 62%,var(--red-dark));color:#fff;padding:16px 22px 14px;box-shadow:0 2px 10px #a3242a38}.topbar .wrap{max-width:1060px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{display:flex;flex-direction:column;line-height:1.15}.brand b{font-size:18px;letter-spacing:.12em;text-transform:uppercase}.brand span{font-size:11px;opacity:.82;letter-spacing:.04em}.chip{display:flex;align-items:center;gap:8px;background:#00000029;border:1px solid rgba(255,255,255,.22);padding:6px 12px;border-radius:999px;font-size:13px}.chip b{font-size:14px}.chip.link{cursor:pointer}.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.nav .wrap{max-width:1060px;margin:0 auto;display:flex;gap:2px;padding:0 12px;overflow-x:auto}.nav button{background:none;border:0;border-bottom:3px solid transparent;padding:13px 13px 11px;color:var(--ink-soft);font-weight:600;font-size:14px;white-space:nowrap}.nav button.on{color:var(--red);border-bottom-color:var(--red)}main{max-width:1060px;margin:0 auto;padding:20px 16px 90px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:14px}.card h3{font-size:15px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 15px;border-radius:10px;font-weight:600;transition:.15s}.btn:hover{border-color:#cfcbc2;background:#faf9f6}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn.primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn.ghost{background:transparent;border-color:transparent;color:var(--red);padding:8px 10px}.btn.ghost:hover{background:var(--red-soft)}.btn.tiny{padding:6px 11px;font-size:12.5px;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.iconbtn{background:none;border:0;color:#b6b1a8;font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}.iconbtn:hover{color:var(--red);background:var(--red-soft)}.daybar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.daybar .date{font-weight:700;font-size:16px;text-transform:capitalize}.tag-hoje{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--green-dark);font-weight:800;background:var(--green-soft);border:1px solid #cfe5bf;border-radius:6px;padding:2px 7px}.budget{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.budget .num{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.budget .lbl{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.budget .usado .num{color:var(--red)}.budget .falta .num{color:var(--green-dark)}.budget .falta.neg .num{color:var(--red)}.budget .max .num{color:var(--ink)}.budget .debito{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12.5px;background:var(--red-soft);border:1px solid #f0c9ca;color:#8e2b2e;border-radius:10px;padding:8px 12px}.bar{height:12px;border-radius:999px;background:#efece5;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6fbf3d,#5aa832);transition:width .35s}.bar i.warn{background:linear-gradient(90deg,#e8a838,#dd9020)}.bar i.over{background:linear-gradient(90deg,#d9524f,#b7302f)}.ring{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--blue) calc(var(--pct)*1%),#efece5 0)}.ring:after{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.ring span{position:relative;z-index:1;font-weight:800;font-size:16px;text-align:center}.ring span small{display:block;font-size:9.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase}.ring.over{background:conic-gradient(var(--red) 100%,#efece5 0)}.meal{margin-top:14px}.meal .head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.meal .head h3{font-size:13.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.meal .pts{font-weight:800;color:var(--red);font-size:15px;margin-left:auto;font-variant-numeric:tabular-nums}.meal .pts.zero{color:#c9c4bb}.entries{list-style:none;margin:0;padding:0}.entries li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px dashed var(--line);font-size:14px}.entries li:first-child{border-top:0}.entries .nm{font-weight:600}.entries .pt{font-variant-numeric:tabular-nums;font-weight:700;color:var(--red);min-width:36px;text-align:right}.empty{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--ink-faint);font-size:13.5px;text-align:center}.tempertoggle{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);margin-top:8px}.tempertoggle input{accent-color:var(--red)}.tag{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:#f1efe9;color:#8b857a}.tag.trans{background:var(--red-soft);color:var(--red)}.tag.custom{background:#e9f1f7;color:#356f8d}.tag.marca{background:#f4eee0;color:#8a6a2f}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;min-width:0}.filters input{flex:1;min-width:180px}.count{font-size:12.5px;color:var(--ink-soft);margin:0 0 8px}.foodlist{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.foodhead{display:grid;grid-template-columns:1fr 170px 80px 40px;gap:10px;padding:0 14px 6px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.foodhead span:nth-child(3){text-align:right}.foodrow{display:grid;grid-template-columns:1fr 170px 80px 40px;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-size:14px}.foodrow:first-child{border-top:0}.foodrow:hover{background:#fbfaf7}.foodrow .fq{color:var(--ink-soft);font-size:12.5px}.foodrow .fp{font-variant-numeric:tabular-nums;font-weight:800;color:var(--red);text-align:right}.foodrow .add{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;font-size:17px;line-height:1;color:var(--red);font-weight:700}.foodrow .add:hover{background:var(--red);color:#fff;border-color:var(--red)}.cathead{padding:9px 14px;background:#f4f2ec;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--line)}.chart{display:flex;align-items:flex-end;gap:5px;height:150px;padding:10px 0 0;border-bottom:1px solid var(--line)}.chart .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}.chart .barv{width:100%;max-width:32px;border-radius:6px 6px 0 0;background:var(--green);min-height:3px}.chart .barv.over{background:var(--red)}.chart .barv.none{background:#e9e6df}.chart .cl{font-size:9.5px;color:var(--ink-faint)}.linechart{width:100%;height:220px;display:block}.linechart .grid{stroke:#eee9e0;stroke-width:1}.linechart .axis{fill:#9a958c;font-size:10px}.linechart .ln{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.linechart .ln2{fill:none;stroke:var(--blue);stroke-width:1.6;stroke-dasharray:5 4}.linechart .dot{fill:#fff;stroke:var(--red);stroke-width:2.5}.linechart .area{fill:#c6353b14}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}.stat{background:#fbfaf7;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat b{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:700}.histrow{display:grid;grid-template-columns:92px 1fr 92px 46px;gap:10px;align-items:center;padding:9px 0;border-top:1px dashed var(--line);font-size:13.5px}.histrow:first-child{border-top:0}.histrow .hb{height:8px;border-radius:99px;background:#efece5;overflow:hidden}.histrow .hb i{display:block;height:100%;background:var(--green)}.histrow .hb i.over{background:var(--red)}.histrow .hp{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.field{margin-bottom:12px}.field label{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.field input:focus,.field select:focus,.filters input:focus,.filters select:focus{outline:2px solid #f3c2c4;outline-offset:1px;border-color:#e3a7a9}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hint{font-size:12px;color:var(--ink-soft);margin-top:4px}.result{background:var(--green-soft);border:1px solid #cfe5bf;border-radius:12px;padding:16px;margin-top:8px}.result .lim{font-size:42px;font-weight:800;color:var(--green-dark);line-height:1;font-variant-numeric:tabular-nums}.result .lim small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5d8d43;margin-bottom:4px}.kv{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0;border-top:1px dashed #cfe5bf}.kv:first-child{border-top:0}.kv b{font-variant-numeric:tabular-nums}.modal{position:fixed;inset:0;background:#2b2b2b70;display:flex;align-items:center;justify-content:center;padding:14px;z-index:100}.modal .box{background:#fff;border-radius:16px;width:min(580px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000047;overflow:hidden}.modal .mhead{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.modal .mhead h3{font-size:15px}.modal .mbody{padding:14px 18px;overflow:auto;flex:1}.modal .mfoot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:#fbfaf7}.searchres{max-height:280px;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:10px}.sres{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--line);cursor:pointer;font-size:14px}.sres:first-child{border-top:0}.sres:hover,.sres.on{background:var(--red-soft)}.sres .sq{color:var(--ink-soft);font-size:12px;margin-left:auto;white-space:nowrap}.sres .sp{font-weight:800;color:var(--red);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.qtybox{background:#fbfaf7;border:1px solid var(--line);border-radius:12px;padding:14px}.qtybox .qname{font-weight:700;font-size:15px}.qtybox .qunit{font-size:12.5px;color:var(--ink-soft)}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-weight:600;font-size:13px}.chips button.on{background:var(--red);color:#fff;border-color:var(--red)}.chips.cat button.on{background:#2b2b2b;border-color:#2b2b2b}.stepper{display:flex;align-items:center;gap:8px;margin-top:6px}.stepper button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:18px;font-weight:700}.stepper input{width:92px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:9px;font-weight:700}.pontsbig{font-size:34px;font-weight:800;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}.pontsbig small{font-size:11px;color:var(--ink-soft);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-left:6px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#2b2b2b;color:#fff;padding:11px 18px;border-radius:10px;font-size:13.5px;opacity:0;transition:.25s;z-index:200;pointer-events:none;box-shadow:0 8px 24px #00000040}.toast.on{opacity:1;transform:translate(-50%)}.loading{padding:60px;text-align:center;color:var(--ink-faint)}.rules h4{font-size:14px;margin:18px 0 6px;color:var(--red)}.rules h4:first-of-type{margin-top:4px}.rules p,.rules li{font-size:14px;color:#3a3a3a}.rules ul{padding-left:20px;margin:6px 0}.free{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.free span{background:#f4f2ec;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;color:#5c574e}.note{background:#fff8e6;border:1px solid #f0dfae;border-radius:12px;padding:12px 14px;font-size:13px;color:#6b5a20;margin-top:14px}@media(max-width:760px){.nav .wrap{flex-wrap:wrap;justify-content:space-between}.nav button{padding:11px 8px 9px;font-size:12.5px}.foodhead{display:none}.iconbtn{font-size:22px;padding:4px 10px}.btn.tiny{padding:8px 12px;font-size:13px}.budget{grid-template-columns:1fr 1fr;gap:12px}.budget .max{grid-column:1/-1;order:-1}.budget .ring{grid-column:1/-1;justify-self:center;order:3}}@media(max-width:620px){.foodrow{grid-template-columns:1fr 66px 34px}.foodrow .fq{display:none}.histrow{grid-template-columns:70px 1fr 70px 42px}.grid2,.grid3{grid-template-columns:1fr}.budget .num{font-size:28px}.modal .box{max-height:94vh}}
