*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}:root{--color-bg-primary:#f5f5f7;--color-bg-secondary:#fff;--color-bg-tertiary:#ececef;--color-sidebar-bg:#fff;--color-sidebar-active-bg:#ececef;--color-sidebar-hover-bg:#f2f2f5;--color-row-hover:#fafafc;--color-input-bg:#f5f5f7;--color-profile-bg:#f2f2f5;--color-text-primary:#1c1c1e;--color-text-secondary:#6c6c70;--color-text-tertiary:#aeaeb2;--color-border:rgba(0,0,0,.08);--color-border-md:rgba(0,0,0,.1);--color-accent:#0071e3;--color-accent-light:#e8f0fb;--color-accent-text:#0071e3;--color-primary:#1c1c1e;--color-ok:#1a7f3c;--color-ok-bg:#e8f5ec;--color-warn:#7a4f00;--color-warn-bg:#fbf3d9;--color-err:#b00020;--color-err-bg:#fbeaea;--color-info-bg:#eef2f7;--color-btn-bg:#f0f0f3;--color-btn-bg-hover:#e4e4e8;--color-btn-primary-bg:#1c1c1e;--color-btn-primary-fg:#fff;--color-btn-danger-bg:#ff3b30;--color-btn-danger-fg:#fff;--chart-income:#1c1c1e;--chart-expense:#c7c7cc;--chart-grid:rgba(0,0,0,.06);--kpi-green:#16a34a;--kpi-green-bg:rgba(22,163,74,.1);--kpi-red:#dc2626;--kpi-red-bg:rgba(220,38,38,.1);--kpi-neutral:#6c6c70;--kpi-neutral-bg:rgba(0,0,0,.05);--act-paid-bg:rgba(22,163,74,.12);--act-paid-fg:#16a34a;--act-quote-bg:rgba(10,132,255,.12);--act-quote-fg:#0071e3;--act-expense-bg:rgba(0,0,0,.05);--act-expense-fg:#6c6c70;--act-client-bg:rgba(124,58,237,.12);--act-client-fg:#7c3aed;--shadow-card:0 1px 2px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.03);--shadow-card-hover:0 2px 6px rgba(0,0,0,.06),0 4px 14px rgba(0,0,0,.04);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--sidebar-width:232px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",sans-serif;--transition:0.18s ease;color-scheme:light}[data-theme=dark]{--color-bg-primary:#000;--color-bg-secondary:#1c1c1e;--color-bg-tertiary:#242426;--color-sidebar-bg:#0a0a0a;--color-sidebar-active-bg:#1f1f21;--color-sidebar-hover-bg:#151517;--color-row-hover:#1f1f21;--color-input-bg:#1f1f21;--color-profile-bg:#161618;--color-text-primary:#fff;--color-text-secondary:#a1a1a6;--color-text-tertiary:#6c6c70;--color-border:hsla(0,0%,100%,.08);--color-border-md:hsla(0,0%,100%,.1);--color-accent:#0a84ff;--color-accent-light:rgba(10,132,255,.18);--color-accent-text:#0a84ff;--color-primary:#fff;--color-ok:#30d158;--color-ok-bg:rgba(48,209,88,.12);--color-warn:#ffd60a;--color-warn-bg:rgba(255,214,10,.1);--color-err:#ff453a;--color-err-bg:rgba(255,69,58,.12);--color-info-bg:hsla(0,0%,100%,.06);--color-btn-bg:#242426;--color-btn-bg-hover:#2c2c2e;--color-btn-primary-bg:#fff;--color-btn-primary-fg:#000;--color-btn-danger-bg:#ff453a;--color-btn-danger-fg:#fff;--chart-income:#fff;--chart-expense:#5a5a5f;--chart-grid:hsla(0,0%,100%,.06);--kpi-green:#30d158;--kpi-green-bg:rgba(48,209,88,.14);--kpi-red:#ff453a;--kpi-red-bg:rgba(255,69,58,.14);--kpi-neutral:#a1a1a6;--kpi-neutral-bg:hsla(0,0%,100%,.06);--act-paid-bg:rgba(48,209,88,.14);--act-paid-fg:#30d158;--act-quote-bg:rgba(10,132,255,.16);--act-quote-fg:#0a84ff;--act-expense-bg:hsla(0,0%,100%,.08);--act-expense-fg:#a1a1a6;--act-client-bg:rgba(191,90,242,.16);--act-client-fg:#bf5af2;--shadow-card:0 1px 2px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.4);--shadow-card-hover:0 2px 6px rgba(0,0,0,.55),0 4px 14px rgba(0,0,0,.4);color-scheme:dark}*{box-sizing:border-box}body,html{background:var(--color-bg-primary);font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn,body,html{font-family:var(--font);color:var(--color-text-primary)}.btn{padding:7px 14px;font-size:12px;font-weight:500;border-radius:var(--radius-md);border:0;background:var(--color-btn-bg);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition),color var(--transition),filter var(--transition);text-decoration:none;white-space:nowrap}.btn:hover{background:var(--color-btn-bg-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-btn-primary-fg)}.btn-primary,.btn-primary:hover{background:var(--color-btn-primary-bg)}.btn-primary:hover{filter:brightness(1.15)}.btn-success{color:var(--color-btn-primary-fg)}.btn-success,.btn-success:hover{background:var(--color-btn-primary-bg)}.btn-success:hover{filter:brightness(1.15)}.btn-danger{color:var(--color-btn-danger-fg)}.btn-danger,.btn-danger:hover{background:var(--color-btn-danger-bg)}.btn-danger:hover{filter:brightness(1.08)}.btn-sm{padding:4px 9px;font-size:11px}.btn-icon-only{padding:6px}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.card{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-card)}.card-title{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:12px;padding-bottom:8px;border-bottom:.5px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.kpi-grid{grid-template-columns:1fr}}.kpi{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 24px;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow var(--transition);display:flex;align-items:center;justify-content:space-between;gap:16px}.kpi:hover{box-shadow:var(--shadow-card-hover)}.kpi-text{min-width:0;flex:1;display:flex;flex-direction:column;padding-right:48px}.kpi-label{font-size:15px;font-weight:500;color:#6c6c70;margin-bottom:6px;letter-spacing:0}[data-theme=dark] .kpi-label{color:#aeaeb2}.kpi-value{font-size:28px;font-weight:600;letter-spacing:-.02em;color:#1c1c1e;line-height:1.15;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .kpi-value{color:#fff}.kpi-value.pos{color:#16a34a}.kpi-value.neg{color:#dc2626}[data-theme=dark] .kpi-value.pos{color:#4ade80}[data-theme=dark] .kpi-value.neg{color:#f87171}.kpi-delta{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:999px;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-delta.up{color:#16a34a;background:rgba(22,163,74,.1)}.kpi-delta.down{color:#dc2626;background:rgba(220,38,38,.1)}.kpi-delta.flat,.kpi-delta.no-data{color:#6c6c70;background:rgba(0,0,0,.05)}[data-theme=dark] .kpi-delta.up{color:#4ade80;background:rgba(74,222,128,.14)}[data-theme=dark] .kpi-delta.down{color:#f87171;background:hsla(0,91%,71%,.14)}[data-theme=dark] .kpi-delta.flat,[data-theme=dark] .kpi-delta.no-data{color:#aeaeb2;background:hsla(0,0%,100%,.06)}.kpi-icon{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:999px;background:var(--color-bg-tertiary);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon.income{background:#16a34a;color:#fff}.kpi-icon.expense{background:#dc2626;color:#fff}.kpi-icon.profit-pos{background:#2563a8;color:#fff}.kpi-icon.profit-neg{background:#dc2626;color:#fff}.kpi-icon.open{background:#ea580c;color:#fff}[data-theme=dark] .kpi-icon.income{background:#15803d;color:#fff}[data-theme=dark] .kpi-icon.expense{background:#b91c1c;color:#fff}[data-theme=dark] .kpi-icon.profit-pos{background:#1d4ed8;color:#fff}[data-theme=dark] .kpi-icon.profit-neg{background:#b91c1c;color:#fff}[data-theme=dark] .kpi-icon.open{background:#c2410c;color:#fff}.kpi-sub{font-size:11px;color:var(--color-text-secondary);line-height:1.35}.kpi-sub.warn{color:#ea580c}.kpi-sub.ok{color:#16a34a}.bulk-cb{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:20px;height:20px;flex-shrink:0}.bulk-cb input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.bulk-cb-box{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:transparent;color:transparent;transition:opacity .12s,background .12s,border-color .12s}[data-theme=dark] .bulk-cb-box{border-color:hsla(0,0%,100%,.3)}.bulk-cb-box.checked,.bulk-cb-box.indeterminate{background:#1c1c1e;border-color:#1c1c1e;color:#fff}[data-theme=dark] .bulk-cb-box.checked,[data-theme=dark] .bulk-cb-box.indeterminate{background:#fff;border-color:#fff;color:#000}table tbody tr .bulk-cb .bulk-cb-box{opacity:0}.bulk-cb-header .bulk-cb-box,table tbody tr .bulk-cb .bulk-cb-box.checked,table tbody tr:hover .bulk-cb .bulk-cb-box,table.has-bulk-active tbody tr .bulk-cb .bulk-cb-box{opacity:1}.bulk-bar{position:fixed;left:50%;bottom:16px;transform:translate(-50%,calc(100% + 32px));z-index:90;background:#1c1c1e;color:#fff;border-radius:12px;padding:14px 20px;box-shadow:0 -8px 24px rgba(0,0,0,.18);min-width:460px;max-width:calc(100vw - 32px);transition:transform .22s ease-out;pointer-events:none}.bulk-bar.open{transform:translate(-50%);pointer-events:auto}.bulk-bar-inner{gap:18px}.bulk-bar-inner,.bulk-bar-left{display:flex;align-items:center}.bulk-bar-left{gap:14px;flex:1}.bulk-bar-count{font-size:13px;font-weight:500;white-space:nowrap}.bulk-bar-clear{background:transparent;border:none;color:hsla(0,0%,100%,.55);font-size:11px;cursor:pointer;padding:0;text-decoration:none;white-space:nowrap}.bulk-bar-clear:hover{color:#fff;text-decoration:underline}.bulk-bar-actions{display:flex;align-items:center;gap:6px}.bulk-action-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;background:hsla(0,0%,100%,.1);border:none;color:#fff;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.bulk-action-btn:hover{background:hsla(0,0%,100%,.16)}.bulk-action-btn.danger{color:#fca5a5}.bulk-action-btn.danger:hover{background:rgba(220,38,38,.3);color:#fff}.bulk-action-btn:disabled{opacity:.5;cursor:not-allowed}.export-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media (max-width:900px){.export-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.export-cards-grid{grid-template-columns:1fr}}.export-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;min-height:200px}[data-theme=dark] .export-card{background:#1c1c1e;border-color:hsla(0,0%,100%,.08)}.export-card.full{grid-column:1/-1;min-height:0}.export-card.accent{background:#1c1c1e;border-color:#1c1c1e;color:#fff}[data-theme=dark] .export-card.accent{background:#fff;border-color:#fff;color:#000}.export-card-icon{margin-bottom:4px}.export-card-title{font-size:14px;font-weight:600;color:inherit}.export-card-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.export-card.accent .export-card-desc{color:hsla(0,0%,100%,.7)}[data-theme=dark] .export-card.accent .export-card-desc{color:rgba(0,0,0,.65)}.export-card-count{font-size:11px;color:var(--color-text-secondary);margin-top:4px}.export-card.accent .export-card-count{color:hsla(0,0%,100%,.55)}[data-theme=dark] .export-card.accent .export-card-count{color:rgba(0,0,0,.5)}.export-card-note{font-size:11px;color:var(--color-warn,#ea580c);margin-top:4px}.cat-picker{position:relative}.cat-picker-trigger{display:flex;align-items:center;gap:8px;height:36px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:0 12px;cursor:text}[data-theme=dark] .cat-picker-trigger{background:#1c1c1e;border-color:hsla(0,0%,100%,.12)}.cat-picker-trigger:focus-within{border-color:var(--color-accent)}.cat-picker-icon{color:var(--color-text-secondary);flex-shrink:0}.cat-picker-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--color-text-primary)}.cat-picker-input::-moz-placeholder{color:var(--color-text-secondary)}.cat-picker-input::placeholder{color:var(--color-text-secondary)}.cat-picker-menu{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.1);max-height:300px;overflow-y:auto;padding:4px}[data-theme=dark] .cat-picker-menu{background:#1c1c1e;border-color:hsla(0,0%,100%,.12)}.cat-picker-row{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--color-text-primary);cursor:pointer}.cat-picker-row:hover{background:#f5f5f7}[data-theme=dark] .cat-picker-row:hover{background:#2a2a2c}.cat-picker-row.selected{font-weight:600;color:var(--color-accent)}.cat-picker-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-picker-suggest{display:block;width:100%;text-align:left;background:transparent;border:none;padding:10px;border-radius:6px;font-size:12px;color:var(--color-text-secondary);cursor:pointer}.cat-picker-suggest:hover{background:#f5f5f7}[data-theme=dark] .cat-picker-suggest:hover{background:#2a2a2c}.cat-picker-suggest-name{color:var(--color-accent);font-weight:600}.cat-picker-empty{padding:12px 10px;font-size:12px;color:var(--color-text-secondary);text-align:center}.expense-tx-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;text-decoration:none;line-height:1.3;max-width:100%}.expense-tx-link-none{background:#f2f2f7;color:#6c6c70;cursor:default}[data-theme=dark] .expense-tx-link-none{background:#2c2c2e;color:#aeaeb2}.expense-tx-link-ok{background:#dcfce7;color:#16a34a;cursor:pointer}.expense-tx-link-ok:hover{background:#bbf7d0}[data-theme=dark] .expense-tx-link-ok{background:#14532d;color:#4ade80}[data-theme=dark] .expense-tx-link-ok:hover{background:#166534}.expense-tx-link-label{font-weight:600}.expense-tx-link-sub{font-size:10px;font-weight:400;opacity:.85;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-card-pills{display:inline-flex;align-self:flex-start;width:-moz-fit-content;width:fit-content;align-items:center;background:#f2f2f7;border-radius:8px;padding:3px;gap:2px;margin-top:6px}[data-theme=dark] .kpi-card-pills{background:#2c2c2e}.kpi-card-pill{height:22px;padding:0 8px;border:none;background:transparent;font-size:10px;font-weight:500;color:#6c6c70;border-radius:4px;cursor:pointer;white-space:nowrap}[data-theme=dark] .kpi-card-pill{color:#aeaeb2}.kpi-card-pill:hover{color:var(--color-text-primary)}.kpi-card-pill.active{background:#1c1c1e;color:#fff}[data-theme=dark] .kpi-card-pill.active{background:#fff;color:#000}.kpi-expense,.kpi-income,.kpi-open,.kpi-profit{background:var(--color-bg-secondary);border:.5px solid var(--color-border)}.kpi-expense .kpi-label,.kpi-income .kpi-label,.kpi-open .kpi-label,.kpi-profit .kpi-label{color:var(--color-text-secondary)}.kpi-expense .kpi-value,.kpi-income .kpi-value,.kpi-open .kpi-value,.kpi-profit .kpi-value{color:var(--color-text-primary)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:6px 9px;font-size:10px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}td,th{border-bottom:.5px solid var(--color-border)}td{padding:8px 9px;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-row-hover)}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;white-space:nowrap}.badge-ok{background:var(--color-ok-bg);color:var(--color-ok)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn)}.badge-info{background:var(--color-info-bg);color:var(--color-accent)}.badge-err{background:var(--color-err-bg);color:var(--color-err)}.badge-gray{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-2,.form-grid-3{display:grid;gap:10px;margin-bottom:10px}.form-grid-3{grid-template-columns:1fr 1fr 1fr}.form-full{margin-bottom:10px}.form-label{font-size:11px;color:var(--color-text-secondary);margin-bottom:3px;display:block}.form-input{width:100%;padding:7px 10px;font-size:12px;border:.5px solid var(--color-border-md);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-family:var(--font)}.form-input:focus{outline:none;box-shadow:0 0 0 2px var(--color-accent-light);border-color:var(--color-accent)}select.form-input{cursor:pointer}textarea.form-input{resize:vertical}.sidebar-brand{padding:18px 14px 8px 18px;justify-content:space-between}.sidebar-brand,.sidebar-brand-left{display:flex;align-items:center;gap:10px}.sidebar-brand-left{min-width:0;flex:1}.sidebar-brand-mark{width:28px;height:28px;border-radius:8px;background:var(--color-text-primary);color:var(--color-bg-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.sidebar-brand-text{line-height:1.1}.sidebar-brand-title{font-size:13.5px;font-weight:600;color:var(--color-text-primary)}.sidebar-brand-sub{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.sidebar-section{margin-top:14px}.sidebar-section:first-of-type{margin-top:10px}.sidebar-section-label{padding:0 18px 6px;font-size:10px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase}.sidebar-nav-item{display:flex;align-items:center;gap:12px;margin:2px 10px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--color-text-secondary);background:transparent;text-decoration:none;transition:background var(--transition),color var(--transition)}.sidebar-nav-item:hover{background:var(--color-sidebar-hover-bg);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-sidebar-active-bg);color:var(--color-text-primary);font-weight:500}.sidebar-profile-wrap{flex-shrink:0;padding:12px;border-top:.5px solid var(--color-border)}.sidebar-profile{background:var(--color-profile-bg);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:10px;transition:background var(--transition)}.sidebar-profile:hover{background:var(--color-sidebar-hover-bg)}.sidebar-profile-row{display:flex;align-items:center;gap:10px}.sidebar-avatar{width:34px;height:34px;border-radius:999px;background:var(--color-text-primary);color:var(--color-bg-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.sidebar-profile-name{font-size:12.5px;font-weight:500;color:var(--color-text-primary)}.sidebar-profile-email,.sidebar-profile-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sidebar-profile-email{font-size:10.5px;color:var(--color-text-tertiary);margin-top:1px}.sidebar-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border)}.sidebar-company-static{margin-top:8px;font-size:11px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}.sidebar-company-switcher{position:relative;margin-top:8px}.sidebar-company-trigger{display:flex;align-items:center;gap:4px;width:100%;background:transparent;border:.5px solid var(--color-border);border-radius:6px;padding:5px 8px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;text-align:left}.sidebar-company-trigger:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-company-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-company-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--color-bg-primary);border:.5px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px;z-index:20;max-height:240px;overflow-y:auto}.sidebar-company-menu-item{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;border-radius:4px;padding:6px 8px;font-size:12px;color:var(--color-text-primary);cursor:pointer;text-align:left}.sidebar-company-menu-item:hover{background:var(--color-bg-tertiary)}.sidebar-icon-btn{background:transparent;border:0;outline:none;padding:6px;border-radius:8px;cursor:pointer;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition);line-height:1}.sidebar-icon-btn:hover{background:var(--color-sidebar-hover-bg);color:var(--color-text-primary)}.sidebar-icon-btn:focus,.sidebar-icon-btn:focus-visible{outline:none;box-shadow:none}.notification-bell-btn{position:relative;background:transparent;border:0;outline:none;padding:4px;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.notification-bell-btn:hover{color:var(--color-text-primary);background:var(--color-sidebar-hover-bg)}.notification-bell-btn:focus,.notification-bell-btn:focus-visible{outline:none;box-shadow:none}.theme-toggle{background:transparent;color:var(--color-text-primary);border:0;outline:none;padding:4px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition)}.theme-toggle:hover{background:#e5e5ea}.theme-toggle:focus,.theme-toggle:focus-visible{outline:none;box-shadow:none}[data-theme=dark] .theme-toggle:hover{background:#2a2a2a}.lang-toggle{display:flex;gap:3px;background:var(--color-bg-tertiary);padding:3px;border-radius:var(--radius-md)}.lang-btn{padding:4px 10px;font-size:11px;border:none;border-radius:6px;cursor:pointer;background:none;color:var(--color-text-secondary);font-family:var(--font);transition:background var(--transition)}.lang-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary);font-weight:500;box-shadow:0 0 0 .5px var(--color-border-md)}.lang-tabs{display:flex;gap:5px;margin-bottom:10px}.lang-tab{padding:6px 13px;font-size:12px;border-radius:var(--radius-md);border:0;background:transparent;cursor:pointer;color:#6c6c70;font-family:var(--font);transition:background var(--transition),color var(--transition);display:inline-flex;align-items:center;gap:6px}.lang-tab:hover:not(.active){color:var(--color-text-primary)}.lang-tab.active{background:#1c1c1e;color:#fff;font-weight:500}.lang-tab:focus-visible{outline:none}.tax-options{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.tax-btn{padding:5px 12px;font-size:11px;border-radius:999px;border:0;background:var(--color-btn-bg);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font);transition:background var(--transition)}.tax-btn:hover{background:var(--color-btn-bg-hover)}.tax-btn.active{background:var(--color-accent);color:#fff}.tax-note{padding:8px 11px;border-radius:0 6px 6px 0;font-size:11px;margin-bottom:8px;border-left:3px solid var(--color-accent);background:var(--color-info-bg);color:var(--color-text-primary)}.period-selector{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.period-btn{padding:5px 12px;font-size:11px;border-radius:999px;border:0;background:var(--color-btn-bg);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font);transition:background var(--transition)}.period-btn:hover{background:var(--color-btn-bg-hover)}.period-btn.active{background:var(--color-accent);color:#fff}.item-row,.items-header{display:grid;grid-template-columns:2.5fr .6fr .8fr .6fr .8fr 30px;gap:5px;align-items:start}.items-header{padding:3px 0;font-size:10px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.item-row{margin-bottom:6px}.item-total{font-size:12px;font-weight:500;text-align:right;padding-top:8px}.line-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;background:var(--color-bg-primary);border:.5px solid var(--color-border);border-radius:10px;margin-bottom:8px}.line-item-text{min-width:0;display:flex;flex-direction:column;gap:6px}.line-item-title-wrap{position:relative}.line-item-title-wrap input{width:100%;font-weight:500}.line-item-body{font-size:11.5px;line-height:1.4;min-height:36px}.line-item-nums{display:grid;grid-template-columns:70px 110px 110px 70px 90px 26px;gap:6px;align-items:center}.line-item-nums .form-input{padding:6px 8px;font-size:12px}.line-item-nums .nums-total{text-align:right;font-size:12.5px;font-weight:500;color:var(--color-text-primary);padding:0 4px;white-space:nowrap}.line-item-remove{background:transparent;border:0;color:var(--color-text-tertiary);padding:4px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.line-item-remove:hover{background:var(--color-bg-tertiary);color:var(--color-err)}@media (max-width:980px){.line-item-row{grid-template-columns:1fr}.line-item-nums{grid-template-columns:repeat(3,1fr) 26px}}.tpl-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.05);z-index:50;padding:4px;max-height:280px;overflow-y:auto;animation:dropdownIn .12s ease-out}[data-theme=dark] .tpl-dropdown{box-shadow:0 10px 28px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4)}.tpl-dropdown-empty{font-size:11px;color:var(--color-text-tertiary);padding:10px 12px;text-align:center}.tpl-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;background:transparent;border:0;text-align:left;font-family:inherit;width:100%;transition:background var(--transition)}.tpl-row.active,.tpl-row:hover{background:var(--color-bg-tertiary)}.tpl-row-text{min-width:0}.tpl-row-name{font-size:12.5px;font-weight:600;color:var(--color-text-primary)}.tpl-row-desc,.tpl-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-row-desc{font-size:10.5px;color:var(--color-text-tertiary);margin-top:1px}.tpl-row-price{font-size:12px;font-weight:500;color:var(--color-text-primary);white-space:nowrap}.note-picker-wrap{position:relative;margin-bottom:8px}.note-picker-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:.5px solid var(--color-border-md);border-radius:8px;background:var(--color-btn-bg);color:var(--color-text-primary);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition)}.note-picker-btn:hover{background:var(--color-btn-bg-hover)}.note-picker-btn:focus,.note-picker-btn:focus-visible{outline:none;box-shadow:none}.note-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.05);z-index:30;padding:4px;max-height:280px;overflow-y:auto;animation:dropdownIn .12s ease-out}[data-theme=dark] .note-picker-dropdown{box-shadow:0 10px 28px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4)}.note-picker-row{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:0;background:transparent;cursor:pointer;font-family:inherit;transition:background var(--transition)}.note-picker-row:hover{background:var(--color-bg-tertiary)}.note-picker-name{font-size:12.5px;font-weight:600;color:var(--color-text-primary)}.note-picker-preview{font-size:10.5px;color:var(--color-text-tertiary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.totals-block{border-top:.5px solid var(--color-border);padding-top:10px;margin-top:8px}.totals-row{display:flex;justify-content:flex-end;gap:12px;font-size:12px;padding:2px 0}.totals-row.grand{font-weight:500;font-size:14px;border-top:.5px solid var(--color-border);padding-top:7px;margin-top:4px}.totals-label{color:var(--color-text-secondary);min-width:160px;text-align:right}.totals-value{min-width:90px;text-align:right}.section-title{font-size:10px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 8px;padding-bottom:5px;border-bottom:.5px solid var(--color-border)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--color-bg-secondary);border-radius:14px;border:.5px solid var(--color-border);padding:22px;width:95%;max-width:680px;max-height:90vh;overflow-y:auto}.modal-title{font-size:15px;font-weight:500;margin-bottom:14px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:.5px solid var(--color-border)}.upload-zone{border:1.5px dashed var(--color-border-md);border-radius:var(--radius-md);padding:16px;text-align:center;font-size:12px;color:var(--color-text-secondary);cursor:pointer}.upload-zone:hover{background:var(--color-bg-tertiary)}.bank-card{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:14px}.bank-card.primary{border:1.5px solid var(--color-accent)}.bank-card-name{font-size:13px;font-weight:500;margin:2px 0}.bank-card-iban{font-size:11px;color:var(--color-text-secondary);font-family:monospace;letter-spacing:.03em}.bank-card-balance{font-size:17px;font-weight:500;margin-top:8px;color:var(--color-ok)}.export-lang-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.export-lang-card{border-radius:var(--radius-lg);padding:14px;border:.5px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;text-align:left}.export-lang-card.active{border:2px solid var(--color-accent);background:var(--color-accent-light)}.export-lang-card-badge{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--color-btn-bg);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:8px;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace)}.export-lang-card.active .export-lang-card-badge{background:var(--color-accent);color:#fff}.export-lang-card-title{font-size:13px;font-weight:500;margin-bottom:3px}.export-lang-card-sub{font-size:11px;color:var(--color-text-secondary)}.recurring-badge{background:var(--color-info-bg);border-radius:6px;padding:2px 6px;font-size:10px;color:var(--color-accent)}.row-actions{display:flex;gap:3px}.dash-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:14px}@media (max-width:1000px){.dash-grid-2{grid-template-columns:1fr}}.dash-shell{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.dash-shell .card{margin-bottom:0;padding:16px}.dash-shell .kpi-grid{margin-bottom:0;gap:12px}.dash-shell .kpi{padding:14px 16px}.dash-middle{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.86fr) minmax(0,1fr);gap:12px;min-height:360px}.dash-middle-col{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}.dash-card-fill{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.dash-card-fill .card-title{flex-shrink:0;margin-bottom:8px;padding-bottom:8px}.dash-chart-body{flex:1 1 auto;min-height:0}@media (max-width:1200px){.dash-shell{height:auto}.dash-middle{grid-template-columns:1fr;min-height:0}.dash-card-fill{min-height:240px}}.dash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;flex-shrink:0}.dash-hero-text{min-width:0}.dash-greeting{font-size:22px;font-weight:600;letter-spacing:-.025em;color:var(--color-text-primary);line-height:1.15}.dash-greeting-sub{font-size:12.5px;color:var(--color-text-secondary);margin-top:4px}.dash-greeting-sub strong{color:var(--color-text-primary);font-weight:600}.dash-hero-actions{display:flex;gap:8px;flex-shrink:0}.btn-lg{padding:9px 14px;font-size:12.5px;border-radius:var(--radius-md);font-weight:500}.side-tile{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;gap:14px;flex:1 1 0;min-height:0;box-shadow:var(--shadow-card);transition:box-shadow var(--transition)}.side-tile:hover{box-shadow:var(--shadow-card-hover)}.side-tile-icon{width:36px;height:36px;border-radius:10px;background:var(--color-bg-tertiary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.side-tile-body{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}.side-tile-label{font-size:11px;color:var(--color-text-secondary);letter-spacing:.01em}.side-tile-label,.side-tile-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-tile-value{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.15;margin:2px 0}.side-tile-sub{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex-shrink:0}.strip-tile{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-card)}.strip-icon{width:32px;height:32px;border-radius:10px;background:var(--color-bg-tertiary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.strip-body{min-width:0;flex:1}.strip-label{font-size:11px;color:var(--color-text-secondary);letter-spacing:.01em;margin-bottom:1px}.strip-label,.strip-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strip-value{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary)}.strip-sub{font-size:10.5px;color:var(--color-text-tertiary);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:1000px){.dash-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.dash-strip{grid-template-columns:1fr}}.activity-list{display:flex;flex-direction:column;gap:4px}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-radius:8px;text-decoration:none;color:inherit;transition:background var(--transition)}.activity-item:hover{background:var(--color-row-hover)}.activity-icon{width:28px;height:28px;border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon.paid{background:var(--act-paid-bg);color:var(--act-paid-fg)}.activity-icon.quote{background:var(--act-quote-bg);color:var(--act-quote-fg)}.activity-icon.expense{background:var(--act-expense-bg);color:var(--act-expense-fg)}.activity-icon.client{background:var(--act-client-bg);color:var(--act-client-fg)}.activity-body{min-width:0;flex:1}.activity-title{font-size:12.5px;color:var(--color-text-primary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-meta{font-size:11px;color:var(--color-text-tertiary);margin-top:1px}.task-list{display:flex;flex-direction:column;gap:6px}.task-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;border:.5px solid var(--color-border);background:var(--color-bg-secondary);text-decoration:none;color:inherit;transition:background var(--transition)}.task-item:hover{background:var(--color-row-hover)}.task-dot{width:7px;height:7px;border-radius:999px;background:var(--color-text-primary);flex-shrink:0}.task-dot.warn{background:var(--color-warn)}.task-dot.err{background:var(--color-err)}.task-body{flex:1;min-width:0}.task-title{font-size:12.5px;color:var(--color-text-primary);line-height:1.35}.task-meta{font-size:11px;margin-top:1px}.task-chev,.task-meta{color:var(--color-text-tertiary)}.task-chev{font-size:14px;line-height:1}.card-select{font-size:11px;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:0;padding:4px 10px;border-radius:999px;font-family:inherit;cursor:pointer}.card-select:focus{outline:none;box-shadow:0 0 0 2px var(--color-accent-light)}.card-link{font-size:11px;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition)}.card-link:hover{color:var(--color-text-primary)}.x-axis-filter{display:inline-flex;gap:4px;flex-shrink:0}.x-axis-filter button{height:24px;min-width:28px;padding:0 8px;font-size:11px;font-weight:500;border-radius:6px;border:0;background:#f2f2f7;color:#6c6c70;cursor:pointer;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.x-axis-filter button:hover{background:var(--color-btn-bg-hover);color:var(--color-text-primary)}.x-axis-filter button.active{background:#1c1c1e;color:#fff}.x-axis-filter button:focus,.x-axis-filter button:focus-visible{outline:none;box-shadow:none}[data-theme=dark] .x-axis-filter button{background:#2c2c2e;color:#aeaeb2}[data-theme=dark] .x-axis-filter button.active{background:#fff;color:#1c1c1e}.chart-title{gap:6px;font-size:12px;font-weight:500;color:var(--color-text-primary)}.chart-title,.chart-toolbar{display:inline-flex;align-items:center}.chart-toolbar{gap:4px}.icon-btn-sm{background:transparent;border:0;padding:4px;border-radius:6px;cursor:pointer;color:var(--color-text-tertiary);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition);line-height:1}.icon-btn-sm:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.icon-btn-sm:focus,.icon-btn-sm:focus-visible{outline:none;box-shadow:none}.filter-wrap{position:relative;display:inline-flex}.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:0;cursor:pointer;font-family:inherit;transition:background var(--transition);white-space:nowrap}.filter-btn:hover{background:var(--color-btn-bg-hover)}.filter-btn:focus,.filter-btn:focus-visible{outline:none;box-shadow:none}.filter-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:12px;padding:12px;box-shadow:0 8px 28px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);z-index:30;min-width:260px;display:flex;flex-direction:column;gap:10px;transform-origin:top right;animation:dropdownIn .14s cubic-bezier(.2,.8,.2,1)}[data-theme=dark] .filter-dropdown{box-shadow:0 8px 28px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.filter-divider{height:.5px;background:var(--color-border);margin:1px 0}.filter-pill{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:500;background:transparent;color:var(--color-text-secondary);border:0;cursor:pointer;font-family:inherit;transition:background var(--transition),color var(--transition);white-space:nowrap}.filter-pill:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.filter-pill.active{background:var(--color-text-primary);color:var(--color-bg-secondary)}.filter-pill:focus,.filter-pill:focus-visible{outline:none;box-shadow:none}.chart-card-body{display:flex;min-height:0;flex:1 1 auto;gap:12px}.chart-canvas{flex:17 1 0;min-width:0;min-height:0}.chart-legend{flex:3 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding-left:12px;border-left:.5px solid var(--color-border)}.legend-item{display:flex;align-items:flex-start;gap:10px;min-width:0}.legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;margin-top:5px}.legend-dot.income{background:var(--chart-income)}.legend-dot.expenses{background:var(--chart-expense)}.legend-text{min-width:0}.legend-label{font-size:11px;color:var(--color-text-secondary);line-height:1.2}.legend-value{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-top:2px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{text-align:center;padding:28px;color:var(--color-text-secondary);font-size:12px}.empty-state-icon{font-size:28px;display:block;margin-bottom:6px;opacity:.35}.empty-state-icon-svg{display:inline-block;margin-bottom:8px;opacity:.4;color:var(--color-text-tertiary)}.a4-wrap{background:var(--color-bg-tertiary);padding:20px 0 40px;display:flex;justify-content:center}.a4-page{width:210mm;min-height:297mm;padding:2cm 2.5cm;background:#fff;box-shadow:0 6px 28px rgba(0,0,0,.18);box-sizing:border-box;color:#222;color-scheme:light;font-family:Arial,sans-serif;font-size:10.5pt;line-height:1.45;position:relative;display:flex;flex-direction:column}.a4-page *{color:inherit}.a4-content{flex:1 1 auto}.a4-header{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:flex-start;margin-bottom:14px;padding-bottom:14px;border-bottom:2.5px solid #1a3a5c}.a4-header-left{min-width:0}.a4-header-right{text-align:right;min-width:0}.a4-logo-img{max-height:60px;max-width:100%;display:block}.a4-logo-text{letter-spacing:.02em}.a4-doc-type,.a4-logo-text{font-size:22pt;font-weight:700;color:#1a3a5c;line-height:1}.a4-doc-type{margin-bottom:8px}.a4-doc-meta{font-size:10pt;line-height:1.55}.a4-doc-meta strong{font-weight:600}.a4-sender-mini{font-size:8pt;color:#888;text-decoration:underline;margin:0 0 6px}.a4-addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:flex-start;margin-bottom:18px}.a4-recipient{font-size:11pt;line-height:1.5}.a4-recipient .name{font-weight:700;font-size:11pt}.a4-sender-block{font-size:9pt;color:#555;line-height:1.55;text-align:right}.a4-sender-block .name{font-weight:700;color:#000;font-size:11pt}.a4-intro,.a4-table{font-size:10pt;margin-bottom:14px}.a4-table{width:100%;border-collapse:collapse}.a4-table thead th{background:#1a3a5c;color:#fff;padding:7px 8px;text-align:left;font-size:9.5pt;font-weight:500;border:none;text-transform:none;letter-spacing:0}.a4-table thead th.num{text-align:right}.a4-table td{padding:7px 8px;border-bottom:.5px solid #e5e7eb;vertical-align:top}.a4-table td.num{text-align:right;white-space:nowrap}.a4-table tr:nth-child(2n) td{background:#f9fafb}.a4-item-title{font-weight:600}.a4-item-bullets{margin-top:3px;font-size:9pt;color:#444;line-height:1.5}.a4-item-bullets li{list-style:none;padding-left:0}.a4-item-bullets li:before{content:"•  ";color:#888}.a4-discount-hint{font-size:8.5pt;color:#888;margin-top:2px}.a4-totals{margin-left:auto;width:56%;font-size:10pt}.a4-totals .row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:.5px solid #eee}.a4-totals .row.grand{font-weight:700;font-size:12pt;background:#dce8f9;padding:7px 10px;margin-top:6px;border-top:1px solid #1a3a5c;border-bottom:1px solid #1a3a5c}.a4-totals .row .label{color:#555}.a4-totals .row.grand .label{color:#1a3a5c}.a4-rc-note{background:#e8f4fd;border-left:3px solid #2563a8;border-radius:0 4px 4px 0}.a4-3l-note,.a4-rc-note{padding:8px 10px;font-size:9pt;margin:12px 0}.a4-3l-note{background:#f5f5f5;border-left:3px solid #999}.a4-cy-note{background:#fef9e7;border-left:3px solid #e6a817;padding:8px 10px;font-size:9pt;margin:12px 0}.a4-payment-note{background:#f5f7fa;border-radius:4px;padding:10px 12px;font-size:9.5pt;margin-top:14px}.a4-closing{font-size:10pt;margin-top:14px;line-height:1.55}.a4-agb{font-size:8pt;color:#888;margin-top:10px}.a4-footer{margin-top:auto;padding-top:10px;padding-bottom:16px;border-top:.5px solid #ccc;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;font-size:8.5pt;color:#666;line-height:1.55}.a4-footer-col strong{display:block;font-size:9pt;color:#333;margin-bottom:3px;font-weight:600}.a4-bank-missing{background:#fef3cd;border:.5px solid #f0c070;padding:8px 10px;border-radius:4px;font-size:9pt;color:#7a4f00}.a4-page-num{position:absolute;bottom:1cm;left:0;right:0;text-align:center;font-size:8pt;color:#888}@media print{@page{size:A4;margin:0}body,html{background:#fff;margin:0;padding:0}body *{visibility:hidden}.a4-wrap,.a4-wrap *{visibility:visible}.a4-wrap{position:absolute;inset:0;padding:0;background:#fff}.a4-page{margin:0;box-shadow:none;width:210mm;min-height:297mm;page-break-after:always}.a4-page:last-child{page-break-after:auto}.no-print{display:none!important}}.invoice-preview{font-family:Arial,sans-serif;font-size:11px;line-height:1.6;color:#222;max-width:780px;margin:0 auto;padding:2cm;background:#fff;color-scheme:light}.invoice-preview *{color:inherit}.invoice-preview .inv-logo-text,.invoice-preview .inv-type{color:#1a3a5c}.invoice-preview .inv-header{border-bottom-color:#1a3a5c}.invoice-preview .inv-table thead th{background:#1a3a5c;color:#fff}.inv-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:12px;border-bottom:2.5px solid var(--color-primary)}.inv-logo-text{font-size:20px;font-weight:700;color:var(--color-primary)}.inv-logo-img{max-height:50px}.inv-type{font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:4px}.inv-meta{text-align:right;font-size:11px}.inv-addresses{display:flex;justify-content:space-between;margin-bottom:18px;font-size:11px}.inv-sender-small{font-size:9px;color:#888;text-decoration:underline;margin-bottom:4px}.inv-recipient-company{font-weight:700;font-size:12px}.inv-tax-info{text-align:right;font-size:10px;color:#555}.inv-intro,.inv-table{font-size:11px;margin-bottom:12px}.inv-table{width:100%;border-collapse:collapse}.inv-table thead th{background:var(--color-primary);color:#fff;padding:7px 8px;text-align:left;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;border-bottom:none}.inv-table thead th.num{text-align:right}.inv-table td{padding:6px 8px;border-bottom:.5px solid #e5e7eb;vertical-align:top}.inv-table td.num{text-align:right}.inv-table tr:nth-child(2n) td{background:#f9fafb}.inv-table .subtotal-row td{background:#eef2f9;font-weight:600}.inv-table .total-row td{background:#dce8f9;font-weight:700}.inv-bank-row td{padding-top:8px;font-size:10px;background:#fff!important}.inv-rc-note{background:#e8f4fd;border-left:3px solid var(--color-accent);border-radius:0 4px 4px 0}.inv-3l-note,.inv-rc-note{padding:8px 10px;font-size:10px;margin:10px 0}.inv-3l-note{background:#f5f5f5;border-left:3px solid #999}.inv-cy-note{background:#fef9e7;border-left:3px solid #e6a817;padding:8px 10px;font-size:10px;margin:10px 0}.inv-payment-note{background:#f5f7fa;border-radius:6px;padding:10px;font-size:10px;margin-bottom:12px}.inv-agb{font-size:9px;color:#888;margin-bottom:14px}.inv-footer{border-top:.5px solid #e5e7eb;padding-top:10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:9px;color:#666;margin-top:16px}.inv-footer strong{display:block;margin-bottom:2px;font-size:10px;color:#333}@media print{.invoice-preview,.invoice-preview *{visibility:visible}.invoice-preview{position:absolute;left:0;top:0;box-shadow:none;border:none;margin:0;padding:1.5cm;max-width:100%}}.accept-2col{display:grid;grid-template-columns:70% 30%;gap:24px;max-width:1280px;margin:0 auto;padding:20px;align-items:start;min-height:100vh}.accept-2col-left{min-width:0;overflow-x:auto}.accept-2col-right{position:sticky;top:20px;align-self:start}.accept-sidebar{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px}.accept-sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:6px}.accept-sidebar-logo-img{max-height:44px;max-width:100%}.accept-sidebar-logo-text{font-size:17px;font-weight:600;color:var(--color-text-primary)}.accept-sidebar-meta{font-size:12px;color:var(--color-text-secondary);text-align:center;line-height:1.55}.accept-sidebar-meta strong{color:var(--color-text-primary);font-weight:500}.accept-sidebar-total{text-align:center;padding:12px 0;border-top:.5px solid var(--color-border);border-bottom:.5px solid var(--color-border)}.accept-sidebar-total-label{font-size:11px;color:var(--color-text-secondary);margin-bottom:4px}.accept-sidebar-total-value{font-size:26px;font-weight:600;color:var(--color-text-primary);line-height:1.1}.accept-sidebar-total-vat{font-size:10px;color:var(--color-text-tertiary);margin-top:2px}.accept-sidebar-actions{display:flex;flex-direction:column;gap:8px}.accept-sidebar-actions .btn{width:100%;justify-content:center;padding:11px 14px;font-size:13px}.accept-sidebar-fineprint{font-size:10px;color:var(--color-text-tertiary);text-align:center;line-height:1.55}.accept-sidebar-fineprint a{color:var(--color-accent);text-decoration:none}.accept-sidebar-fineprint a:hover{text-decoration:underline}@media (max-width:768px){.accept-2col{grid-template-columns:1fr;padding:12px 12px 160px;gap:12px}.accept-2col-right{position:fixed;bottom:0;left:0;right:0;top:auto;z-index:100;box-shadow:0 -4px 16px rgba(0,0,0,.08)}.accept-sidebar{border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:12px 14px;gap:8px}.accept-sidebar-brand,.accept-sidebar-fineprint,.accept-sidebar-meta{display:none}.accept-sidebar-total{padding:4px 0;border:0}.accept-sidebar-total-value{font-size:18px}.accept-sidebar-total-label{display:none}.accept-sidebar-actions{flex-direction:row}.accept-sidebar-actions .btn{flex:1;padding:10px;font-size:12px}}.accept-page{min-height:100vh;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;padding:20px}.accept-card{background:var(--color-bg-secondary);border-radius:12px;border:.5px solid var(--color-border);padding:32px;max-width:480px;width:100%;text-align:center}.accept-logo{font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:6px}.accept-title{font-size:18px;font-weight:500;margin-bottom:6px}.accept-sub{font-size:12px;color:var(--color-text-secondary);margin-bottom:24px}.accept-pin-hint{font-size:11px;color:var(--color-text-tertiary);margin-top:4px;text-align:left}.accept-quote-box{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:14px;text-align:left;margin:16px 0;font-size:12px}.accept-quote-total{font-size:20px;font-weight:600;color:var(--color-primary);margin:8px 0}.accept-dsgvo{font-size:10px;color:var(--color-text-tertiary);margin-top:16px}.accept-success{background:var(--color-ok-bg);border-radius:var(--radius-md);padding:20px;margin-top:16px}.accept-success-icon{font-size:32px;margin-bottom:8px}.doc-form-container{max-width:1080px;margin:0 auto;padding:0 2%}.doc-section{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow-card);margin-bottom:16px}.doc-section-tight{padding:16px 20px}.doc-section-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}@media (max-width:900px){.doc-section-grid-2{grid-template-columns:1fr;gap:14px}}.doc-section-actions{display:flex;justify-content:center;margin-top:18px;padding-top:14px;border-top:.5px solid var(--color-border)}.doc-pill-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.doc-field{position:relative;display:flex;flex-direction:column;min-width:0}.doc-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-field label{font-size:11px;color:var(--color-text-secondary);margin-bottom:4px;letter-spacing:.01em}.doc-field .form-input{font-size:13px}.tpl-pick-wrap{position:relative;margin-top:8px}.tpl-pick-btn{width:100%;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#f2f2f7;color:#1c1c1e;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition)}.tpl-pick-btn:hover{background:#e6e6eb}.tpl-pick-btn:focus,.tpl-pick-btn:focus-visible{outline:none;box-shadow:none}[data-theme=dark] .tpl-pick-btn{background:#2c2c2e;color:#fff;border-color:hsla(0,0%,100%,.12)}[data-theme=dark] .tpl-pick-btn:hover{background:#3a3a3c}.doc-total-bar{background:#2a2a2a;color:#fff;border-radius:12px;padding:14px 22px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:16px;align-items:center}[data-theme=dark] .doc-total-bar{background:#fff;color:#1c1c1e}.doc-total-cell{display:flex;flex-direction:column;align-items:flex-end}.doc-total-label{font-size:11px;color:hsla(0,0%,100%,.6);letter-spacing:.02em}[data-theme=dark] .doc-total-label{color:rgba(0,0,0,.5)}.doc-total-value{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.2;margin-top:2px}.doc-total-grand .doc-total-value{font-size:22px;font-weight:700}.position-card{background:var(--color-bg-secondary);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px 14px 12px;margin-bottom:10px;display:flex;gap:12px}[data-theme=dark] .position-card{border:1px solid hsla(0,0%,100%,.08)}.position-card .form-input{background:#fff;border:1px solid rgba(0,0,0,.12)}[data-theme=dark] .position-card .form-input{background:#1c1c1e;border:1px solid hsla(0,0%,100%,.12)}.position-card .form-input:focus{border-color:var(--color-text-secondary);box-shadow:none}.position-num{width:26px;height:26px;border-radius:999px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:18px}.position-body{flex:1;min-width:0}.position-header{display:grid;grid-template-columns:minmax(0,1.8fr) 70px 100px 100px 80px minmax(80px,auto) 26px;gap:8px;align-items:end}.position-header .doc-field label{font-size:10px}.position-total-cell{font-size:13px;font-weight:600;text-align:right;padding-bottom:8px;white-space:nowrap;color:var(--color-text-primary)}.position-remove{background:transparent;border:0;color:var(--color-text-tertiary);padding:4px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;transition:background var(--transition),color var(--transition)}.position-remove:hover{background:var(--color-bg-tertiary);color:var(--color-err)}.position-desc{margin-top:10px;width:100%;font-size:11.5px;line-height:1.5;resize:vertical;min-height:56px}@media (max-width:1000px){.position-header{grid-template-columns:minmax(0,1fr) 1fr 1fr}.position-header>:nth-child(n+4){grid-column:1/-1}}.position-add-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:12px 0 4px}.position-add-row .btn{padding:8px 14px;font-size:12px;font-weight:500}.doc-sticky-footer{position:sticky;bottom:-20px;background:var(--color-bg-primary);border-top:.5px solid var(--color-border);margin:16px -20px -20px;padding:12px 20px 32px;display:flex;align-items:center;justify-content:flex-end;gap:10px;z-index:10}.doc-sticky-footer .btn{padding:9px 16px;font-size:12.5px}.translate-row{display:flex;align-items:center;gap:14px;padding:4px 0}.translate-row-icon{width:36px;height:36px;border-radius:999px;background:var(--color-text-primary);color:var(--color-bg-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.translate-row-text{flex:1;min-width:0}.translate-row-title{font-size:13.5px;font-weight:500;color:var(--color-text-primary)}.translate-row-sub{font-size:11.5px;color:var(--color-text-tertiary);margin-top:1px}.translate-switch{--w:44px;--h:24px;width:var(--w);height:var(--h);border-radius:999px;background:var(--color-bg-tertiary);position:relative;cursor:pointer;border:0;flex-shrink:0;transition:background var(--transition);padding:0}.translate-switch:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--h) - 4px);height:calc(var(--h) - 4px);border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--transition)}.translate-switch.on{background:var(--color-text-primary)}.translate-switch.on:after{transform:translateX(calc(var(--w) - var(--h)))}.translate-switch:focus,.translate-switch:focus-visible{outline:none;box-shadow:none}.doc-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.doc-page-back{color:var(--color-text-secondary);font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition)}.doc-page-back:hover,.doc-page-title{color:var(--color-text-primary)}.doc-page-title{font-size:17px;font-weight:500;flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-page-actions{display:inline-flex;gap:8px;flex-shrink:0}.doc-page-grid{display:grid;grid-template-columns:minmax(0,1.86fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:1100px){.doc-page-grid{grid-template-columns:1fr}}.doc-page-main{background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-card);min-width:0}.doc-page-side{display:flex;flex-direction:column;gap:12px;min-width:0}.doc-page-side .card{margin-bottom:0}.doc-summary-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;color:var(--color-text-secondary)}.doc-summary-row strong{color:var(--color-text-primary);font-weight:500}.doc-summary-row.grand{border-top:.5px solid var(--color-border);margin-top:4px;padding-top:10px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.doc-side-actions{display:flex;flex-direction:column;gap:8px}.doc-side-actions .btn{width:100%;justify-content:center}.doc-side-cancel{text-align:center;font-size:12px;color:var(--color-text-secondary);text-decoration:none;padding:6px}.doc-side-cancel:hover{color:var(--color-text-primary)}.expense-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--color-input-bg);border:.5px solid var(--color-border-md);border-radius:var(--radius-md)}.expense-type-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--color-text-secondary);border:0;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:500;font-family:inherit;transition:background var(--transition),color var(--transition)}.expense-type-toggle button:hover{color:var(--color-text-primary)}.expense-type-toggle button.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:0 0 0 .5px var(--color-border-md)}.expense-filter-pills{display:inline-flex;background:var(--color-bg-tertiary);border-radius:10px;padding:3px;gap:2px}.expense-filter-pills button{padding:6px 14px;border:0;background:transparent;color:var(--color-text-secondary);border-radius:8px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition),color var(--transition)}.expense-filter-pills button:hover{color:var(--color-text-primary)}.expense-filter-pills button.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:0 0 0 .5px var(--color-border-md)}.dash-pageheader{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;flex-shrink:0}.dash-pagetitle{font-size:17px;font-weight:500;color:var(--color-text-primary)}.dash-pageactions{display:flex;gap:8px;align-items:center}.range-picker-wrap{position:relative;display:inline-flex}.range-picker-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;background:var(--color-btn-bg);color:var(--color-text-primary);border:0;cursor:pointer;font-size:12.5px;font-weight:500;font-family:inherit;transition:background var(--transition);white-space:nowrap}.range-picker-btn:hover{background:var(--color-btn-bg-hover)}.range-picker-btn:focus,.range-picker-btn:focus-visible{outline:none;box-shadow:none}.range-popover{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.05);z-index:9999;padding:16px;display:grid;grid-template-columns:260px auto 284px;-moz-column-gap:18px;column-gap:18px;row-gap:0;align-items:stretch;animation:dropdownIn .16s cubic-bezier(.2,.8,.2,1);transform-origin:top right}[data-theme=dark] .range-popover{box-shadow:0 12px 36px rgba(0,0,0,.55),0 4px 12px rgba(0,0,0,.45)}.range-col{min-width:0;display:flex;flex-direction:column}.range-divider-v{width:.5px;background:var(--color-border);align-self:stretch;justify-self:center}.range-section-label{font-size:10px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.year-nav{display:flex;align-items:center;gap:4px;margin-bottom:14px}.year-nav-btn{background:transparent;border:0;padding:6px;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.year-nav-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.year-nav-btn:disabled{opacity:.35;cursor:not-allowed}.year-nav-btn:focus,.year-nav-btn:focus-visible{outline:none;box-shadow:none}.year-nav-label{flex:1;background:transparent;border:0;padding:6px 10px;border-radius:8px;color:var(--color-text-primary);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;transition:background var(--transition)}.year-nav-label:hover{background:var(--color-bg-tertiary)}.year-nav-label:focus,.year-nav-label:focus-visible{outline:none;box-shadow:none}.year-menu{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;padding:6px;background:var(--color-bg-primary);border-radius:10px;border:.5px solid var(--color-border)}.range-grid-quarters{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}.range-grid-months{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.range-pill{padding:7px 0;border-radius:8px;font-size:11.5px;font-weight:500;border:0;background:var(--color-btn-bg);color:var(--color-text-primary);cursor:pointer;font-family:inherit;text-align:center;transition:background var(--transition),color var(--transition);letter-spacing:.02em}.range-pill:hover{background:var(--color-btn-bg-hover)}.range-pill.active{background:var(--color-text-primary);color:var(--color-bg-secondary)}.range-pill:focus,.range-pill:focus-visible{outline:none;box-shadow:none}.range-inputs{display:flex;align-items:center;gap:8px;margin-bottom:12px}.range-input{flex:1 1 0;min-width:0;padding:7px 10px;border-radius:8px;border:.5px solid var(--color-border-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:12px;font-family:inherit}.range-input:focus{outline:none;border-color:var(--color-text-secondary)}.range-input-sep{color:var(--color-text-tertiary);font-size:12px}.cal{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-size:12.5px;font-weight:600;color:var(--color-text-primary)}.cal-nav{background:transparent;border:0;padding:4px 6px;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;line-height:1}.cal-nav:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.cal-nav:focus,.cal-nav:focus-visible{outline:none;box-shadow:none}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dow{font-size:10px;color:var(--color-text-tertiary);text-align:center;padding:4px 0;font-weight:500}.cal-day{background:transparent;border:0;padding:6px 0;border-radius:6px;color:var(--color-text-primary);cursor:pointer;font-size:11.5px;font-family:inherit;text-align:center;position:relative;transition:background var(--transition)}.cal-day:hover{background:var(--color-bg-tertiary)}.cal-day:focus,.cal-day:focus-visible{outline:none;box-shadow:none}.cal-day.in{background:var(--color-bg-tertiary);border-radius:0}.cal-day.start{border-radius:6px 0 0 6px}.cal-day.end,.cal-day.start{background:var(--color-text-primary);color:var(--color-bg-secondary)}.cal-day.end{border-radius:0 6px 6px 0}.cal-day.start.end{border-radius:6px}.range-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:1/-1;padding-top:12px;margin-top:4px;border-top:.5px solid var(--color-border)}.range-actions .btn{padding:8px 16px;font-size:12.5px}@media (max-width:720px){.range-popover{grid-template-columns:1fr;right:auto;left:0;width:min(92vw,320px)}.range-divider-v{display:none}}.accept-success-text{font-size:14px;font-weight:500;color:var(--color-ok)}.tf-shell{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.tf-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.tf-spacer{flex:1;min-width:8px}.tf-search{display:inline-flex;align-items:center;gap:6px;height:36px;flex:1;min-width:200px;max-width:280px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:0 10px;color:var(--color-text-secondary)}[data-theme=dark] .tf-search{background:#1c1c1e;border:1px solid hsla(0,0%,100%,.12)}.tf-search:focus-within{border-color:var(--color-accent)}.tf-search-input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--color-text-primary);min-width:0}.tf-search-input::-moz-placeholder{color:var(--color-text-secondary)}.tf-search-input::placeholder{color:var(--color-text-secondary)}.tf-search-clear{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);border-radius:999px;width:18px;height:18px;padding:0}.tf-search-clear:hover{background:rgba(0,0,0,.06)}[data-theme=dark] .tf-search-clear:hover{background:hsla(0,0%,100%,.08)}.tf-pills{display:inline-flex;align-items:center;height:36px;background:#f2f2f7;border-radius:8px;padding:3px;gap:2px}[data-theme=dark] .tf-pills{background:#2c2c2e}.tf-pill{height:30px;padding:0 12px;border:none;background:transparent;font-size:12px;font-weight:500;color:#6c6c70;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}[data-theme=dark] .tf-pill{color:#aeaeb2}.tf-pill:hover{color:var(--color-text-primary)}.tf-pill.active{background:#1c1c1e;color:#fff}[data-theme=dark] .tf-pill.active{background:#fff;color:#000}.tf-select-wrap{position:relative;display:inline-block;height:36px}.tf-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:36px;padding:0 28px 0 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f2f2f7;color:var(--color-text-primary);font-size:12px;cursor:pointer}[data-theme=dark] .tf-select{background:#2c2c2e;border:1px solid hsla(0,0%,100%,.12)}.tf-select-chev{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.tf-sort-wrap{position:relative;display:inline-block}.tf-sort-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f2f2f7;color:var(--color-text-primary);font-size:12px;cursor:pointer;white-space:nowrap}[data-theme=dark] .tf-sort-btn{background:#2c2c2e;border:1px solid hsla(0,0%,100%,.12)}.tf-sort-btn:hover{background:var(--color-btn-bg-hover)}.tf-sort-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:180px;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.1);padding:4px;z-index:50}.tf-sort-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:6px;font-size:12px;color:var(--color-text-primary);cursor:pointer}.tf-sort-item:hover{background:var(--color-bg-tertiary)}.tf-sort-item.active{font-weight:600}.tf-fd-wrap{position:relative;display:inline-block}.tf-fd-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px 0 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#f2f2f7;color:var(--color-text-primary);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}[data-theme=dark] .tf-fd-btn{background:#2c2c2e;border:1px solid hsla(0,0%,100%,.12)}.tf-fd-btn:hover{background:var(--color-btn-bg-hover)}.tf-fd-btn.active{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.tf-fd-btn.active:hover{opacity:.92}.tf-fd-label{font-weight:500;opacity:.7}.tf-fd-btn.active .tf-fd-label{opacity:.65}.tf-fd-value{font-weight:500}.tf-fd-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:hsla(0,0%,100%,.18);margin-left:2px;cursor:pointer}.tf-fd-x:hover{background:hsla(0,0%,100%,.32)}.tf-fd-menu{position:absolute;left:0;top:calc(100% + 4px);min-width:200px;background:var(--color-bg-secondary);border:.5px solid var(--color-border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.1);padding:4px;z-index:50}.tf-fd-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:6px;font-size:12px;color:var(--color-text-primary);cursor:pointer}.tf-fd-item:hover{background:var(--color-bg-tertiary)}.tf-fd-item.active{font-weight:600}.tf-fd-item-check{width:12px;display:inline-flex;justify-content:center;color:var(--color-ok);font-size:11px}.tf-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--color-text-secondary)}.tf-count{white-space:nowrap}.tf-reset{background:transparent;border:none;color:var(--color-accent);font-size:11px;cursor:pointer;padding:0;text-decoration:none}.tf-reset:hover{text-decoration:underline}@media (max-width:720px){.tf-search{max-width:100%}}.tx-link-cell{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px;max-width:100%}.tx-link-chip-clickable{border:1px solid transparent;cursor:pointer;font:inherit}.tx-link-chip-clickable.tx-link-chip-invoice{border-color:var(--color-accent)}.tx-link-chip-clickable.tx-link-chip-expense{border-color:var(--color-border-md)}.tx-link-chip-clickable:hover{filter:brightness(.96)}.tx-link-chip-overflow{display:inline-flex;align-items:center;justify-content:center;background:#f2f2f7;color:#6c6c70;border:1px solid rgba(0,0,0,.08);border-radius:999px;font-size:11px;font-weight:600;padding:2px 8px;cursor:pointer;white-space:nowrap}[data-theme=dark] .tx-link-chip-overflow{background:#2c2c2e;color:#aeaeb2;border-color:hsla(0,0%,100%,.1)}.tx-link-chip-overflow:hover{filter:brightness(.96)}.link-status{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.link-status-none{background:#f2f2f7;color:#6c6c70}.link-status-partial{background:#fff3cd;color:#ea580c}.link-status-ok{background:#dcfce7;color:#16a34a}[data-theme=dark] .link-status-none{background:#2c2c2e;color:#aeaeb2}[data-theme=dark] .link-status-partial{background:#3a2500;color:#fb923c}[data-theme=dark] .link-status-ok{background:#14532d;color:#4ade80}.receipt-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:receipt-spin .7s linear infinite}@keyframes receipt-spin{to{transform:rotate(1turn)}}.tx-desc-link{background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:none;display:inline}.tx-desc-link:hover{text-decoration:underline;color:var(--color-accent)}.link-suggestion-high{background:#ffedd5;color:#c2410c}.link-suggestion-medium{background:#fef9c3;color:#a16207}.link-suggestion-low{background:#f3f4f6;color:#6b7280}[data-theme=dark] .link-suggestion-high{background:#431407;color:#fb923c}[data-theme=dark] .link-suggestion-medium{background:#422006;color:#fbbf24}[data-theme=dark] .link-suggestion-low{background:#1f2937;color:#9ca3af}.suggestion-btn-ok{padding:1px 6px;font-size:11px;background:#16a34a;color:#fff;border:0;border-radius:4px;cursor:pointer;line-height:1.4}.suggestion-btn-ok:hover{background:#15803d}.suggestion-btn-no{padding:1px 6px;font-size:11px;background:var(--color-btn-bg);color:var(--color-text-secondary);border:0;border-radius:4px;cursor:pointer;line-height:1.4}.suggestion-btn-no:hover{background:var(--color-btn-bg-hover)}.tx-link-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 4px 2px 8px;font-size:11px;max-width:100%}.tx-link-chip-invoice{background:var(--color-info-bg);border:1px solid var(--color-accent);color:var(--color-accent)}.tx-link-chip-expense{background:var(--color-bg-tertiary);border:1px solid var(--color-border-md);color:var(--color-text-secondary)}.tx-link-chip-body{display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:inherit;min-width:0}.tx-link-chip-invoice .tx-link-chip-body:hover{text-decoration:underline}.tx-link-chip-num{font-weight:600}.tx-link-chip-sep{opacity:.6}.tx-link-chip-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.tx-link-chip-x{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:inherit;border-radius:999px;width:18px;height:18px;cursor:pointer;padding:0}.tx-link-chip-x:hover{background:rgba(0,0,0,.06)}[data-theme=dark] .tx-link-chip-x:hover{background:hsla(0,0%,100%,.1)}.link-tabs{display:flex;gap:4px;background:var(--color-bg-tertiary);border-radius:10px;padding:4px;margin:14px 0 12px}.link-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:7px 10px;border-radius:7px;cursor:pointer;transition:background .12s,color .12s}.link-tab.active,.link-tab:hover{color:var(--color-text-primary)}.link-tab.active{background:var(--color-bg-secondary);box-shadow:0 1px 2px rgba(0,0,0,.05)}.link-expense-icon{flex-shrink:0;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#6c6c70}.link-expense-icon.cat-anlagevermoegen,.link-expense-icon.cat-beratung{background:#5856d6}.link-expense-icon.cat-betriebsausgaben_beschraenkt{background:#af52de}.link-expense-icon.cat-darlehen{background:#007aff}.link-expense-icon.cat-fahrzeug{background:#ff3b30}.link-expense-icon.cat-fortbildung{background:#5ac8fa}.link-expense-icon.cat-fremdleistungen{background:#34c759}.link-expense-icon.cat-gezahlte_vorsteuer{background:#af52de}.link-expense-icon.cat-material_waren{background:#007aff}.link-expense-icon.cat-personal{background:#ff9500}.link-expense-icon.cat-privat,.link-expense-icon.cat-raumkosten{background:#8e8e93}.link-expense-icon.cat-reisen{background:#ff9500}.link-expense-icon.cat-reparaturen{background:#ea580c}.link-expense-icon.cat-sonstige{background:#6c6c70}.link-expense-icon.cat-steuern{background:#af52de}.link-expense-icon.cat-telekommunikation{background:#5ac8fa}.link-expense-icon.cat-ust_vorauszahlung{background:#af52de}.link-expense-icon.cat-versicherungen{background:#34c759}.link-expense-icon.cat-werbung{background:#af52de}.link-expense-icon.cat-zinsen_gebuehren{background:#007aff}.link-tx-card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}[data-theme=dark] .link-tx-card{background:#1c1c1e;border:1px solid hsla(0,0%,100%,.12)}.link-tx-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px}.link-tx-label{color:var(--color-text-secondary);font-size:11px}.link-tx-value{text-align:right;word-break:break-word}.link-filter-pills{display:flex;gap:6px;margin-top:10px;margin-bottom:8px}.link-filter-pill{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:999px;padding:4px 10px;font-size:11px;color:var(--color-text-secondary);cursor:pointer}.link-filter-pill.active{background:var(--color-text-primary);color:var(--color-bg-secondary);border-color:var(--color-text-primary)}.link-invoice-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.link-invoice-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--color-text-primary);transition:border-color .12s,background .12s}[data-theme=dark] .link-invoice-row{background:#1c1c1e;border:1px solid hsla(0,0%,100%,.08)}.link-invoice-row:hover{background:#f5f5f7}[data-theme=dark] .link-invoice-row:hover{background:#2a2a2c}.link-invoice-row.selected{background:#f0f4ff;border:1px solid #2563a8}[data-theme=dark] .link-invoice-row.selected{background:#0a2a4a;border:1px solid #2563a8}.link-invoice-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-invoice-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.link-invoice-number{font-weight:600;font-size:13px}.link-invoice-amount{font-size:12px;font-weight:500;white-space:nowrap}.link-invoice-row-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;color:var(--color-text-secondary)}.link-invoice-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-invoice-date{white-space:nowrap}.link-invoice-row-meta{margin-top:4px;display:flex;align-items:center;flex-wrap:wrap}.link-invoice-radio{flex-shrink:0;width:20px;height:20px;border-radius:999px;border:1.5px solid var(--color-border-md);display:inline-flex;align-items:center;justify-content:center;color:#fff}.link-invoice-radio.checked{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-secondary)}.link-invoice-checkbox{flex-shrink:0;width:20px;height:20px;border-radius:5px;border:1.5px solid rgba(0,0,0,.2);display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#fff;transition:background .12s,border-color .12s}[data-theme=dark] .link-invoice-checkbox{background:transparent;border-color:hsla(0,0%,100%,.3)}.link-invoice-checkbox.checked{background:#2563a8;border-color:#2563a8}.link-totals{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--color-bg-tertiary);border-radius:8px;font-size:12px}.link-totals-row{display:flex;justify-content:space-between;align-items:baseline;color:var(--color-text-secondary)}.link-totals-row>span:last-child{color:var(--color-text-primary)}@keyframes csOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes cdpPop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}