@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn%5Bwght%5D.woff2) format("woff2-variations"),url(/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700 800;font-style:normal;font-display:swap}:root{font-family:Vazirmatn,Tahoma,Arial,sans-serif;color:#20332e;background:#f6f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--forest:#173f35;--forest-deep:#12352c;--green:#173f35;--green-2:#23604e;--sage:#dcebdf;--mint:#e6f1e9;--warm-white:#f6f7f3;--amber:#d99a63;--income:#2d8053;--expense:#bf7650;--text:#20332e;--muted:#7b8983;--line:#e8ebe5;--panel:#fff;--orange:#d99a63;--red:#b85b52;--shadow:0 5px 24px rgba(29,53,43,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #90cbb1;outline-offset:2px}.app-shell{min-height:100vh;display:flex;direction:rtl}.sidebar{width:248px;background:#fff;border-left:1px solid var(--line);padding:28px 18px 18px;display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 35px}.brand-icon{width:43px;height:43px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center}.brand strong{display:block;font-size:17px;letter-spacing:-.3px}.brand span{font-size:11px;color:var(--muted)}.side-label{font-size:11px;color:#a0aaa3;padding:0 12px 10px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#687871;padding:13px 14px;border-radius:12px;text-align:right;font-size:13px}.nav-item.active{background:var(--sage);color:var(--green);font-weight:700}.nav-chevron{margin-right:auto}.sidebar-spacer{flex:1}.privacy-note{background:#f6f7f3;border:1px solid #e8ebe5;border-radius:14px;padding:13px;display:flex;gap:10px;align-items:flex-start}.privacy-icon{width:31px;height:31px;flex-shrink:0;background:#dcebdf;border-radius:10px;display:grid;place-items:center;color:var(--green)}.privacy-note strong{font-size:11px}.privacy-note p{font-size:10px;line-height:1.9;color:var(--muted);margin:4px 0 0}.sidebar-foot{font-size:10px;color:#a0aaa3;text-align:center;padding-top:17px}.main{width:calc(100% - 248px);margin-right:248px;max-width:1600px;padding:28px clamp(22px,3.2vw,52px) 30px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:11px;color:var(--muted);margin-bottom:4px}.topbar h1{font-size:25px;margin:0;font-weight:700;letter-spacing:-.7px}.top-actions{display:flex;align-items:center;gap:16px}.today{display:flex;align-items:center;gap:7px;font-size:12px;color:#65736c}.avatar{width:38px;height:38px;border:1px solid #dfe7df;background:#dcebdf;color:var(--green);border-radius:50%;font-size:11px;font-weight:800}.hero-card{min-height:205px;background:linear-gradient(115deg,#173f35,#23604e);border-radius:22px;color:#fff;padding:25px 28px 0;position:relative;overflow:hidden;box-shadow:0 12px 25px #173f351c}.hero-copy{position:relative;z-index:1}.hero-label{font-size:12px;color:#d2e3d7;display:flex;align-items:center;gap:8px}.hero-balance{font-size:clamp(25px,3vw,36px);font-weight:800;letter-spacing:-1px;margin-top:13px;direction:rtl;text-align:right}.hero-copy p{font-size:11px;color:#c5d9cc;margin:5px 0 18px}.hero-art{position:absolute;left:7%;top:12px;width:205px;height:165px;opacity:.8}.art-circle{position:absolute;border:1px solid #c7dfd02a;border-radius:50%}.circle-one{width:190px;height:190px;left:0;top:-15px}.circle-two{width:135px;height:135px;left:28px;top:12px}.art-wallet{position:absolute;left:64px;top:53px;width:78px;height:65px;border-radius:17px;background:#d5e8d64d;border:1px solid #e0f0e0a0;display:grid;place-items:center;color:#e3f0e3;transform:rotate(-10deg)}.hero-foot{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;gap:12px;padding:12px 0;color:#c9dbd0;font-size:10px;position:relative;z-index:1}.hero-foot span:first-child{display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;border-radius:50%;background:#8ed1a4}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}.stat-card,.panel{background:var(--panel);border:1px solid #ecefe9;border-radius:17px;box-shadow:var(--shadow)}.stat-card{padding:17px 18px}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#65736c;margin-bottom:13px}.stat-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center}.stat-icon.income,.quick-icon.income,.tx-icon.income{background:#dcebdf;color:var(--income)}.stat-icon.expense,.quick-icon.expense,.tx-icon.expense{background:#f8e9dc;color:var(--expense)}.stat-icon.budget{background:#e8edf8;color:#62749a}.stat-card>strong{font-size:clamp(16px,1.7vw,22px);font-weight:800;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl}.muted{display:block;font-size:10px;color:#99a39c;margin-top:8px}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.panel{padding:21px;margin-bottom:17px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}.panel-heading h2{font-size:15px;margin:0 0 5px}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.soft-tag{font-size:10px;color:#6d7e72;background:#edf3eb;border-radius:8px;padding:7px 10px;white-space:nowrap}.budget-numbers{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 13px}.budget-numbers strong{font-size:18px}.budget-numbers span{font-size:11px;color:var(--muted)}.progress-track{height:8px;background:#eef1eb;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:#438463;border-radius:99px;transition:width .25s}.progress-fill.warning{background:#d18a50}.progress-caption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-top:10px}.text-button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--green-2);font-size:11px;font-weight:700;padding:8px 0}.budget-panel>.text-button{margin-top:13px}.budget-alert{font-size:11px;line-height:1.8;color:#8b5c28;background:#fff5e8;padding:9px 11px;border-radius:9px;margin-top:12px}.quick-panel{padding-bottom:11px}.quick-action{width:100%;display:flex;align-items:center;gap:11px;padding:11px 0;border:0;border-bottom:1px solid #f0f1ed;background:transparent;text-align:right;color:var(--text)}.quick-action:last-child{border-bottom:0}.quick-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;flex-shrink:0}.quick-action>span:nth-child(2){flex:1}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:12px}.quick-action small{font-size:10px;color:var(--muted);margin-top:4px}.quick-action>svg:last-child{color:#a2ada5}.transactions-panel{padding-bottom:8px}.transactions-panel .panel-heading{margin-bottom:8px}.transaction-list{width:100%}.transaction-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f0f1ed;min-width:0}.transaction-row:last-child{border-bottom:0}.tx-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.tx-description{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.tx-description strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-description span{font-size:10px;color:var(--muted)}.tx-amount{font-size:12px;white-space:nowrap;direction:rtl}.tx-amount.income,.income-text{color:var(--income)}.tx-amount.expense,.expense-text{color:var(--expense)}.delete-button{border:0;background:transparent;color:#a5ada7;padding:6px;border-radius:8px;opacity:.7}.delete-button:hover{background:#fff0ed;color:#b85b52}.footer{display:flex;justify-content:space-between;color:#9ba59d;font-size:10px;padding:8px 3px}.page-panel{min-height:220px}.page-panel .panel-heading{align-items:center}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:700;white-space:nowrap}.primary-button{background:var(--green);color:#fff;border:1px solid var(--green)}.primary-button:hover{background:#12352c}.secondary-button{background:#fff;color:#41594d;border:1px solid #dfe6df}.search-box{display:flex;align-items:center;gap:10px;border:1px solid #e5e9e2;background:#fafbf9;border-radius:11px;padding:0 13px;color:#89958d;margin:18px 0}.search-box input{border:0;outline:0;background:transparent;width:100%;padding:12px 0;font-size:12px;color:var(--text)}.empty-state{text-align:center;padding:34px 15px;color:#98a39b;font-size:12px}.report-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.report-total{display:flex;justify-content:space-between;align-items:center;background:#f6f7f3;border-radius:12px;padding:14px;margin-bottom:18px;font-size:12px}.report-total strong{font-size:17px}.category-row{margin:17px 0}.category-line{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.category-line strong{font-size:11px}.category-row small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #eff1ed;font-size:12px}.summary-balance{border:0;margin-top:4px;font-weight:700}.helper-text{font-size:11px;line-height:2;color:var(--muted);background:#f6f7f3;border-radius:10px;padding:12px}.settings-panel{max-width:900px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #eef0eb}.setting-row>div:first-child{min-width:0}.setting-row strong{font-size:13px}.setting-row p{font-size:11px;color:var(--muted);margin:6px 0 0;line-height:1.8}.budget-input{display:flex;align-items:center;gap:8px;max-width:220px}.budget-input input{width:145px;border:1px solid #dfe6df;border-radius:9px;padding:10px;direction:ltr;min-width:0}.budget-input span{font-size:11px;color:var(--muted)}.hand-options{display:flex;gap:7px;flex-wrap:wrap}.hand-options button{display:flex;align-items:center;gap:6px;border:1px solid #dfe6df;background:#fff;color:#697970;border-radius:9px;padding:9px 11px;font-size:11px}.hand-options button.selected{background:var(--sage);color:var(--green);border-color:#b7d0bd}.notice{display:flex;gap:12px;align-items:flex-start;background:#edf3eb;color:#64746a;border-radius:12px;padding:14px;margin-top:22px}.notice>svg{flex-shrink:0;margin-top:2px}.notice p{font-size:11px;line-height:2;margin:0}.notice strong{color:#334e3f}.mobile-nav,.floating-add{display:none}.modal-backdrop{position:fixed;inset:0;background:#122a2290;z-index:20;display:grid;place-items:center;padding:18px}.modal{background:#fff;width:min(100%,460px);max-height:calc(100dvh - 36px);overflow:auto;border-radius:19px;padding:23px;box-shadow:0 20px 70px #001a1233}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-heading h2{font-size:17px;margin:0 0 5px}.modal-heading p{font-size:11px;color:var(--muted);margin:0}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;color:#607168}.kind-switch{display:grid;grid-template-columns:1fr 1fr;background:#f2f5f0;padding:4px;border-radius:11px;margin-bottom:20px}.kind-switch button{border:0;border-radius:8px;padding:10px;background:transparent;color:#748178;font-size:12px}.kind-switch button.selected{background:#fff;box-shadow:0 2px 7px #1c34200d;font-weight:700}.kind-switch button.expense-selected{color:var(--expense)}.kind-switch button.income-selected{color:var(--income)}.form-field{display:flex;flex-direction:column;gap:8px;margin:15px 0}.form-field span{font-size:11px;font-weight:700;color:#526359}.form-field input,.form-field select{width:100%;border:1px solid #dfe6df;border-radius:10px;padding:12px;background:#fff;color:var(--text);font-size:12px;min-height:43px}.form-field input::placeholder{color:#a6afa8}.form-actions{display:flex;gap:9px;margin-top:23px}.form-actions button{flex:1}.sidebar,.main,.mobile-nav,.floating-add{transition:all .2s ease}html[data-hand=left] .floating-add{left:20px;right:auto}html[data-hand=right] .floating-add{right:20px;left:auto}@media(min-width:1500px){.main{margin-left:auto;margin-right:248px}.hero-card{min-height:220px}.hero-balance{font-size:39px}}@media(max-width:1050px){.sidebar{width:215px}.main{width:calc(100% - 215px);margin-right:215px;padding:25px 22px}.stat-grid{gap:10px}.stat-card{padding:15px}.content-grid,.report-layout{grid-template-columns:1fr}.hero-art{left:1%}}@media(max-width:760px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.sidebar{display:none}.main{width:100%;margin:0;padding:20px 16px 25px}.topbar{margin-bottom:19px}.topbar h1{font-size:21px}.today{display:none}.hero-card{padding:22px 20px 0;border-radius:18px;min-height:190px}.hero-balance{font-size:28px}.hero-art{left:-28px;opacity:.38;transform:scale(.8);transform-origin:left center}.hero-foot{font-size:9px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.stat-card{padding:13px}.stat-card:last-child{grid-column:1/-1}.stat-card>strong{font-size:18px}.stat-top{font-size:11px}.content-grid{gap:0}.panel{padding:17px;border-radius:15px;margin-bottom:13px}.panel-heading h2{font-size:14px}.budget-numbers strong{font-size:16px}.quick-panel{padding-bottom:8px}.transactions-panel{padding-bottom:6px}.transaction-row{gap:9px}.tx-amount{font-size:10px;max-width:130px;overflow-wrap:anywhere;white-space:normal;text-align:left}.delete-button{opacity:1}.footer{padding-bottom:7px}.mobile-nav{display:flex;position:fixed;z-index:10;bottom:0;right:0;left:0;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(14px);border-top:1px solid #e6eae4;justify-content:space-around;gap:3px}.mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:#89958d;border-radius:10px;padding:6px 2px;font-size:9px}.mobile-nav button.active{color:var(--green);font-weight:700;background:#dcebdf}.floating-add{display:flex;position:fixed;z-index:11;bottom:calc(82px + env(safe-area-inset-bottom));align-items:center;gap:7px;border:0;border-radius:99px;background:var(--green);color:#fff;padding:12px 16px;box-shadow:0 7px 22px #173f3530;font-size:11px;font-weight:700}.setting-row{align-items:flex-start;flex-direction:column;gap:13px}.setting-row>div:last-child,.setting-row>button{max-width:100%}.budget-input input{width:min(55vw,220px)}.page-panel .panel-heading{align-items:flex-start}.primary-button,.secondary-button{padding:10px 11px;font-size:11px}.report-layout{gap:0}.modal{padding:20px 17px;border-radius:17px}.form-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}}@media(max-width:390px){.main{padding-right:12px;padding-left:12px}.hero-balance{font-size:24px}.hero-foot{font-size:8px}.stat-card>strong{font-size:15px}.stat-top{font-size:10px}.stat-icon{width:29px;height:29px}.panel{padding:14px}.tx-description strong{font-size:11px}.tx-amount{max-width:105px}.floating-add{padding:11px 13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.filters-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}.filters-row label{display:flex;align-items:center;gap:7px;border:1px solid #e1e7df;background:#fafbf9;border-radius:10px;padding:0 10px;color:#7d8b80;min-height:38px}.filters-row select,.filters-row input,.month-input,.setting-select{border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:11px;max-width:180px;padding:9px 0}.month-input,.setting-select{border:1px solid #dfe6df;background:#fff;border-radius:9px;padding:9px 10px}.filters-row .secondary-button{min-height:38px}.edit-button{color:#76877a}.edit-button:hover{background:#edf3eb;color:var(--green)}.danger-setting{border-bottom:0}.danger-button{color:#a34d45;border-color:#efd7d4}.danger-button:hover{background:#fff3f1}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%);max-width:calc(100vw - 28px);padding:12px 18px;background:#173f35;color:#fff;border-radius:12px;box-shadow:0 8px 28px #102d2530;font-size:12px;text-align:center}.summary-row span{display:flex;align-items:center;gap:7px}.setting-select{min-width:120px}.transaction-row .tx-description span{display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.8}.transaction-row .tx-amount{direction:rtl}.filters-row input[type=month]{direction:ltr}@media(max-width:760px){.filters-row{align-items:stretch}.filters-row label{flex:1;min-width:120px}.filters-row .secondary-button{flex:1}.transaction-row{gap:6px}.transaction-row .tx-description{min-width:0}.transaction-row .tx-description span{font-size:9px}.transaction-row .delete-button{padding:5px}.month-input{max-width:130px}.toast{bottom:calc(82px + env(safe-area-inset-bottom))}}.budget-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;max-width:100%}.budget-dropdown{min-width:190px}.budget-setting-row .secondary-button{font-size:11px}.account-section{border:1px solid #e4eae2;background:#fbfcfa;border-radius:15px;padding:18px;margin:20px 0}.account-title{display:flex;align-items:flex-start;gap:11px;color:var(--green);margin-bottom:14px}.account-title>svg{margin-top:2px;flex-shrink:0}.account-title strong{font-size:13px}.account-title p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.8}.account-form{display:grid;grid-template-columns:1fr 1fr 130px;gap:14px;align-items:flex-end;margin:12px 0}.account-form .form-field{display:flex;flex-direction:column;gap:6px;margin:0;width:100%}.account-form .form-field span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text);white-space:nowrap}.account-form .form-field input{width:100%;border:1px solid #dfe6df;border-radius:10px;padding:0 12px;background:#fff;color:var(--text);font-size:12px;height:42px;min-height:42px;box-sizing:border-box}.account-form .form-field input:focus{border-color:var(--green-2);outline:none}.account-form .form-field input[readonly]{background:#f0f3ee;color:#7b887f}.account-form .primary-button,.account-form .secondary-button{height:42px;min-height:42px;width:130px;padding:0 14px;font-size:12px;box-sizing:border-box;margin:0;display:inline-flex;align-items:center;justify-content:center}.password-form{border-top:1px solid #e7ece5;margin-top:16px;padding-top:16px}@media(max-width:760px){.account-form{grid-template-columns:1fr;gap:12px}.account-form .primary-button,.account-form .secondary-button{width:100%}}.account-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e7ece5;margin-top:17px;padding-top:14px;font-size:11px;color:var(--muted)}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top,#e3eee3,#f6f7f3 60%);direction:rtl}.auth-card{width:min(100%,430px);background:#fff;border:1px solid #e7ece5;border-radius:22px;padding:28px;box-shadow:0 20px 60px #173f3512;text-align:center}.auth-logo{margin:0 auto 15px}.auth-card h1{margin:0;font-size:25px;color:var(--green)}.auth-card>p{font-size:12px;line-height:2;color:var(--muted);margin:10px 0 20px}.auth-card form{text-align:right}.auth-card .form-field{margin:13px 0}.auth-card .form-field input{width:100%;border:1px solid #dfe6df;border-radius:10px;padding:12px;background:#fff;color:var(--text);font-size:12px;min-height:44px}.auth-submit{width:100%;margin-top:8px}.auth-toggle{margin:14px auto 8px;justify-content:center}.auth-card>small{display:block;font-size:10px;line-height:1.9;color:#89958d;margin-top:12px}.auth-card .toast{position:static;transform:none;margin-top:14px;max-width:100%}@media(max-width:760px){.budget-controls{width:100%;align-items:stretch;flex-direction:column}.budget-dropdown{width:100%;max-width:none}.budget-controls .budget-input{max-width:none}.budget-controls .budget-input input{width:100%}.account-form{align-items:stretch;flex-direction:column;gap:4px}.account-form .form-field{width:100%;min-width:0}.account-form .primary-button,.account-form .secondary-button{width:100%}.auth-card{padding:22px}.account-footer{align-items:stretch;flex-direction:column}}.auth-links{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.auth-links .auth-toggle{margin:5px auto;color:var(--green)}.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(ellipse at 50% 15%,#dcebdf,#f6f7f3 70%);direction:rtl}.auth-container{width:min(100%,450px);margin:0 auto}.auth-brand-header{text-align:center;margin-bottom:22px}.auth-brand-icon{width:62px;height:62px;margin:0 auto 12px;border-radius:18px;background:linear-gradient(135deg,var(--forest),var(--green-2));color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px #173f3538}.auth-brand-header h1{font-size:27px;font-weight:800;color:var(--forest);margin:0 0 6px;letter-spacing:-.5px}.auth-subtitle{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.auth-card-modern{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 24px;box-shadow:0 20px 50px #173f3514,0 1px 3px #0000000a}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f0f4f1;padding:4px;border-radius:14px;margin-bottom:22px}.auth-tab{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:11px;font-size:13px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.auth-tab.active{background:#fff;color:var(--forest);font-weight:700;box-shadow:0 3px 10px #0000000f}.auth-alert.error{background:#fdf2f2;border:1px solid #fbd5d5;color:#9b1c1c;border-radius:12px;padding:12px 14px;margin-bottom:18px;font-size:12px;line-height:1.6;display:flex;align-items:flex-start;gap:10px}.alert-icon{flex-shrink:0;margin-top:2px;color:#e53e3e}.alert-text{flex:1}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field-group{display:flex;flex-direction:column;gap:6px;text-align:right}.auth-field-group label{font-size:12px;font-weight:600;color:var(--text)}.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-hint{font-size:11px;color:var(--muted)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;right:14px;color:#8c9c93;pointer-events:none;z-index:1}.input-with-icon input{width:100%;border:1.5px solid #dfe6df;border-radius:12px;padding:12px 42px 12px 40px;font-size:13px;color:var(--text);background:#fafbfa;transition:all .2s ease;min-height:44px}.input-with-icon input:focus{background:#fff;border-color:var(--green-2);outline:none;box-shadow:0 0 0 3px #23604e1f}.password-toggle-btn{position:absolute;left:10px;border:0;background:transparent;color:#8c9c93;padding:6px;border-radius:8px;display:grid;place-items:center;transition:color .2s}.password-toggle-btn:hover{color:var(--text)}.password-match-icon{position:absolute;left:38px;color:#10b981}.password-strength-box{display:flex;flex-direction:column;gap:6px;margin-top:4px}.strength-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.strength-bar-segment{height:4px;border-radius:99px;transition:background-color .25s ease}.strength-label{font-size:11px;font-weight:600;text-align:left;direction:rtl}.auth-submit-btn{width:100%;background:linear-gradient(135deg,var(--forest),var(--green-2));color:#fff;border:0;border-radius:13px;padding:13px 18px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px #173f3538;transition:all .2s ease;margin-top:6px;min-height:46px}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #173f354d}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner-icon{animation:auth-spin 1s linear infinite}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.security-notice{display:flex;align-items:center;gap:10px;background:#f0f7f3;border:1px solid #d6ece0;border-radius:12px;padding:11px 14px;margin-top:20px;font-size:11px;line-height:1.6;color:var(--forest)}.security-icon{color:#10b981;flex-shrink:0}.auth-guest-divider{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.auth-guest-divider>span{position:absolute;top:-10px;background:#fff;padding:0 10px;font-size:11px;color:var(--muted)}.guest-mode-btn{width:100%;border:1.5px dashed #cbd5cf;background:#fdfdfc;color:#4b5e55;border-radius:12px;padding:10px 14px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.guest-mode-btn:hover{border-color:var(--green-2);background:#f6faf7;color:var(--forest)}.user-profile-btn{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;padding:0;cursor:pointer;color:var(--text);font:inherit;transition:opacity .2s ease}.user-profile-btn:hover{opacity:.85}.user-first-name{font-size:13px;font-weight:700;color:var(--forest)}.avatar{width:36px;height:36px;border:1px solid #dfe7df;background:#dcebdf;color:var(--green);border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:all .2s ease}.user-profile-btn:hover .avatar{background:#cfe0d3;border-color:#bcd1c1}.login-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--green);background:var(--green);color:#fff;border-radius:10px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.login-btn:hover{background:var(--forest-deep);border-color:var(--forest-deep)}.filter-chips{display:inline-flex;align-items:center;gap:4px;background:#f0f4f1;padding:3px;border-radius:11px;border:1px solid #dfe6df;min-height:38px}.chip{border:0;background:transparent;color:#687871;padding:6px 13px;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s ease;white-space:nowrap}.chip:hover{color:var(--green)}.chip.active{background:#fff;color:var(--green);font-weight:700;box-shadow:0 2px 6px #173f3514}.modern-budget-card{background:#fff;border:1px solid #e5eae3;border-radius:18px;padding:22px 20px;margin:10px 0 22px;box-shadow:0 4px 18px #173f350a}.modern-budget-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.modern-budget-header strong{display:block;font-size:15px;color:var(--forest);margin-bottom:4px}.modern-budget-header p{margin:0;font-size:11px;color:var(--muted);line-height:1.7}.current-budget-badge{display:inline-flex;align-items:center;gap:8px;background:var(--mint);border:1px solid #cfe0d5;border-radius:12px;padding:8px 14px}.current-budget-badge span{font-size:11px;color:var(--green-2)}.current-budget-badge strong{font-size:13px;font-weight:800;color:var(--forest);margin:0;direction:rtl}.budget-input-wrapper{margin-bottom:16px}.budget-stepper-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stepper-btn{border:1px solid #dfe6df;background:#fbfdfb;color:#41594d;border-radius:11px;padding:10px 14px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s ease;white-space:nowrap}.stepper-btn:hover{background:var(--sage);color:var(--forest);border-color:#bcd1c1}.budget-main-input{position:relative;display:flex;align-items:center;flex:1;min-width:170px}.budget-main-input input{width:100%;border:1.5px solid #dfe6df;border-radius:12px;padding:10px 14px 10px 52px;font-size:14px;font-weight:700;color:var(--forest);background:#fff;outline:none;transition:all .2s ease;min-height:42px;direction:ltr;text-align:right}.budget-main-input input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #23604e1a}.budget-currency-pill{position:absolute;left:10px;font-size:11px;font-weight:700;color:var(--muted);pointer-events:none}.budget-save-btn{padding:10px 20px;border-radius:11px;font-size:12px;min-height:42px}.budget-reading{font-size:11px;color:var(--muted);margin-top:8px;padding-right:4px}.budget-reading span{font-weight:700;color:var(--forest)}.budget-quick-presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed #e8ece5}.presets-label{font-size:11px;font-weight:600;color:var(--muted)}.presets-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.preset-chip{border:1px solid #dfe6df;background:#fff;color:#55675d;padding:6px 12px;border-radius:9px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s ease;white-space:nowrap}.preset-chip:hover{border-color:var(--green-2);color:var(--forest)}.preset-chip.active{background:var(--forest);color:#fff;border-color:var(--forest);font-weight:700;box-shadow:0 2px 8px #173f3533}.calendar-options{display:flex;gap:8px;flex-wrap:wrap}.calendar-options button{display:flex;align-items:center;gap:6px;border:1px solid #dfe6df;background:#fff;color:#55675d;border-radius:10px;padding:9px 14px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.calendar-options button:hover{border-color:#bcd1c1;color:var(--forest)}.calendar-options button.selected{background:var(--sage);color:var(--forest);border-color:#b9d8c2;font-weight:700}.custom-month-picker{position:relative;display:inline-flex;align-items:center;gap:3px;background:#fff;border:1px solid #dfe6df;border-radius:12px;padding:3px;box-shadow:0 1px 4px #173f350a}.picker-trigger-btn{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--forest);font-size:12px;font-weight:700;font-family:inherit;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .18s ease}.picker-trigger-btn:hover{background:#f0f4f1}.picker-nav-btn{border:0;background:transparent;color:#687871;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;cursor:pointer;transition:all .18s ease}.picker-nav-btn:hover{background:#f0f4f1;color:var(--forest)}.month-picker-popover{position:absolute;top:calc(100% + 8px);left:0;width:270px;background:#fff;border:1px solid #dfe6df;border-radius:16px;padding:14px;box-shadow:0 12px 32px #173f3524;z-index:50;direction:rtl}.popover-year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eef1ec}.popover-year-header strong{font-size:14px;color:var(--forest);font-weight:800}.year-nav-btn{border:0;background:transparent;color:#687871;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;transition:all .18s ease}.year-nav-btn:hover{background:#f0f4f1;color:var(--forest)}.months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.month-grid-btn{border:1px solid transparent;background:#fbfdfb;color:#4a5d53;border-radius:8px;padding:8px 4px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;transition:all .18s ease}.month-grid-btn:hover{background:#f0f4f1;color:var(--forest)}.month-grid-btn.active{background:var(--forest);color:#fff;border-color:var(--forest);font-weight:700;box-shadow:0 2px 8px #173f3538}.popover-footer-btn{width:100%;border:0;background:#f0f4f1;color:var(--forest);border-radius:8px;padding:7px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .18s ease}.popover-footer-btn:hover{background:#e2ede5}.trend-chart-panel{background:#fff;border:1px solid #ecefe9;border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:18px;position:relative}.trend-chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.trend-chart-header h2{font-size:16px;color:var(--forest);margin:0 0 4px;font-weight:800}.trend-chart-header p{font-size:11px;color:var(--muted);margin:0}.trend-chart-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trend-view-switch{display:inline-flex;background:#f0f4f1;border:1px solid #dfe6df;border-radius:10px;padding:2px}.trend-view-btn{border:0;background:transparent;color:#687871;padding:5px 12px;border-radius:8px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s ease}.trend-view-btn.active{background:#fff;color:var(--forest);font-weight:700;box-shadow:0 2px 6px #0000000d}.trend-stats-strip{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;background:#fbfdfa;border:1px solid #edf1eb;border-radius:12px;flex-wrap:wrap}.trend-stat-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.trend-stat-item strong{color:var(--forest);font-size:12px;font-weight:800}.trend-stat-dot{width:6px;height:6px;border-radius:50%;background:var(--expense)}.trend-stat-dot.avg{background:#438463}.trend-stat-dot.peak{background:#d99a63}.trend-empty-state{padding:38px 20px;text-align:center;background:#fafbf9;border:1px dashed #e1e7df;border-radius:14px;margin:10px 0;color:var(--muted);font-size:12px}.trend-chart-wrapper{position:relative;width:100%}.trend-chart-inner{display:flex;align-items:stretch;gap:10px;position:relative;direction:ltr}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:10px 0 6px;min-width:55px;text-align:right;user-select:none}.y-axis-label{font-size:10px;font-weight:600;color:#8b9991;font-family:inherit;white-space:nowrap;line-height:1}.trend-svg-container{position:relative;flex:1;height:175px;overflow:visible}.trend-svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid-line{stroke:#eef2eb;stroke-dasharray:4 4;stroke-width:1}.trend-column-bar{fill:#23604e;rx:3px;cursor:pointer;transition:fill .15s ease,filter .15s ease}.trend-column-bar.zero-day{fill:#ebf1ec;opacity:.8}.trend-column-bar:hover,.trend-column-bar.active{fill:var(--forest);filter:drop-shadow(0 2px 6px rgba(23,63,53,.3))}.trend-column-bar.peak-day{fill:#173f35}.trend-slot-track{fill:transparent;cursor:pointer;transition:fill .15s ease}.trend-slot-track:hover,.trend-slot-track.active{fill:#23604e0d}.trend-avg-line{stroke:#438463;stroke-dasharray:4 4;stroke-width:1.2}.chart-x-axis{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 0 68px;margin-top:4px;direction:ltr;user-select:none}.x-axis-day{font-size:11px;font-weight:500;color:#8b9991;font-family:inherit;white-space:nowrap;transition:color .15s ease}.x-axis-day.today{font-weight:700;color:var(--forest)}.chart-tooltip-bubble{position:absolute;transform:translate(-50%,-100%);background:#173f35;color:#fff;padding:8px 12px;border-radius:10px;font-size:11px;pointer-events:none;box-shadow:0 8px 24px #12352c47;white-space:nowrap;z-index:20;display:flex;flex-direction:column;align-items:center;gap:2px;direction:rtl;transition:opacity .15s ease}.chart-tooltip-bubble:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border-width:5px 5px 0 5px;border-style:solid;border-color:#173f35 transparent transparent transparent}.tooltip-day{font-size:10px;color:#b7d8c4}.tooltip-amount{font-size:12px;font-weight:800;color:#fff}.tooltip-count{font-size:9px;color:#9ac2aa}@media(max-width:640px){.trend-chart-panel{padding:18px 16px}.chart-x-axis{padding-left:58px}}.custom-dropdown-container{position:relative;display:inline-block}.custom-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #dfe6df;border-radius:11px;padding:9px 14px;font-size:12px;font-weight:700;font-family:inherit;color:var(--forest);cursor:pointer;min-width:140px;transition:all .18s ease;box-shadow:0 1px 3px #173f350a}.custom-dropdown-trigger:hover{border-color:#bcd1c1;background:#fbfdfa}.dropdown-label{flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-chevron{color:#7b887f;transition:transform .2s ease;flex-shrink:0}.dropdown-chevron.open{transform:rotate(180deg)}.custom-dropdown-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:220px;background:#fff;border:1px solid #dfe6df;border-radius:14px;padding:5px;box-shadow:0 12px 32px #173f3524;z-index:60;direction:rtl;max-height:240px;overflow-y:auto}.custom-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;color:#55675d;cursor:pointer;transition:all .15s ease}.custom-dropdown-item:hover{background:#f0f4f1;color:var(--forest)}.custom-dropdown-item.selected{background:var(--sage);color:var(--forest);font-weight:700}.dropdown-check-icon{color:var(--green);flex-shrink:0}.modal-category-dropdown,.modal-category-dropdown .custom-dropdown-trigger{width:100%;min-width:100%;height:42px;min-height:42px}.modal-category-dropdown .custom-dropdown-popover{width:100%;max-width:100%}.activity-heatmap-panel{background:#fff;border:1px solid #ecefe9;border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);margin-top:18px;position:relative}.heatmap-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.heatmap-header h2{font-size:16px;color:var(--forest);margin:0 0 4px;font-weight:800}.heatmap-header p{font-size:11px;color:var(--muted);margin:0}.heatmap-stats-strip{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:10px 14px;background:#fbfdfa;border:1px solid #edf1eb;border-radius:12px;flex-wrap:wrap}.heatmap-stat-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.heatmap-stat-item strong{color:var(--forest);font-size:12px;font-weight:800}.heatmap-scroll-container{overflow-x:auto;overflow-y:hidden;padding:6px 4px 10px;direction:rtl;scrollbar-width:thin;scrollbar-color:#dcebdf transparent}.heatmap-scroll-container::-webkit-scrollbar{height:6px}.heatmap-scroll-container::-webkit-scrollbar-track{background:transparent}.heatmap-scroll-container::-webkit-scrollbar-thumb{background:#dcebdf;border-radius:99px}.heatmap-scroll-container::-webkit-scrollbar-thumb:hover{background:#bcd7c2}.heatmap-grid-layout{display:inline-flex;gap:8px;position:relative;user-select:none}.heatmap-weekdays-col{display:flex;flex-direction:column;gap:3.5px;padding-top:20px;user-select:none}.weekday-label{height:13px;line-height:13px;font-size:9px;font-weight:700;color:#8b9991;text-align:center;width:14px}.heatmap-columns-wrapper{display:flex;gap:3.5px}.heatmap-week-column{display:flex;flex-direction:column;gap:3.5px}.heatmap-month-header{height:16px;line-height:16px;font-size:10px;font-weight:700;color:#6d7e73;white-space:nowrap;margin-bottom:4px;text-align:right}.heatmap-cell{width:13px;height:13px;border-radius:3.5px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative}.heatmap-cell:hover{transform:scale(1.35);z-index:15;box-shadow:0 2px 8px #173f354d}.heatmap-cell.level-0{background:#ebf1ec}.heatmap-cell.level-1{background:#c2dfcb}.heatmap-cell.level-2{background:#79b891}.heatmap-cell.level-3{background:#307c57}.heatmap-cell.level-4{background:#173f35}.heatmap-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #eef1ec;font-size:11px;color:var(--muted);flex-wrap:wrap;gap:12px}.heatmap-legend{display:flex;align-items:center;gap:6px}.legend-squares{display:flex;align-items:center;gap:3px}.legend-square{width:11px;height:11px;border-radius:2.5px}.heatmap-tooltip-bubble{position:absolute;transform:translate(-50%,-100%);background:#173f35;color:#fff;padding:8px 12px;border-radius:10px;font-size:11px;pointer-events:none;box-shadow:0 8px 24px #12352c4d;white-space:nowrap;z-index:30;display:flex;flex-direction:column;align-items:center;gap:3px;transition:opacity .15s ease}.heatmap-tooltip-bubble:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border-width:5px 5px 0 5px;border-style:solid;border-color:#173f35 transparent transparent transparent}.heatmap-tooltip-date{font-size:10px;color:#b7d8c4}.heatmap-tooltip-count{font-size:12px;font-weight:800;color:#fff}.heatmap-tooltip-amounts{font-size:10px;color:#e6f1e9;display:flex;gap:8px}@media(max-width:640px){.activity-heatmap-panel{padding:18px 16px}}.trend-bar{fill:#e0eee3;rx:2.5px;transition:all .15s ease;cursor:pointer}.trend-bar:hover,.trend-bar.active{fill:#23604e}.trend-cursor-line{stroke:#23604e;stroke-dasharray:3 3;stroke-width:1.2;opacity:.5}.app-loading-screen{position:fixed;inset:0;width:100%;height:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#dcebdf,#f6f7f3 70%);z-index:99999;direction:rtl;padding:20px;box-sizing:border-box}.app-loading-box{text-align:center;max-width:320px;width:100%;margin:auto}
