@font-face{font-family:Alef;src:url('assets/fonts/Alef-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Alef;src:url('assets/fonts/Alef-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--bg:#f4f6f2;--surface:#fff;--surface-2:#eef2ee;--ink:#13221d;--muted:#728079;--line:#e2e8e3;--primary:#0f684f;--primary-dark:#10261f;--primary-soft:#d9eee5;--coral:#ef785e;--coral-soft:#fff0ec;--amber:#c88d25;--amber-soft:#fff4d9;--blue:#4f79b8;--blue-soft:#eaf1fb;--purple:#775faf;--purple-soft:#f0ecfa;--shadow:0 18px 45px rgba(32,59,48,.09);--radius:25px;--nav-height:82px;color-scheme:light}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Alef,Tahoma,Arial,sans-serif;min-height:100vh;overscroll-behavior:none}
button,input{font:inherit}button{color:inherit;cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app{max-width:560px;min-height:100vh;margin:auto;background:var(--bg);position:relative;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));overflow:hidden}
.topbar{height:86px;padding:20px 20px 13px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;background:linear-gradient(180deg,var(--bg) 80%,transparent)}
.brand-wrap{display:flex;align-items:center;gap:11px}.brand-wrap strong{display:block;font-size:19px;line-height:1.35}.brand-wrap span{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.brand-mark{width:42px;height:42px;border-radius:15px;background:var(--primary-dark);color:#bce8d5;display:grid;place-items:center;box-shadow:0 8px 20px rgba(16,38,31,.18)}.brand-mark svg{width:28px;stroke-width:2.1}
.icon-btn{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;border-radius:14px;display:grid;place-items:center;position:relative}.icon-btn svg{width:21px}.icon-btn i{width:7px;height:7px;border-radius:50%;background:var(--coral);position:absolute;top:7px;right:8px;border:2px solid var(--surface)}.icon-btn.plain{border:0;background:var(--surface-2)}
main{padding:0 18px}.screen{display:none;animation:screenIn .25s ease}.screen.active{display:block}@keyframes screenIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
.balance-card{position:relative;isolation:isolate;background:linear-gradient(142deg,#14372d,#0d211b);border-radius:30px;padding:23px 22px 20px;color:#fff;overflow:hidden;box-shadow:0 24px 40px rgba(13,33,27,.2)}
.balance-card:after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000)}.balance-orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-1}.orb-one{width:145px;height:145px;background:rgba(45,189,135,.17);left:-42px;top:-72px}.orb-two{width:110px;height:110px;background:rgba(236,178,81,.1);right:-48px;bottom:-40px}
.balance-head{display:flex;align-items:center;justify-content:space-between;color:#b8c9c2;font-size:13px}.eye-btn{background:rgba(255,255,255,.08);border:0;color:#cbdad4;width:34px;height:34px;border-radius:12px;display:grid;place-items:center}.eye-btn svg{width:19px}.balance-value{font-size:30px;font-weight:700;letter-spacing:-1px;margin:6px 0 22px;direction:rtl}.balance-footer{display:grid;grid-template-columns:1fr 1px 1fr;gap:15px;align-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);padding:12px 14px;border-radius:19px}.balance-footer>div:not(.divider){display:grid;grid-template-columns:32px 1fr;column-gap:8px}.balance-footer p,.balance-footer strong{margin:0}.balance-footer p{font-size:10px;color:#9fb3ab}.balance-footer strong{font-size:13px;margin-top:-12px;grid-column:2}.divider{height:34px;background:rgba(255,255,255,.12)}.mini-icon{width:31px;height:31px;border-radius:11px;display:grid;place-items:center;grid-row:1/3}.mini-icon svg{width:17px}.mini-icon.income{color:#75ddb6;background:rgba(53,190,140,.16)}.mini-icon.expense{color:#ff9983;background:rgba(240,114,86,.15)}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.quick-actions button{background:transparent;border:0;padding:0;display:flex;align-items:center;flex-direction:column;gap:7px}.quick-actions b{font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.quick-icon{width:49px;height:49px;border-radius:17px;display:grid;place-items:center}.quick-icon svg{width:21px}.coral{background:var(--coral-soft);color:var(--coral)}.green{background:var(--primary-soft);color:var(--primary)}.amber{background:var(--amber-soft);color:var(--amber)}.blue{background:var(--blue-soft);color:var(--blue)}.purple{background:var(--purple-soft);color:var(--purple)}
.budget-card,.report-card,.settings-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 9px 30px rgba(42,66,56,.04)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-title.compact{margin-bottom:15px}.section-title h2{font-size:16px;margin:0}.section-title p{font-size:11px;color:var(--muted);margin:3px 0 0}.text-btn{background:transparent;border:0;color:var(--primary);font-size:12px;padding:6px}.budget-row{display:flex;align-items:baseline;gap:7px;margin-top:5px}.budget-row strong{font-size:16px}.budget-row span{font-size:11px;color:var(--muted)}.progress{height:8px;border-radius:20px;background:var(--surface-2);overflow:hidden;margin:11px 0 8px}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2d9e78,var(--primary));border-radius:inherit;transition:width .4s}.progress i.warning{background:linear-gradient(90deg,#f0a84b,var(--coral))}.budget-hint{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.budget-hint b{color:var(--primary);font-weight:400}.transactions-section{margin-top:22px}
.transaction-list{display:flex;flex-direction:column;gap:9px}.transaction-row{display:grid;grid-template-columns:47px minmax(0,1fr) auto;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);padding:11px;border-radius:19px;transition:.2s}.transaction-row:active{transform:scale(.985)}.transaction-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;font-size:19px}.transaction-info{min-width:0}.transaction-info b,.transaction-info span{display:block}.transaction-info b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-info span{font-size:10px;color:var(--muted);margin-top:3px}.transaction-amount{text-align:left;direction:rtl}.transaction-amount strong{display:block;font-size:12px}.transaction-amount time{font-size:9px;color:var(--muted)}.transaction-amount.income strong{color:var(--primary)}.transaction-amount.expense strong{color:var(--ink)}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line);padding:35px 15px;border-radius:22px;color:var(--muted)}.empty-state span{display:grid;place-items:center;width:55px;height:55px;border-radius:20px;background:var(--surface-2);margin:0 auto 10px;font-size:24px}.empty-state b{display:block;color:var(--ink);font-size:14px}.empty-state p{margin:4px 0;font-size:11px}
.page-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 3px 18px}.page-heading.simple{padding-bottom:16px}.eyebrow{font-size:10px;color:var(--primary);font-weight:700;letter-spacing:.2px}.page-heading h1{font-size:27px;margin:2px 0 0;letter-spacing:-.6px}.page-heading p{font-size:11px;color:var(--muted);margin:3px 0 0}.round-add{width:47px;height:47px;border:0;border-radius:17px;background:var(--primary-dark);color:white;display:grid;place-items:center;box-shadow:0 10px 20px rgba(16,38,31,.15)}.round-add svg{width:22px}.search-box{height:50px;border:1px solid var(--line);background:var(--surface);border-radius:17px;display:flex;align-items:center;gap:9px;padding:0 14px}.search-box svg{width:20px;color:var(--muted)}.search-box input{border:0;background:transparent;outline:0;color:var(--ink);flex:1;min-width:0;font-size:12px}.filter-chips{display:flex;gap:8px;overflow:auto;padding:12px 0;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chips button{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:8px 15px;font-size:11px;white-space:nowrap}.filter-chips button.active{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.transaction-list.full{padding-bottom:15px}
.report-card{margin-bottom:12px}.change-badge{font-size:10px;color:var(--primary);background:var(--primary-soft);border-radius:30px;padding:5px 9px}.bars{height:180px;display:flex;direction:rtl;align-items:flex-end;gap:10px;padding:10px 2px 0}.bar-item{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar-track{height:142px;width:100%;max-width:35px;border-radius:12px;background:var(--surface-2);display:flex;align-items:flex-end;overflow:hidden;position:relative}.bar-track i{width:100%;height:4%;display:block;background:linear-gradient(180deg,#37a77f,var(--primary));border-radius:12px;transition:height .55s ease}.bar-item.current .bar-track{background:var(--primary-soft)}.bar-item.current .bar-track i{background:linear-gradient(180deg,#183f33,#0d241c)}.bar-item span{font-size:9px;color:var(--muted)}.category-report{display:grid;grid-template-columns:135px 1fr;align-items:center;gap:17px}.donut{width:128px;height:128px;border-radius:50%;background:conic-gradient(var(--primary) 0 40%,var(--coral) 40% 68%,var(--amber) 68% 84%,var(--blue) 84% 100%);position:relative;display:grid;place-items:center}.donut:before{content:"";position:absolute;width:82px;height:82px;background:var(--surface);border-radius:50%}.donut div{z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:12px}.donut span{font-size:9px;color:var(--muted)}.legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px}.legend-row i{width:8px;height:8px;border-radius:50%}.legend-row span,.legend-row b{font-size:10px}.legend-row span{color:var(--muted)}.legend-row b{font-weight:400}.insight-card{background:linear-gradient(135deg,#e4f1eb,#f3f5e9);border:1px solid #d8e7dd;border-radius:22px;padding:15px;display:flex;gap:12px;margin-bottom:10px}.insight-icon{width:39px;height:39px;flex:0 0 39px;border-radius:14px;background:var(--surface);color:var(--primary);display:grid;place-items:center}.insight-icon svg{width:21px}.insight-card b{font-size:12px}.insight-card p{font-size:10px;color:#587168;margin:4px 0 0;line-height:1.8}
.profile-head{display:flex;align-items:center;gap:13px;padding:16px 3px 23px}.avatar{width:65px;height:65px;border-radius:23px;background:linear-gradient(145deg,#1a4235,#0d241c);color:#d8f2e6;display:grid;place-items:center;font-size:24px;font-weight:700;box-shadow:0 13px 24px rgba(16,38,31,.18)}.profile-head h1{font-size:23px;margin:0}.profile-head p{font-size:11px;color:var(--muted);margin:3px 0}.settings-group{padding:8px 15px;margin-bottom:12px}.settings-group h2{font-size:11px;color:var(--muted);margin:8px 3px 4px}.setting-row{width:100%;display:grid;grid-template-columns:43px 1fr auto;gap:11px;align-items:center;text-align:right;background:transparent;border:0;border-bottom:1px solid var(--line);padding:11px 0}.setting-row:last-child{border-bottom:0}.setting-icon{width:41px;height:41px;border-radius:14px;display:grid;place-items:center}.setting-icon svg{width:20px}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:12px}.setting-row small{font-size:9px;color:var(--muted);margin-top:3px}.chevron{width:17px;color:var(--muted)}.switch{width:42px;height:24px;border-radius:20px;background:#d9dfdb;padding:3px;direction:ltr;transition:.25s}.switch i{display:block;width:18px;height:18px;background:white;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.13);transition:.25s}.theme-on .switch{background:var(--primary)}.theme-on .switch i{transform:translateX(18px)}.danger-zone .setting-row b{color:var(--coral)}.app-version{text-align:center;color:var(--muted);font-size:9px;line-height:1.9;padding:8px 24px}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(560px,100%);height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:9px 12px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;box-shadow:0 -12px 35px rgba(30,52,43,.07)}.bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8c9892;font-size:9px}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{color:var(--primary);font-weight:700}.bottom-nav .nav-fab{position:relative}.nav-fab span{position:absolute;bottom:23px;width:56px;height:56px;border-radius:20px;background:var(--primary-dark);color:white;display:grid;place-items:center;border:5px solid var(--bg);box-shadow:0 8px 20px rgba(16,38,31,.22)}.nav-fab span svg{width:23px}.nav-fab:after{content:"افزودن";position:absolute;bottom:0;font-size:9px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(9,22,17,.52);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-end;opacity:0;pointer-events:none;transition:.25s}.modal-backdrop.open{opacity:1;pointer-events:auto}.bottom-sheet{width:min(560px,100%);background:var(--surface);border-radius:30px 30px 0 0;padding:10px 22px calc(24px + env(safe-area-inset-bottom));max-height:94vh;overflow:auto;transform:translateY(20px);transition:.25s}.modal-backdrop.open .bottom-sheet{transform:none}.bottom-sheet.small{padding-bottom:calc(34px + env(safe-area-inset-bottom))}.sheet-handle{width:45px;height:5px;border-radius:10px;background:var(--line);margin:0 auto 14px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{font-size:20px;margin:2px 0 0}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:4px;border-radius:15px;margin-bottom:15px}.segmented button{border:0;background:transparent;border-radius:12px;padding:9px;font-size:12px}.segmented button.active{background:var(--surface);box-shadow:0 3px 12px rgba(40,55,49,.08);color:var(--primary);font-weight:700}.segmented button.active.expense{color:var(--coral)}.amount-field,.input-field{display:block;margin-bottom:13px}.amount-field>span,.input-field>span,.form-label{display:block;font-size:10px;color:var(--muted);margin:0 3px 6px}.amount-field>div,.input-field input{height:54px;border:1px solid var(--line);background:var(--bg);border-radius:16px}.amount-field>div{display:flex;align-items:center;padding:0 15px}.amount-field input{border:0;background:transparent;outline:0;min-width:0;flex:1;font-size:21px;font-weight:700;color:var(--ink);direction:rtl}.amount-field b{font-size:11px;color:var(--muted)}.input-field input{width:100%;outline:0;padding:0 15px;color:var(--ink);font-size:12px}.category-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}.category-chips button{border:1px solid var(--line);background:var(--bg);border-radius:15px;padding:9px 3px;font-size:10px}.category-chips button span{font-size:17px;display:block;margin-bottom:2px}.category-chips button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.primary-btn{width:100%;border:0;background:var(--primary-dark);color:#fff;border-radius:17px;height:54px;margin-top:4px;font-size:13px;font-weight:700;box-shadow:0 10px 25px rgba(16,38,31,.16)}.helper{font-size:10px;color:var(--muted);line-height:1.9;margin:-3px 2px 14px}
.confirm-dialog{position:fixed;inset:0;z-index:100;background:rgba(9,22,17,.58);display:grid;place-items:center;padding:25px;opacity:0;pointer-events:none;transition:.2s}.confirm-dialog.open{opacity:1;pointer-events:auto}.confirm-dialog>div{width:min(340px,100%);background:var(--surface);border-radius:26px;padding:22px;text-align:center}.confirm-icon{width:50px;height:50px;border-radius:18px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;margin:0 auto 10px}.confirm-icon svg{width:24px}.confirm-dialog h3{font-size:16px;margin:5px}.confirm-dialog p{font-size:10px;color:var(--muted);line-height:1.8;margin:6px 5px 18px}.confirm-dialog>div>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirm-dialog button{height:43px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.confirm-dialog button:last-child{background:var(--coral);border-color:var(--coral);color:white}.toast{position:fixed;z-index:150;left:50%;bottom:105px;transform:translate(-50%,20px);max-width:calc(100% - 36px);background:#13221d;color:#fff;padding:11px 16px;border-radius:14px;font-size:11px;box-shadow:0 13px 30px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.25s;text-align:center;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
body.dark{--bg:#0f1714;--surface:#18231f;--surface-2:#202e29;--ink:#eef5f1;--muted:#98aaa2;--line:#283731;--primary:#56c499;--primary-dark:#2a916b;--primary-soft:#1d3d32;--coral:#ff8f77;--coral-soft:#3b2925;--amber:#e6aa48;--amber-soft:#3c3422;--blue:#7da4dd;--blue-soft:#26354a;--purple:#a998d7;--purple-soft:#302b42;--shadow:0 18px 45px rgba(0,0,0,.16);color-scheme:dark}body.dark .balance-card{background:linear-gradient(142deg,#285b49,#10271f)}body.dark .insight-card{background:linear-gradient(135deg,#1d392f,#273327);border-color:#2f493f}body.dark .insight-card p{color:#a7b9b1}body.dark .amount-field input,body.dark .input-field input{color:var(--ink)}
@media (min-width:700px){body{padding:22px 0}.app{min-height:calc(100vh - 44px);border-radius:34px;box-shadow:0 25px 80px rgba(27,50,41,.14)}.bottom-nav{bottom:22px;border-radius:0 0 34px 34px}.modal-backdrop{align-items:center}.bottom-sheet,.bottom-sheet.small{border-radius:30px;max-width:520px;padding-bottom:25px}.topbar{padding-top:16px}}
@media (max-width:360px){main{padding:0 13px}.topbar{padding-left:15px;padding-right:15px}.balance-card{padding-left:16px;padding-right:16px}.balance-value{font-size:26px}.quick-actions{gap:2px}.quick-actions b{font-size:9px}.quick-icon{width:45px;height:45px}.category-report{grid-template-columns:115px 1fr}.donut{width:108px;height:108px}.donut:before{width:70px;height:70px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
