@font-face{font-family:"Vazirmatn RD FD";src:local("Vazirmatn RD FD"),url("fonts/Vazirmatn-RD-FD-Regular.woff2") format("woff2"),url("fonts/Vazirmatn-RD-FD.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --bg:#f4f2ef;--paper:#fff;--ink:#24211f;--muted:#77716c;--line:#e5e0db;--soft:#f7f5f2;
  --brand:#b86f45;--brand-soft:#f1e4d8;--ok:#19734e;--warn:#9a6400;--danger:#b42318;
  --shadow:0 20px 70px rgba(55,45,35,.10);--radius:18px;
}
*{box-sizing:border-box}html{font-family:"Vazirmatn RD FD","Vazirmatn",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}input,textarea,select{outline:none}img{max-width:100%}[hidden]{display:none!important}
.btn{border:1px solid #d9d4ce;background:#fff;border-radius:11px;padding:10px 14px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease}.btn:hover{background:#faf8f6;border-color:#cfc8c1}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#111}.btn.subtle{background:transparent}.btn.compact{padding:7px 10px;border-radius:9px;font-size:12px}.btn.big{padding:12px 18px}.btn.full{width:100%}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid #ddd7d1;background:#fff;display:inline-grid;place-items:center;font-weight:800}.icon-btn:hover{background:#f8f5f2}.icon-btn.danger{color:var(--danger)}.icon-btn:disabled{opacity:.28;cursor:default}.privacy-lock-toggle{border:0;background:transparent;padding:0;width:52px;height:30px;display:inline-grid;place-items:center;flex:0 0 auto;cursor:pointer;border-radius:999px}.privacy-lock-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.privacy-lock-toggle:disabled{opacity:.5;cursor:wait}.privacy-lock-track{position:relative;display:block;width:52px;height:30px;border-radius:999px;background:#e8e4df;box-shadow:inset 0 0 0 1px rgba(76,68,61,.08);transition:background .18s ease,box-shadow .18s ease}.privacy-lock-knob{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ok);box-shadow:0 2px 7px rgba(41,34,29,.16);transition:right .2s ease,color .18s ease,transform .18s ease}.privacy-lock-knob svg{width:13px;height:13px}.privacy-lock-toggle.is-open .privacy-lock-track{background:#e4f2ea;box-shadow:inset 0 0 0 1px rgba(25,115,78,.10)}.privacy-lock-toggle.is-open:hover .privacy-lock-knob{transform:scale(1.06)}.privacy-lock-toggle.is-locked .privacy-lock-track{background:#dedad5}.privacy-lock-toggle.is-locked .privacy-lock-knob{right:26px;color:#5a5551}.privacy-lock-toggle.is-locked:hover .privacy-lock-knob{transform:scale(1.06)}
.alert{padding:12px 14px;border-radius:12px;margin:12px 0;font-size:13px}.alert.success{background:#edf9f2;color:#166b48;border:1px solid #ccebd9}.alert.danger{background:#fff0ee;color:#9d2219;border:1px solid #f4cbc6}.empty-state{border:1px dashed #d8d1ca;background:#faf9f7;border-radius:16px;padding:36px;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);grid-column:1/-1}.empty-state strong{color:var(--ink)}.empty-state.compact{padding:20px}.eyebrow{font-size:12px;color:var(--brand);font-weight:700}.hidden{display:none!important}

/* Global pages */
.topbar{height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,52px);position:sticky;top:0;z-index:50}.brand-mini{display:flex;align-items:center;gap:10px}.brand-mini img{width:40px;height:40px;border-radius:11px;object-fit:cover}.brand-mini div{display:flex;flex-direction:column;line-height:1.35}.brand-mini b{font-size:13px}.brand-mini small{font-size:10px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:600}.main-nav a:hover{color:var(--brand)}.page-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:38px 0 70px}.page-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-title-row h1{margin:5px 0 4px;font-size:28px;letter-spacing:-.5px}.page-title-row p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.section-head h2{font-size:17px;margin:0 0 4px}.section-head span{font-size:11px;color:var(--muted)}

/* Archive */
.archive-stats,.customer-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.archive-stats>div,.customer-kpis>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.archive-stats span,.customer-kpis span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.archive-stats b,.customer-kpis b{font-size:17px}.archive-stats small,.customer-kpis small{font-size:10px;color:var(--muted)}.archive-stats .due,.customer-kpis .due{background:#fffaf1;border-color:#ead9b6}.archive-stats .due b,.customer-kpis .due b{color:#8a5a00}.filter-card,.search-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:14px}.archive-filter{display:flex;gap:8px;align-items:center}.archive-filter input,.archive-filter select,.search-card input{border:1px solid #ddd7d1;border-radius:10px;padding:10px 11px;background:#fff;font-size:12px;min-width:0}.archive-filter .grow{flex:1}.quick-filters{display:flex;gap:8px;margin-top:10px;padding:0 4px}.quick-filters a{font-size:11px;padding:5px 9px;border-radius:8px;background:var(--soft);color:#5f5a55}.invoice-cards{display:flex;flex-direction:column;gap:8px}.invoice-card{background:#fff;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;overflow:hidden}.invoice-card:hover{border-color:#cfc7bf;box-shadow:0 8px 22px rgba(44,37,30,.05)}.invoice-card-main{flex:1;display:grid;grid-template-columns:190px 1fr 220px 120px;gap:16px;align-items:center;padding:14px 16px}.invoice-code,.invoice-party,.invoice-money{display:flex;flex-direction:column;gap:3px}.invoice-code span{font-size:13px;font-weight:800}.invoice-code small,.invoice-party small,.invoice-money span{font-size:10px;color:var(--muted)}.invoice-party b{font-size:13px}.invoice-money{text-align:left}.invoice-money b{font-size:13px}.invoice-money b small{font-size:10px;color:var(--muted)}.invoice-card>.restore-invoice{margin-left:12px}.status{display:inline-flex;justify-content:center;align-items:center;width:max-content;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.status.draft{background:#efefef;color:#5f5f5f}.status.unpaid{background:#fff0ee;color:#9e2a20}.status.partial{background:#fff6df;color:#8c5d00}.status.paid{background:#eaf7ef;color:#176944}.status.canceled{background:#eee;color:#777}
.invoice-card-actions{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 9px 0 10px;border-right:1px solid #eee9e4;align-self:stretch}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.archive-icon-action{position:relative;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;border-radius:9px;display:inline-grid;place-items:center;color:#77706a;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;cursor:pointer}.archive-icon-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.archive-icon-action:hover{background:#f6f3f0;border-color:#ebe5df;color:#302c29}.archive-icon-action:active{transform:scale(.94)}.archive-icon-action.danger:hover{background:#fff1ef;border-color:#f4d8d3;color:var(--danger)}.quick-paid input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.quick-paid:has(input:checked){background:#edf8f1;border-color:#d9eee2;color:var(--ok)}.quick-paid:has(input:checked):hover{background:#e5f5eb}.quick-paid:has(input:disabled){opacity:.55;cursor:default}.quick-paid:has(input:disabled) input{cursor:default}.trash-empty-btn{color:var(--danger)!important;border-color:#edd8d3!important}.trash-empty-btn:hover{background:#fff2f0!important;border-color:#e9c9c3!important}.trash-empty-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Customers */
.search-card{display:flex;gap:8px}.search-card input{flex:1}.customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;grid-template-columns:44px 1fr 100px 140px;grid-template-areas:"avatar main sales balance" "avatar meta sales balance";gap:4px 12px;align-items:center}.customer-card:hover{border-color:#cec5bd}.customer-avatar{grid-area:avatar;width:42px;height:42px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:800}.customer-main{grid-area:main;display:flex;flex-direction:column}.customer-main b{font-size:13px}.customer-main span,.customer-meta{font-size:10px;color:var(--muted)}.customer-metric{display:flex;flex-direction:column;text-align:left}.customer-metric span{font-size:9px;color:var(--muted)}.customer-metric b{font-size:12px}.customer-metric.due b{color:#9a6400}.customer-meta{grid-area:meta;display:flex;gap:10px}.customer-card .customer-metric.sales{grid-area:sales}.customer-card .customer-metric.balance{grid-area:balance}
.customer-columns{display:grid;grid-template-columns:360px 1fr;gap:14px}.profile-card,.ledger-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label,.payment-form label,.settings-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#5e5955}.form-stack input,.form-stack textarea,.payment-form input,.payment-form select,.settings-grid input,.settings-grid textarea{border:1px solid #ded8d2;background:#fff;border-radius:10px;padding:10px 11px;font-size:12px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ledger-list{display:flex;flex-direction:column}.ledger-row{display:grid;grid-template-columns:1fr 130px 120px;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid #eee9e4}.ledger-row:first-child{border-top:0}.ledger-row>div:first-child{display:flex;flex-direction:column;gap:3px}.ledger-row>div:first-child b{font-size:12px}.ledger-row>div:first-child span{font-size:10px;color:var(--muted)}.ledger-amount{text-align:left;font-weight:750;font-size:12px}.ledger-amount.invoice{color:#8d4d2d}.ledger-amount.payment{color:var(--ok)}.ledger-balance{text-align:left}.ledger-balance span{font-size:9px;color:var(--muted)}.ledger-balance b{display:block;font-size:11px}

/* Settings */
.settings-layout{display:flex;flex-direction:column;gap:14px}.settings-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-grid.compact-grid{grid-template-columns:1fr 1fr 1fr}.settings-grid .wide{grid-column:1/-1}.color-input{height:42px;border:1px solid #ded8d2;border-radius:10px;padding:5px;display:flex;align-items:center;gap:9px}.color-input input{width:40px;height:30px;border:0;padding:0;background:transparent}.color-input code{font-size:10px;color:var(--muted);direction:ltr}.upload-field{border:1px dashed #d9d0c8;padding:10px;border-radius:12px;min-height:100px}.upload-field input{border:0!important;padding:3px!important}.upload-field img{height:48px;width:auto;object-fit:contain;align-self:flex-start}.number-preview{background:var(--soft);border-radius:12px;padding:10px 13px;display:flex;flex-direction:column;justify-content:center}.number-preview span{font-size:9px;color:var(--muted)}.number-preview b{font-size:14px}.toggle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.toggle-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:11px;border-radius:11px;font-size:11px}.accounts-stack{display:flex;flex-direction:column;gap:10px}.account-editor{background:var(--soft);border:1px solid #ebe6e0;border-radius:14px;padding:13px}.account-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.account-title strong{font-size:12px}.radio-default{font-size:10px;display:flex;gap:5px;align-items:center}.account-grid{grid-template-columns:repeat(4,1fr)}.account-grid .wide{grid-column:span 2}.settings-submit{display:flex;justify-content:flex-end}

/* Setup */
.setup-body{display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f7f4f0,var(--brand-soft));min-height:100vh}.setup-card{width:min(520px,100%);background:#fff;border:1px solid #e4ddd6;border-radius:22px;padding:28px;box-shadow:var(--shadow)}.setup-logo{width:70px;height:70px;border-radius:17px;object-fit:cover}.setup-card h1{font-size:21px;margin:15px 0 6px}.setup-card p,.setup-note{font-size:12px;color:var(--muted);line-height:1.9}.setup-note{margin-top:18px;border-top:1px solid var(--line);padding-top:13px}.setup-card code{direction:ltr;display:inline-block;background:#f4f1ed;padding:1px 5px;border-radius:5px}

/* Invoice editor */
.invoice-page{background:#ece9e5;overflow-x:hidden}.editor-bar{height:60px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #ddd8d2;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:70}.editor-start,.editor-actions{display:flex;align-items:center;gap:7px}.editor-new{font-size:11px;font-weight:700;padding:7px 9px;border-radius:9px}.editor-new:hover{background:var(--soft)}.save-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin-right:5px}.save-state i{width:7px;height:7px;border-radius:50%;background:#6aaa8a}.save-state.dirty i{background:#d49a46}.save-state.saving i{background:#6b8db7;animation:pulse 1s infinite}.save-state.error{color:var(--danger)}.save-state.error i{background:var(--danger)}@keyframes pulse{50%{opacity:.25}}.deleted-banner{position:sticky;top:60px;z-index:65;text-align:center;background:#fff1ef;color:#9c3027;border-bottom:1px solid #edc6c1;padding:7px;font-size:11px}.invoice-workspace{padding:30px 16px 70px;display:flex;justify-content:center}.invoice-sheet{width:210mm;min-height:297mm;background:var(--paper);box-shadow:var(--shadow);padding:13mm 12mm 10mm;position:relative;color:#211f1d}.invoice-sheet.deleted-sheet{filter:saturate(.85)}.deleted-sheet input,.deleted-sheet textarea,.deleted-sheet button{pointer-events:none}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,var(--brand-soft),#fff7f1);border-radius:8px;padding:14px 16px;min-height:95px}.invoice-identity{display:flex;gap:12px;align-items:center}.invoice-logo{width:74px;height:74px;border-radius:10px;object-fit:cover;background:#fff}.invoice-brand{display:flex;flex-direction:column;gap:4px}.invoice-brand span{font-size:14px}.invoice-brand strong{font-size:20px}.invoice-meta{display:flex;flex-direction:column;gap:7px;align-items:flex-end;padding-top:8px}.invoice-meta label{font-size:10px;color:#5f5954}.invoice-meta b{font-size:12px;color:var(--ink);margin-right:4px}.date-field{border:0;background:transparent;padding:2px 5px;border-radius:5px;font-weight:700}.date-field:hover{background:rgba(255,255,255,.65)}
.customer-strip{margin:14px 0 11px;background:#f4f6f7;border:1px solid #e1e5e7;border-radius:7px;padding:8px 11px}.customer-main-line{display:flex;align-items:center;gap:8px}.customer-main-line>span{font-size:9px;color:#686f73;white-space:nowrap}.customer-main-line>input{flex:1;border:0;background:transparent;font-weight:700;font-size:12px;padding:4px}.customer-main-line>input:focus{background:#fff;border-radius:6px}.tiny-toggle,.customer-ledger-link{border:0;background:#fff;border-radius:7px;padding:5px 7px;font-size:9px;color:#655e58}.customer-ledger-link{color:var(--brand);font-weight:700}.customer-more{display:none;grid-template-columns:1fr 1fr 1fr 2fr;gap:7px;margin-top:8px}.customer-more.open{display:grid}.customer-more input{border:1px solid #dde1e3;background:#fff;border-radius:7px;padding:6px 8px;font-size:10px}
.items-wrap{margin-top:8px}.items-head,.item-row{display:grid;grid-template-columns:24px 30px minmax(180px,1fr) 70px 66px 92px 78px 104px 66px;align-items:center}.items-head{background:#f4f2ef;border:1px solid #e4dfda;border-radius:7px 7px 0 0;min-height:35px;font-size:9px;color:#6b655f;text-align:center}.items-head span:nth-child(3){text-align:right;padding-right:8px}.items-body{border:1px solid #e7e2dd;border-top:0}.item-row{min-height:42px;border-top:1px solid #eeeae6;transition:.15s}.item-row:first-child{border-top:0}.item-row:hover{background:#fffdfb}.item-row.dragging{opacity:.45;background:var(--brand-soft)}.item-row>div{min-width:0;padding:3px}.item-row input{width:100%;border:1px solid transparent;background:transparent;border-radius:6px;padding:5px 5px;font-size:10px;text-align:center}.desc-cell input{text-align:right}.item-row input:hover{background:#faf8f5}.item-row input:focus{border-color:#d8cabf;background:#fff;box-shadow:0 0 0 2px rgba(184,111,69,.08)}.row-index{text-align:center;font-size:9px;color:#817a74}.row-total{text-align:center;font-size:10px;font-weight:800;white-space:nowrap}.drag-handle{border:0;background:transparent;color:#b6aea7;font-size:13px;cursor:grab}.row-tools{display:flex;justify-content:center;align-items:center}.row-tools button{width:20px;height:22px;border:0;background:transparent;color:#9a928b;font-size:12px;padding:0;border-radius:5px}.row-tools button:hover{background:#f0ece8;color:#3d3935}.row-tools .remove-row:hover{color:var(--danger)}.expand-row{display:none}.mobile-label,.mobile-row-caption{display:none}.add-row{border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:700;padding:9px 4px}.add-row:hover{text-decoration:underline}
.invoice-summary{display:grid;grid-template-columns:1fr 290px;gap:18px;margin-top:13px}.notes-area{display:flex;flex-direction:column;gap:10px}.notes-area label{font-size:9px;color:var(--muted)}.notes-area textarea{width:100%;border:1px solid transparent;border-radius:7px;background:#faf9f7;padding:8px;font-size:10px;resize:none}.notes-area textarea:focus{border-color:#ddd3cb;background:#fff}.amount-words{border:1px solid #e5e0db;border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}.amount-words span{font-size:8px;color:var(--muted)}.amount-words strong{font-size:10px;line-height:1.8}.totals{display:flex;flex-direction:column;border:1px solid #e4dfda;border-radius:9px;overflow:hidden}.totals>div,.totals>label{min-height:34px;padding:6px 9px;border-top:1px solid #eee9e4;display:flex;align-items:center;justify-content:space-between;font-size:9px}.totals>*:first-child{border-top:0}.totals input{width:95px;border:0;background:#f8f6f3;border-radius:5px;padding:4px 6px;text-align:left;font-size:10px}.totals b{font-size:10px}.totals .grand{background:var(--brand-soft);min-height:45px}.totals .grand b{font-size:13px}.totals .grand em{font-style:normal}.totals .grand small{font-size:8px}.totals .paid-line b{color:var(--ok)}.totals .balance-line b{color:#8e5c00}
.payment-info{margin-top:16px;background:#f3f6f7;border:1px solid #e0e5e7;border-radius:8px;padding:11px;display:flex;align-items:center;justify-content:space-between;min-height:86px}.payment-account{display:grid;grid-template-columns:100px 1fr;gap:2px 10px;align-items:center}.payment-account strong{grid-row:span 4;font-size:11px;align-self:start}.payment-account span{font-size:9px;color:#6a7073}.payment-account b{font-size:10px}.payment-side{display:flex;align-items:center;gap:14px}.invoice-qr{width:72px;height:72px;background:#fff;padding:4px;border-radius:6px}.invoice-qr svg{width:100%;height:100%;display:block}.qr-only{display:flex;justify-content:flex-end;margin-top:12px}.signatures{min-height:115px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px 12px 0;position:relative}.signature-box{width:180px;text-align:center;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:9px}.signature-box i{font-style:normal;color:#777}.signature-box img{max-height:62px;max-width:140px;object-fit:contain}.stamp-box{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}.stamp-box img{max-width:85px;max-height:75px;object-fit:contain;opacity:.88}.invoice-sheet footer{text-align:center;color:#77716c;font-size:8px;margin-top:18px}
.popover{position:absolute;z-index:90;background:#fff;border:1px solid #ddd7d1;border-radius:12px;padding:10px;box-shadow:0 14px 40px rgba(39,31,25,.14)}.date-selects{display:flex;gap:5px}.date-selects select{border:1px solid #ddd7d1;border-radius:8px;padding:6px;font-size:10px}.popover-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.modal-backdrop{position:fixed;inset:0;background:rgba(35,30,27,.36);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:16px}.modal{width:min(620px,100%);max-height:min(720px,92vh);overflow:auto;background:#fff;border-radius:20px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.modal-head h3{margin:0 0 3px;font-size:17px}.modal-head span{font-size:10px;color:var(--muted)}.payment-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.payment-stats>div{background:var(--soft);padding:10px;border-radius:11px}.payment-stats span{display:block;font-size:9px;color:var(--muted)}.payment-stats b{font-size:13px}.payment-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-form .wide{grid-column:1/-1}.payments-list{margin-top:16px;border-top:1px solid var(--line)}.payment-list-row{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid #eee9e4}.payment-list-row>div{display:flex;flex-direction:column}.payment-list-row b{font-size:11px}.payment-list-row span,.payment-list-row small{font-size:9px;color:var(--muted)}.mobile-editor-bar{display:none}


/* Share, read-only invoice, print and local PDF */
.share-modal{width:min(670px,100%)}.share-layout{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.share-qr-large{width:180px;height:180px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px;display:grid;place-items:center}.share-qr-large svg{width:100%;height:100%}.share-controls{display:flex;flex-direction:column;gap:12px}.share-controls label{font-size:10px;color:var(--muted)}.share-link-row{display:flex;gap:7px;margin-top:6px}.share-link-row input{min-width:0;flex:1;border:1px solid #ddd7d1;border-radius:10px;padding:10px;font-size:10px;background:#faf9f7}.share-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.share-state>span{font-size:10px;font-weight:700;margin-left:auto}.share-controls>small{font-size:9px;color:var(--muted)}

.print-view-page,.public-invoice-page{background:#ece9e5;min-height:100vh}.print-toolbar,.public-invoice-toolbar{position:sticky;top:0;z-index:30;min-height:58px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px clamp(10px,4vw,30px)}.print-toolbar>div,.public-invoice-toolbar>div:last-child{display:flex;gap:7px}.print-toolbar>span{font-size:10px;color:var(--muted);margin-left:auto}.public-invoice-toolbar>div:first-child{display:flex;flex-direction:column}.public-invoice-toolbar b{font-size:12px}.public-invoice-toolbar span{font-size:9px;color:var(--muted)}.print-document-shell{padding:24px 12px 60px;display:flex;justify-content:center}.print-view-page .invoice-sheet{width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:0 16px 55px rgba(55,45,35,.10)!important;border-radius:0!important}.print-view-page .invoice-header{min-height:95px!important;padding:14px 16px!important;align-items:flex-start!important}.print-view-page .invoice-logo{width:74px!important;height:74px!important}.print-view-page .invoice-brand span{font-size:14px!important}.print-view-page .invoice-brand strong{font-size:20px!important}.print-view-page .invoice-meta{padding-top:8px!important;gap:7px!important}.print-view-page .invoice-meta label{font-size:10px!important}.print-view-page .invoice-meta b{font-size:12px!important}.print-view-page .invoice-summary{grid-template-columns:1fr 290px!important;gap:18px!important}.print-view-page .payment-info{align-items:center!important}.print-view-page .payment-account{grid-template-columns:100px 1fr!important}.print-view-page .payment-account strong{grid-row:span 4!important}.print-view-page .payment-side{flex-direction:row!important}.print-view-page .invoice-qr{width:72px!important;height:72px!important}.print-view-page .signatures{min-height:115px!important;padding:20px 12px 0!important}.print-view-page .signature-box{width:180px!important;font-size:9px!important}

.readonly-customer{margin:12px 0 8px;background:#f3f6f7;border:1px solid #e2e6e8;border-radius:7px;padding:9px 11px;display:grid;grid-template-columns:130px 1fr auto auto;align-items:center;gap:6px 12px}.readonly-customer>span{font-size:9px;color:#667074}.readonly-customer>strong{font-size:12px}.readonly-customer>small{font-size:9px;color:var(--muted)}.readonly-customer .wide{grid-column:2/-1}.readonly-items{margin-top:8px}.readonly-head,.readonly-row{display:grid;grid-template-columns:30px minmax(180px,1fr) 70px 66px 92px 78px 104px;align-items:center}.readonly-head{background:#f4f2ef;border:1px solid #e4dfda;border-radius:7px 7px 0 0;min-height:35px;font-size:9px;color:#6b655f;text-align:center}.readonly-head span:nth-child(2){text-align:right;padding-right:8px}.readonly-body{border:1px solid #e7e2dd;border-top:0}.readonly-row{min-height:39px;border-top:1px solid #eeeae6;font-size:9px;text-align:center}.readonly-row:first-child{border-top:0}.readonly-row>*{padding:5px;min-width:0}.readonly-row strong{text-align:right;font-size:10px}.readonly-row b{font-size:10px}.readonly-notes{background:#faf9f7;border-radius:8px;padding:9px 10px}.readonly-notes span{font-size:8px;color:var(--muted)}.readonly-notes p{font-size:10px;line-height:1.9;margin:4px 0 0}.readonly-totals>div{min-height:34px}.readonly-sheet footer{position:static!important}

@media(max-width:760px){
 .invoice-card{flex-direction:column}.invoice-card-main{width:100%}.invoice-card-actions{width:100%;border-right:0;border-top:1px solid #eee9e4;padding:7px 10px;justify-content:flex-end}.quick-paid{margin-left:auto}.share-layout{grid-template-columns:1fr}.share-qr-large{margin:0 auto;width:160px;height:160px}.share-link-row{flex-direction:column}.share-state>span{width:100%;margin:0}.public-invoice-toolbar{align-items:flex-start}.public-invoice-page .print-document-shell{padding:8px 6px 70px}.public-invoice-page .invoice-sheet{width:100%!important;min-height:0!important;padding:13px 11px 18px!important;border-radius:12px!important}.public-invoice-page .readonly-head{display:none}.public-invoice-page .readonly-body{border:0}.public-invoice-page .readonly-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"desc total" "meta meta";gap:4px 8px;border:1px solid #e7e2dd!important;border-radius:10px;margin-bottom:6px;padding:8px;text-align:right}.public-invoice-page .readonly-row>*{padding:1px}.public-invoice-page .readonly-row>span:first-child{display:none}.public-invoice-page .readonly-row>strong{grid-area:desc;font-size:11px}.public-invoice-page .readonly-row>b{grid-area:total;text-align:left;font-size:11px}.public-invoice-page .readonly-row>span:nth-child(n+3){grid-area:meta;display:inline;font-size:8px;color:var(--muted)}.public-invoice-page .readonly-customer{grid-template-columns:1fr}.public-invoice-page .readonly-customer .wide{grid-column:auto}
}

/* Lock */
.lock-layer{position:fixed;inset:0;z-index:1000;background:var(--bg);display:none;overscroll-behavior:contain;isolation:isolate}.lock-layer.active{display:block}.app-locked{overflow:hidden}.lock-screen-toggle-wrap{position:absolute;top:16px;left:18px;z-index:4;padding:6px;border:1px solid rgba(87,78,70,.10);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 28px rgba(48,41,35,.06)}.lock-screen-state{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:80px 20px 20px;cursor:pointer;user-select:none}.lock-screen-icon{width:58px;height:58px;border-radius:20px;background:#e8e3dd;color:#4f4944;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(67,59,53,.06)}.lock-screen-icon svg{width:26px;height:26px}.lock-screen-state strong{font-size:16px}.lock-screen-state span{font-size:10px;color:var(--muted)}.unlock-prompt{position:absolute;inset:0;z-index:8;display:none;place-items:center;padding:20px;background:var(--bg)}.unlock-prompt.active{display:grid}.unlock-card{position:relative;width:min(360px,92vw);background:#fff;border:1px solid #ddd6cf;border-radius:22px;box-shadow:0 28px 90px rgba(41,33,28,.16);padding:24px;text-align:center}.unlock-close{position:absolute;top:10px;left:10px;width:30px;height:30px;border:0;border-radius:9px;background:var(--soft);color:var(--muted);display:grid;place-items:center;font-size:19px;line-height:1}.unlock-close:hover{background:#eee9e4;color:var(--ink)}.unlock-icon{width:44px;height:44px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin:0 auto}.unlock-icon svg{width:22px;height:22px}.unlock-card>strong{display:block;font-size:17px;margin-top:10px}.unlock-card>span{display:block;font-size:10px;color:var(--muted);line-height:1.9;margin:6px 0 16px}.unlock-card form{display:flex;flex-direction:column;gap:12px}.unlock-card form.is-submitting{opacity:.65;pointer-events:none}.pin-cells{display:grid;grid-template-columns:repeat(4,52px);justify-content:center;gap:9px}.unlock-card .pin-cell{width:52px;height:58px;border:1px solid #d8d0c9;background:#fff;border-radius:13px;padding:0;text-align:center;font-size:24px;font-weight:800;direction:ltr;outline:none}.unlock-card .pin-cell:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.unlock-card small{display:block;color:var(--danger);font-size:10px;margin-top:8px;min-height:15px}

@media(max-width:900px){.archive-stats,.customer-kpis{grid-template-columns:1fr 1fr}.invoice-card-main{grid-template-columns:150px 1fr 180px 100px}.customer-grid{grid-template-columns:1fr}.customer-columns{grid-template-columns:1fr}.settings-grid,.settings-grid.compact-grid{grid-template-columns:1fr 1fr}.account-grid{grid-template-columns:1fr 1fr}.toggle-grid{grid-template-columns:1fr 1fr}}

@media(max-width:760px){
  .lock-screen-toggle-wrap{top:10px;left:10px}.privacy-lock-toggle{width:48px;height:28px}.privacy-lock-track{width:48px;height:28px}.privacy-lock-knob{top:3px;width:22px;height:22px}.privacy-lock-toggle.is-locked .privacy-lock-knob{right:22px}.lock-screen-state{padding-top:70px}.lock-screen-icon{width:52px;height:52px;border-radius:18px}
  .topbar{height:58px;padding:0 12px}.brand-mini img{width:35px;height:35px}.brand-mini b{font-size:11px}.brand-mini small{display:none}.main-nav{gap:7px}.main-nav a{display:none}.main-nav a:first-child,.main-nav a:nth-child(2){display:block;font-size:10px;padding:7px}.page-shell{width:calc(100% - 20px);padding:24px 0 80px}.page-title-row{align-items:flex-start;flex-direction:column}.page-title-row h1{font-size:22px}.page-actions{width:100%}.page-actions .btn{flex:1}.archive-filter{display:grid;grid-template-columns:1fr 1fr}.archive-filter .grow{grid-column:1/-1}.archive-filter button{grid-column:1/-1}.quick-filters{overflow:auto;white-space:nowrap}.invoice-card{align-items:stretch}.invoice-card-main{grid-template-columns:1fr auto;grid-template-areas:"party status" "code money";gap:8px 12px;padding:12px}.invoice-code{grid-area:code}.invoice-party{grid-area:party}.invoice-money{grid-area:money}.invoice-card-main>.status{grid-area:status}.archive-stats,.customer-kpis{gap:7px}.archive-stats>div,.customer-kpis>div{padding:12px}.archive-stats b,.customer-kpis b{font-size:13px}.customer-card{grid-template-columns:40px 1fr auto;grid-template-areas:"avatar main balance" "avatar meta balance"}.customer-card .customer-metric.sales{display:none}.customer-columns{display:block}.ledger-card{margin-top:10px}.ledger-row{grid-template-columns:1fr 95px}.ledger-balance{display:none}.settings-section{padding:15px}.settings-grid,.settings-grid.compact-grid,.account-grid{grid-template-columns:1fr}.account-grid .wide{grid-column:auto}.toggle-grid{grid-template-columns:1fr}.settings-submit .btn{width:100%}

  .invoice-page{padding-bottom:64px;background:#f2f0ed}.editor-bar{height:52px;padding:0 9px}.editor-start{gap:4px}.editor-new{display:none}.save-state span{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-actions .hide-small,.history-btn{display:none}.editor-actions .btn{font-size:10px;padding:6px 8px}.editor-actions #printBtn,.editor-actions #pdfBtn,.editor-actions #shareBtn{display:none}.editor-actions #paymentBtn{display:none}.editor-actions #deleteInvoiceBtn{display:none}.deleted-banner{top:52px}.invoice-workspace{padding:10px 7px 20px}.invoice-sheet{width:100%;min-height:0;padding:13px 11px 18px;border-radius:16px;box-shadow:0 6px 25px rgba(55,45,35,.07)}.invoice-header{min-height:0;padding:11px;align-items:center}.invoice-logo{width:52px;height:52px}.invoice-brand span{font-size:10px}.invoice-brand strong{font-size:14px}.invoice-meta{padding:0;gap:4px}.invoice-meta label{font-size:8px}.invoice-meta b{font-size:9px}.customer-strip{margin:10px 0}.customer-main-line{flex-wrap:wrap}.customer-main-line>span{width:100%}.customer-main-line>input{font-size:12px}.customer-more{grid-template-columns:1fr}.items-head{display:none}.items-body{border:0}.item-row{position:relative;display:grid;grid-template-columns:1fr 92px 60px;grid-template-areas:"desc total tools" "qty price tools";gap:4px 8px;min-height:74px;border:1px solid #e8e2dc!important;border-radius:12px;margin-bottom:7px;padding:9px 8px 8px 28px;background:#fff}.item-row.expanded{grid-template-areas:"desc total tools" "qty price tools" "unit discount tools"}.drag-handle{display:none}.row-index{position:absolute;right:9px;top:10px;width:16px;height:16px;border-radius:6px;background:#f3eee9;display:grid;place-items:center;font-size:8px}.desc-cell{grid-area:desc}.qty-cell{grid-area:qty}.unit-cell{grid-area:unit}.price-cell{grid-area:price}.discount-cell{grid-area:discount}.row-total{grid-area:total;text-align:left;align-self:center;font-size:11px}.row-tools{grid-area:tools;flex-direction:column;align-self:stretch;justify-content:center;border-right:1px solid #eee9e4}.row-tools button{width:28px;height:23px}.expand-row{display:block}.duplicate-row{display:block}.mobile-extra{display:none}.item-row.expanded .unit-cell,.item-row.expanded .discount-cell{display:flex}.item-row input{padding:4px 3px;font-size:10px}.desc-cell input{font-size:11px;font-weight:700;padding-right:0}.mobile-label{display:block;font-size:7px;color:#aaa49e;margin-top:-2px}.mobile-row-caption{display:none}.qty-cell,.price-cell{display:flex;align-items:center;gap:3px}.unit-cell,.discount-cell{align-items:center;gap:3px}.qty-cell input,.price-cell input,.unit-cell input,.discount-cell input{text-align:right}.add-row{width:100%;background:#f8f3ee;border:1px dashed #d8c7b9;border-radius:10px;text-decoration:none!important;padding:9px}.invoice-summary{grid-template-columns:1fr;gap:8px}.totals{order:-1}.notes-area textarea{background:#f8f7f5}.payment-info{align-items:flex-start;gap:10px}.payment-account{grid-template-columns:1fr}.payment-account strong{grid-row:auto}.payment-side{flex-direction:column;gap:6px}.invoice-qr{width:56px;height:56px}.signatures{min-height:100px;padding:15px 0 0}.signature-box{width:120px;font-size:8px}.stamp-box img{max-width:65px}.invoice-sheet footer{margin-top:10px}.mobile-editor-bar{position:fixed;bottom:0;right:0;left:0;height:58px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid #ddd8d2;z-index:80;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));padding:5px 7px max(5px,env(safe-area-inset-bottom));gap:4px}.mobile-editor-bar>*{border:0;background:transparent;border-radius:8px;font-size:9px;font-weight:700;display:grid;place-items:center}.mobile-editor-bar>*:first-child{background:var(--ink);color:#fff}.payment-form{grid-template-columns:1fr}.payment-form .wide{grid-column:auto}.payment-stats{gap:5px}.payment-stats>div{padding:8px}.modal{padding:14px;border-radius:16px}.modal-backdrop{align-items:end;padding:0}.payment-modal{border-radius:20px 20px 0 0;max-height:88vh}.popover{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:70px}.date-selects select{flex:1}.date-selects{display:grid;grid-template-columns:1fr 1fr 1fr}
}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body,.invoice-page,.print-view-page,.public-invoice-page{background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important}
  .editor-bar,.deleted-banner,.modal-backdrop,.popover,.mobile-editor-bar,.lock-layer,.print-toolbar,.public-invoice-toolbar{display:none!important}
  body.app-locked>*:not(.lock-layer){display:none!important}
  body.app-locked .lock-layer{display:block!important;position:fixed!important;inset:0!important;background:#fff!important}
  body.app-locked .lock-screen-toggle-wrap,body.app-locked .unlock-prompt{display:none!important}
  body.app-locked .lock-screen-state{display:flex!important;color:#24211f!important}
  .invoice-workspace{display:block!important;padding:0!important;margin:0!important;background:#fff!important}
  .invoice-sheet{width:210mm!important;min-height:297mm!important;margin:0!important;padding:12mm 11mm 9mm!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
  .items-head,.item-row{display:grid!important;grid-template-columns:0 28px minmax(180px,1fr) 68px 64px 90px 76px 100px 0!important;grid-template-areas:none!important;min-height:38px!important;border-radius:0!important;margin:0!important;padding:0!important;border-left:0!important;border-right:0!important}
  .items-head{border:1px solid #ddd!important}.items-body{border:1px solid #ddd!important;border-top:0!important}.item-row{border:0!important;border-top:1px solid #e8e8e8!important;background:#fff!important}.item-row:first-child{border-top:0!important}.drag-handle,.row-tools{display:none!important}.row-index{position:static!important;width:auto!important;height:auto!important;background:transparent!important;display:block!important;padding:3px!important}.desc-cell,.qty-cell,.unit-cell,.price-cell,.discount-cell,.row-total{display:block!important;grid-area:auto!important}.mobile-extra{display:block!important}.mobile-label,.mobile-row-caption{display:none!important}.item-row input{border:0!important;background:transparent!important;box-shadow:none!important;padding:4px!important}.add-row{display:none!important}.customer-more{display:none!important}.tiny-toggle,.customer-ledger-link{display:none!important}.invoice-summary{grid-template-columns:1fr 285px!important}.invoice-header,.payment-info{-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-qr{width:70px!important;height:70px!important}.invoice-sheet footer{position:absolute;bottom:8mm;left:0;right:0}.print-document-shell{padding:0!important;display:block!important}.readonly-sheet{width:210mm!important;min-height:297mm!important;box-shadow:none!important;border-radius:0!important}.readonly-sheet footer{position:static!important;margin-top:18px!important}
}
