@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/vazirmatn-arabic-400-normal.f37c0063.woff2) format("woff2"),url(/_next/static/media/vazirmatn-arabic-400-normal.ffe2eb46.woff) format("woff");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/vazirmatn-latin-ext-400-normal.09ac364e.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-ext-400-normal.4a4209c7.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/vazirmatn-latin-400-normal.344759ea.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-400-normal.561ee610.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/vazirmatn-arabic-500-normal.60758556.woff2) format("woff2"),url(/_next/static/media/vazirmatn-arabic-500-normal.a20a6e04.woff) format("woff");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/vazirmatn-latin-ext-500-normal.5b710d26.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-ext-500-normal.1278ceb8.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/vazirmatn-latin-500-normal.79af545d.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-500-normal.b24ff1cd.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/vazirmatn-arabic-600-normal.cbafd650.woff2) format("woff2"),url(/_next/static/media/vazirmatn-arabic-600-normal.3f8f96ad.woff) format("woff");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/vazirmatn-latin-ext-600-normal.f0e62be7.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-ext-600-normal.683a0136.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/vazirmatn-latin-600-normal.164d1b98.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-600-normal.f10455e0.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/vazirmatn-arabic-700-normal.774fc7c6.woff2) format("woff2"),url(/_next/static/media/vazirmatn-arabic-700-normal.e4067361.woff) format("woff");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/vazirmatn-latin-ext-700-normal.6a92243b.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-ext-700-normal.24887b32.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/vazirmatn-latin-700-normal.05267f27.woff2) format("woff2"),url(/_next/static/media/vazirmatn-latin-700-normal.ab7962a9.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#f6f8fa;--surface:#fff;--text:#22333c;--muted:#88949e;--line:#eaf0f2;--line-strong:#dfe7eb;--teal:#087f78;--teal-dark:#066b66;--teal-soft:#edf8f5;--gain:#138d80;--loss:#c45a57;--income:#168b7e;--expense:#e0a05a;--radius:16px;--shadow:0 3px 16px #263a451f;font-family:Vazirmatn,Tahoma,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.8}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.7}h1,h2{font-weight:700}h2{font-size:15px}h3{font-size:13px;font-weight:600}small{font-size:11px}b,strong{font-weight:600}:focus-visible{outline:3px solid #43b9a3;outline-offset:2px}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:9px;min-height:44px;background:white;padding:10px 12px;color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:#40a79a;box-shadow:0 0 0 3px #108e7620}.invalid input,input[aria-invalid=true]{border-color:#d98a87}input::placeholder,textarea::placeholder{color:#a5afb8}input:read-only{background:#f5f7f8;color:#72818c}input:disabled,select:disabled,textarea:disabled{background:#f5f7f8;color:#94a1aa}input[type=checkbox]{min-height:16px;width:16px;height:16px;accent-color:var(--teal);padding:0;box-shadow:none}textarea{resize:vertical}select{padding-inline-end:28px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:500}.field small,label small{color:var(--muted);font-weight:400;line-height:1.8}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label,.field>span{font-size:12px;font-weight:500}fieldset{border:0;padding:0;margin:0;min-width:0}.muted{color:var(--muted)}.pad{padding:18px 22px 22px}.latin{direction:ltr;unicode-bidi:isolate;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spacer{flex:1 1}.wide{width:100%}.centered{justify-content:center}.button-row{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 17px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:500;line-height:1.7;min-height:42px;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary{background:var(--teal);color:white;border-color:var(--teal);box-shadow:0 3px 6px #087f7812}.btn.primary:hover:not(:disabled){background:var(--teal-dark)}.btn.secondary{background:white;border-color:var(--line-strong);color:#576873}.btn.secondary:hover:not(:disabled){background:#f5f9f9;border-color:#b6cfcc}.btn.danger-solid{background:#c45a57;color:white;border-color:#c45a57}.btn.danger-solid:hover:not(:disabled){background:#a94846}.small-btn{min-height:35px;padding:6px 12px;font-size:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border:0;border-radius:8px;background:transparent;color:#85939e;padding:0}.icon-btn:hover:not(:disabled){background:#f1f6f6;color:var(--teal)}.icon-btn.danger:hover:not(:disabled){background:#fdf0ef;color:var(--loss)}.text-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--teal);font-size:12px;font-weight:500;padding:4px 0}.text-btn:hover:not(:disabled){text-decoration:underline}.notice{display:flex;align-items:flex-start;gap:9px;background:#eff7f7;color:#567d79;border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.9;margin-top:16px}.notice svg{flex-shrink:0;margin-top:3px}.notice.warning{background:#fff6e5;color:#916a2f;align-items:center}.form-error{background:#fff1f0;border:1px solid #f3d5d2;border-radius:9px;color:#b24a47;font-size:12px;padding:12px 14px;margin:8px 0}.form-error .text-btn{margin-inline-start:12px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:2px 9px;font-size:11px;font-weight:500;white-space:nowrap}.badge.teal{color:#13867c;background:#edf8f4}.badge.gray{color:#7b8892;background:#f0f3f4}.chip{display:inline-block;background:var(--teal-soft);color:#25706a;border-radius:7px;padding:1px 10px;font-size:12px;white-space:nowrap}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:40;gap:18px;height:66px;padding:0 28px;background:white;border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-size:20px;font-weight:700;color:var(--teal);white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;color:white;background:var(--teal)}.tabs{align-items:stretch;gap:4px;height:100%;margin-inline-start:18px}.tab,.tabs{display:flex}.tab{align-items:center;gap:8px;padding:0 16px;color:#7b8994;font-size:14px;border-bottom:3px solid transparent;transition:color .15s,background .15s;white-space:nowrap}.tab:hover{color:#43675f;background:#f7fbfa}.tab.active{color:var(--teal);font-weight:600;border-bottom-color:var(--teal)}.user-menu{position:relative;margin-inline-start:auto}.user-button{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:right}.user-button:hover{background:#f5f9f8}.avatar{display:flex;align-items:center;justify-content:center;background:#e5eee8;color:#4f735a;width:34px;height:34px;border-radius:10px;font-weight:600}.user-text{display:flex;flex-direction:column;line-height:1.5;min-width:0}.user-text b{font-size:13px}.user-text b,.user-text small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-text small{color:#9aa6ad}.menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:190px;background:white;border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column}.menu>a,.menu>button{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:8px;background:transparent;font-size:13px;text-align:right;width:100%}.menu>a:hover,.menu>button:hover:not(:disabled){background:#f1f7f6;color:var(--teal)}.main-content{max-width:1200px;margin:0 auto;padding:28px 28px 60px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-heading p{color:#8a98a1;font-size:13px;margin-top:4px;max-width:640px}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-banner{background:#fff9eb;border:1px solid #f3e7ca;border-radius:9px;padding:8px 13px;margin-bottom:18px;font-size:12px;color:#a18b5e}.panel{background:white;border:1px solid #e7edef;border-radius:var(--radius);margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 12px}.filters{padding:16px 20px 18px}.filter-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.segmented{display:inline-flex;padding:4px;gap:2px;border:1px solid #e3ebed;background:#f8faf9;border-radius:11px;max-width:100%;overflow-x:auto}.segmented button{padding:6px 14px;border:0;border-radius:8px;background:transparent;color:#7f908f;font-size:13px;white-space:nowrap}.segmented button:hover{color:var(--teal)}.segmented button.active{background:white;color:var(--teal);font-weight:600;box-shadow:0 2px 7px #1e52350f}.search-input{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1 1;min-width:220px;max-width:420px;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:white;color:#9aabb4}.search-input:focus-within{border-color:#40a79a;box-shadow:0 0 0 3px #108e7620}.search-input input{border:0;box-shadow:none;min-height:40px;padding:4px}.check-label{flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:400}.summary-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);font-size:13px;color:#6f808a}.summary-bar strong small{color:#9ba6ad;font-weight:400}.table-scroll{overflow-x:auto}.loading,.table-scroll.loading{opacity:.55;transition:opacity .15s}table.data{border-collapse:collapse;width:100%;text-align:right;font-size:13px}table.data thead{background:#fafcfd}table.data th{font-weight:500;color:#8a98a1;font-size:12px;padding:11px 18px;border-bottom:1px solid #eff3f4;white-space:nowrap}table.data td{padding:12px 18px;border-bottom:1px solid #f0f3f4;color:#4d5f69;vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover{background:#fcfefd}table.data tfoot td{font-weight:600;background:#f6faf9;border-top:1px solid #e2ece9;border-bottom:0;color:#34524c}table.data td.desc{max-width:320px;overflow-wrap:anywhere;white-space:pre-line}table.data td.num{white-space:nowrap;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data tr.quiet td{color:#b5bec4}table.data tr.archived td{color:#9aa6ad}.row-actions{white-space:nowrap;text-align:left;width:1%}.money{display:inline-block;unicode-bidi:isolate}.money.loss{color:var(--loss)}.money.gain{color:var(--gain)}.money.zero{color:#9aa6ad}.pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;border-top:1px solid var(--line);font-size:12px;color:#7f8f98}.section-tabs{margin-bottom:16px}.add-row{display:flex;align-items:flex-end;gap:12px;padding:18px 22px 6px}.add-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;flex:1 1}.add-error{margin:8px 22px 0}.section-hint{padding:4px 22px 14px;color:#98a5ac;font-size:12px}.list-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 22px 14px}.confirm-text{line-height:2;font-size:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:white;border-radius:14px;padding:16px 20px;min-width:0;border:1px solid #e5ecee;border-top:3px solid #dfe8ea}.stat-card>span{color:#8a98a1;font-size:13px}.stat-card strong{display:block;font-size:22px;line-height:1.8;white-space:nowrap;font-weight:600}.stat-card strong small{font-size:11px;color:#9ba6ad;font-weight:400}.stat-card.income{border-top-color:var(--income)}.stat-card.expense{border-top-color:var(--expense)}.stat-card.profit.gain{border-top-color:var(--gain)}.stat-card.profit.loss{border-top-color:var(--loss)}.stat-sub{display:block;margin-top:2px;font-size:11px;font-style:normal;color:#9aa6ad;white-space:nowrap}.stat-sub .money{font-weight:500}.filter-grid .span-2{grid-column:span 2}.filter-note{margin:12px 2px 0;font-size:12px;color:#6f808a}.hint-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:12px 18px;border:1px solid #d3e9e0;border-radius:12px;background:#f3faf7;color:#3b665c;font-size:13px}.hint-card p{margin:0}.matrix-scroll{padding-bottom:4px}table.matrix td,table.matrix th{white-space:nowrap;padding:10px 14px}table.matrix thead th{text-align:center}table.matrix tbody th,table.matrix tfoot th,table.matrix thead th.sticky{text-align:right}table.matrix tbody th{font-weight:500;font-size:13px;color:#4d5f69;background:white;border-bottom:1px solid #f0f3f4}table.matrix .sticky{position:sticky;right:0;z-index:1;min-width:150px;max-width:220px;overflow:hidden;text-overflow:ellipsis;box-shadow:-6px 0 6px -6px #1e52351f}table.matrix thead th.sticky{background:#fafcfd}table.matrix tfoot th.sticky{background:#f6faf9;color:#34524c;font-weight:600;border-top:1px solid #e2ece9}table.matrix td.num{text-align:center}table.matrix td.zero{color:#c3ccd1}table.matrix td.total,table.matrix th.total{font-weight:600;background:#fafcfd}table.matrix tfoot td.total{background:#eef6f3}table.matrix.income td.total{color:var(--income)}table.matrix.expense td.total{color:var(--expense)}.chart-legend{display:flex;gap:16px;font-size:12px;color:#7f8f98}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-legend i.income{background:var(--income)}.chart-legend i.expense{background:var(--expense)}.chart-wrap{padding:0 14px 16px}.bar-chart{width:100%;height:auto;display:block;font-family:inherit}.bar-chart .grid{stroke:#e9eff1;stroke-dasharray:3 4}.bar-chart .base{stroke:#cfdadd}.bar-chart .axis{font-size:11px;fill:#8b99a2}.bar-chart .hit{fill:transparent}.bar-chart g:hover>.hit{fill:#eef7f4}.bar-chart .bar-income{fill:var(--income)}.bar-chart .bar-expense{fill:var(--expense)}.chart-empty{text-align:center;color:#a3afb5;padding:40px 20px;font-size:13px}.chart-empty.small{padding:18px 20px 22px;font-size:12px}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.breakdown{list-style:none;margin:0;padding:0 22px 18px;display:flex;flex-direction:column;gap:14px}.breakdown-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.breakdown-name{overflow-wrap:anywhere}.breakdown-total{white-space:nowrap;font-weight:500}.breakdown-total small{color:#9ba6ad;font-weight:400}.breakdown-bar{height:7px;background:#f0f4f4;border-radius:6px;overflow:hidden;margin:5px 0 3px}.breakdown-bar span{display:block;height:100%;border-radius:6px}.breakdown-bar .income{background:var(--income)}.breakdown-bar .expense{background:var(--expense)}.breakdown-meta{display:flex;justify-content:space-between;font-size:11px;color:#9aa6ad}.breakdown-more{justify-content:space-between;gap:8px 12px;margin:0 22px 18px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:#8a97a0}.breakdown-more,.breakdown-more-actions{display:flex;align-items:center;flex-wrap:wrap}.breakdown-more-actions{gap:8px}.combo,.datepicker,.export-menu{position:relative}.combo-box,.dp-box{position:relative;display:flex;align-items:center}.combo-input{padding-left:40px}.dp-input{padding-left:76px;text-align:right}.combo-icon,.dp-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#8a99a2;padding:0}.combo-icon:hover,.dp-icon:hover:not(:disabled){background:#f0f6f5;color:var(--teal)}.combo-icon,.dp-box .dp-icon:last-of-type{left:5px}.dp-box .dp-icon:first-of-type:not(:last-of-type){left:38px}.combo-list{list-style:none;margin:0;padding:4px;overflow-y:auto;background:white;border:1px solid #d3e1de;border-radius:11px;box-shadow:var(--shadow)}.combo-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-radius:8px;cursor:pointer;font-size:13px}.combo-option small{color:#9aa6ad;white-space:nowrap}.combo-option.active{background:#edf7f4}.combo-option[aria-selected=true]{color:var(--teal);font-weight:600}.combo-option.add{justify-content:flex-start;color:var(--teal);font-weight:500;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 8px 8px;padding-top:10px}.combo-empty,.combo-error{padding:9px 12px;font-size:12px;color:#98a5ac}.combo-error{color:#b24a47}.dp-pop{background:white;border:1px solid #d3e1de;border-radius:14px;box-shadow:var(--shadow);padding:12px}.dp-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}.dp-head select{min-height:36px;padding:4px 8px;font-size:13px;flex:1 1}.dp-head select:last-of-type{flex:0 0 82px}.dp-grid,.dp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.dp-week span{font-size:12px;color:#8a98a1;padding:4px 0}.dp-day.holiday,.dp-week .holiday{color:#c0605e}.dp-day{height:36px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:13px;padding:0}.dp-day:hover:not(:disabled){background:#edf7f4}.dp-day.today{border-color:#9bcfc7}.dp-day.selected{background:var(--teal);color:white;border-color:var(--teal)}.dp-day:disabled{opacity:.3}.dp-foot{display:flex;align-items:center;gap:14px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.input-suffix{position:relative}.input-suffix input{padding-right:56px;text-align:left}.input-suffix span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#98a5ac;pointer-events:none}.empty-state{flex-direction:column;text-align:center;padding:44px 25px;color:#9aaeb5;min-height:200px}.empty-state,.empty-state>span{display:flex;align-items:center;justify-content:center}.empty-state>span{width:58px;height:58px;background:#f4f8f7;border-radius:18px;margin-bottom:15px;color:#a3bdb1}.empty-state h3{font-size:14px;color:#7f9790;font-weight:500}.empty-state p{font-size:12px;color:#abb9be;margin-top:7px;max-width:340px}.empty-state .btn{margin-top:18px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:100;background:#fff;border:1px solid #d7e8df;box-shadow:var(--shadow);border-radius:12px;padding:12px 17px;font-size:13px;color:#4f8770;max-width:calc(100% - 30px);width:max-content}.toast.error{border-color:#f0d2cf;color:#b24a47}.toast>svg{flex-shrink:0}.error-page{text-align:center;padding:20vh 25px}.error-page h1{font-size:24px}.error-page p{margin:20px;color:var(--muted)}.error-page .btn{margin-top:20px}.modal{border:1px solid #dce8e3;border-radius:18px;padding:0;width:560px;max-width:calc(100vw - 24px);max-height:92vh;color:var(--text);background:white;box-shadow:0 22px 90px #122e3a30;overflow-y:auto}.modal::backdrop{background:#152f3b6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.modal-heading h2{font-size:17px}.modal-heading p{font-size:12px;color:#94a2a9;margin-top:4px}.modal-content{padding:22px 24px}.modal-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:white;z-index:4}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.form-grid .full{grid-column:1/-1}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack .notice{margin-top:0}.auth-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 16px}.auth-form-wrap{width:100%;max-width:400px;padding:32px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 12px #263a4512}.auth-brand{margin-bottom:22px;text-align:center;font-size:28px;letter-spacing:-.5px;color:var(--teal)}.auth-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}.auth-heading h2{font-size:17px}.auth-description{color:#9ba9b0;font-size:11px}.auth-tabs{display:flex;padding:5px;border:1px solid #e9eeee;background:#f8faf9;border-radius:10px;margin-bottom:25px}.auth-tabs button{flex:1 1;padding:9px 10px;background:transparent;border:0;border-radius:7px;font-size:12px;color:#9aa9a2}.auth-tabs button.active{background:white;color:var(--teal);box-shadow:0 2px 7px #1e52350d}.auth-form-wrap label{font-size:12px}.auth-form-wrap input{min-height:46px;font-size:13px}.auth-form-wrap .btn{min-height:46px}.auth-form-wrap .form-stack{gap:17px}.auth-form-wrap .notice{font-size:11px;margin:0}.auth-form-wrap .text-btn.centered{font-size:11px}.password-field{position:relative}.password-field input{padding-left:42px}.password-field button{position:absolute;left:8px;top:7px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;background:transparent;border:0;color:#a2b2ad}.demo-entry{border-top:1px solid #edf2ef;padding-top:22px;margin-top:25px;display:flex;flex-direction:column;gap:11px}.demo-entry>span{text-align:center;font-size:11px;color:#aab7ae}.demo-entry .btn{color:#719880;border-color:#d9e8df;background:#fbfdfb;font-size:12px}@media (max-width:1000px){.filter-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.breakdown-grid,.settings-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.tab{padding:0 11px}}@media (max-width:720px){.topbar{height:58px;gap:10px}.tabs{position:fixed;bottom:0;right:0;left:0;z-index:50;margin:0;height:62px;gap:0;background:white;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1 1;flex-direction:column;justify-content:center;gap:2px;padding:4px 2px;font-size:11px;border-bottom:0;border-top:3px solid transparent}.tab.active{border-top-color:var(--teal)}.user-text{display:none}.main-content{padding:20px 14px 90px}.page-heading{flex-direction:column;gap:14px}.heading-actions{width:100%}.heading-actions .btn{flex:1 1}.filters{padding:14px}.filter-top{flex-direction:column;align-items:stretch}.filter-top .segmented{width:100%}.filter-top .segmented button{flex:1 1}.filter-top .segmented.wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}.filter-top .segmented.wrap button{padding:6px 4px}.search-input{max-width:none;min-width:0;width:100%}.stat-card strong{font-size:18px}.add-row{flex-direction:column;align-items:stretch}.modal{max-height:94vh;border-radius:13px}.modal-heading{padding:16px 18px}.modal-content{padding:18px}.modal-footer{padding:14px 18px}.form-grid{grid-template-columns:1fr}.toast{bottom:78px;font-size:12px}.auth-layout{padding:20px 12px}.auth-form-wrap{padding:24px 18px}table.cards thead{display:none}table.cards,table.cards tbody,table.cards tfoot,table.cards tr{display:block;width:100%}table.cards tr{border:1px solid #e8eef0;border-radius:12px;margin:10px 12px;width:auto;padding:6px 14px}table.cards td{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:6px 0;border:0;text-align:left;white-space:normal}table.cards td:before{content:attr(data-label);color:#9aa6ad;font-size:11px;flex-shrink:0}table.cards td.row-actions{justify-content:flex-end;width:auto}table.cards td.row-actions:before{content:none}table.cards tfoot tr{background:#f6faf9}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white}.filters,.heading-actions,.pager,.row-actions,.topbar{display:none!important}.panel{border:0;page-break-inside:avoid;break-inside:avoid}.main-content{padding:0}}