@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Thin-DdUiS1cj.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraLight-DNfybfsL.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Light-Byrs-DlH.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Regular-CtGL0YI-.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Medium-D86t5Axy.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-SemiBold-26ZP1ILp.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Bold-_OhAJEdh.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraBold-DCjt2qDm.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Black-DA1YqYMq.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--paper:#f3f5f2;--surface:#fff;--ink:#16231f;--muted:#5f6d67;--line:#d8dfda;--rule:#e6ebe7;--accent:#0b6b57;--accent-ink:#fff;--accent-soft:#e1efe9;--danger:#b3361f;--danger-soft:#f8e6e1;--warn-soft:#f5ecd3;--warn:#7a5a0c;--radius:6px;--font:"Vazirmatn", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.7}h1,h2,h3{margin:0;font-weight:700;line-height:1.4}h1{font-size:1.5rem}h2{font-size:1.1rem}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:0 1.1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#095a49;border-color:#095a49}.btn-small{min-height:32px;padding:0 .75rem;font-size:.9rem}.btn-link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0}.field{gap:.3rem;margin-bottom:1rem;display:grid}.field label{font-size:.92rem;font-weight:500}.field .hint{color:var(--muted);font-size:.85rem}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:42px;color:var(--ink);padding:.45rem .75rem}input:focus,select:focus{border-color:var(--accent)}input[dir=ltr]{text-align:left}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.65rem .9rem;font-size:.93rem}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-ok{background:var(--accent-soft);color:var(--accent)}.login{grid-template-columns:minmax(340px,480px) 1fr;min-height:100%;display:grid}.login-form{background:var(--surface);border-inline-end:1px solid var(--line);flex-direction:column;justify-content:center;padding:3rem;display:flex}.login-form h1{margin-bottom:.35rem;font-size:1.7rem}.login-form p.lead{color:var(--muted);margin:0 0 2rem}.login-ledger{justify-content:center;align-items:center;padding:3rem;display:flex}.ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(520px,100%);padding:1.5rem 1.75rem 1.25rem}.ledger tbody td{border-bottom:1px solid var(--rule)}.ledger h3{color:var(--muted);margin-bottom:.5rem;font-size:.95rem;font-weight:500}.ledger table{border-collapse:collapse;width:100%}.ledger th,.ledger td{text-align:start;height:42px;padding:0 .5rem;font-weight:400}.ledger th{color:var(--muted);font-size:.85rem}.ledger td.num,.ledger th.num{text-align:end;font-variant-numeric:tabular-nums}.ledger td.credit-row{padding-inline-start:2rem}.ledger tfoot td{border-top:2px solid var(--ink);font-weight:700}.ledger .balanced{color:var(--accent);margin-top:.85rem;font-size:.9rem}.shell{grid-template-columns:236px 1fr;min-height:100%;display:grid}.sidebar{background:var(--ink);color:#e8efeb;flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.brand{padding:0 .5rem;font-size:1.15rem;font-weight:700}.brand small{color:#9fb2aa;font-size:.8rem;font-weight:400;display:block}.nav{gap:2px;display:grid}.nav a{color:#cfdcd6;border-radius:var(--radius);border-inline-start:3px solid #0000;padding:.55rem .75rem;text-decoration:none}.nav a:hover{background:#22332e}.nav a.active{color:#fff;background:#22332e;border-inline-start-color:#5bd1b3;font-weight:500}.nav .group{color:#8da198;padding:.9rem .75rem .25rem;font-size:.8rem}.sidebar-foot{color:#9fb2aa;gap:.5rem;margin-top:auto;font-size:.88rem;display:grid}.sidebar-foot strong{color:#e8efeb;font-weight:500}.sidebar-foot .btn{color:#e8efeb;background:0 0;border-color:#3a4d46}.main{min-width:0;padding:2rem 2.25rem 3rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head p{color:var(--muted);margin:.15rem 0 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem 1.4rem}.panel>h2{margin-bottom:1rem}.stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin-bottom:1.5rem;display:grid}.stat{border-inline-end:1px solid var(--line);padding:1rem 1.25rem}.stat:last-child{border-inline-end:0}.stat .label{color:var(--muted);font-size:.88rem}.stat .value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%}table.data th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:.55rem .75rem;font-size:.86rem;font-weight:500}table.data td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:.65rem .75rem}table.data tr:last-child td{border-bottom:0}table.data .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{color:var(--muted);text-align:center;padding:1.5rem .5rem}.badge{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:0 .6rem;font-size:.82rem;display:inline-block}.badge.ok{background:var(--accent-soft);color:var(--accent)}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:0 1rem;display:grid}.inline-actions{flex-wrap:wrap;gap:.5rem;display:flex}.lines{gap:.5rem;margin-bottom:1rem;display:grid}.line-row{grid-template-columns:1fr 110px 150px 120px 36px;align-items:center;gap:.5rem;display:grid}.line-row .sum{text-align:end;font-variant-numeric:tabular-nums}.line-head{color:var(--muted);font-size:.85rem}.total-bar{border-top:2px solid var(--ink);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.75rem;font-size:1.1rem;font-weight:700;display:flex}.entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:1rem}.entry header{background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.7rem 1rem;display:flex}.entry header span{color:var(--muted);font-size:.88rem}.entry .credit-cell{padding-inline-start:2rem}.center-note{min-height:100%;color:var(--muted);place-items:center;display:grid}@media (width<=900px){.login{grid-template-columns:1fr}.login-ledger{display:none}.login-form{border:0;min-height:100%;padding:2rem 1.25rem}.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;padding:.75rem 1rem;position:static}.nav{order:3;grid-auto-flow:column;width:100%;overflow-x:auto}.nav a{white-space:nowrap}.nav .group{display:none}.sidebar-foot{margin-top:0;grid-auto-flow:column;align-items:center;margin-inline-start:auto}.sidebar-foot span{display:none}.main{padding:1.25rem 1rem 2.5rem}.line-row{grid-template-columns:1fr 1fr}.line-row .sum{text-align:start}.line-head{display:none}}@media (prefers-reduced-motion:no-preference){.btn{transition:border-color .12s,background-color .12s}}
