:root{color-scheme:light;--ink: #18213a;--muted: #5e6782;--canvas: #edf0f4;--canvas-deep: #e3e7ee;--surface: #ffffff;--surface-muted: #f3f5f8;--line: #d6dbe4;--accent: #2450d8;--accent-ink: #ffffff;--on-dark: #ffffff;--danger: #b3261e;--success: #2e9e5b;--notice-bg: #fdf6ea;--notice-line: #ecd3a8;--receita: #1f8a5b;--despesa: #b3261e;--chrome: #18213a;--chrome-line: transparent;--inverse: #18213a;--on-inverse: #ffffff;--danger-strong: #b3261e;--switch-knob: #ffffff;--st-aberta: #3d7bd9;--st-liquidada: #1f8a5b;--st-atrasada: #c2771b;--st-cancelada: #a3a9b6;--viz-1: #2450d8;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-4: #eda100;--viz-5: #b0279a;--font: "Onest", system-ui, sans-serif;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1.125rem;--fs-lg: 1.5rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 6px 20px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 24px rgba(24, 33, 58, .22);--shadow-top: 0 -4px 16px rgba(24, 33, 58, .06)}@media screen{:root[data-theme=dark]{color-scheme:dark;--ink: #e4e8f1;--muted: #98a2bb;--canvas: #0e1320;--canvas-deep: #0a0e18;--surface: #161c2c;--surface-muted: #1d2436;--line: #2b344b;--accent: #7b97ff;--accent-ink: #0b1020;--danger: #f07167;--success: #3ccf7e;--notice-bg: #2a2214;--notice-line: #5e4a25;--receita: #3ccf7e;--despesa: #f07167;--chrome: #0a0e18;--chrome-line: #1f2739;--inverse: #e4e8f1;--on-inverse: #0e1320;--danger-strong: #c9372c;--switch-knob: #ffffff;--viz-1: #6e8dff;--viz-5: #d258bd;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .6);--shadow-top: 0 -4px 16px rgba(0, 0, 0, .4)}}*{box-sizing:border-box;scrollbar-width:thin}html,body{margin:0}html{scrollbar-color:color-mix(in srgb,var(--ink) 25%,transparent) transparent}body{font-family:var(--font);font-size:var(--fs-base);line-height:1.5;color:var(--ink);background:var(--canvas);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;overflow-x:clip}@media(hover:none)and (pointer:coarse){input,select,textarea{font-size:1rem}}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--fs-lg);font-weight:700}h2{font-size:var(--fs-md);font-weight:600}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--surface);padding:.5rem .9rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;text-decoration:none;color:var(--ink)}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.small{padding:.3rem .6rem;font-size:var(--fs-sm)}.btn:disabled{opacity:.55;cursor:default}.field{display:grid;gap:.3rem;align-content:start}.field>span{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:.55rem .7rem}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.input.ng-invalid.ng-touched,.input.invalid{border-color:var(--danger)}@supports (-webkit-touch-callout: none){.input[type=date],.input[type=month]{-webkit-appearance:none;appearance:none;min-width:0}.input[type=date]::-webkit-date-and-time-value,.input[type=month]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}}.field-error{color:var(--danger);font-size:var(--fs-sm)}.field-hint{color:var(--muted);font-size:var(--fs-sm)}.switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.switch input{appearance:none;flex:none;width:40px;height:22px;margin:0;border-radius:var(--radius-pill);background:var(--line);position:relative;cursor:pointer;transition:background .15s}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--switch-knob);transition:transform .15s}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(18px)}.switch input:disabled{opacity:.55;cursor:default}.switch input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.muted{color:var(--muted)}.error{color:var(--danger)}.toast{position:fixed;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:var(--inverse);color:var(--on-inverse);padding:.6rem 1rem;border-radius:var(--radius-md);font-size:var(--fs-sm);z-index:50;width:max-content;max-width:calc(100vw - 2rem)}.notice{margin:0;padding:.75rem 1rem;font-size:var(--fs-sm);border-radius:var(--radius-md);border:1px solid var(--notice-line);border-left:4px solid var(--st-atrasada);background:var(--notice-bg)}.count-pill{flex:none;min-width:1.25rem;padding:0 .35rem;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:700;line-height:1.25rem;text-align:center}.status-pill{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;padding:0 .5rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;letter-spacing:.03em;line-height:1.35rem;text-transform:uppercase;white-space:nowrap;background:color-mix(in srgb,var(--c) 16%,var(--surface));color:color-mix(in srgb,var(--c) 75%,var(--ink))}.status-pill.atrasada{background:var(--c);color:var(--on-dark)}.cat-dot{display:inline-flex;align-items:center;gap:.35rem;min-width:0;white-space:nowrap}.cat-dot:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--c)}.cat-dot>span{overflow:hidden;text-overflow:ellipsis}.valor{font-variant-numeric:tabular-nums;white-space:nowrap}.valor.receita{color:var(--receita)}.valor.despesa{color:var(--despesa)}@media print{@page{size:A4 portrait;margin:12mm}html{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}.toast{display:none!important}}
