@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Variable.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}:root{color-scheme:dark;--bg: #0d1117;--bg-elevated: #141b25;--surface: #171f2b;--surface-hover: #1d2733;--surface-sunken: #10161f;--border: #253040;--border-strong: #32405380;--text: #e8edf5;--text-muted: #96a3b6;--text-faint: #6b7889;--accent: #4db6ac;--accent-strong: #26a69a;--accent-soft: #4db6ac1f;--income: #3ecf8e;--income-soft: #3ecf8e1f;--expense: #f2778a;--expense-soft: #f2778a1f;--transfer: #7c93b0;--transfer-soft: #7c93b01f;--adjust: #d9a441;--adjust-soft: #d9a4411f;--positive: #3ecf8e;--negative: #f2778a;--warning: #e0a94a;--radius-sm: 7px;--radius: 11px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 6px 20px -6px rgba(0, 0, 0, .45);--shadow-lg: 0 18px 44px -14px rgba(0, 0, 0, .6);--sidebar-w: 236px;--header-h: 62px;--font: "Vazirmatn", Tahoma, "Segoe UI", sans-serif;--font-num: "Vazirmatn", "Segoe UI", Tahoma, sans-serif;--chart-revenue: #199e70;--chart-cost: #d95926;--chart-profit: #3987e5;--chart-grid: #ffffff14;--chart-axis: #6b7889;--chart-tooltip-bg: #141b25}:root[data-theme=light]{color-scheme:light;--bg: #f3f5f9;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f1f4f9;--surface-sunken: #eef1f6;--border: #dfe4ec;--border-strong: #c7cfdb;--text: #16202e;--text-muted: #5a6779;--text-faint: #8794a6;--accent: #1d8f82;--accent-strong: #15756a;--accent-soft: #1d8f8216;--income: #12855c;--income-soft: #12855c14;--expense: #c8394f;--expense-soft: #c8394f14;--transfer: #5a6e88;--transfer-soft: #5a6e8814;--adjust: #9a6f14;--adjust-soft: #9a6f1414;--positive: #12855c;--negative: #c8394f;--warning: #9a6f14;--shadow-sm: 0 1px 2px rgba(20, 30, 48, .07);--shadow: 0 6px 18px -8px rgba(20, 30, 48, .18);--shadow-lg: 0 20px 46px -18px rgba(20, 30, 48, .25);--chart-revenue: #1baf7a;--chart-cost: #eb6834;--chart-profit: #2a78d6;--chart-grid: #16202e12;--chart-axis: #8794a6;--chart-tooltip-bg: #ffffff}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.35}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;direction:ltr;unicode-bidi:isolate;display:inline-block}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%}.sidebar{background:var(--bg-elevated);border-inline-start:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-brand{height:var(--header-h);display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--accent),var(--income));display:grid;place-items:center;color:#06231f;font-weight:800;font-size:15px;flex-shrink:0}.sidebar-brand-text b{display:block;font-size:14px;line-height:1.3}.sidebar-brand-text span{font-size:11px;color:var(--text-faint)}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-section{padding:14px 10px 6px;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--text-faint)}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13.5px;font-weight:500;transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:start}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item svg{width:17px;height:17px;flex-shrink:0}.sidebar-footer{padding:12px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint);display:flex;align-items:center;justify-content:space-between;gap:8px}.update-banner{margin:0 10px 10px;padding:11px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-soft);display:flex;flex-direction:column;gap:7px;font-size:11.5px;color:var(--text-muted)}.update-banner b{color:var(--text);font-size:12.5px}.main-area{display:flex;flex-direction:column;overflow:hidden;min-width:0}.source-tabs{display:flex;align-items:flex-end;gap:2px;padding:8px 16px 0;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.source-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 16px 8px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap;margin-bottom:-1px;transition:background .12s,color .12s}.source-tab:hover{color:var(--text);background:var(--surface-hover)}.source-tab.active{color:var(--text);font-weight:600;background:var(--bg-elevated);border-color:var(--border)}.topbar{height:var(--header-h);flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-elevated);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px}.topbar-title h1{font-size:16.5px}.topbar-title p{margin:0;font-size:12px;color:var(--text-faint)}.topbar-actions{display:flex;align-items:center;gap:8px}.page{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-header{padding:15px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header h2,.card-header h3{font-size:14px}.card-header p{margin:2px 0 0;font-size:11.5px;color:var(--text-faint);font-weight:400}.card-body{padding:18px}.card-body.flush{padding:0}.grid{display:grid;gap:14px}.grid-kpi{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px;display:flex;flex-direction:column;gap:7px;position:relative;overflow:hidden}.kpi-label{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.kpi-value{font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.25}.kpi-value.sm{font-size:17px}.kpi-sub{font-size:11.5px;color:var(--text-faint)}.kpi-accent-income{color:var(--income)}.kpi-accent-expense{color:var(--expense)}.kpi-accent-neutral{color:var(--text)}.delta{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:20px}.delta.up{color:var(--positive);background:var(--income-soft)}.delta.down{color:var(--negative);background:var(--expense-soft)}.delta.flat{color:var(--text-faint);background:var(--surface-hover)}.delta.inverted.up{color:var(--negative);background:var(--expense-soft)}.delta.inverted.down{color:var(--positive);background:var(--income-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;transition:background .12s,border-color .12s,opacity .12s;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#04201d;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn-danger{color:var(--negative);border-color:transparent;background:var(--expense-soft)}.btn-danger:hover:not(:disabled){background:var(--expense-soft);border-color:var(--negative)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px;border-radius:var(--radius-sm)}.segmented{display:inline-flex;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{border:none;background:none;padding:5px 12px;border-radius:6px;font-size:12.5px;color:var(--text-muted);font-weight:500;transition:background .12s,color .12s}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12.5px;font-weight:500;color:var(--text-muted)}.field .hint{font-size:11px;color:var(--text-faint)}.field .error{font-size:11.5px;color:var(--negative)}.input,.select,textarea.input{width:100%;padding:8px 11px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .12s,background .12s}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.input.invalid{border-color:var(--negative)}.input::placeholder{color:var(--text-faint)}textarea.input{resize:vertical;min-height:62px;line-height:1.6}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(0% + 13px) calc(50% + 1px),calc(0% + 18px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-inline-start:30px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}@media(max-width:720px){.form-grid .span-2{grid-column:span 1}}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px}.checkbox-row input{width:16px;height:16px;accent-color:var(--accent-strong)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:start;padding:10px 14px;font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--surface-sunken);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}table.data th.sortable{cursor:pointer;user-select:none}table.data th.sortable:hover{color:var(--text)}table.data td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:hover td{background:var(--surface-hover)}table.data tbody tr.deleted td{opacity:.52;text-decoration:line-through;text-decoration-color:var(--text-faint)}table.data tr.total-row td{font-weight:700;background:var(--surface-sunken);border-top:2px solid var(--border-strong)}table.data td.numeric,table.data th.numeric{text-align:end}.row-actions{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity .12s}tr:hover .row-actions,.row-actions:focus-within{opacity:1}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge-income{color:var(--income);background:var(--income-soft)}.badge-expense{color:var(--expense);background:var(--expense-soft)}.badge-transfer{color:var(--transfer);background:var(--transfer-soft)}.badge-adjustment{color:var(--adjust);background:var(--adjust-soft)}.badge-neutral{color:var(--text-muted);background:var(--surface-hover)}.badge-direct{color:var(--adjust);background:var(--adjust-soft)}.badge-operating{color:var(--transfer);background:var(--transfer-soft)}.badge-draft{color:var(--text-muted);background:var(--surface-hover)}.badge-approved{color:var(--accent);background:var(--accent-soft)}.badge-paid{color:var(--income);background:var(--income-soft)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:#060a109e;backdrop-filter:blur(2px);display:grid;place-items:center;padding:24px;z-index:100;animation:fade .13s ease-out}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:620px;max-height:90vh;display:flex;flex-direction:column;animation:pop .15s ease-out}.modal.wide{max-width:880px}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.modal-header h2{font-size:15.5px}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-start;gap:8px;flex-shrink:0}.modal-footer .spacer{flex:1}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 4px}.tabs button{border:none;background:none;padding:10px 14px;font-size:13px;color:var(--text-muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.empty{padding:46px 20px;text-align:center;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px}.empty>svg{width:34px;height:34px;opacity:.4}.empty h3{font-size:14px;color:var(--text-muted);font-weight:600}.empty p{margin:0;font-size:12.5px;max-width:380px}.spinner{width:17px;height:17px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:grid;place-items:center;padding:48px}.toast-stack{position:fixed;bottom:18px;inset-inline-start:18px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{background:var(--bg-elevated);border:1px solid var(--border);border-inline-start:3px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:11px 15px;font-size:13px;max-width:420px;display:flex;align-items:flex-start;gap:10px;animation:slide .16s ease-out}.toast.error{border-inline-start-color:var(--negative)}.toast.success{border-inline-start-color:var(--positive)}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.filter-bar .field{min-width:140px}.filter-bar .grow{flex:1;min-width:200px}.inline-note{display:flex;gap:9px;align-items:flex-start;padding:11px 14px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid transparent;font-size:12.5px;color:var(--text-muted);line-height:1.6}.inline-note svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--accent)}.inline-note.warn{background:var(--adjust-soft)}.inline-note.warn svg{color:var(--warning)}.stat-list{display:flex;flex-direction:column}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.stat-row:last-child{border-bottom:none}.stat-row .label{color:var(--text-muted)}.stat-row .value{font-weight:600}.stat-row.strong{font-size:14px;padding:12px 0}.stat-row.strong .label{color:var(--text);font-weight:600}.bar-track{direction:ltr;height:6px;border-radius:4px;background:var(--surface-sunken);overflow:hidden}.bar-fill{height:100%;border-radius:4px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--surface-sunken);font-size:12px;color:var(--text-muted)}.chip.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.check-list{display:flex;flex-direction:column;gap:6px}.check-line{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text-muted)}.check-line svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}.check-line.ok svg{color:var(--positive)}.check-line.bad{color:var(--text)}.check-line.bad svg{color:var(--warning)}.import-desc{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;margin-bottom:3px}table.data.import-table td{padding-top:7px;padding-bottom:7px}table.data tr.muted-row td{opacity:.55}table.data tr.attention-row td:first-child{box-shadow:inset -3px 0 0 var(--warning)}.decision-editor{display:flex;gap:6px}.decision-editor .select{min-width:0;flex:1;padding-top:5px;padding-bottom:5px;font-size:12.5px}.bulk-bar{padding:12px 16px;background:var(--accent-soft);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px;font-size:12.5px}.bulk-bar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bulk-bar-row .decision-editor{flex:1;max-width:560px}.review-footer{position:sticky;bottom:0;z-index:2;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.review-footer .bulk-bar{border-bottom:1px solid var(--border)}.commit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:13px}.select-table .select-cell{cursor:pointer;width:38px}.select-table .select-cell input{pointer-events:none}.select-table.dragging,.select-table.dragging *{cursor:ns-resize;user-select:none}.page-size{display:inline-flex;align-items:center;gap:6px;margin-inline-end:8px;white-space:nowrap}.page-size .select{width:auto;padding-top:4px;padding-bottom:4px;font-size:12px}.sync-chip{margin:0 10px 10px;padding:8px 11px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted)}.sync-chip:hover{color:var(--text);background:var(--surface-hover)}.sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-faint);vertical-align:middle}.sync-dot.ok{background:var(--positive)}.sync-dot.busy{background:var(--accent);animation:sync-pulse 1.2s ease-in-out infinite}.sync-dot.warn{background:var(--warning)}.sync-dot.error{background:var(--negative)}@keyframes sync-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.sync-dot.busy{animation:none}}.nav-count{margin-inline-start:auto;min-width:20px;padding:0 6px;border-radius:10px;background:var(--expense-soft);color:var(--expense);font-size:11px;font-weight:700;text-align:center}.input.ltr{direction:ltr;text-align:left}.recovery-key,.command-box{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;direction:ltr;text-align:left;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;user-select:all;word-break:break-all}.recovery-key{font-size:15px;letter-spacing:.06em;line-height:1.9}.command-box{font-size:11.5px;white-space:pre-wrap;margin:0 0 10px}.icon-inline{width:1.1em;height:1.1em;vertical-align:-.2em;flex-shrink:0}.icon-inline.warn{color:var(--warning)}.tabbar,.drawer-backdrop,.update-banner.floating{display:none}.modal-footer-end{margin-inline-start:auto;display:flex;gap:2px}.tx-list{display:flex;flex-direction:column}.tx-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;border-bottom:1px solid var(--border);background:none;text-align:start;-webkit-touch-callout:none;user-select:none;touch-action:manipulation}.tx-card:active{background:var(--surface-hover)}.tx-card.selected{background:var(--accent-soft)}.tx-card.deleted .tx-card-body{opacity:.55}.tx-card-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;color:var(--bg)}.tx-card.selected .tx-card-check{background:var(--accent);border-color:var(--accent)}.tx-card-check svg{width:14px;height:14px}.tx-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tx-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tx-card-row.faint{font-size:12px;color:var(--text-faint)}.tx-card-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tx-card-amount{font-weight:700;font-size:15px;white-space:nowrap}.tx-card.income .tx-card-amount{color:var(--income)}.tx-card.expense .tx-card-amount{color:var(--expense)}.tx-card-where{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tx-card-party{margin-inline-start:8px;color:var(--text-muted)}.tx-card-when{white-space:nowrap}.tx-card-deleted{font-size:11.5px;color:var(--warning)}.filter-sheet{display:grid;grid-template-columns:1fr 1fr;gap:14px}.filter-sheet .field>div{width:auto!important}.filter-sheet .btn-ghost{display:none}@media(hover:none){.row-actions{opacity:1}}@media(pointer:coarse){.input,.select,textarea.input{font-size:16px}}@media(max-width:767px){:root{--tabbar-h: 58px}body{font-size:14.5px}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(300px,86vw);z-index:90;padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));transform:translate(100%);transition:transform .22s ease,visibility .22s;box-shadow:var(--shadow-lg);visibility:hidden}.app-shell.drawer-open .sidebar{transform:none;visibility:visible}.app-shell.drawer-open .drawer-backdrop{display:block;position:fixed;inset:0;z-index:80;background:#060a108c}.nav-item{padding:11px 12px;font-size:15px}.nav-item.in-tabbar{display:none}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex-shrink:0}.main-area{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.tabbar{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:95;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:var(--bg-elevated);border-top:1px solid var(--border)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;border:none;background:none;color:var(--text-faint);font-size:11px;font-weight:500;-webkit-tap-highlight-color:transparent}.tab svg{width:22px;height:22px}.tab.active{color:var(--accent);font-weight:600}.tab-new-mark{width:50px;height:50px;border-radius:16px;margin-top:-18px;display:grid;place-items:center;color:#06231f;background:linear-gradient(140deg,var(--accent),var(--income));box-shadow:0 6px 18px -6px #3ecf8e8c,0 0 0 4px var(--bg-elevated)}.tab-new-mark svg{width:24px;height:24px;stroke-width:2.2}.tab-badge{position:absolute;top:9px;inset-inline-end:calc(50% - 17px);width:8px;height:8px;border-radius:50%;background:var(--warning)}.tab-badge.error{background:var(--negative)}.topbar{height:auto;min-height:56px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;flex-wrap:wrap;gap:8px 12px}.topbar-title h1{font-size:18px}.topbar-actions{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.topbar-actions::-webkit-scrollbar{display:none}.topbar-actions .btn{white-space:nowrap}.page{padding:14px 12px 20px;gap:14px}.source-tabs{padding:8px 12px;gap:6px;align-items:center;scrollbar-width:none}.source-tabs::-webkit-scrollbar{display:none}.source-tab{border:1px solid var(--border);border-radius:20px;padding:5px 13px;margin-bottom:0}.source-tab.active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented button{white-space:nowrap;padding:6px 12px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:12px 13px}.kpi-value{font-size:17px;overflow-wrap:anywhere}.kpi-value.sm{font-size:15px}.card-header{padding:13px 14px}.card-body{padding:14px}.form-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:nowrap;align-items:flex-end}.filter-bar .grow{min-width:0}.filter-bar .field>label{display:none}.filter-open{flex-shrink:0}table.data,table.data tbody,table.data tr,table.data td{display:block}table.data thead{display:none}table.data tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:12px 14px;border-bottom:1px solid var(--border)}table.data td{padding:0;border:none;min-width:0;max-width:none!important;white-space:normal!important;text-align:start!important}table.data td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;font-size:11px;color:var(--text-faint);font-weight:500}table.data td[data-label=""]{grid-column:1 / -1}table.data td[data-label=""] .row-actions{justify-content:flex-start}table.data tbody tr:hover td{background:none}table.data tr.total-row{background:var(--surface-sunken)}.pagination{flex-wrap:wrap;padding:10px 14px}.commit-bar{flex-wrap:wrap}.modal-backdrop{padding:0;place-items:end stretch}.modal,.modal.wide{max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none}.modal.sheet{height:auto;max-height:88dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border)}.modal-header{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.modal.sheet .modal-header{padding-top:14px}.modal-body{padding:16px}.modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.modal-footer .btn-primary{flex:1;justify-content:center}.toast-stack{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px);inset-inline:12px}.hide-phone{display:none!important}.sidebar .update-banner{display:none}.update-banner.floating{display:flex;position:fixed;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px);inset-inline:12px;margin:0;z-index:96;background:var(--bg-elevated);border-color:var(--accent);box-shadow:var(--shadow-lg)}.summary-strip{display:flex;flex-shrink:0;overflow-x:auto;gap:10px;margin-inline:-12px;padding-inline:12px;scroll-snap-type:x mandatory;scrollbar-width:none}.summary-strip::-webkit-scrollbar{display:none}.summary-strip>*{flex:0 0 72%;scroll-snap-align:start}.sync-chip{margin:0 10px 10px}}.boot{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text);font-family:var(--font)}.boot[hidden]{display:none}.boot-card{max-width:380px;text-align:center}.boot-title{font-size:17px;font-weight:700;margin:14px 0 6px}.boot-detail{color:var(--text-muted);font-size:13.5px;line-height:1.8;margin:0 0 18px}.boot-detail:empty{display:none}.boot-spinner{display:none;width:28px;height:28px;margin:0 auto;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:boot-spin .9s linear infinite}.boot.busy .boot-spinner{display:block}@keyframes boot-spin{to{transform:rotate(360deg)}}.print-frame{position:fixed;width:0;height:0;border:0;visibility:hidden}.confirm-message{margin:0 0 8px;font-weight:600;line-height:1.8}.confirm-detail{margin:0;color:var(--text-muted);font-size:13px;line-height:1.9;white-space:pre-line}.volatile{padding:7px 14px;padding-top:calc(7px + env(safe-area-inset-top));background:var(--adjust-soft);color:var(--warning);font-family:var(--font);font-size:12.5px;line-height:1.7;text-align:center}body.volatile-mode{display:flex;flex-direction:column}body.volatile-mode #root{height:auto;flex:1;min-height:0}
