@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #17201b;--ink-2: #4b5650;--ink-3: #7d877f;--pine: #284e39;--pine-2: #3a6a50;--pine-deep: #1d3a2a;--pine-wash: #e4ece6;--snow: #eff3f0;--paper: #ffffff;--line: #d6dfd8;--alert: #c2362b;--alert-wash: #fbeceb;--warn: #9c6614;--warn-wash: #fbf1df;--ok: #1f7a4a;--radius-s: 8px;--radius-l: 14px;--font: "Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tabbar-h: 60px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);font-size:16px;line-height:1.45;color:var(--ink);background:var(--snow);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}:focus-visible{outline:3px solid var(--pine-2);outline-offset:2px}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + var(--safe-b))}.wrap{max-width:560px;margin:0 auto;padding:0 16px}.topbar{position:sticky;top:0;z-index:20;background:var(--pine);color:#f3f7f4;padding:calc(env(safe-area-inset-top,0px) + 10px) 0 12px}.topbar .wrap{display:flex;align-items:center;gap:12px}.brand{display:block;height:18px;width:auto}.topbar .spacer{flex:1}.topbar .who{font-size:13px;color:inherit;opacity:.8;background:none;border:0;padding:10px 4px;cursor:pointer;text-decoration:underline;text-decoration-color:#ffffff4d;text-underline-offset:3px}.datebar{flex:1;display:flex;align-items:center;gap:4px;margin-top:6px}.datebar .date-label{flex:1 1 auto;width:auto;height:auto;border-radius:8px;text-align:center;display:block;padding:2px 0}.datebar .weekday{display:block;font-size:13px;opacity:.7}.datebar .day{font-size:24px;font-weight:700;font-stretch:80%;line-height:1.1}.iconbtn{width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer;color:inherit}.iconbtn:active{background:#ffffff1f}.iconbtn:disabled{opacity:.3}.datebar input[type=date]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--paper);border-top:1px solid var(--line);display:flex}.tabbar button{flex:1;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:var(--ink-3)}.tabbar button[aria-current=page]{color:var(--pine);font-weight:650}.tabbar svg{width:22px;height:22px}.section{margin:20px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 8px}.section-head h2{font-size:17px;font-weight:650;margin:0}.section-head .aside{font-size:14px;color:var(--ink-3)}.sheet{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.sales{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:16px;margin-top:16px}.sales .label{font-size:14px;color:var(--ink-2)}.sales .value{font-size:34px;font-weight:700;font-stretch:78%;letter-spacing:-.01em;line-height:1.1;margin-top:2px}.sales .meta{font-size:13px;color:var(--ink-3);margin-top:6px}.vat{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.vat th,.vat td{padding:6px 0;text-align:right;font-weight:400}.vat th:first-child{text-align:left}.vat thead th{font-size:12px;color:var(--ink-3);border-bottom:1px solid var(--line)}.vat tbody tr+tr td,.vat tbody tr+tr th{border-top:1px solid var(--line)}.vat tfoot th,.vat tfoot td{border-top:1px solid var(--ink-3);font-weight:650}.vat tr.zero th,.vat tr.zero td{color:var(--alert);font-weight:650;background:var(--alert-wash)}.vat tr.zero th{padding-left:6px}.line{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 12px 6px 16px}.line+.line{border-top:1px solid var(--line)}.line .name{flex:1;min-width:0}.line .name small{display:block;color:var(--ink-3);font-size:13px}.line .amount{font-weight:600}.money{width:132px;height:44px;padding:0 12px;text-align:right;font-size:18px;font-weight:600;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--snow);font-variant-numeric:tabular-nums}.money:focus{background:var(--paper);border-color:var(--pine-2);outline:none;box-shadow:0 0 0 3px var(--pine-wash)}.money[aria-invalid=true]{border-color:var(--alert);background:var(--alert-wash)}.money:disabled{background:transparent;border-color:transparent;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:14px;color:var(--ink-2);margin-bottom:6px}.input,.select,.textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper)}.textarea{min-height:80px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--pine-2);box-shadow:0 0 0 3px var(--pine-wash)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--paper);cursor:pointer;font-weight:600}.btn{text-decoration:none;color:var(--ink)}.btn.primary{background:var(--pine);border-color:var(--pine);color:#fff}.btn.primary:active{background:var(--pine-2)}.btn.danger{color:var(--alert)}.btn.block{width:100%}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.linkbtn{border:0;background:none;color:var(--pine);font-weight:600;cursor:pointer;padding:8px 0}.remove{width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer;font-size:20px}.remove:active{background:var(--alert-wash);color:var(--alert)}.empty{padding:16px;color:var(--ink-3);font-size:15px}.notice{border-radius:var(--radius-s);padding:10px 12px;font-size:14px;margin:8px 0}.notice.warn{background:var(--warn-wash);color:#5e3d0b}.notice.alert{background:var(--alert-wash);color:#7a1f17}.notice.ok{background:var(--pine-wash);color:var(--pine)}.status-chip{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.status-chip.fechado{background:var(--pine-wash);color:var(--pine)}.status-chip.aberto{background:var(--warn-wash);color:var(--warn)}.savestate{font-size:12px;color:var(--ink-3);text-align:right;min-height:18px;margin-top:6px}.receipt-spacer{height:210px}.receipt{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b));z-index:25;pointer-events:none}.receipt .paper{pointer-events:auto;max-width:560px;margin:0 auto;background:var(--paper);padding:14px 16px 12px;box-shadow:0 -6px 18px #17201b14;position:relative}.receipt .paper:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:radial-gradient(circle at 6px 8px,transparent 5px,var(--paper) 5.5px) repeat-x;background-size:12px 8px}.receipt .rows{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:14px;color:var(--ink-2)}.receipt .rows .num{text-align:right;color:var(--ink)}.receipt .total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.receipt .total .label{font-size:14px;color:var(--ink-2)}.receipt .total .value{font-size:34px;font-weight:750;font-stretch:75%;line-height:1;letter-spacing:-.01em}.receipt .total .value.neg{color:var(--alert)}.receipt .btn{min-width:132px}.diff-neg{color:var(--alert)!important}.diff-pos{color:var(--warn)!important}.kpi{padding:16px}.kpi+.kpi{border-top:1px solid var(--line)}.kpi .title{font-size:15px;color:var(--ink-2)}.kpi .big{font-size:30px;font-weight:700;font-stretch:80%;line-height:1.15}.kpi .of{font-size:14px;color:var(--ink-3)}.kpi .pace{margin-top:10px;font-size:14px;display:flex;justify-content:space-between}.bar{position:relative;height:10px;border-radius:5px;background:#e9ede9;margin-top:12px}.bar .fill{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--pine)}.bar .fill.behind{background:var(--warn)}.bar .fill.far{background:var(--alert)}.bar .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);border-radius:1px}.monthnav{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px}.monthnav strong{font-size:18px;text-transform:capitalize}.monthnav .iconbtn{color:var(--pine)}.dayrow{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;padding:10px 16px;border:0;background:none;width:100%;text-align:left;cursor:pointer}.dayrow+.dayrow{border-top:1px solid var(--line)}.dayrow .d{font-weight:700;font-stretch:80%;font-size:20px;line-height:1}.dayrow .d small{display:block;font-size:12px;font-weight:400;color:var(--ink-3);font-stretch:100%}.dayrow .r{text-align:right}.dayrow .r small{display:block;color:var(--ink-3);font-size:12px}.yearchart{padding:12px 8px 4px}.yearchart svg{width:100%;height:auto;display:block}.login{min-height:100dvh;background:var(--pine);color:#f4f1e8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 24px) 24px calc(var(--safe-b) + 24px)}.login .logo{width:min(320px,82vw);height:auto;display:block;margin-bottom:32px}.login .login-body{width:100%;max-width:340px;display:flex;flex-direction:column}.login .btn.bio{min-height:56px;font-size:17px;gap:10px}.login .powered{margin-top:40px;font-size:13px;letter-spacing:.02em;color:#f4f1e899;text-decoration:none}.login .powered strong{font-weight:600;color:#f4f1e8d9}.login .powered:hover,.login .powered:focus-visible{color:#f4f1e8}.login .login-hint{text-align:center;margin:8px 0 0;color:#f4f1e8b3;font-size:14px}.login .login-alt{color:#f4f1e8;margin-top:18px;align-self:center;font-weight:500;text-decoration:underline;text-underline-offset:3px}.login form .btn:not(.primary){background:transparent;color:#f4f1e8;border-color:#f4f1e880;margin-top:6px}.login .field>span{color:#f4f1e8cc}.login .input{background:#fff;border-color:transparent;color:var(--ink)}.login .input:focus{border-color:#f4f1e8;box-shadow:0 0 0 3px #f4f1e840}.login .btn.primary{background:#f4f1e8;border-color:#f4f1e8;color:var(--pine-deep);margin-top:6px}.login .btn.primary:active{background:#fff}.login .notice.alert{background:#c2362b2e;color:#ffe3df}.backdrop{position:fixed;inset:0;z-index:50;background:#17201b73;display:flex;align-items:flex-end;justify-content:center}.modal{width:100%;max-width:560px;max-height:92dvh;overflow:auto;background:var(--paper);border-radius:var(--radius-l) var(--radius-l) 0 0;padding:20px 16px calc(16px + var(--safe-b));animation:rise .18s ease-out}.modal h3{margin:0 0 12px;font-size:20px}.modal .actions{display:flex;gap:10px;margin-top:16px}.modal .actions .btn{flex:1}@keyframes rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.modal{animation:none}}.recap{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:15px}.recap .num{text-align:right}.recap .strong{font-weight:700;font-size:18px}details.admin{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);margin-bottom:12px}details.admin>summary{list-style:none;cursor:pointer;padding:16px;font-weight:650;display:flex;justify-content:space-between}details.admin>summary::-webkit-details-marker{display:none}details.admin>summary:after{content:"+";color:var(--ink-3);font-weight:400}details.admin[open]>summary:after{content:"−"}details.admin .body{padding:0 16px 16px}.rowedit{display:flex;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.rowedit .input{min-height:40px}.rowedit .grow{flex:1;min-width:0}.muted{color:var(--ink-3);font-size:13px}.targets{display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:center}.targets .money{width:120px;height:40px;font-size:16px}.targets .ly{font-size:12px;color:var(--ink-3);text-align:right;min-width:70px}.toggle{display:inline-flex;align-items:center;gap:6px;font-size:14px}.toggle input{width:20px;height:20px;accent-color:var(--pine)}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:60;box-shadow:0 4px 14px #17201b33;background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px;font-size:14px;max-width:calc(100% - 32px)}.toast.error{background:var(--alert)}.photo-has{color:var(--pine);width:40px;height:40px}.photo-add{color:var(--ink-3);width:40px;height:40px;cursor:pointer}.photo-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.photo-pick img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-s);border:1px solid var(--line)}.photo-pick .btn{cursor:pointer}.photo-frame{min-height:120px;display:grid;place-items:center;background:var(--snow);border-radius:var(--radius-s);overflow:hidden}.photo-frame img{max-width:100%;max-height:65dvh;object-fit:contain}.modal .actions{flex-wrap:wrap}.modal .actions .btn{min-width:120px}.line.tips{background:#fafbf9}.cat{border-top:1px solid var(--line)}.cat:first-child{border-top:0}.cat>summary{list-style:none;cursor:pointer;padding:12px 16px}.cat>summary::-webkit-details-marker{display:none}.cat .cat-head{display:flex;justify-content:space-between;gap:12px;font-weight:600}.cat .cat-head small{display:block;font-weight:400;font-size:13px;color:var(--ink-3)}.cat .cat-bar{height:6px;border-radius:3px;background:#e9ede9;margin-top:8px}.cat .cat-bar>div{height:6px;border-radius:3px;background:var(--pine)}.cat .item{display:grid;grid-template-columns:44px 1fr auto auto;gap:8px;align-items:center;padding:8px 16px;font-size:14px;background:#fafbf9;border-top:1px solid var(--line)}.cat .item .d{color:var(--ink-3);font-size:13px}.cat .item small{display:block;color:var(--ink-3);font-size:12px}.segmented{display:flex;gap:4px;padding:4px;background:var(--snow);border:1px solid var(--line);border-radius:var(--radius-s)}.segmented button{flex:1;min-height:40px;border:0;border-radius:6px;background:transparent;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;padding:0 6px}.segmented button.on{background:var(--paper);color:var(--pine);box-shadow:0 1px 3px #17201b1f}
