:root,:root[data-theme=dark]{color-scheme:dark;--ground: linear-gradient(160deg, #070b18 0%, #0e1430 55%, #111a3a 100%);--bloom-a: rgba(67, 56, 202, .55);--bloom-b: rgba(8, 145, 178, .38);--bloom-c: rgba(124, 58, 237, .34);--glass: rgba(255, 255, 255, .07);--glass-strong: rgba(255, 255, 255, .11);--glass-edge: rgba(255, 255, 255, .16);--glass-edge-soft: rgba(255, 255, 255, .09);--glass-shadow: 0 24px 60px rgba(2, 6, 23, .55);--specular: rgba(255, 255, 255, .5);--ink: #e9edfb;--ink-soft: #c3cbe6;--ink-dim: #93a0c8;--ink-faint: #6f7da8;--accent: #818cf8;--accent-strong: #6366f1;--accent-soft: rgba(129, 140, 248, .16);--good: #34d399;--good-ink: #34d399;--bad: #fb7185;--bad-ink: #fb7185;--warn: #fbbf24;--field: rgba(255, 255, 255, .06);--field-edge: rgba(255, 255, 255, .14);--popover: rgba(18, 25, 54, .97);--chart-grid: rgba(255, 255, 255, .08);--chart-axis: #8593bd;--cat-1: #3987e5;--cat-2: #d95926;--cat-3: #199e70;--cat-4: #c98500;--cat-5: #d55181;--cat-6: #008300;--cat-7: #9085e9;--cat-8: #e66767;--chart-budget-1: #818cf8;--chart-budget-2: #4338ca;--chart-actual-1: #22d3ee;--chart-actual-2: #0e7490}:root[data-theme=light]{color-scheme:light;--ground: linear-gradient(160deg, #eef1ff 0%, #f6f2ff 52%, #ecfbff 100%);--bloom-a: rgba(99, 102, 241, .3);--bloom-b: rgba(6, 182, 212, .26);--bloom-c: rgba(167, 139, 250, .3);--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .78);--glass-edge: rgba(255, 255, 255, .95);--glass-edge-soft: rgba(255, 255, 255, .7);--glass-shadow: 0 20px 48px rgba(49, 62, 122, .16);--specular: rgba(255, 255, 255, .95);--ink: #101736;--ink-soft: #33406b;--ink-dim: #5c6892;--ink-faint: #8590b4;--accent: #4f46e5;--accent-strong: #4338ca;--accent-soft: rgba(79, 70, 229, .1);--good: #059669;--good-ink: #047857;--bad: #e11d48;--bad-ink: #be123c;--warn: #b45309;--field: rgba(255, 255, 255, .75);--field-edge: rgba(16, 23, 54, .1);--popover: rgba(255, 255, 255, .98);--chart-grid: rgba(16, 23, 54, .08);--chart-axis: #5c6892;--cat-1: #2a78d6;--cat-2: #eb6834;--cat-3: #1baf7a;--cat-4: #eda100;--cat-5: #e87ba4;--cat-6: #008300;--cat-7: #4a3aa7;--cat-8: #e34948;--chart-budget-1: #6366f1;--chart-budget-2: #a5b4fc;--chart-actual-1: #0891b2;--chart-actual-2: #67e8f9}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Noto Sans Georgian,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);font-size:15px;line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;background:radial-gradient(58% 46% at 8% 2%,var(--bloom-a) 0%,transparent 60%),radial-gradient(50% 42% at 92% 12%,var(--bloom-b) 0%,transparent 62%),radial-gradient(65% 50% at 50% 100%,var(--bloom-c) 0%,transparent 60%),var(--ground);background-attachment:fixed;transition:color .3s ease}a{color:inherit;text-decoration:none}.num,.stat-value,.kpi-figure,.margin-value,.table .num{font-family:Manrope,Noto Sans Georgian,system-ui,sans-serif;font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.glass,.card,.stat-card,.margin-card,.modal,.navbar{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}.page-wrapper{max-width:1240px;margin:0 auto;padding:clamp(20px,4vw,36px) clamp(14px,3vw,28px)}.page{display:flex;flex-direction:column;gap:24px}.page-title{font-size:clamp(21px,3.6vw,27px);font-weight:700;letter-spacing:-.02em;text-wrap:balance}.page-subtitle{color:var(--ink-dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header>div{min-width:0}.stack{display:grid;grid-template-columns:1fr;gap:20px}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;padding:0 clamp(14px,3vw,24px);min-height:60px;border-width:0 0 1px;border-radius:0;box-shadow:0 8px 32px -18px #02061780}.navbar-logo{font-family:Manrope,sans-serif;font-size:17px;font-weight:800;letter-spacing:.06em;background:linear-gradient(100deg,var(--accent),var(--chart-actual-1));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.navbar-spacer{flex:1}.navbar-links{display:flex;gap:4px}.nav-link{padding:8px 14px;border-radius:10px;font-weight:600;font-size:14px;color:var(--ink-dim);border:1px solid transparent;transition:color .2s,background .2s,border-color .2s;white-space:nowrap}.nav-link:hover{color:var(--ink);background:var(--glass-strong)}.nav-link.active{color:var(--ink);background:var(--accent-soft);border-color:var(--glass-edge-soft)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px;cursor:pointer;color:var(--ink-soft);background:var(--glass);border:1px solid var(--glass-edge);transition:transform .2s,box-shadow .25s,color .2s}.icon-btn:hover{color:var(--ink);transform:translateY(-1px);box-shadow:0 0 20px -4px var(--accent)}.icon-btn svg{width:17px;height:17px}.nav-toggle{display:none}@media (max-width: 999px){.nav-toggle{display:inline-flex}.navbar{flex-wrap:wrap;padding-block:10px}.navbar-links{order:3;flex-basis:100%;flex-direction:column;gap:4px;padding-bottom:10px}.navbar-links[data-open=false]{display:none}.nav-link{padding:11px 14px}}@media (max-width: 480px){.navbar{gap:8px;padding-inline:10px}.icon-btn{width:34px;height:34px}.icon-btn svg{width:16px;height:16px}.navbar-user{padding:5px 9px}.navbar-user .badge{display:none}}.card{border-radius:18px;box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--glass-edge-soft)}.card-header h2{font-size:15px;font-weight:700;letter-spacing:-.01em}.stats-grid{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width: 560px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.stat-card,.margin-card{position:relative;overflow:hidden;border-radius:16px;padding:18px;box-shadow:var(--glass-shadow);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s}.stat-card:before,.margin-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--edge-tint, var(--accent)) 20%,var(--edge-tint, var(--accent)) 60%,transparent);opacity:.85}.stat-card:after,.margin-card:after,.card:after{content:"";position:absolute;top:-60%;left:-25%;width:60%;height:200%;background:linear-gradient(105deg,transparent,var(--specular),transparent);opacity:.08;transform:rotate(8deg);pointer-events:none}.stat-card:hover,.margin-card:hover{transform:translateY(-3px);box-shadow:var(--glass-shadow),0 0 0 1px var(--edge-tint, var(--accent))}.margin-positive{--edge-tint: var(--good)}.margin-negative{--edge-tint: var(--bad)}.stat-label,.margin-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:10px}.stat-value,.margin-value{font-size:clamp(20px,3.2vw,25px);font-weight:800;letter-spacing:-.02em;line-height:1.1;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.stat-value.blue{color:var(--accent)}.stat-value.green{color:var(--good-ink)}.stat-value.red{color:var(--bad-ink)}.stat-sub{font-size:13px;font-weight:500;color:var(--ink-dim)}.margin-summary{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width: 560px){.margin-summary{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1080px){.margin-summary{grid-template-columns:repeat(5,1fr)}}.margin-pct{font-size:12.5px;font-weight:700;color:var(--ink-dim)}.margin-hint{padding:16px 18px;border-radius:14px;color:var(--ink-dim);background:var(--glass);border:1px solid var(--glass-edge-soft)}.margin-hint a{color:var(--accent);font-weight:600}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;background:linear-gradient(to right,transparent,transparent) left / 0 0 no-repeat,linear-gradient(to left,var(--glass-strong),transparent) right / 26px 100% no-repeat;background-attachment:local,scroll}.table-scroll::-webkit-scrollbar{height:8px}.table-scroll::-webkit-scrollbar-track{background:transparent}.table-scroll::-webkit-scrollbar-thumb{border-radius:100px;background:var(--glass-edge)}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.table{width:100%;border-collapse:collapse}.table th{padding:11px 16px;text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);background:var(--glass-strong);border-bottom:1px solid var(--glass-edge-soft);white-space:nowrap}.table td{padding:13px 16px;border-bottom:1px solid var(--glass-edge-soft);color:var(--ink-soft)}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .18s}.table tbody tr:hover td{background:var(--glass-strong)}.table .num{text-align:right;font-weight:600;color:var(--ink)}.table .green{color:var(--good-ink);font-weight:700}.table .red{color:var(--bad-ink);font-weight:700}.table .text-muted{color:var(--ink-faint)}.table .nowrap{white-space:nowrap}.table .cell-mobile{display:none}.table .cell-description{width:100%;max-width:0}.table .cell-description .truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table .cell-party{min-width:130px;max-width:200px}.empty-row{text-align:center;color:var(--ink-faint);padding:36px!important}.total-row td{background:var(--glass-strong);font-weight:700;border-top:1px solid var(--glass-edge)}.row-danger td{background:color-mix(in srgb,var(--bad) 10%,transparent)}.row-editing td{background:var(--glass-strong);box-shadow:inset 3px 0 0 var(--accent);padding:0!important}.row-editing:hover td{background:var(--glass-strong)}.row-edit-form .budget-form-row{margin:0}.row-edit-form .form-error{margin:0 16px 12px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent;white-space:nowrap}.badge-active,.badge-success{color:var(--good-ink);background:color-mix(in srgb,var(--good) 15%,transparent);border-color:color-mix(in srgb,var(--good) 32%,transparent)}.badge-completed,.badge-info{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.badge-cancelled{color:var(--ink-dim);background:var(--glass-strong);border-color:var(--glass-edge-soft)}.badge-danger{color:var(--bad-ink);background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:color-mix(in srgb,var(--bad) 32%,transparent)}.cur-badge{display:inline-flex;padding:2px 8px;border-radius:7px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-dim);background:var(--glass-strong);border:1px solid var(--glass-edge-soft)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:clamp(16px,5vw,40px)}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,5vw,34px);border-radius:20px;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}.login-brand{font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.08em;background:linear-gradient(100deg,var(--accent),var(--chart-actual-1));-webkit-background-clip:text;background-clip:text;color:transparent}.login-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.login-sub{color:var(--ink-dim);font-size:13.5px;margin-top:-8px}.login-card .btn{margin-top:4px;padding:11px 16px}.login-note{font-size:12px;color:var(--ink-faint);text-align:center;margin-top:2px}.navbar-user{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 12px;border-radius:100px;font:inherit;cursor:pointer;background:var(--glass);border:1px solid var(--glass-edge-soft);max-width:220px;transition:background .2s,box-shadow .2s}.navbar-user:hover{background:var(--glass-strong);box-shadow:0 0 18px -6px var(--accent)}.navbar-user-name{font-size:13px;font-weight:600;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-user-initial{display:none;font-weight:700;font-size:13px;color:var(--ink-soft)}@media (max-width: 560px){.navbar-user-name{display:none}.navbar-user-initial{display:inline}}.report-body{display:grid;gap:26px;padding:18px 20px 22px}@media (min-width: 900px){.report-body{grid-template-columns:1fr 1fr;gap:32px}}.report-section{min-width:0}.report-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--glass-edge-soft)}.report-head h3{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.report-total{font-family:Manrope,Noto Sans Georgian,sans-serif;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.report-total.red{color:var(--bad-ink)}.report-total.green{color:var(--good-ink)}.report-list{list-style:none;display:flex;flex-direction:column;gap:11px}.report-row{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(40px,1fr) auto 46px;align-items:center;gap:10px;font-size:13px}.report-label{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-bar{height:7px;border-radius:100px;background:var(--glass-strong);overflow:hidden}.report-fill{display:block;height:100%;border-radius:100px}.report-fill.red{background:linear-gradient(90deg,var(--bad),color-mix(in srgb,var(--bad) 55%,transparent))}.report-fill.green{background:linear-gradient(90deg,var(--good),color-mix(in srgb,var(--good) 55%,transparent))}.report-amount{font-family:Manrope,Noto Sans Georgian,sans-serif;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}.report-share{font-family:Manrope,sans-serif;font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;color:var(--ink-dim);text-align:right}@media (max-width: 520px){.report-row{grid-template-columns:1fr auto 46px;grid-template-areas:"label label label" "bar amount share"}.report-label{grid-area:label;white-space:normal}.report-bar{grid-area:bar}.report-amount{grid-area:amount}.report-share{grid-area:share}}.account-grid{display:grid;gap:14px;grid-template-columns:1fr;padding:16px}@media (min-width: 620px){.account-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1040px){.account-grid{grid-template-columns:repeat(3,1fr)}}.account-card{position:relative;overflow:hidden;padding:16px;border-radius:15px;background:var(--glass);border:1px solid var(--glass-edge-soft);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s}.account-card:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow)}.account-card.is-inactive{opacity:.55}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.account-bank{font-weight:700;font-size:14px;color:var(--ink)}.account-number{font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums;word-break:break-all}.account-balance{font-family:Manrope,Noto Sans Georgian,sans-serif;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:12px;color:var(--ink)}.account-meta{font-size:11.5px;color:var(--ink-dim);margin-top:5px}.account-meta .green{color:var(--good-ink);font-weight:700}.account-meta .red{color:var(--bad-ink);font-weight:700}.checkbox-row{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-soft);cursor:pointer}.checkbox-row input{width:16px;height:16px;padding:0;cursor:pointer}.category-cell{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink);background:transparent;border:1px dashed var(--glass-edge);transition:background .2s,border-color .2s;text-align:left;max-width:100%}.category-cell:hover{background:var(--glass-strong);border-color:var(--accent);border-style:solid}.import-result{margin:0 16px 14px;padding:11px 14px;border-radius:12px;font-size:13px;color:var(--ink-soft);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.import-result strong{color:var(--ink)}.import-problems{margin:8px 0 0;padding-left:18px;color:var(--warn);font-size:12.5px}.type-toggle{display:inline-flex;padding:3px;gap:3px;border-radius:12px;background:var(--field);border:1px solid var(--field-edge);flex-wrap:wrap}.type-option{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:9px;cursor:pointer;color:var(--ink-dim);background:transparent;border:1px solid transparent;transition:color .2s,background .2s,box-shadow .2s}.type-option:hover{color:var(--ink)}.type-option.active{color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--accent));box-shadow:0 4px 16px -6px var(--accent)}@media (max-width: 480px){.type-toggle{width:100%}.type-option{flex:1 1 auto}}.doc-name{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);word-break:break-word}.upload-hint{font-size:12px;color:var(--ink-dim)}input[type=file]{padding:7px 10px;cursor:pointer;flex:1 1 260px}input[type=file]::file-selector-button{font:inherit;font-size:12px;font-weight:600;margin-right:10px;padding:5px 12px;border-radius:8px;cursor:pointer;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);transition:background .2s,box-shadow .2s}input[type=file]::file-selector-button:hover{box-shadow:0 4px 16px -6px var(--accent)}.due{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.due-date{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.due-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.due-ok{color:var(--ink-dim);background:var(--glass-strong);border-color:var(--glass-edge-soft)}.due-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent);border-color:color-mix(in srgb,var(--warn) 34%,transparent)}.due-critical,.due-over{color:var(--bad-ink);background:color-mix(in srgb,var(--bad) 15%,transparent);border-color:color-mix(in srgb,var(--bad) 36%,transparent)}.due-over{font-weight:800;box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 12%,transparent)}@media (max-width: 768px){.due{flex-direction:row;align-items:center;gap:8px}}.cat-tag{display:inline-flex;padding:3px 10px;border-radius:8px;font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--glass-strong);border:1px solid var(--glass-edge-soft);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:11px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--glass-edge);background:var(--glass);color:var(--ink-soft);white-space:nowrap;transition:transform .2s,box-shadow .25s,background .2s,color .2s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));border-color:transparent;color:#fff}.btn-primary:not(:disabled):hover{box-shadow:0 6px 26px -6px var(--accent)}.btn-secondary{background:var(--glass-strong);color:var(--ink)}.btn-secondary:not(:disabled):hover{box-shadow:0 5px 20px -8px var(--accent)}.btn-ghost{background:transparent;border-color:var(--glass-edge-soft);color:var(--ink-dim)}.btn-ghost:not(:disabled):hover{background:var(--glass);color:var(--ink)}.btn-outline{background:transparent;border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.btn-outline:not(:disabled):hover{background:var(--accent-soft);box-shadow:0 5px 20px -8px var(--accent)}.btn-danger{background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:color-mix(in srgb,var(--bad) 34%,transparent);color:var(--bad-ink)}.btn-danger:not(:disabled):hover{box-shadow:0 5px 20px -8px var(--bad)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:9px}.btn-xs{padding:4px 9px;font-size:11px;border-radius:7px}.action-btns{display:flex;gap:6px;flex-wrap:wrap}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--glass-edge-soft)}.page-info{font-size:13px;color:var(--ink-dim)}.form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--ink-dim)}.form-row-2{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 480px){.form-row-2{grid-template-columns:1fr 1fr}}input,select,textarea,.form-group input,.form-group select{font-family:inherit;font-size:14px;padding:9px 12px;border-radius:10px;color:var(--ink);background:var(--field);border:1px solid var(--field-edge);transition:border-color .2s,box-shadow .25s,background .2s;min-width:0}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:hover,select:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--field-edge))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}select option{background:#131a35;color:#e9edfb}:root[data-theme=light] select option{background:#fff;color:#101736}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px}@media (max-width: 480px){.form-actions .btn{flex:1 1 auto}}.form-error{color:var(--bad-ink);font-size:13px;padding:9px 13px;border-radius:10px;background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 28%,transparent)}.inline-form,.budget-form{padding:14px 16px;border-bottom:1px solid var(--glass-edge-soft);background:var(--glass-strong)}.inline-form,.budget-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form input,.inline-form select,.budget-form-row input,.budget-form-row select{flex:1 1 130px;min-width:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:16px;background:#0408148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .2s ease}.modal{width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;border-radius:20px;box-shadow:var(--glass-shadow),0 30px 80px #02061780;animation:rise .25s cubic-bezier(.22,.61,.36,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--glass-edge-soft)}.modal-header h3{font-size:16px;font-weight:700}.modal-close{width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--ink-dim);background:transparent;border:1px solid var(--glass-edge-soft);transition:color .2s,background .2s}.modal-close:hover{color:var(--ink);background:var(--glass-strong)}.modal-body{padding:20px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.breadcrumb{font-size:13px;color:var(--ink-dim)}.breadcrumb a,.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline}.chart-wrap{padding:18px 12px 8px}.seg-toggle{display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--field);border:1px solid var(--field-edge)}.seg-btn{padding:5px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink-dim);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .16s,color .16s}.seg-btn:hover{color:var(--ink)}.seg-btn.is-active{background:var(--glass-strong);color:var(--ink);box-shadow:0 1px 3px #0206172e}.chart-hint{margin:0;padding:10px 20px 0;font-size:12px;color:var(--ink-dim)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px;padding:14px 20px 2px}.legend-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 8px;border-radius:999px;border:1px solid var(--glass-edge-soft);background:var(--glass);color:var(--ink-soft);font:inherit;font-size:12px;cursor:pointer;transition:opacity .16s,border-color .16s,color .16s}.legend-chip:hover{border-color:var(--glass-edge);color:var(--ink)}.legend-chip.is-off{opacity:.42;text-decoration:line-through}.legend-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto;display:inline-block}.table .legend-swatch{margin-right:8px;vertical-align:-1px}.is-dimmed{opacity:.42}.chart-tip{min-width:190px;padding:10px 12px;border-radius:12px;border:1px solid var(--glass-edge);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow);font-size:12px}.chart-tip-head{margin-bottom:7px;font-weight:700;color:var(--ink)}.chart-tip-row{display:flex;align-items:center;gap:8px;padding:2px 0;color:var(--ink-soft)}.chart-tip-dot{width:8px;height:8px;border-radius:2px;flex:0 0 auto}.chart-tip-name{flex:1 1 auto;min-width:0}.chart-tip-value{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.chart-tip-total{margin-top:6px;padding-top:6px;border-top:1px solid var(--glass-edge-soft);font-weight:700}.order-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:150px}.order-cell-label{display:flex;flex-direction:column;line-height:1.25;text-align:left}.order-cell-label .text-muted{font-size:11px}.order-cell-category{max-width:180px;padding:3px 8px;font-size:12px}.order-pop{position:fixed;z-index:60;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;border:1px solid var(--glass-edge);background:var(--popover);box-shadow:var(--glass-shadow)}.order-pop-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-dim)}.order-pop-list{max-height:240px;margin:0;padding:0;overflow-y:auto;list-style:none}.order-pop-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;font-size:13px;color:var(--ink-soft);cursor:pointer}.order-pop-item.is-active{background:var(--accent-soft);color:var(--ink)}.order-pop-item.is-current strong:after{content:" ✓";color:var(--good-ink)}.order-pop-client{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim)}.order-pop-empty{padding:10px;font-size:12px;color:var(--ink-dim)}.order-pop-foot{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--glass-edge-soft)}.order-pop-unlink{color:var(--bad-ink)}.source-badge{margin-left:6px}.skeleton-line,.skeleton-cell{border-radius:7px;background:linear-gradient(90deg,var(--glass) 25%,var(--glass-strong) 50%,var(--glass) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-line{height:14px}.skeleton-cell{height:15px;min-width:60px}.skeleton-card{border-radius:18px;border:1px solid var(--glass-edge);background:linear-gradient(90deg,var(--glass) 25%,var(--glass-strong) 50%,var(--glass) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-row td{border-bottom:1px solid var(--glass-edge-soft)}.w-30{width:30%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 640px){body{font-size:14.5px}.card-header{padding:14px 16px}.table th,.table td{padding:11px 12px}.inline-form,.budget-form{padding:12px}.inline-form input,.inline-form select,.budget-form-row input,.budget-form-row select{flex:1 1 100%}.inline-form .btn,.budget-form-row .btn{flex:1 1 auto}.page-header{align-items:stretch}.page-header .btn{width:100%}}@media (max-width: 768px){.table-scroll{overflow-x:visible;background:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table thead{display:none}.table tbody{display:flex;flex-direction:column;gap:10px;padding:12px}.table tbody tr{border-radius:14px;overflow:hidden;background:var(--glass);border:1px solid var(--glass-edge-soft)}.table tbody tr:hover td{background:transparent}.table td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;text-align:left;border-bottom:1px solid var(--glass-edge-soft)}.table td:last-child{border-bottom:none}.table td[data-label]:before{content:attr(data-label);flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim)}.table .num{text-align:right}.table td:not([data-label]){justify-content:flex-end}.table td:not([data-label]) .action-btns{width:100%}.table td:not([data-label]) .action-btns .btn{flex:1 1 auto}.table .empty-row{display:block;justify-content:center;text-align:center}.table .empty-row:before{content:none}.row-editing td,.row-editing td[data-label]{padding:0!important}.row-editing td:before{content:none!important}.total-row td{background:var(--glass-strong)}.skeleton-row td{border-bottom:1px solid var(--glass-edge-soft)}.hide-mobile{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.import-source{margin-bottom:4px;font-size:12px;color:var(--ink-dim)}.import-warnings{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--warn)}@media (max-width: 768px){.table .cell-desktop{display:none}.table .cell-mobile{display:flex}.table .cell-description{max-width:none}.table .cell-description .truncate{overflow:visible;white-space:normal}}@media (min-width: 769px){.table-operations th,.table-operations td{padding-left:10px;padding-right:10px}}.receivable-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:16px 20px}.receivable-figure{padding:12px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-edge-soft)}.receivable-figure .figure-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.receivable-figure .figure-value{margin-top:4px;font-family:Manrope,Noto Sans Georgian,system-ui,sans-serif;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;color:var(--ink)}.receivable-figure .figure-note{margin-top:4px;font-size:11.5px;color:var(--ink-dim)}.receivable-figure.is-due{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.receivable-figure.is-due .figure-value{color:var(--warn)}.receivable-figure.is-settled{border-color:color-mix(in srgb,var(--good) 45%,transparent)}.receivable-figure.is-settled .figure-value{color:var(--good-ink)}.receivable-figure.is-overpaid{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.receivable-figure.is-overpaid .figure-value{color:var(--accent)}.receivable-section-title{padding:14px 20px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);border-top:1px solid var(--glass-edge-soft)}.text-warn{color:var(--warn);font-weight:600}@media (min-width: 1000px){.stats-grid.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-warning{padding:9px 13px;border-radius:10px;font-size:13px;font-weight:600;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.kind-chip,.kind-suggest{display:flex;width:fit-content;margin-top:5px}.kind-chip{align-items:center;gap:4px;padding:2px 9px;border-radius:100px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.kind-chip:hover{border-color:var(--accent)}.kind-suggest{align-items:center;gap:3px}.kind-suggest-accept{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:100px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--ink-soft);background:transparent;border:1px dashed var(--accent)}.kind-suggest-accept:hover{background:var(--accent-soft);color:var(--ink)}.kind-suggest-reject{width:22px;height:22px;border-radius:100px;font:inherit;font-size:11px;cursor:pointer;color:var(--ink-dim);background:transparent;border:1px solid transparent}.kind-suggest-reject:hover{color:var(--ink);border-color:var(--glass-edge)}.kind-suggest-note{color:var(--accent)}.badge-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}.movement-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.report-row.has-actions{grid-template-columns:minmax(90px,1.1fr) minmax(40px,1fr) auto 46px auto}.report-row.financial-row{grid-template-columns:minmax(90px,1.4fr) auto auto auto}.report-section.is-wide{grid-column:1 / -1}.report-total.accent{color:var(--accent)}.report-amount.report-in{color:var(--good-ink)}.report-amount.report-out{color:var(--bad-ink)}.report-amount .text-muted{color:var(--ink-faint);font-weight:400}.report-actions{display:inline-flex;gap:2px;min-width:52px;justify-content:flex-end}.report-actions button{width:24px;height:24px;border-radius:7px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink-dim);background:transparent;border:1px solid transparent}.report-actions button:hover{color:var(--ink);background:var(--glass-strong);border-color:var(--glass-edge)}.report-note{margin-top:12px;font-size:12px;color:var(--ink-dim)}@media (max-width: 520px){.report-row.has-actions{grid-template-columns:1fr auto 46px;grid-template-areas:"label label actions" "bar amount share"}.report-row.financial-row{grid-template-columns:1fr auto;grid-template-areas:"label actions" "in out"}.report-actions{grid-area:actions}.report-row.financial-row .report-in{grid-area:in;text-align:left}.report-row.financial-row .report-out{grid-area:out}}@media (min-width: 769px){.table-scroll-tall{max-height:min(62vh,680px);overflow-y:auto;overscroll-behavior:contain}.table-scroll-tall .table th{position:sticky;top:0;z-index:2;background:var(--popover)}.table-scroll-tall::-webkit-scrollbar{width:8px}.table-scroll-tall::-webkit-scrollbar-track{background:transparent}.table-scroll-tall::-webkit-scrollbar-thumb{border-radius:100px;background:var(--glass-edge)}.table-scroll-tall::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}}.card-header .checkbox-row{gap:7px;font-size:12.5px;color:var(--ink-dim);white-space:nowrap}.card-header .checkbox-row:hover{color:var(--ink-soft)}.category-cell .text-muted{white-space:nowrap}.rate-warning{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.45;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
