@font-face{font-family:Vazirmatn;src:url(/assets/vazirmatn-arabic-400-DMZFCm7K.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/vazirmatn-arabic-500-C_lbnnKa.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/vazirmatn-arabic-600-CPKvAnd1.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/vazirmatn-arabic-700-Dge_DOjm.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{font-family:Vazirmatn,Arial,sans-serif;color-scheme:light;--bg:#f4f7fb;--card:#fff;--text:#182438;--muted:#64748b;--line:#e4eaf2;--soft:#f1f5fa;--blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eaf1ff;--green:#158451;--green-soft:#e6f7ee;--red:#cb4545;--red-soft:#fff0ef;--sidebar:258px;--chart-line:#e4eaf2;--shadow:0 12px 36px #15233b0b;--shadow-hover:0 16px 40px #15233b14;background:var(--bg);color:var(--text);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);transition:background .25s ease,color .25s ease}body.dark{color-scheme:dark;--bg:#0b1220;--card:#121c2b;--text:#e6edf7;--muted:#a5b2c5;--line:#2a394e;--soft:#1a293b;--blue:#78a5ff;--blue-hover:#9bbaff;--blue-soft:#1a2c49;--green:#68d69d;--green-soft:#173b2d;--red:#ff8989;--red-soft:#402426;--chart-line:#314056;--shadow:0 14px 38px #0003;--shadow-hover:0 18px 44px #0005}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 48%,transparent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}::selection{background:color-mix(in srgb,var(--blue) 24%,transparent)}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 0 0 auto;width:var(--sidebar);background:var(--card);border-left:1px solid var(--line);padding:23px 18px;display:flex;flex-direction:column;z-index:5;transition:background .25s,border-color .25s}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);padding:4px 6px 28px}.brand b{font-size:19px;display:block;line-height:1.45}.brand b small{font:500 11px Arial,sans-serif;letter-spacing:.04em;color:var(--muted);margin-right:5px}.brand small,.profile small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.brand-mark,.avatar{width:42px;height:42px;flex:none;border-radius:14px;background:linear-gradient(145deg,#4b85f6,#1752ca);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:700;box-shadow:0 7px 18px #2563eb38}.nav-label{font-size:11px;color:var(--muted);padding:8px 13px 11px}nav{display:grid;gap:6px}nav button{border:1px solid transparent;background:transparent;border-radius:12px;text-align:right;padding:12px 14px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:17px;transition:background .18s,color .18s,border-color .18s,transform .18s}nav button span{font-size:14px}nav button:hover{background:var(--soft);color:var(--text);transform:translate(-2px)}nav button.active{background:var(--blue-soft);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 17%,transparent);box-shadow:inset -3px 0 var(--blue)}.privacy-note{margin-top:auto;background:var(--soft);border:1px solid var(--line);border-radius:15px;padding:15px 12px;display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--green)}.privacy-note b{display:block;font-size:11px;color:var(--text)}.privacy-note small{display:block;color:var(--muted);font-size:10px;line-height:1.8;margin-top:4px}.profile{border-top:1px solid var(--line);padding-top:15px;margin-top:14px;display:flex;align-items:center;gap:9px}.profile b{font-size:12px}.profile .avatar{width:36px;height:36px;border-radius:50%;font-size:18px}.profile-more{margin-right:auto;color:var(--muted)}.main{margin-right:var(--sidebar);max-width:1530px;padding:30px clamp(20px,4.2vw,68px) 24px;margin-left:auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading small{display:block;color:var(--muted);font-size:11px}.page-heading h1{font-size:25px;letter-spacing:-.02em;margin:4px 0 0}.top-actions{display:flex;gap:10px;align-items:center}.primary,.secondary,.icon-button{border:1px solid transparent;border-radius:11px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s,color .18s}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--blue) 25%,transparent);font-weight:600}.primary:hover{background:var(--blue-hover);transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 30%,transparent)}.secondary,.icon-button{background:var(--card);color:var(--text);border-color:var(--line)}.secondary:hover,.icon-button:hover{background:var(--soft);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));transform:translateY(-1px)}.icon-button{width:40px;height:40px;padding:0}.page-content{animation:page-enter .34s ease both}.cards{display:grid;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:background .22s,border-color .22s,box-shadow .2s,transform .2s;animation:card-enter .38s ease both}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title-copy{display:flex;align-items:center;gap:11px}.section-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);flex:none}.section-title h2,.card h2{font-size:16px;font-weight:700;margin:0}.section-title p,.muted{color:var(--muted);font-size:12px;margin:5px 0 0}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat-card{min-width:0;min-height:174px}.stat-label{color:var(--muted);font-size:12px;font-weight:500}.stat-value{font-size:clamp(17px,1.55vw,22px);font-weight:700;letter-spacing:-.035em;margin:12px 0 5px;line-height:1.5;overflow-wrap:anywhere}.stat-sub{font-size:11px;color:var(--muted)}.stat-icon{float:left;width:38px;height:38px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.stat-icon.green{background:var(--green-soft);color:var(--green)}.stat-icon.red{background:var(--red-soft);color:var(--red)}.balance-card{position:relative;isolation:isolate;overflow:hidden;min-height:174px;padding:17px 19px;border-radius:18px;color:#fff;background:linear-gradient(132deg,#377df2,#245acb 55%,#173e9c);box-shadow:0 14px 32px #1d4ed838;animation:card-enter .42s ease both}.balance-card:before,.balance-card:after{content:"";position:absolute;z-index:-1;border:1px solid #ffffff20;border-radius:50%;pointer-events:none}.balance-card:before{width:205px;height:205px;left:-62px;top:-108px}.balance-card:after{width:148px;height:148px;left:-21px;top:-76px}.balance-decoration{position:absolute;z-index:-1;left:35px;bottom:-65px;width:130px;height:130px;border-radius:50%;background:#ffffff0b}.balance-top,.balance-bottom{display:flex;align-items:center;gap:9px}.balance-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#ffffff20}.balance-eyebrow{font-size:11px;color:#e4edff}.balance-live{margin-right:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ffffff32;border-radius:20px;color:#e7f1ff;font-size:10px}.balance-live i{width:6px;height:6px;border-radius:50%;background:#87efb4;box-shadow:0 0 0 3px #87efb42a}.balance-label{font-size:12px;color:#e5edff;margin-top:15px}.balance-value{font-size:clamp(18px,1.6vw,23px);font-weight:700;letter-spacing:-.04em;margin:2px 0 10px;line-height:1.5;overflow-wrap:anywhere}.balance-bottom{justify-content:space-between;color:#d6e4ff;font-size:10px}.balance-orbit{width:29px;height:29px;border-radius:10px;background:#ffffff18;display:grid;place-items:center}.charts{grid-template-columns:1.2fr 1fr;margin-bottom:16px;align-items:stretch}.chart-card{min-width:0;display:flex;flex-direction:column}.chart{position:relative;min-width:0}.chart svg{width:100%;height:100%;overflow:visible}.chart text{font-family:inherit;fill:var(--muted);font-size:10px}.legend{display:flex;gap:18px;color:var(--muted);font-size:11px;margin-bottom:8px}.legend i,.chart-tooltip i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-left:5px}.income-dot{background:var(--green)}.expense-dot{background:var(--blue)}.bar-chart{height:235px;min-height:205px;margin-top:auto}.bar-group{outline:none;cursor:pointer}.bar-group:focus-visible rect{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--blue) 70%,transparent))}.bar{transform-box:fill-box;transform-origin:center bottom;animation:bar-rise .62s cubic-bezier(.2,.75,.3,1) both;transition:filter .18s,opacity .18s}.bar-group:nth-of-type(2) .bar{animation-delay:.04s}.bar-group:nth-of-type(3) .bar{animation-delay:.09s}.bar-group:nth-of-type(4) .bar{animation-delay:.14s}.bar-group:nth-of-type(5) .bar{animation-delay:.19s}.bar-group:nth-of-type(6) .bar{animation-delay:.24s}.bar-group:nth-of-type(7) .bar{animation-delay:.29s}.bar-group:hover .bar,.bar-group.active .bar{filter:brightness(1.12);opacity:.92}.bar-group text{transition:fill .18s}.bar-group.active text{fill:var(--text);font-weight:700}.chart-tooltip{position:absolute;z-index:2;top:8px;left:8px;display:grid;gap:6px;min-width:190px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow-hover);color:var(--text);font-size:11px;animation:tooltip-in .16s ease both}.chart-tooltip b{font-size:12px}.chart-tooltip span{display:flex;align-items:center;white-space:nowrap}.donut-layout{min-width:0;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,24px);flex:1;padding:8px 0}.donut{width:min(45%,190px);height:auto;flex:0 0 min(45%,190px);overflow:visible}.donut-segment{stroke-dasharray:0 100;animation:donut-sweep .8s cubic-bezier(.2,.72,.24,1) var(--segment-delay,0ms) forwards;transition:stroke .2s,stroke-width .2s}.donut-segment:hover{stroke-width:18}.key-list{min-width:0;display:grid;gap:10px;flex:1}.key-item{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:7px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.key-item i{width:9px;height:9px;border-radius:3px}.key-item b{color:var(--text);font-size:10px;font-weight:600;white-space:nowrap}.key-item small{font-size:10px;white-space:nowrap}.donut-empty{flex:1;display:grid;place-items:center;min-height:180px}.recent-list,.list{display:grid}.row{min-width:0;display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row-icon{width:39px;height:39px;flex:none;border-radius:13px;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue)}.row-icon.income{background:var(--green-soft);color:var(--green)}.row-icon.expense{background:var(--red-soft);color:var(--red)}.row-main{min-width:0;flex:1}.row-main b{font-size:13px}.row-main small{display:block;color:var(--muted);font-size:11px;margin-top:4px;overflow-wrap:anywhere}.amount{font-size:12px;font-weight:700;white-space:nowrap}.amount.income{color:var(--green)}.amount.expense{color:var(--text)}.row-actions{display:flex;gap:5px}.mini-btn{border:1px solid transparent;background:transparent;color:var(--muted);padding:7px;border-radius:9px;display:inline-grid;place-items:center;transition:background .15s,color .15s,border-color .15s}.mini-btn:hover{background:var(--soft);border-color:var(--line);color:var(--blue)}.mini-btn.danger:hover{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,transparent)}.dashboard-month{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 18px;margin-bottom:16px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:var(--shadow)}.dashboard-month b,.dashboard-month small{display:block}.dashboard-month b{font-size:13px}.dashboard-month small{color:var(--muted);font-size:11px;margin-top:3px}.month-picker{display:flex;align-items:center;gap:10px}.month-picker>span{font-weight:600;min-width:90px;text-align:center}.text-button{border:0;background:transparent;color:var(--blue);font:inherit;font-size:12px;padding:5px}.text-button:hover{text-decoration:underline}.dashboard-month>.text-button{justify-self:end}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filters input,.filters select,.form-grid input,.form-grid select,.category-name-field input{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:10px 12px;color:var(--text);min-height:43px;transition:border .16s,box-shadow .16s,background .2s}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.category-name-field input:focus{border-color:var(--blue)}.filters select{min-width:155px}.search-field{min-width:210px;flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:0 12px;color:var(--muted)}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.search-field input{border:0!important;outline:0!important;box-shadow:none!important;min-width:0!important;width:100%;background:transparent!important}.transaction-filters{margin-bottom:10px}.date-range-filter{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:0 0 16px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.range-quick{display:flex;align-items:center;gap:4px;padding:4px;border-radius:11px;background:var(--soft)}.range-quick button{border:1px solid transparent;background:transparent;border-radius:8px;padding:8px 12px;color:var(--muted);font-size:11px;transition:background .16s,color .16s,box-shadow .16s}.range-quick button:hover{color:var(--text);background:color-mix(in srgb,var(--card) 75%,transparent)}.range-quick button.selected{background:var(--card);color:var(--blue);border-color:var(--line);box-shadow:0 2px 7px #12233b12;font-weight:600}.range-caption{color:var(--muted);font-size:11px;margin-inline-start:auto}.custom-range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.range-separator{color:var(--muted);font-size:11px;padding-bottom:11px}.date-picker{position:relative;min-width:0;display:grid;gap:6px}.field-label{font-size:11px;color:var(--muted);font-weight:500}.date-trigger{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);text-align:right;transition:border .16s,background .2s,box-shadow .16s}.date-trigger:hover{border-color:color-mix(in srgb,var(--blue) 55%,var(--line))}.date-trigger[aria-expanded=true]{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}.date-trigger>span:last-child{color:var(--blue)}.jalali-calendar{position:relative;z-index:3;margin-top:2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow-hover);min-width:260px;animation:calendar-in .18s ease both}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.calendar-head b{font-size:12px}.calendar-head button{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--soft);display:grid;place-items:center;color:var(--text)}.calendar-head button:hover{color:var(--blue);border-color:var(--blue)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-weekdays{margin-bottom:4px;color:var(--muted);font-size:10px}.calendar-weekdays span{padding:5px 0}.calendar-grid>button{min-height:33px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-size:11px;transition:background .13s,color .13s,border .13s}.calendar-grid>button:hover{background:var(--blue-soft);color:var(--blue)}.calendar-grid>button.selected{background:var(--blue);color:#fff;font-weight:700}.calendar-blank{min-height:33px}.calendar-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.report-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.report-toolbar>div{min-width:0;flex:1}.report-toolbar .section-title{margin-bottom:10px}.report-toolbar .date-range-filter{margin-bottom:0}.export-button{flex:none;margin-top:1px}.report-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pill{display:inline-flex;padding:4px 9px;border-radius:99px;background:var(--blue-soft);color:var(--blue);font-size:10px}.category-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.category-intro .section-title{margin:0}.category-intro>.primary{flex:none}.category-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.category-section{min-width:0;margin:0}.category-section-head{display:flex;align-items:center;gap:11px;margin:0 0 12px}.category-section-head h2{margin:0;font-size:16px}.category-section-head small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.category-section-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center}.category-section-icon.expense{background:var(--red-soft);color:var(--red)}.category-section-icon.income{background:var(--green-soft);color:var(--green)}.section-rule{height:1px;flex:1;background:var(--line);margin-inline-start:8px}.category-grid{grid-template-columns:1fr;gap:9px}.category-card{min-width:0;display:flex;align-items:center;gap:10px;padding:12px 11px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.category-symbol{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--category-color,var(--blue)) 14%,var(--card));color:var(--category-color,var(--blue))}.category-card .row-main{flex:1}.category-card .row-main b{font-size:12px}.category-card small{color:var(--muted)}.settings-card{margin-bottom:16px}.setting-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.setting-line:first-of-type{border-top:0}.setting-desc b{font-size:13px;display:block}.setting-desc small{font-size:11px;color:var(--muted)}.setting-actions{display:flex;gap:8px;flex-wrap:wrap}.danger{color:var(--red)}.privacy-banner{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 22%,var(--line));color:var(--text)}.privacy-banner>b{display:flex;align-items:center;gap:8px;color:var(--blue)}.privacy-banner p{line-height:1.9}.empty{text-align:center;padding:34px;color:var(--muted)}footer{text-align:center;color:var(--muted);font-size:10px;padding:24px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0b1424a3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .17s ease both}.dialog{width:min(580px,calc(100% - 4px));max-height:min(92vh,820px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:0;background:var(--card);color:var(--text);box-shadow:0 28px 90px #07132755;animation:dialog-in .24s cubic-bezier(.2,.75,.25,1) both}.dialog::backdrop{background:transparent}.dialog form{padding:24px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-head h2{font-size:21px;margin:2px 0 0}.dialog-kicker{font-size:10px;color:var(--blue);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.category-name-field{display:grid;gap:7px;font-size:12px;color:var(--muted)}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.category-name-field input{width:100%;font-size:13px}.dialog-actions{display:flex;justify-content:flex-start;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.dialog-actions .primary{min-width:152px}.dialog-actions .secondary{min-width:100px}.transaction-dialog{width:min(620px,calc(100% - 4px))}.transaction-type{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--soft);margin-bottom:16px}.transaction-type button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;transition:background .16s,color .16s,box-shadow .16s}.transaction-type button span{display:grid;place-items:center}.transaction-type button.expense.selected{background:var(--card);color:var(--red);border-color:var(--line);box-shadow:0 2px 8px #1112}.transaction-type button.income.selected{background:var(--card);color:var(--green);border-color:var(--line);box-shadow:0 2px 8px #1112}.amount-field{display:grid;gap:8px;margin-bottom:15px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.amount-field>span{font-size:11px;color:var(--muted);font-weight:600}.amount-field>span small{color:var(--blue);font-size:10px}.amount-input-wrap{display:flex;align-items:center;gap:10px}.amount-input-wrap input{min-width:0;width:100%;border:0;outline:0!important;box-shadow:none!important;background:transparent;color:var(--text);font-size:30px;font-weight:700;letter-spacing:.015em;padding:0}.amount-input-wrap input::placeholder{color:var(--muted);opacity:.5}.amount-input-wrap>span{flex:none;color:var(--muted);font-size:12px}.field-hint{font-size:10px;color:var(--muted)}.transaction-form-grid{align-items:start}.transaction-form-grid .date-picker{grid-column:span 1}.transaction-form-grid .date-picker .field-label{padding-top:1px}.transaction-form-grid>.wide{grid-column:1/-1}.switch{position:relative;width:46px;height:26px;flex:none;border:0;border-radius:99px;background:#aab5c5;transition:background .2s}.switch:after{content:"";position:absolute;top:4px;right:4px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:right .2s}.switch.on{background:var(--blue)}.switch.on:after{right:24px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.category-dialog{width:min(560px,calc(100% - 4px))}.category-name-field{margin-bottom:13px}.category-name-field input{color:var(--text)}.category-type-picker{display:flex;gap:7px;margin:12px 0 17px}.category-type-picker button{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);font-size:11px;transition:background .15s,color .15s,border .15s}.category-type-picker button:hover{background:var(--soft);color:var(--text)}.category-type-picker button.selected{background:var(--blue-soft);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));font-weight:600}.choice-field{border:0;border-top:1px solid var(--line);padding:13px 0 0;margin:0 0 14px;min-width:0}.choice-field legend{padding:0 0 8px;font-size:11px;color:var(--muted);font-weight:600}.icon-palette{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.icon-palette button{height:39px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--muted);display:grid;place-items:center;transition:background .15s,color .15s,border .15s,transform .15s}.icon-palette button:hover{transform:translateY(-2px);color:var(--blue);border-color:var(--blue)}.icon-palette button.selected{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}.color-palette{display:flex;flex-wrap:wrap;gap:8px}.color-palette button{width:29px;height:29px;border:2px solid transparent;border-radius:50%;padding:3px;background:transparent;transition:transform .15s,border .15s}.color-palette button span{display:block;width:100%;height:100%;border-radius:50%;background:var(--swatch)}.color-palette button:hover{transform:scale(1.12)}.color-palette button.selected{border-color:var(--text)}.category-preview-label{font-size:10px;color:var(--muted);margin:15px 0 7px}.category-preview{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--soft);--category-color:var(--blue)}.category-preview>span:last-child{display:grid;gap:3px}.category-preview b{font-size:12px}.category-preview small{font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:24px;z-index:30;background:var(--text);color:var(--bg);padding:12px 17px;border-radius:12px;box-shadow:var(--shadow-hover);animation:toast-in .2s ease both}@keyframes page-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes calendar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-rise{0%{transform:scaleY(.05);opacity:.55}to{transform:scaleY(1);opacity:1}}@keyframes donut-sweep{to{stroke-dasharray:var(--segment-length) 100}}@media(max-width:1120px){:root{--sidebar:226px}.stats,.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:1fr}.chart-card{min-height:340px}.main{padding-inline:25px}}@media(max-width:720px){:root{--sidebar:0}.sidebar{inset:auto 0 0;width:100%;height:70px;padding:5px 8px;border-left:0;border-top:1px solid var(--line);box-shadow:0 -8px 28px #101e3412}.brand,.nav-label,.privacy-note,.profile{display:none}nav{height:100%;display:flex;justify-content:space-around;gap:3px}nav button{flex:1;flex-direction:column;justify-content:center;gap:3px;padding:5px 0;border-radius:10px;font-size:18px}nav button span{font-size:9px}.main{margin:0;padding:17px 14px 94px}.topbar{align-items:center;margin-bottom:17px}.page-heading h1{font-size:21px}.page-heading small{font-size:10px}.top-actions{gap:6px}.primary{padding:9px 11px;font-size:11px}.icon-button{width:37px;height:37px}.dashboard-month{grid-template-columns:1fr auto;padding:11px 12px;gap:8px}.dashboard-month>.text-button{grid-column:1/-1;justify-self:start}.month-picker{gap:3px}.month-picker>span{min-width:75px;font-size:11px}.stats,.report-cards{gap:9px}.stat-card,.balance-card{min-height:160px;padding:13px}.balance-value,.stat-value{font-size:clamp(15px,4vw,19px)}.stat-label{font-size:10px}.stat-sub{font-size:9px}.stat-icon{width:32px;height:32px;border-radius:11px}.charts{gap:11px}.chart-card{min-height:0;padding:14px}.bar-chart{height:205px;min-height:190px}.donut-layout{gap:8px;padding:4px 0}.donut{width:42%;flex-basis:42%}.key-list{gap:8px}.key-item{grid-template-columns:9px minmax(0,1fr) auto;gap:5px;font-size:10px}.key-item small{display:none}.card{padding:15px;border-radius:15px}.section-icon{width:33px;height:33px}.section-title h2,.card h2{font-size:14px}.row{gap:7px;padding:11px 0}.row-icon{width:33px;height:33px;border-radius:11px}.row-actions{gap:0}.amount{font-size:10px}.row-main b{font-size:11px}.row-main small{font-size:9px}.filters{gap:7px}.transaction-filters select{flex:1;min-width:0}.search-field{min-width:100%}.date-range-filter{align-items:stretch;gap:9px;padding:9px}.range-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.range-quick button{padding:8px 5px;font-size:10px}.range-caption{margin-inline-start:0}.custom-range{display:grid;grid-template-columns:1fr 1fr;gap:7px}.range-separator{display:none}.date-picker{min-width:0}.jalali-calendar{min-width:0;padding:9px}.calendar-grid{gap:1px}.calendar-grid>button{min-height:30px}.report-toolbar{flex-direction:column}.report-toolbar>div{width:100%}.report-toolbar .date-range-filter{margin-bottom:0}.export-button{align-self:flex-start}.category-intro{align-items:flex-start;gap:12px;flex-direction:column}.category-intro>.primary{align-self:flex-start}.category-panels{grid-template-columns:1fr;gap:13px}.category-grid{grid-template-columns:1fr}.category-card{padding:12px}.category-section{margin-top:0}.setting-line{align-items:flex-start;flex-direction:column}.setting-line>.secondary,.setting-line>.file-button{align-self:flex-start}.dialog{width:min(100%,560px);max-height:92vh;border-radius:19px}.dialog form{padding:18px}.dialog-head h2{font-size:18px}.form-grid{grid-template-columns:1fr;gap:11px}.form-grid .wide,.transaction-form-grid>.wide{grid-column:auto}.transaction-form-grid .date-picker{grid-column:auto}.amount-input-wrap input{font-size:25px}.icon-palette{grid-template-columns:repeat(5,minmax(0,1fr))}.dialog-actions{position:sticky;bottom:-18px;background:var(--card);padding:13px 0 0}.dialog-actions .primary{flex:1;min-width:0}.dialog-actions .secondary{min-width:90px}.toast{bottom:82px;left:12px;right:12px;text-align:center}}@media(max-width:380px){.stats,.report-cards{grid-template-columns:1fr 1fr}.balance-card{grid-column:1/-1;min-height:148px}.balance-value{font-size:22px}.stat-card{min-height:148px}.key-item{font-size:9px}.row{gap:5px}.amount{font-size:9px}.icon-palette{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.chart-tooltip{position:fixed;top:0;left:0;z-index:25;pointer-events:none;min-width:0;max-width:min(320px,calc(100vw - 16px));white-space:normal}.donut-segment{transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);transition:stroke .2s,stroke-width .2s,transform .2s}.donut-segment:hover,.donut-segment.active{stroke-width:20;transform:rotate(-90deg) scale(1.09);filter:drop-shadow(0 2px 3px #0003)}.key-item{font-size:13px;grid-template-columns:11px minmax(0,1fr) auto auto;gap:8px;transition:color .16s,transform .16s}.key-item b{font-size:13px}.key-item small{font-size:12px}.key-item.active{color:var(--text);transform:translate(-2px)}.key-name{min-width:0}.date-range-filter{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;width:100%;min-width:0;box-sizing:border-box;flex:none;flex-wrap:initial}.range-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;box-sizing:border-box}.range-quick button{min-width:0;white-space:nowrap;padding-inline:8px}.custom-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;width:100%;min-width:0}.custom-range .date-picker{min-width:0;width:100%}.range-separator{display:none}.range-caption{justify-self:start;margin:0}.category-card{background:color-mix(in srgb,var(--card) 82%,var(--soft))}.modal-backdrop{box-sizing:border-box;overflow-y:auto}.modal-backdrop>dialog.dialog{position:relative;inset:auto;margin:0;place-self:center;direction:rtl;text-align:right;width:min(620px,100%);max-height:min(92dvh,820px)}.modal-backdrop>dialog.dialog form{direction:rtl;text-align:right}@media(max-width:720px){.date-range-filter{gap:8px;padding:9px}.range-quick button{padding-inline:4px;font-size:10px}.custom-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.key-item{font-size:12px;grid-template-columns:9px minmax(0,1fr) auto auto;gap:5px}.key-item b{font-size:12px}.key-item small{display:block;font-size:10px}.modal-backdrop{padding:12px}.modal-backdrop>dialog.dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:19px}.modal-backdrop>dialog.dialog form{padding:18px}}.report-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.report-toolbar>div{display:contents}.report-toolbar .date-range-filter{grid-column:1/-1;width:100%;min-width:0}@media(max-width:720px){.report-toolbar{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:420px){.report-toolbar{grid-template-columns:minmax(0,1fr)}}.bar-chart-tooltip .tooltip-data-row{display:grid;grid-template-columns:9px auto minmax(0,1fr);align-items:center;gap:7px;white-space:nowrap}.bar-chart-tooltip .tooltip-data-row strong{justify-self:end;color:var(--text);font-size:12px;font-weight:700}.row-icon.category-custom{background:color-mix(in srgb,var(--category-color) 16%,var(--card));color:var(--category-color)}.plan-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.plan-stat{min-width:0;min-height:154px}.plan-stat-value{font-size:clamp(16px,1.45vw,21px);font-weight:700;line-height:1.55;margin:11px 0 4px;overflow-wrap:anywhere;letter-spacing:-.025em}.budget-panel,.plan-list-panel{position:relative;margin-bottom:16px}.budget-summary{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:13px;margin:15px 0}.budget-current,.budget-recommendation{display:grid;align-content:start;gap:7px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft);min-width:0}.budget-current>small,.budget-recommendation>small{font-size:11px;color:var(--muted)}.budget-current>strong{font-size:clamp(19px,2vw,27px);overflow-wrap:anywhere}.budget-mode{justify-self:start;border-radius:99px;padding:4px 9px;font-size:10px;background:var(--blue-soft);color:var(--blue)}.budget-mode.manual{background:var(--green-soft);color:var(--green)}.budget-recommendation>b{font-size:12px}.budget-recommendation>strong{font-size:18px}.budget-controls{display:grid;grid-template-columns:minmax(100px,.5fr) minmax(180px,1fr) auto;align-items:end;gap:12px}.budget-controls label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.budget-controls label>span{font-size:10px}.budget-controls input,.plan-form-grid input,.completion-field select,.completion-form input,.completion-form select{width:100%;min-width:0}.budget-actions{display:flex;flex-wrap:wrap;gap:8px}.budget-actions button{font-size:11px;padding:9px 11px}.budget-actions button:disabled{opacity:.52;cursor:not-allowed;transform:none}.plan-list-panel>.section-title{padding-inline-end:135px}.plan-add-button{position:absolute;top:20px;left:20px;padding:8px 11px;font-size:11px}.plan-month-groups{display:grid;gap:18px}.plan-month-group h3{font-size:13px;margin:4px 0 10px;color:var(--blue)}.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.expense-plan-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft);transition:border-color .18s,box-shadow .18s,transform .18s}.expense-plan-card:hover{border-color:color-mix(in srgb,var(--blue) 32%,var(--line));box-shadow:var(--shadow);transform:translateY(-1px)}.expense-plan-top{display:flex;align-items:flex-start;gap:10px;min-width:0}.expense-plan-icon,.dashboard-plan-icon{width:37px;height:37px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:var(--blue-soft)}.expense-plan-heading{display:grid;gap:6px;min-width:0;flex:1}.expense-plan-heading h4{font-size:13px;line-height:1.5;margin:0;overflow-wrap:anywhere}.priority-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;padding:3px 8px;border-radius:99px;font-size:10px;white-space:nowrap}.priority-badge.essential{color:#b42318;background:color-mix(in srgb,#ef4444 12%,var(--card))}.priority-badge.high{color:#a15c00;background:color-mix(in srgb,#f59e0b 15%,var(--card))}.priority-badge.normal{color:var(--blue);background:var(--blue-soft)}.plan-status{display:inline-flex;align-items:center;gap:4px;max-width:42%;color:var(--muted);font-size:10px;text-align:left}.plan-status.ready{color:var(--green)}.plan-status.needs-review{color:var(--red)}.plan-status.completed{color:var(--green)}.expense-plan-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:14px 0 12px}.expense-plan-details>span{display:grid;gap:3px;color:var(--muted);font-size:10px}.expense-plan-details b{font-size:11px;color:var(--text);overflow-wrap:anywhere}.plan-progress-head{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:6px}.plan-progress-head b{color:var(--text)}.plan-progress,.dashboard-plan-progress{height:7px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--line) 75%,transparent)}.plan-progress>span,.dashboard-plan-progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#58a6ff);transition:width .45s cubic-bezier(.2,.7,.2,1)}.plan-warning{display:flex;align-items:flex-start;gap:6px;margin-top:10px;color:var(--red);font-size:10px;line-height:1.6}.plan-warning svg{flex:none;margin-top:2px}.expense-plan-notes{font-size:10px;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}.expense-plan-actions{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.plan-order-actions{display:flex;gap:3px;margin-inline-end:auto}.mini-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.complete-plan-button{font-size:10px;padding:7px 9px}.mini-btn.danger{color:var(--red)}.completed-plans{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.completed-plans .expense-plan-card{opacity:.78}.plan-empty{display:grid;justify-items:center;gap:6px;padding:26px 12px}.planning-empty{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed var(--line);border-radius:14px;background:var(--soft)}.planning-empty>div{display:grid;gap:4px;min-width:0;flex:1}.planning-empty b{font-size:12px}.planning-empty small{font-size:10px;color:var(--muted);line-height:1.7}.plan-empty-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:13px;background:var(--blue-soft);color:var(--blue)}.upcoming-plans{margin-bottom:16px}.upcoming-plan-list{display:grid;gap:10px}.dashboard-plan-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);min-width:0}.dashboard-plan-item:last-child{border-bottom:0}.dashboard-plan-icon{width:34px;height:34px}.dashboard-plan-main{display:grid;gap:5px;flex:1;min-width:0}.dashboard-plan-main>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dashboard-plan-main>div>b{font-size:12px;overflow-wrap:anywhere}.dashboard-plan-main>small,.dashboard-plan-amount>small{font-size:10px;color:var(--muted)}.dashboard-plan-progress{height:5px;max-width:250px}.dashboard-plan-amount{display:grid;gap:4px;text-align:left;max-width:36%}.dashboard-plan-amount>b{font-size:11px;overflow-wrap:anywhere}.upcoming-link{margin-top:10px}.plan-form-grid{align-items:start}.plan-amount-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.plan-amount-field>span,.plan-form-grid label>span{font-size:10px;color:var(--muted)}.plan-amount-field>.plan-amount-label{justify-self:start;color:var(--text);font-size:12px;font-weight:600}.plan-amount-field input{grid-column:1/-1;font-size:20px!important;font-weight:700;padding:12px!important}.plan-priority-picker,.completion-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.priority-choice,.completion-options button{display:flex;justify-content:center;align-items:center;gap:6px;min-width:0;padding:10px 7px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--muted);font-size:11px;transition:background .16s,border-color .16s,color .16s,transform .16s}.priority-choice:hover,.completion-options button:hover{transform:translateY(-1px);border-color:var(--blue)}.priority-choice.selected.essential{color:#b42318;border-color:#ef4444;background:color-mix(in srgb,#ef4444 10%,var(--card))}.priority-choice.selected.high{color:#a15c00;border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--card))}.priority-choice.selected.normal,.completion-options button.selected{color:var(--blue);border-color:var(--blue);background:var(--blue-soft)}.form-error{color:var(--red);font-size:11px;margin:9px 0}.complete-plan-note{margin:0 0 14px;padding:11px 13px;border-radius:12px;background:var(--blue-soft);color:var(--text);font-size:11px;line-height:1.8}.completion-field{display:grid;gap:7px;margin-top:13px;font-size:11px;color:var(--muted)}.completion-field small{font-size:10px;color:var(--muted)}.completion-form{margin-top:13px}@media(max-width:1120px){.plan-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-controls{grid-template-columns:minmax(100px,.5fr) minmax(180px,1fr)}.budget-actions{grid-column:1/-1}}@media(max-width:720px){.plan-stats{gap:9px}.plan-stat{min-height:140px;padding:13px}.plan-stat-value{font-size:16px}.budget-summary{grid-template-columns:1fr}.budget-controls{grid-template-columns:1fr 1fr;gap:9px}.budget-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}.plan-list-panel>.section-title{padding-inline-end:0;padding-bottom:36px}.plan-add-button{top:auto;bottom:16px;left:15px}.plan-cards{grid-template-columns:1fr}.expense-plan-card{padding:12px}.expense-plan-top{gap:7px}.expense-plan-icon{width:32px;height:32px}.plan-status{font-size:9px}.expense-plan-details{gap:8px}.planning-empty{align-items:flex-start;flex-wrap:wrap}.planning-empty>div{flex-basis:calc(100% - 60px)}.planning-empty>.secondary{margin-inline-start:54px}.dashboard-plan-item{gap:7px}.dashboard-plan-main>div>b{font-size:11px}.dashboard-plan-amount>b{font-size:10px}.plan-dialog .plan-priority-picker,.complete-plan-dialog .completion-options{grid-template-columns:1fr}.plan-dialog .priority-choice,.completion-options button{justify-content:flex-start}.plan-form-grid .wide{grid-column:auto}}@media(max-width:380px){.plan-stats{grid-template-columns:1fr 1fr}.plan-stat{padding:11px}.plan-stat-value{font-size:14px}.budget-controls{grid-template-columns:1fr}.budget-actions{grid-column:auto}.expense-plan-details{grid-template-columns:1fr 1fr}.plan-status{max-width:38%}.expense-plan-actions{gap:4px}.complete-plan-button{padding:7px;font-size:9px}.dashboard-plan-amount{max-width:42%}}@media(prefers-reduced-motion:reduce){.expense-plan-card,.plan-progress>span,.dashboard-plan-progress>i{transition:none}}.budget-value-button{display:flex;align-items:center;gap:9px;max-width:100%;padding:0;border:0;background:transparent;color:var(--text);text-align:right}.budget-value-button strong{font-size:clamp(19px,2vw,27px);overflow-wrap:anywhere}.budget-value-button svg{flex:none;color:var(--blue);opacity:.65;transition:opacity .16s,transform .16s}.budget-value-button:hover svg{opacity:1;transform:translateY(-1px)}.budget-inline-edit{display:grid;gap:8px;min-width:0}.budget-inline-input{display:flex;align-items:center;gap:8px;max-width:100%}.budget-inline-input input{width:min(100%,250px);min-width:0;font-size:20px;font-weight:700}.budget-inline-input>span{font-size:11px;color:var(--muted);flex:none}.budget-inline-actions{display:flex;gap:7px}.budget-inline-actions button{padding:7px 11px;font-size:10px}.budget-current{min-width:0}.priority-tabs{display:flex;align-items:center;gap:6px;padding:5px;margin:4px 0 16px;border:1px solid var(--line);border-radius:13px;background:var(--soft);overflow-x:auto;scrollbar-width:thin}.priority-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:max-content;padding:8px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;transition:background .16s,color .16s,border-color .16s,box-shadow .16s}.priority-tabs button:hover{color:var(--text);background:var(--card)}.priority-tabs button.selected{color:var(--blue);background:var(--card);border-color:color-mix(in srgb,var(--blue) 30%,var(--line));box-shadow:0 2px 7px #101e3410;font-weight:700}.priority-tabs button>span{display:grid;place-items:center;min-width:21px;height:20px;padding:0 5px;border-radius:99px;background:color-mix(in srgb,var(--line) 70%,transparent);font-size:10px}.priority-tabs button.selected>span{background:var(--blue-soft);color:var(--blue)}.expense-plan-heading h4{font-size:17px;font-weight:700;line-height:1.55}.expense-plan-heading{gap:7px}.expense-plan-details>span{font-size:10px;color:var(--muted)}.transaction-combobox{position:relative;z-index:4;width:100%;min-width:0}.transaction-select-trigger{display:flex;align-items:center;gap:8px;width:100%;min-height:46px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);text-align:right;box-shadow:0 1px 2px #00000008;transition:border-color .16s,box-shadow .16s,background .16s}.transaction-select-trigger:hover{border-color:color-mix(in srgb,var(--blue) 48%,var(--line));background:var(--soft)}.transaction-select-trigger:focus-visible,.transaction-combobox:focus-within .transaction-select-trigger{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 17%,transparent)}.transaction-option-title{display:block;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text)}.transaction-option-meta{flex:none;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}.transaction-select-chevron{flex:none;transform:rotate(-90deg);color:var(--muted);transition:transform .16s}.transaction-select-chevron.open{transform:rotate(90deg);color:var(--blue)}.transaction-select-menu{position:absolute;top:calc(100% + 5px);inset-inline:0;z-index:30;max-height:min(240px,34dvh);overflow:auto;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 12px 30px #0b142433;overscroll-behavior:contain;scrollbar-width:thin}.transaction-select-menu>button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:right;transition:background .14s,border-color .14s}.transaction-select-menu>button:hover,.transaction-select-menu>button.keyboard-active{background:var(--soft);border-color:var(--line)}.transaction-select-menu>button.selected{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 24%,var(--line))}.transaction-select-menu>button>svg{grid-column:2;grid-row:1/3;color:var(--blue)}.transaction-select-menu>button .transaction-option-title,.transaction-select-menu>button .transaction-option-meta{grid-column:1}.transaction-select-empty{padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:var(--soft);font-size:11px;line-height:1.7}.plan-dialog,.complete-plan-dialog{width:min(600px,calc(100% - 4px));max-height:min(90dvh,780px)}.plan-dialog form,.complete-plan-dialog form{display:flex;flex-direction:column;gap:0;min-height:0;padding:24px}.plan-dialog .dialog-head,.complete-plan-dialog .dialog-head{flex:none;margin-bottom:18px}.plan-dialog .form-grid,.complete-plan-dialog .form-grid{flex:none;gap:14px}.plan-dialog .form-grid label,.complete-plan-dialog .form-grid label{min-width:0;align-content:start;gap:7px}.plan-dialog .form-grid input,.complete-plan-dialog .form-grid input,.complete-plan-dialog .form-grid select{min-height:44px}.plan-dialog .choice-field{flex:none}.plan-dialog .dialog-actions,.complete-plan-dialog .dialog-actions{position:sticky;bottom:0;z-index:2;flex:none;justify-content:flex-start;gap:9px;margin-top:18px;padding-top:14px;background:var(--card)}.plan-dialog .dialog-actions>.primary,.complete-plan-dialog .dialog-actions>.primary{min-width:152px}.plan-dialog .dialog-actions>.secondary,.complete-plan-dialog .dialog-actions>.secondary{min-width:100px}.complete-plan-dialog .completion-options{flex:none}.complete-plan-dialog .completion-field{position:relative;z-index:3;min-width:0}.complete-plan-dialog .complete-plan-note,.plan-dialog .form-error,.complete-plan-dialog .form-error{flex:none}.modal-backdrop:has(.plan-dialog),.modal-backdrop:has(.complete-plan-dialog){display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vh,24px);overflow-y:auto}.modal-backdrop:has(.plan-dialog)>.dialog,.modal-backdrop:has(.complete-plan-dialog)>.dialog{flex:none;margin:auto;inset:auto;position:relative;max-height:calc(100dvh - (2*clamp(10px,3vh,24px)));overflow:auto;overscroll-behavior:contain}.plan-dialog .jalali-calendar,.complete-plan-dialog .jalali-calendar{z-index:35;max-width:min(330px,calc(100vw - 36px))}.complete-plan-dialog .transaction-select-menu{max-height:min(210px,28dvh)}@media(max-width:720px){.budget-value-button strong{font-size:21px}.budget-inline-input input{width:100%;font-size:18px}.priority-tabs{gap:4px}.priority-tabs button{padding:8px 10px;font-size:10px}.expense-plan-heading h4{font-size:16px}.plan-dialog,.complete-plan-dialog{width:min(100%,560px)}.plan-dialog form,.complete-plan-dialog form{padding:18px}.plan-dialog .form-grid,.complete-plan-dialog .form-grid{grid-template-columns:1fr;gap:11px}.plan-dialog .form-grid .wide,.complete-plan-dialog .form-grid .wide{grid-column:auto}.plan-dialog .plan-priority-picker,.complete-plan-dialog .completion-options{grid-template-columns:1fr}.plan-dialog .priority-choice,.complete-plan-dialog .completion-options button{justify-content:flex-start}.plan-dialog .dialog-actions,.complete-plan-dialog .dialog-actions{bottom:-18px;margin-top:12px;padding:12px 0 0}.transaction-select-menu{max-height:min(200px,27dvh)}}@media(max-width:380px){.budget-inline-actions button{padding:7px 9px}.transaction-select-trigger{padding-inline:9px}.transaction-option-title{font-size:11px}.transaction-option-meta{font-size:9px}.plan-dialog .dialog-actions>.primary,.complete-plan-dialog .dialog-actions>.primary{min-width:0;flex:1}.plan-dialog .dialog-actions>.secondary,.complete-plan-dialog .dialog-actions>.secondary{min-width:85px}}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}}
