@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Regular-DjtWZjaf.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Bold-CgBSX5Ju.ttf) format("truetype");font-weight:700;font-display:swap}:root{--fg: #111111;--muted: #666666;--line: #d6d6d6;--line-strong: #bdbdbd;--bg: #ffffff;--bg2: #f7f7f7;--bg3: #f5f5f5;--desk: #e8e8e8;--header: #111111;--bar-h: 56px;--sheet: 880px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-l: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;height:100dvh;margin:0;overflow:hidden}html{color-scheme:light}body{font-family:Vazirmatn,sans-serif;color:var(--fg);background:var(--bg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-size-adjust:100%}button,input,select,textarea{font-family:inherit}button{-webkit-tap-highlight-color:transparent}.end{text-align:left}.app{display:flex;flex-direction:column;height:100%;min-height:100dvh;position:relative}.topbar{min-height:var(--bar-h);height:calc(var(--bar-h) + var(--safe-t));padding:var(--safe-t) max(12px,var(--safe-l)) 0 max(8px,var(--safe-r));display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;position:sticky;top:0;z-index:8}.topbar h1{flex:1;margin:0;font-size:18px;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar-spacer{width:88px;flex-shrink:0}.icon-btn{border:0;background:transparent;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;cursor:pointer;color:var(--fg);display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-btn svg{display:block}.icon-btn:hover{background:#eee}.icon-btn.on{color:#111;background:#eee}.layout{display:flex;flex:1;min-height:0}.page,.content{flex:1;min-width:0;min-height:0}.content{overflow:auto;overflow-x:hidden;background:var(--desk);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:var(--safe-b)}.page{overflow:visible;display:flex;flex-direction:column}.content>.page{max-width:var(--sheet);margin:0 auto;background:#fff;min-height:100%;box-shadow:0 0 0 1px #e2e2e2}.nested-page{height:100%;min-height:100dvh}.nested-scroll{flex:1;min-height:0;overflow:auto;overflow-x:hidden;background:var(--desk);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:var(--safe-b)}.sheet{max-width:var(--sheet);margin:0 auto;width:100%;background:#fff;min-height:100%;padding-bottom:28px;box-shadow:0 0 0 1px #e2e2e2}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(300px,86vw);background:#fff;z-index:21;overflow:auto;box-shadow:-4px 0 24px #0000001f;transform:translate(100%);transition:transform .2s ease;padding-bottom:var(--safe-b)}.drawer.open{transform:translate(0)}.drawer-head{padding:calc(16px + var(--safe-t)) 16px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.drawer-head img{width:44px;height:44px;border-radius:22px}.drawer-head strong{font-size:22px;font-weight:900}.nav-item{display:flex;align-items:center;gap:14px;width:100%;text-align:right;padding:14px 16px;min-height:48px;border:0;background:transparent;cursor:pointer;font-weight:600;font-size:15px;color:var(--fg)}.nav-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#222}.nav-item.selected{background:#eee;font-weight:800}.nav-item.selected .nav-icon{color:#111}.nav-item:disabled{opacity:.4}.pad{padding:16px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg3);font-size:16px}input:focus,select:focus{outline:none;border-color:#111}.btn{width:100%;padding:14px;min-height:48px;border:0;border-radius:8px;background:#111;color:#fff;font-weight:800;cursor:pointer;font-size:16px}.btn:disabled{opacity:.5}.muted{color:var(--muted);font-size:13px}.error{color:#b00020;margin-top:8px}.card-dark{background:#111;color:#fff;border-radius:8px;margin:10px 12px 6px;padding:14px 12px}.card-dark .sub{color:#ffffffb3;font-size:12px}.card-dark .row{display:flex;flex-wrap:wrap}.card-dark .cell{flex:1;padding:4px 10px;min-width:0}.card-dark .cell+.cell{border-right:1px solid #444}.card-dark .lab{color:#ffffffb3;font-size:11px}.card-dark .val{font-weight:800;font-size:16px;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.card-dark .tools{display:flex;justify-content:flex-end}.card-dark .row.cells-1 .cell,.card-dark .row.cells-2 .cell{flex:1}.summary-card{padding:14px 16px}.summary-title{font-weight:800;font-size:17px;line-height:1.35;margin-top:4px}.summary-meta{margin-top:8px}.summary-total{font-weight:900;font-size:18px;margin-top:12px;font-variant-numeric:tabular-nums}.filter-panel{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px}.filter-search{display:flex;align-items:stretch;gap:8px}.search-wrap{position:relative;flex:1 1 auto;min-width:0;display:block}.search-wrap .search-ico{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:#666;display:flex;pointer-events:none}.search-wrap input.grow{width:100%;height:44px;padding:0 12px;padding-inline-start:40px;font-size:16px}.filter-search .icon-btn{flex:0 0 44px;height:44px;width:44px;min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--bg3);border-radius:8px}.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-box{display:flex;flex-direction:column;gap:4px;min-width:0}.field-lab{font-size:11px;font-weight:800;color:#555;padding-inline-start:2px}.field-box select{width:100%;height:44px;padding:0 10px;font-size:16px}.table-head,.table-row{display:grid;align-items:stretch;padding:0;border-bottom:1px solid var(--line-strong);border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);min-width:0}.table-head{background:#f3f3f3;font-weight:800;font-size:11px;color:#333;border-top:1px solid var(--line-strong);position:sticky;top:0;z-index:2}.table-head>*,.table-row>*{padding:10px 8px;min-width:0;overflow-wrap:anywhere}.table-head>*+*,.table-row>*+*{border-inline-start:1px solid var(--line-strong)}.table-row{background:#fff;cursor:pointer}.table-row.zebra{background:#fafafa}.table-row .name{font-weight:700;font-size:13.5px}.table-row .code{color:#555;font-size:12px}.table-row .amt,.amt{font-weight:700;font-size:12px;text-align:left;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.amt.strong{font-weight:900}.amt.start{text-align:start}.cell-desc{font-size:12.5px;font-weight:600;line-height:1.35;white-space:pre-line}.cols-acc{grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,4fr)}.cols-acc-bank{grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,4fr)}.cols-prod{grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,3fr)}.cols-wh{grid-template-columns:minmax(0,5fr) minmax(0,2fr)}.cols-inv-list{grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,3fr)}.cols-inv{grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,2fr) minmax(0,3fr)}.cols-chk{grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr)}.money-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #d6d6d6}.money-cell{padding:10px 8px;text-align:center;border-right:1px solid var(--line-strong);min-width:0}.money-cell:last-child{background:#f5f5f5;border-right:0}.money-cell .lab{font-size:10.5px;font-weight:700;color:#666}.money-cell .val{margin-top:6px;font-weight:900;font-size:13.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.money-cell .val.dim{color:#aaa;font-weight:600}.legend{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f0f0f0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:8px 12px;font-weight:800;font-size:12px;text-align:center;position:sticky;top:0;z-index:2}.tabs{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3;background:#fff}.tabs button{flex:1;padding:14px 8px;min-height:48px;border:0;background:transparent;font-weight:700;cursor:pointer;color:#666;border-bottom:2px solid transparent;font-size:15px}.tabs button.on{color:#111;border-bottom-color:#111}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.center{display:flex;align-items:center;justify-content:center;height:100%}.chip-link{cursor:pointer;text-decoration:underline}.invoice-row{display:block;width:100%;margin:0;padding:0;border:0;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff;color:inherit;font:inherit;text-align:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.invoice-row.zebra{background:#f3f6fa}.invoice-row:hover{background:#fafafa}.invoice-row .table-row{border:0;cursor:inherit;background:transparent}.row-band{display:flex;align-items:center;gap:8px;background:#eef3f8;padding:7px 10px;font-weight:900;font-size:13px}.row-band .date{font-variant-numeric:tabular-nums}.row-band .meta{margin-inline-start:auto;font-size:11.5px;font-weight:700;color:#444}.row-band .chip{font-size:12px;font-weight:800;color:#222}.check-row{position:relative;background:#fff;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);border-bottom:2px solid var(--accent, #1565C0)}.check-row.received{--accent: #1565C0}.check-row.paid{--accent: #2E7D32}.check-row.zebra{background:#eef4fa}.check-row:after{content:"";position:absolute;top:0;bottom:0;right:0;width:5px;background:var(--accent);pointer-events:none}.check-row .row-band{background:color-mix(in srgb,var(--accent, #1565C0) 12%,#fff);padding-right:14px}.check-row .table-row{border:0;cursor:default;background:transparent}.collapse-bar{background:#111;color:#fff;display:flex;align-items:center;padding:12px 16px;min-height:44px;cursor:pointer;font-weight:700;font-size:13px}.jump{display:flex;gap:0;flex-shrink:0}.jump .icon-btn{color:inherit}.ledger-summary{margin:10px 12px 6px;padding:14px 14px 14px 8px}.ledger-summary-name{font-weight:800;font-size:17px;line-height:1.35;padding:0 10px}.remain-box{margin:10px 12px 0;padding:10px 12px;background:#ffffff14;border-radius:6px;border:1px solid #333}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 10px}.filter-panel .date-fields{padding:0}.date-field{position:relative;min-width:0}.date-field-btn{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg3);color:#444;font:inherit;cursor:pointer;text-align:right}.date-field-btn .lab{font-size:12px;font-weight:700;white-space:nowrap}.date-field-btn .val{flex:1;min-width:0;font-weight:800;font-variant-numeric:tabular-nums}.date-field-btn .val.ph{color:#999;font-weight:600}.cal-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:30;width:min(280px,92vw);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #00000029;padding:8px}.cal-head{display:flex;align-items:center;gap:4px}.cal-head .icon-btn:first-child svg{transform:scaleX(-1)}.cal-title{flex:1;text-align:center;font-weight:800;font-size:14px}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cal-week{margin-top:6px;font-size:11px;font-weight:800;color:#666}.cal-week span{padding:4px 0}.cal-day,.cal-empty{height:36px;border:0;background:transparent;font:inherit;border-radius:8px}.cal-day{cursor:pointer;font-weight:700}.cal-day:hover{background:#eee}.cal-day.today{box-shadow:inset 0 0 0 1.5px #111}.cal-day.on{background:#111;color:#fff}.cal-actions{display:flex;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.cal-actions button{border:0;background:transparent;font:inherit;font-weight:800;cursor:pointer;padding:6px 8px;color:#111}.kind-sale{--inv-accent: #1565C0;--inv-tint: #E3F2FD;--inv-amt: #0D47A1}.kind-purchase{--inv-accent: #2E7D32;--inv-tint: #E8F5E9;--inv-amt: #1B5E20}.kind-proforma_sale{--inv-accent: #6A1B9A;--inv-tint: #F3E5F5;--inv-amt: #4A148C}.kind-proforma_purchase{--inv-accent: #00695C;--inv-tint: #E0F2F1;--inv-amt: #004D40}.inv-summary.kind-sale,.inv-summary.kind-purchase,.inv-summary.kind-proforma_sale,.inv-summary.kind-proforma_purchase{box-shadow:inset -5px 0 0 var(--inv-accent)}.inv-head.kind-sale,.inv-head.kind-purchase,.inv-head.kind-proforma_sale,.inv-head.kind-proforma_purchase{background:color-mix(in srgb,var(--inv-accent) 14%,#f3f3f3);color:var(--inv-amt)}.inv-line{border-right:4px solid var(--inv-accent, #333)}.inv-line.zebra{background:var(--inv-tint, #f3f6fa)}.inv-line .inv-cell.qty{background:color-mix(in srgb,var(--inv-accent) 6%,#fff)}.inv-line .inv-cell.price{background:color-mix(in srgb,var(--inv-accent) 4%,#fff)}.inv-line .inv-cell.amount{background:color-mix(in srgb,var(--inv-accent) 12%,#fff)}.inv-line .inv-cell.amount .amt{color:var(--inv-amt);font-weight:900}.app-layer{flex:1;min-height:0;display:flex;flex-direction:column}.app-layer.is-parked{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;pointer-events:none;z-index:0}.pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;background:#d6d6d6;direction:ltr}.pdf-stage{flex:1;min-height:0;overflow:auto;padding:12px 8px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.pdf-page{background:#fff;box-shadow:0 2px 10px #0000002e;height:auto;max-width:none;display:block}.date-fields label{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:0 8px;min-height:44px;min-width:0;color:#444}.date-fields label span{font-size:12px;font-weight:700;white-space:nowrap}.date-fields input{flex:1;width:auto;min-width:0;border:0;background:transparent;padding:10px 4px;font-weight:700;font-size:16px}.date-fields input:focus{outline:none}.ledger-entry{background:#fff;border-bottom:none;border-right:5px solid var(--accent, #333);border-bottom:2px solid color-mix(in srgb,var(--accent, #333) 55%,transparent)}.ledger-entry.zebra{background:#f3f6fa}.ledger-entry.clickable{cursor:pointer}.ledger-entry.clickable:hover{filter:brightness(.985)}.ledger-entry .band{background:color-mix(in srgb,var(--accent, #333) 8%,transparent);padding:10px 12px 8px;display:flex;gap:10px;align-items:center}.ledger-entry .date{font-weight:900;font-size:15px;letter-spacing:.2px;font-variant-numeric:tabular-nums}.ledger-entry .chip{border:1.2px solid var(--accent, #333);border-radius:4px;padding:3px 8px;font-size:11.5px;font-weight:800;background:#fff;color:var(--accent, #333)}.ledger-entry .open-ico{margin-right:auto;color:var(--accent, #333);display:flex}.ledger-entry .desc{padding:10px 12px;font-size:13.5px;font-weight:700;line-height:1.45;color:#111}.money-cell .sub-status{margin-top:4px;font-size:11px;font-weight:700;color:#333}.inv-product .name{font-weight:800;font-size:12.5px;line-height:1.35}.inv-product .code{color:#555;font-size:12px;margin-top:2px}.inv-cell{min-width:0}.doc-no{font-weight:800}.section-title{padding:12px 12px 4px;margin:0;font-size:14px;font-weight:800}.bar-row{padding:10px 12px;border-bottom:1px solid var(--line)}.bar-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px}.bar-meta strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bar-track{margin-top:6px;height:6px;background:#eee;border-radius:3px}.bar-fill{height:100%;background:#111;border-radius:3px}@media(max-width:700px){.topbar h1{font-size:16px}.card-dark .val{font-size:15px}.table-head.cols-inv{display:none}.inv-line.cols-inv>*+*{border-inline-start:0}.inv-line.cols-inv{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"prod prod prod" "qty price amt";padding:0;gap:0}.inv-line .inv-product{grid-area:prod;padding:10px 12px 8px;border-bottom:1px solid var(--line)}.inv-line .inv-cell{padding:8px 6px 10px;text-align:center;border-right:1px solid var(--line-strong)}.inv-line .inv-cell:last-child{border-right:0;background:#f5f5f5}.inv-line .inv-cell:before{content:attr(data-lab);display:block;font-size:10.5px;font-weight:800;color:#666;margin-bottom:4px}.inv-line .inv-cell .amt{text-align:center;font-size:12.5px}}@media(max-width:839px){.content,.nested-scroll{background:#fff}.content>.page,.sheet{max-width:none;box-shadow:none}}@media(min-width:701px){input,select,.search-wrap input.grow,.field-box select,.date-fields input{font-size:14px}}@media(min-width:840px){.drawer-backdrop{display:none}.drawer{position:relative;width:280px;box-shadow:none;border-left:1px solid var(--line);flex-shrink:0;transform:none;padding-bottom:0}.drawer-head{padding:28px 16px 16px}}
