@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_5eebf5bb-module__nE4pbG__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_5eebf5bb-module__nE4pbG__variable{--font-instrument:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_410c8372-module__HLsl1G__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_410c8372-module__HLsl1G__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#f3f4f1;--surface:#fff;--ink:#1f2b38;--ink-muted:#5c6672;--ink-faint:#8a929c;--line:#dcdfd6;--line-strong:#c3c8bc;--accent:#2f4e9e;--accent-weak:#e9edf8;--income:#1f6b4a;--income-weak:#e4f0e9;--expense:#a8402f;--expense-weak:#f7e9e5;--pending:#8a6a14;--pending-weak:#f5eed7;--font-ui:var(--font-instrument), system-ui, -apple-system, "Segoe UI", sans-serif;--font-num:var(--font-plex-mono), ui-monospace, "SF Mono", Consolas, monospace;--radius:6px;--shadow:0 1px 2px #1f2b380f, 0 4px 16px #1f2b380d}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);margin:0;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.45rem;font-weight:650}h2{font-size:1.05rem;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.num,.tbl td.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.shell{max-width:1060px;margin:0 auto;padding:0 20px 96px}.topbar{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:20px;max-width:1060px;margin:0 auto;padding:10px 20px;display:flex}.brand{color:var(--ink);letter-spacing:.01em;align-items:center;gap:10px;font-weight:650;display:flex}.brand:hover{text-decoration:none}.brand-mark{border:2px solid var(--accent);width:26px;height:26px;color:var(--accent);font-family:var(--font-num);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;transform:rotate(-8deg)}.nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.nav a{color:var(--ink-muted);border-radius:999px;padding:6px 12px;font-size:.95rem;font-weight:500}.nav a:hover{color:var(--ink);background:var(--accent-weak);text-decoration:none}.nav a[data-active=true]{color:var(--accent);background:var(--accent-weak)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:28px 0 18px;display:flex}.page-head .sub{color:var(--ink-muted);font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stack>*+*{margin-top:16px}.tiles{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.tile .label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px;font-size:.72rem;font-weight:600}.tile .value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600}.tile .value small{color:var(--ink-muted);font-size:.8rem;font-weight:500}.tile .value+.value{margin-top:2px}.tile.accent-income{border-top:3px solid var(--income)}.tile.accent-expense{border-top:3px solid var(--expense)}.tile.accent-vat{border-top:3px solid var(--accent)}.tile.accent-pending{border-top:3px solid var(--pending)}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:.92rem}.tbl th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:8px 10px;font-size:.72rem;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.tbl tr:last-child td{border-bottom:none}.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap}.tbl tr:hover td{background:color-mix(in srgb, var(--accent-weak) 45%, transparent)}.row-link{color:var(--ink);font-weight:550}.chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip-income{color:var(--income);background:var(--income-weak)}.chip-expense{color:var(--expense);background:var(--expense-weak)}.chip-confirmed{color:var(--income);background:var(--income-weak)}.chip-needs_review{color:var(--pending);background:var(--pending-weak)}.chip-processing{color:var(--accent);background:var(--accent-weak)}.chip-failed{color:var(--expense);background:var(--expense-weak)}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);font-size:.72rem;font-weight:600}input[type=text],input[type=password],input[type=number],input[type=date],input[type=month],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;padding:8px 10px}input[type=date],input[type=month],input[inputmode=decimal]{font-family:var(--font-num)}select{appearance:auto}textarea{resize:vertical}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.form-grid .wide{grid-column:1/-1}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.92rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--ink-faint)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#274284;border-color:#274284}.btn-danger{color:var(--expense);border-color:color-mix(in srgb, var(--expense) 40%, var(--line-strong));background:var(--surface)}.btn-danger:hover{background:var(--expense-weak)}.btn[disabled]{opacity:.6;cursor:progress}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filters .field{flex:0 auto;min-width:130px;margin-bottom:0}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);display:flex;overflow:hidden}.segmented label{flex:1;position:relative}.segmented input{opacity:0;position:absolute}.segmented span{text-align:center;color:var(--ink-muted);cursor:pointer;border-inline-start:1px solid var(--line);padding:9px 14px;font-size:.92rem;font-weight:600;display:block}.segmented label:first-child span{border-inline-start:none}.segmented input:checked+span{color:#fff}.segmented input[value=expense]:checked+span{background:var(--expense)}.segmented input[value=income]:checked+span{background:var(--income)}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.note{border-inline-start:3px solid var(--pending);background:var(--pending-weak);border-radius:0 var(--radius) var(--radius) 0;padding:10px 14px;font-size:.9rem}.note-error{border-color:var(--expense);background:var(--expense-weak)}.note-info{border-color:var(--accent);background:var(--accent-weak)}.bars{gap:8px;display:grid}.bar-row{grid-template-columns:160px 1fr 110px;align-items:center;gap:10px;display:grid}@media (max-width:640px){.bar-row{grid-template-columns:110px 1fr 90px}}.bar-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.bar-track{background:color-mix(in srgb, var(--line) 55%, transparent);border-radius:4px;height:14px;position:relative}.bar-fill{background:var(--expense);border-radius:4px;min-width:2px;position:absolute;inset:0 auto 0 0}.bar-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);font-size:.88rem}.stamp{--stamp-color:var(--accent);border:2px solid var(--stamp-color);outline:1px solid var(--stamp-color);outline-offset:-8px;width:128px;height:128px;color:var(--stamp-color);text-align:center;font-family:var(--font-num);opacity:.85;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;padding:16px;display:grid;transform:rotate(-11deg)}.stamp .stamp-word{letter-spacing:.28em;text-transform:uppercase;font-size:.85rem;font-weight:700}.stamp .stamp-line{letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;max-width:100px;margin-top:2px;font-size:.62rem;overflow:hidden}.detail-grid{grid-template-columns:minmax(280px,5fr) 7fr;align-items:start;gap:20px;display:grid}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}}.doc-images{gap:12px;display:grid}.doc-images img{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:auto;display:block}.doc-frame{position:relative}.doc-frame .stamp{background:#ffffff8c;position:absolute;bottom:14px;right:14px}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer;color:var(--ink-muted);padding:34px 20px}.dropzone:hover{border-color:var(--accent);color:var(--accent)}.dropzone strong{color:var(--ink);margin-bottom:4px;font-size:1.02rem;display:block}.thumbs{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.thumbs .thumb{object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:86px;height:86px}.thumb-pdf{border:1px solid var(--line);border-radius:var(--radius);width:86px;height:86px;font-family:var(--font-num);color:var(--ink-muted);background:#fff;place-items:center;font-size:.75rem;display:grid}.login-wrap{place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{width:100%;max-width:360px}.login-card .brand{justify-content:center;margin-bottom:18px;font-size:1.1rem}.empty{text-align:center;color:var(--ink-muted);padding:40px 20px}.muted{color:var(--ink-muted)}.small{font-size:.85rem}.spin{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
