:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0f172a;background-color:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}:root{--bg: #f6f7fb;--panel: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e5e7eb;--primary: #2563eb;--create-btn-bg: #86efac;--create-btn-text: #14532d;--create-btn-border: #4ade80;--create-btn-hover-bg: #4ade80;--create-btn-hover-text: #052e16}:root[data-theme=dark]{--bg: #0b1020;--panel: #0f172a;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .65);--border: rgba(255, 255, 255, .14);--primary: #60a5fa;--create-btn-bg: #4ade80;--create-btn-text: #052e16;--create-btn-border: #22c55e;--create-btn-hover-bg: #22c55e;--create-btn-hover-text: #022c22}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums}.pageSub{margin:6px 0 0;color:var(--muted);font-size:13px}input,select,textarea{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;line-height:1.4;box-sizing:border-box;min-height:44px}.input{color:var(--text)!important;padding:12px 14px!important;font-size:14px!important;min-height:44px!important;box-sizing:border-box!important}input.input,textarea.input,select.input{background:var(--panel)!important;border-color:var(--border)!important}.btn{min-height:44px;padding:12px 16px;font-size:14px;line-height:1.4;box-sizing:border-box}.btnPrimary{min-height:44px;padding:12px 16px;font-size:14px}.btnCreate{background:var(--create-btn-bg)!important;color:var(--create-btn-text)!important;border-color:var(--create-btn-border)!important;font-weight:700}.btnCreate:hover{background:var(--create-btn-hover-bg)!important;color:var(--create-btn-hover-text)!important}.sb button,.sbBtn,.sbCollapse{min-height:auto}select option{background:#fff;color:#0f172a}:root[data-theme=dark] select option{background:#0f172a;color:#ffffffeb}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(0);cursor:pointer;opacity:.8}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.3)!important;cursor:pointer;opacity:.95!important}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator:hover,:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator:hover{filter:invert(1) brightness(1.5)!important;opacity:1!important}h1{font-size:3.2em;line-height:1.1}button{border-radius:10px;border:1px solid transparent;min-height:44px;padding:12px 16px;font-size:14px;font-weight:400;font-family:inherit;background-color:#111827;color:#fff;cursor:pointer;transition:border-color .25s;line-height:1.4;box-sizing:border-box}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.table tbody tr:nth-child(2n){background:#00000008}:root[data-theme=dark] .table tbody tr:nth-child(2n){background:#ffffff0d}.loginPage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.loginLeft{display:grid;align-content:center;justify-items:center;padding:48px 24px;background:var(--bg)}.loginCard{width:min(420px,100%)}.brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--text);font-weight:800;letter-spacing:.2px}.brandMark{height:32px;width:auto;object-fit:contain;display:block}.title{margin:0 0 6px;font-size:34px;line-height:1.1}.subtitle{margin:0 0 22px;color:var(--muted)}.form{display:grid;gap:14px}.loginCard .field label{display:block;font-size:13px;margin-bottom:6px;color:var(--text)}.loginCard .input{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);outline:none}.loginCard .input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #3b82f626;background:var(--panel)}.loginCard .input::placeholder{color:var(--muted)}.passwordWrap{position:relative}.passwordToggle{position:absolute;top:50%;transform:translateY(-50%);right:10px;border:0;background:transparent;padding:6px;color:var(--muted)}.passwordToggle:hover{color:var(--text)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.remember{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.link{font-size:13px}.submit{width:100%;border-radius:10px;background:#6b7280;color:#fff;border:0}.submit:disabled{opacity:.7;cursor:not-allowed}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:10px 12px;border-radius:8px;font-size:13px}.bottom{margin-top:14px;font-size:13px;color:var(--muted);text-align:center}.footer{margin-top:32px;font-size:12px;color:var(--muted);text-align:center}.footer a{color:var(--muted);text-decoration:none;transition:color .2s}.footer a:hover{color:var(--text);text-decoration:underline}.loginRight{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 30% 30%,rgba(37,99,235,.35),transparent 55%),radial-gradient(900px 500px at 70% 60%,rgba(14,165,233,.35),transparent 55%),linear-gradient(135deg,#0b1020,#111827)}.loginHeroImage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}.loginHeroOverlay{position:absolute;inset:0;background:linear-gradient(90deg,#00000073,#0000 55%),radial-gradient(1200px 600px at 30% 30%,rgba(37,99,235,.28),transparent 55%),radial-gradient(900px 500px at 70% 60%,rgba(14,165,233,.22),transparent 55%)}.loginRight:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff1f,#fff0 45%),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0px,rgba(255,255,255,.07) 1px,transparent 1px,transparent 18px);opacity:.35}.rightCaption{position:absolute;bottom:22px;left:22px;right:22px;color:#ffffffe6;font-size:13px;z-index:2}.rightCaption strong{color:#fff}@media(max-width:900px){.loginPage{grid-template-columns:1fr}.loginRight{display:none}}.appModalOverlay{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;padding:16px;z-index:3000}.appModal{width:min(920px,100%);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.appModalHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.appModalTitle{font-weight:900}.appModalBody{margin-top:12px;color:var(--text);overflow:auto;padding-right:2px}.appModalActions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.emptyState{display:grid;place-items:center;text-align:center;gap:8px;width:100%;box-sizing:border-box;padding:22px 16px;margin:10px 0;color:var(--text)}.emptyState.compact{padding:16px 12px;margin:8px 0;gap:6px}.emptyIcon{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;border:1px solid var(--border);background:#94a3b814;color:var(--muted)}.emptyState.compact .emptyIcon{width:54px;height:54px;border-radius:14px}.emptyTitle{font-weight:900;font-size:14px}.emptyDesc{color:var(--muted);font-size:13px;max-width:520px}.emptyActions{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.subBanner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#fef3c7;border:1px solid #fde68a;color:#7c2d12;margin-bottom:14px}.subBanner button{background:#f59e0b;border:0;color:#111827;padding:8px 12px;border-radius:10px;font-weight:400;font-size:13px}.subBanner .subBannerActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.subBanner .subBannerClose{background:transparent;border:0;color:inherit;padding:6px 8px;border-radius:10px;font-weight:400;font-size:13px}.subBanner.subBannerRenew{background:#ecfeff;border:1px solid #a5f3fc;color:#164e63}.subBanner.subBannerRenew button{background:#06b6d4;color:#083344}@media(max-width:700px){.subBanner{flex-direction:column;align-items:flex-start}}.sb{--sb-bg: var(--panel);--sb-text: var(--text);--sb-muted: var(--muted);--sb-active: #0f8a43;--sb-hover: rgba(15, 23, 42, .06);--sb-icon: rgba(15, 23, 42, .06);--sb-width: 260px;background:var(--sb-bg);color:var(--sb-text);border-right:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:12px;width:var(--sb-width);flex-shrink:0;transition:width .2s ease;height:100vh;overflow:hidden}:root[data-theme=dark] .sb{--sb-bg: var(--bg);--sb-text: rgba(255, 255, 255, .92);--sb-muted: rgba(255, 255, 255, .7);--sb-hover: rgba(255, 255, 255, .08);--sb-icon: rgba(255, 255, 255, .12);background:var(--sb-bg);border-right:1px solid rgba(255,255,255,.08)}.sb.collapsed{padding:12px 10px;--sb-width: 70px}@media(max-width:1023px){.sb{position:fixed;left:0;top:0;height:100vh;z-index:1000;transition:transform .2s ease,width .2s ease}.sb.collapsed{--sb-width: 70px}.sb:not(.collapsed){--sb-width: 260px;box-shadow:2px 0 8px #00000026}}@media(max-width:1023px){body{overflow-x:hidden}.sb.collapsed~main{margin-left:70px;width:calc(100% - 70px)}.sb:not(.collapsed)~main{margin-left:0;width:100%}}.sbTop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 8px}.sb.collapsed .sbTop{flex-direction:column;gap:8px;align-items:center;justify-content:flex-start}.sbBrand{display:flex;align-items:center;gap:10px;min-width:0;justify-content:center}.sb.collapsed .sbBrand{width:100%;justify-content:center}.sbLogo{width:34px;height:34px;border-radius:10px;object-fit:contain;display:block}.sbBrandText{font-weight:600;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sbCollapse{border:1px solid var(--border);background:transparent;color:var(--sb-text);border-radius:10px;padding:8px 10px;cursor:pointer;flex-shrink:0;min-height:auto;font-size:13px}.sb.collapsed .sbCollapse{width:100%;padding:8px;font-size:14px}.sbCollapse:hover{background:var(--sb-hover)}.sbNav{display:grid;gap:6px}.sbItem{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;color:var(--sb-text);text-decoration:none;background:transparent;border:1px solid transparent}.sbItem:hover{background:var(--sb-hover)}.sbItem.active{background:var(--sb-active);border-color:#ffffff2e}.sbIcon{width:26px;height:26px;border-radius:10px;display:grid;place-items:center;background:var(--sb-icon);flex:0 0 auto}.sbItem.active .sbIcon{background:#0000002e}.sbLabel{font-weight:500}.sbBottom{margin-top:auto;display:grid;gap:10px;padding-top:8px;padding-bottom:18px;border-top:1px solid var(--border)}.sbUser{padding:10px 10px 0}.sbUserEmail{font-size:12px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbUserRole{font-size:12px;color:var(--sb-muted)}.sbBtn{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--sb-text);font-weight:500;cursor:pointer;width:100%;min-height:auto;font-size:13px}.sb.collapsed .sbBtn{justify-content:center;padding:10px 8px}.sbBtn:hover{background:var(--sb-hover)}.receiptPage{min-height:100vh;background:var(--doc-bg);color:var(--doc-text);font-family:var(--doc-font)}.receiptToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}.receiptTitle{font-weight:800;font-family:var(--doc-font-heading);color:var(--doc-secondary)}.receiptDoc{margin:0 auto;padding:32px 40px;background:var(--doc-surface);border:1px solid var(--doc-border);border-radius:8px;box-shadow:0 2px 8px #0000000f}.receiptDoc.standard,.receiptDoc.detailed{width:min(700px,100%)}.receiptDoc.a4{width:min(900px,100%)}.stdInvoice{font-size:13px;line-height:1.5;color:#333}.stdHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.stdLogoSection{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.stdLogo{width:64px;height:64px;object-fit:contain}.stdLogoPlaceholder{width:64px;height:64px;background:#f0f0f0;border-radius:8px}.stdBrandName{font-size:14px;font-weight:600;color:#333;letter-spacing:1px;text-transform:uppercase}.stdInvoiceInfo{text-align:right}.stdInvoiceNumber{font-size:28px;font-weight:700;color:#333;letter-spacing:-.5px}.stdInvoiceDesc{font-size:12px;color:#888;margin-top:4px}.stdFromDateSection{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.stdFromSection{flex:1}.stdSectionLabel{font-size:11px;font-weight:700;color:#333;margin-bottom:8px}.stdFromDetails{font-size:12px;color:#555;line-height:1.6}.stdCompanyName{font-weight:600;color:#333}.stdDateSection{text-align:right;min-width:180px}.stdDateRow{display:flex;justify-content:space-between;gap:24px;margin-bottom:8px}.stdDateLabel{font-size:11px;font-weight:700;color:#333;letter-spacing:.2px}.stdDateValue{font-size:12px;color:#333;font-weight:500}.stdAmountValue{font-weight:700;color:var(--doc-primary, #e67e22)}.stdBillToSection{margin-bottom:28px}.stdBillToDetails{font-size:12px;color:#555;line-height:1.6}.stdCustomerName{font-weight:600;color:#333}.stdTable{width:100%;border-collapse:collapse;margin-bottom:0}.stdTable thead tr{background:var(--doc-primary, #e67e22)}.stdTable th{padding:12px 16px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-align:center}.stdThDesc{text-align:left;width:45%}.stdThQty{text-align:center;width:12%}.stdThPrice{text-align:center;width:22%}.stdThAmount{text-align:right;width:21%}.stdTable tbody tr{border-bottom:1px solid #eee}.stdTable tbody tr:last-child{border-bottom:none}.stdTable td{padding:14px 16px;vertical-align:top}.stdTdDesc{text-align:left;color:#333}.stdItemSubDesc{font-size:11px;color:#888;margin-top:2px}.stdTdQty{text-align:center;color:#333}.stdTdPrice{text-align:center;color:var(--doc-primary, #e67e22)}.stdTdAmount{text-align:right;color:#333}.stdTotalsSection{margin-top:20px;padding-top:0}.stdTotalsHr{border:none;border-top:2px solid #333;margin:0 0 12px}.stdTotalsTable{width:100%;border-collapse:collapse;font-size:12px}.stdTotalsTable .stdTotalRow td{padding:6px 16px;vertical-align:top}.stdTotalLabelCell{text-align:left;font-weight:700;color:#555;width:45%}.stdTotalsTable .stdTotalRow td:nth-child(2){width:12%}.stdTotalsTable .stdTotalRow td:nth-child(3){width:22%}.stdTotalValueCell{text-align:right;font-weight:500;color:#333;width:21%}.stdGrandTotalRow td{padding-top:10px!important;border-top:1px solid #ddd}.stdGrandTotalRow .stdTotalLabelCell,.stdGrandTotalRow .stdTotalValueCell{font-weight:700;color:#333}.stdFooter{margin-top:40px;padding-top:20px;border-top:1px solid #eee;font-size:12px;line-height:1.6}.stdFooterHighlight{color:var(--doc-primary, #e67e22)}.stdFooterBold{font-weight:700;color:#333}.stdFooterMuted{color:#888}.detailedInvoice{font-size:13px;line-height:1.4;color:#333}.detHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.detCompanyInfo{flex:1}.detCompanyName{font-size:24px;color:var(--doc-primary, #2563eb);font-weight:400;margin-bottom:4px}.detCompanyDetails{font-size:12px;color:var(--doc-primary, #2563eb);line-height:1.5}.detLogoSection{flex-shrink:0}.detLogo{width:80px;height:80px;object-fit:contain;border-radius:50%}.detLogoPlaceholder{width:80px;height:80px;background:#4b5563;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.detBillingSection{display:flex;gap:40px;margin-bottom:24px}.detBillTo,.detShipTo{flex:1}.detSectionTitle{font-size:12px;font-weight:700;color:var(--doc-secondary, #333);margin-bottom:8px}.detBillDetails{font-size:12px;color:#666;line-height:1.6}.detInvoiceInfo{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.detDateRow,.detDateSection{display:flex;align-items:baseline;gap:8px}.detDateLabel{font-size:12px;font-weight:700;color:var(--doc-secondary, #333)}.detDateValue{font-size:12px;color:var(--doc-text, #333)}.detTable{width:100%;border-collapse:collapse;margin-bottom:0}.detTable thead tr{background:var(--doc-primary, #2563eb)}.detTable th{padding:10px 12px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px;border:1px solid #2563eb;text-align:center}.detThDesc{text-align:left;width:45%}.detThQty{text-align:center;width:15%}.detThPrice{text-align:center;width:20%}.detThTotal{text-align:right;width:20%}.detTable tbody tr{border-bottom:1px solid #e5e7eb}.detTable tbody tr.detRowAlt{background:#f3f4f6}.detTable td{padding:10px 12px;vertical-align:middle;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.detTable tbody tr:last-child td{border-bottom:1px solid #e5e7eb}.detTdDesc{text-align:left;color:#333}.detTdQty,.detTdPrice{text-align:center;color:#333}.detTdTotal{text-align:right;color:#333}.detSummarySection{margin-top:20px}.detSummaryHr{border:none;border-top:2px solid #333;margin:12px 0 10px}.detThankYou{font-size:13px;color:#333}.detSummaryTable{width:100%;border-collapse:collapse}.detSummaryTable .detSummaryRow td{padding:6px 12px;border-bottom:1px solid #e5e7eb}.detSummaryLabelCell{font-size:11px;font-weight:700;color:#333;text-transform:uppercase;width:45%;text-align:left}.detSummaryTable .detSummaryRow td:nth-child(2){width:15%}.detSummaryTable .detSummaryRow td:nth-child(3){width:20%}.detSummaryValueCell{font-size:12px;color:#333;text-align:right;width:20%}.detBalanceRow{margin-top:8px}.detBalanceRow td{font-weight:700;color:var(--doc-secondary, #333);border-top:1px solid #d1d5db}.detBalanceLabel{font-size:13px;font-weight:700;color:var(--doc-secondary, #333);flex:1}.detBalanceValue{font-size:14px;font-weight:700;color:var(--doc-secondary, #333);padding:4px 8px;background:color-mix(in srgb,var(--doc-primary, #2563eb) 15%,#fff);border:1px solid color-mix(in srgb,var(--doc-primary, #2563eb) 30%,#fff)}.detBalanceAmount{font-size:14px;font-weight:700;color:var(--doc-secondary, #333);min-width:80px;text-align:right;padding:4px 8px;background:color-mix(in srgb,var(--doc-primary, #2563eb) 15%,#fff);border:1px solid color-mix(in srgb,var(--doc-primary, #2563eb) 30%,#fff);border-left:none}.detBankSection{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.detBankDetails{font-size:12px;color:#333;line-height:1.6}.detTermsSection{margin-top:24px;padding-top:16px;border-top:1px solid var(--doc-secondary, #333)}.detTermsTitle{font-size:12px;font-weight:700;color:var(--doc-secondary, #333);text-decoration:underline;margin-bottom:8px}.detTermsContent{font-size:11px;color:#666;line-height:1.5}.a4Invoice{font-size:13px;line-height:1.5;color:#333}.a4Header{display:flex;flex-direction:column;align-items:center;margin-bottom:8px}.a4Logo{width:60px;height:60px;object-fit:contain;margin-bottom:8px}.a4LogoPlaceholder{width:60px;height:60px;background:#f0f0f0;border-radius:50%;margin-bottom:8px}.a4CompanyName{font-size:28px;font-weight:400;color:var(--doc-secondary, #333);letter-spacing:2px;font-family:var(--doc-font-heading)}.a4ContactLine{text-align:center;font-size:11px;color:#666;margin-bottom:16px;font-style:italic}.a4Separator{margin:0 8px;color:#999}.a4TitleBanner{background:var(--doc-secondary, #1a1a1a);color:#fff;text-align:center;padding:10px 20px;font-size:13px;font-weight:600;letter-spacing:2px;margin-bottom:20px}.a4CustomerSection{margin-bottom:24px;padding:0 4px}.a4CustomerRow{display:flex;gap:8px;margin-bottom:6px}.a4Label{font-size:11px;color:#666;min-width:80px}.a4CustomerValue{font-size:13px;color:#333;font-weight:500}.a4DateRow{display:flex;gap:32px;margin-top:12px;flex-wrap:wrap}.a4DateItem{display:flex;gap:8px;align-items:baseline}.a4DateValue{font-size:13px;color:#333}.a4Table{width:100%;border-collapse:collapse;margin-bottom:0}.a4Table thead tr{background:var(--doc-primary, #1a1a1a)}.a4Table th{padding:12px 16px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-align:center}.a4ThNum{text-align:center;width:5%}.a4ThDesc{text-align:left;width:45%}.a4ThQty{text-align:center;width:12%}.a4ThRate{text-align:center;width:19%}.a4ThAmount{text-align:right;width:19%}.a4Table tbody tr{border-bottom:1px solid #eee}.a4Table tbody tr:last-child{border-bottom:none}.a4Table td{padding:14px 16px;vertical-align:top}.a4TdNum,.a4TdDesc{text-align:left;color:#333}.a4ItemSubDesc{font-size:11px;color:#888}.a4TdQty{text-align:center;color:#333}.a4TdRate,.a4TdAmount{text-align:right;color:#333}.a4TotalSection{margin-top:20px;padding:0}.a4TotalHr{border:none;border-top:2px solid #333;margin:0 0 12px}.a4TotalTable{width:100%;border-collapse:collapse}.a4TotalTable .a4TotalRow td{padding:6px 16px;font-size:14px}.a4TotalTable .a4TotalRow td:nth-child(1){width:5%}.a4TotalLabelCell{width:45%;font-weight:700;color:var(--doc-secondary, #333);text-align:left}.a4TotalTable .a4TotalRow td:nth-child(3){width:12%}.a4TotalTable .a4TotalRow td:nth-child(4){width:19%}.a4TotalValueCell{width:19%;font-weight:700;color:var(--doc-primary, #333);text-align:right}.a4AmountWords{margin-top:24px;padding-top:16px;border-top:1px solid #ddd}.a4AmountWordsLabel{font-size:11px;color:#666;margin-right:8px}.a4AmountWordsValue{font-size:13px;color:#333;font-style:italic}.a4Footer{margin-top:40px;padding-top:16px;border-top:1px solid #ddd;font-size:12px;color:#666;text-align:center}.rHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--doc-primary)}.rBrand{display:flex;align-items:center;gap:10px;min-width:0}.rLogo{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--doc-border)}.rBrandName{font-weight:900;font-family:var(--doc-font-heading);color:var(--doc-secondary);letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rMeta{margin-top:12px;display:grid;gap:6px;font-size:12px;color:var(--doc-muted)}.rRow{display:flex;justify-content:space-between;gap:12px}.rValue{color:var(--doc-text);font-weight:600;text-align:right}.rTable{width:100%;border-collapse:collapse;margin-top:14px;font-size:12px}.rTable th{text-align:center;color:var(--doc-muted);font-weight:700;padding:8px 6px;border-bottom:1px solid var(--doc-primary)}.rTable thead th.rRight{text-align:center}.rTable td{padding:8px 6px;border-bottom:1px solid color-mix(in srgb,var(--doc-primary) 18%,var(--doc-border));vertical-align:top}.rRight{text-align:right}.rTotals{margin-top:14px;border-top:1px solid var(--doc-primary);padding-top:12px;display:grid;gap:6px;font-size:12px}.rGrand{font-size:14px;font-weight:900;color:var(--doc-primary)}.rFooter{margin-top:14px;padding-top:12px;border-top:1px solid var(--doc-primary);font-size:12px;color:var(--doc-muted);line-height:1.4}@media print{.receiptToolbar{display:none!important}.receiptPage{background:#fff!important;padding:0!important}.receiptDoc{border:0!important;border-radius:0!important;box-shadow:none!important;width:100%!important;max-width:none!important;padding:24px!important}table,tr,td,th{page-break-inside:avoid}.stdTable thead tr,.a4Table thead tr,.a4TitleBanner,.detTable thead tr,.detBalanceValue,.detBalanceAmount{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.dashTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashTitle{margin:0;font-size:22px;font-weight:800}.filterRow{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap}.filterRow select,.filterRow input{width:140px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.filterRow input[type=month]{width:170px}.pill{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#fef3c7;border:1px solid #fde68a;color:#7c2d12;margin-bottom:14px}.pill button{background:#f59e0b;border:0;color:#111827;border-radius:10px;font-weight:400}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.dashCards{grid-column:span 12;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpi{display:grid;gap:4px}.kpiLabel{color:var(--muted);font-size:12px}.kpiValue{font-size:20px;font-weight:800}.span2{grid-column:span 2}.span5{grid-column:span 5}.span7{grid-column:span 7}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--muted);font-weight:700;padding:10px 8px;border-bottom:1px solid var(--border)}.table td{padding:10px 8px;border-bottom:1px solid rgba(148,163,184,.18)}@media(max-width:900px){.span2,.span3,.span4,.span5,.span7{grid-column:span 12}.dashCards{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.dashCards{grid-template-columns:1fr}}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.transactionTabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin:0 -16px;padding:0 16px}.transactionTab{padding:12px 20px;font-weight:700;color:var(--muted);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;margin-bottom:-1px;border-radius:0;min-height:auto}.transactionTab:hover{color:var(--text)}.transactionTabActive{color:var(--text);border-bottom-color:var(--text)}@media(max-width:900px){.panelHead{flex-direction:column;align-items:flex-start}.grid2{grid-template-columns:1fr}}input[type=date],input[type=time]{color:var(--text);background:var(--panel);border-color:var(--border)}.txDateInput{padding-right:12px;box-sizing:border-box}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(0);cursor:pointer}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}textarea{max-width:100%;box-sizing:border-box;resize:vertical}.span3{grid-column:span 3}.span6{grid-column:span 6}.span12{grid-column:span 12}.cardValue{margin-top:10px;font-size:24px;font-weight:900}.expenseForm{display:grid;gap:10px;margin-top:12px}.expenseFormGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fieldLabel{color:var(--muted);font-size:12px;margin-bottom:6px;font-weight:700}.fieldHelp{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35}.deductibleBox{border:1px solid var(--border);background:#94a3b81a;border-radius:12px;padding:10px 12px;display:grid;gap:8px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.searchRow{display:grid;grid-template-columns:1fr 180px 150px 150px 140px 260px;align-items:center;gap:10px;width:min(1180px,100%)}@media(max-width:900px){.span3,.span4,.span6{grid-column:span 12}.panelHead{flex-direction:column;align-items:flex-start}}@media(max-width:700px){.searchRow{grid-template-columns:1fr 180px}.dateInput{grid-column:1 / -1;width:100%;max-width:none}.pageSize{width:100%;max-width:none}.sortBy{grid-column:1 / -1;width:100%;max-width:none}.expenseFormGrid2{grid-template-columns:1fr}}.activeCard{border-color:#22c55e80;background:#22c55e14}.inactiveCard{border-color:#ef444480;background:#ef44440f}.statsDateFilter{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap}.statsDateFilter .input{width:140px}.tabs{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.tab{padding:10px 14px;background:transparent;border:0;color:var(--text);font-weight:800;min-height:auto}.tabActive{background:#94a3b838}.statusActive{color:#16a34a;font-weight:800}.statusInactive{color:#dc2626;font-weight:800}.inventoryTabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-top:14px;padding:0}.inventoryTab{padding:12px 20px;font-weight:700;color:var(--muted);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;margin-bottom:-1px;border-radius:0;min-height:auto}.inventoryTab:hover{color:var(--text)}.inventoryTabActive{color:var(--text);border-bottom-color:var(--text)}.leftFilters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.searchRow{display:grid;grid-template-columns:1fr 140px 140px 150px 110px 240px;align-items:center;gap:10px;width:min(1080px,100%)}.dateInput{width:140px;max-width:140px}.statusFilter{width:150px;max-width:150px}.pageSize{width:110px;max-width:110px}.sortBy{width:240px;max-width:240px}@media(max-width:900px){.panelHead{flex-direction:column;align-items:flex-start}}@media(max-width:900px){.searchRow{grid-template-columns:1fr 140px 140px}.statusFilter,.pageSize,.sortBy{grid-column:span 1}}@media(max-width:700px){.searchRow{grid-template-columns:1fr 110px}.dateInput,.statusFilter,.sortBy{grid-column:1 / -1;width:100%;max-width:none}}.cards{margin-top:14px;display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.span4{grid-column:span 4}.cardLabel{color:var(--muted);font-size:13px;font-weight:700}.cardValue{margin-top:10px;font-size:28px;font-weight:900}.btnPrimary{background:#111827;color:#fff;border-color:transparent}.table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}@media(max-width:900px){.span4{grid-column:span 12}.panelHead{flex-direction:column;align-items:flex-start}}.reportGrid{margin-top:14px;display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.reportCard{grid-column:span 4;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.reportCard:hover{transform:translateY(-1px);border-color:#60a5faa6}.reportCard.locked{opacity:.7}.reportHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.reportTitle{font-weight:900;font-size:14px;color:var(--text)}.reportDesc{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.4;min-height:42px}.badge{font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;border:1px solid var(--border)}.badgeFree{background:#22c55e1f;border-color:#22c55e59;color:#16a34a}.badgePaid{background:#f973161f;border-color:#f9731659;color:#ea580c}.lockText,.openText{margin-top:10px;font-size:12px;font-weight:800;color:var(--muted)}@media(max-width:900px){.reportCard{grid-column:span 12}}.reportTop{overflow-x:auto}.reportBar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);gap:18px;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:radial-gradient(1200px 220px at 30% 0%,rgba(96,165,250,.18),transparent),linear-gradient(135deg,#020617db,#0f172aeb);color:#ffffffeb;min-width:920px;width:max-content}.metric{display:grid;gap:8px}.metricLabel{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;font-weight:800}.metricValue{font-size:15px;font-weight:900!important}.metricValue.green{color:#22c55e}.metricValue.orange{color:#f97316}.metricValue.teal{color:#06b6d4}.metricValue.amber{color:#f59e0b}.table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}.overviewRow{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.overviewCard{grid-column:span 3;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.overviewLabel{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.overviewValue{margin-top:8px;font-size:18px;font-weight:900}.panel{margin-top:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px}@media(max-width:900px){.overviewCard{grid-column:span 12}}.searchRow{display:grid;grid-template-columns:1fr 140px 260px;align-items:center;gap:10px;width:min(980px,100%)}@media(max-width:700px){.searchRow{grid-template-columns:1fr 140px}.sortBy{grid-column:1 / -1;width:100%;max-width:none}}.table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panelHead{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.panelTitle{font-weight:900}.panelDesc{color:var(--muted);font-size:13px;margin-top:4px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;font-weight:400;text-decoration:none}.searchRow{display:grid;grid-template-columns:1fr 150px 150px 140px 260px;align-items:center;gap:10px;width:min(980px,100%)}.table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px}.pager{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:700px){.searchRow{grid-template-columns:1fr 140px}.dateInput,.sortBy{grid-column:1 / -1;width:100%;max-width:none}}.searchRow.expenseSearchRow{display:flex;flex-wrap:wrap;gap:10px;width:100%}.searchRow.expenseSearchRow>input:first-child{flex:1;min-width:160px}.searchRow.expenseSearchRow .categorySelect{width:150px}.searchRow.expenseSearchRow .deductibleSelect{width:100px}.searchRow.expenseSearchRow .dateInput{width:140px}.searchRow.expenseSearchRow .pageSize{width:110px}.searchRow.expenseSearchRow .sortBy{width:220px}.expenseTable{min-width:1180px}@media(max-width:1100px){.searchRow.expenseSearchRow .categorySelect,.searchRow.expenseSearchRow .deductibleSelect{width:130px}.searchRow.expenseSearchRow .sortBy{width:200px}}@media(max-width:900px){.searchRow.expenseSearchRow{flex-wrap:wrap}.searchRow.expenseSearchRow>input:first-child{width:100%;flex:none}.searchRow.expenseSearchRow .categorySelect,.searchRow.expenseSearchRow .deductibleSelect,.searchRow.expenseSearchRow .dateInput,.searchRow.expenseSearchRow .pageSize,.searchRow.expenseSearchRow .sortBy{flex:1;min-width:140px}}.pageTitle{margin:0;font-size:22px;font-weight:800}.pageSub{margin:6px 0 0;color:var(--muted)}.panel{margin-top:14px;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.controls{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.searchRow{display:grid;grid-template-columns:1fr 150px 150px 150px 140px 260px;align-items:center;gap:10px;width:min(980px,100%)}.input{border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);width:100%}.pageSize{width:140px;max-width:140px}.sortBy{width:260px;max-width:260px}.dateInput{width:150px;max-width:150px}.tableWrap{overflow-x:auto}.table{width:100%;min-width:820px;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:12px 14px;color:var(--muted);border-bottom:1px solid var(--border)}.table td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.18)}.muted{color:var(--muted)}.btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;font-weight:400}.pager{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}@media(max-width:820px){.searchRow{grid-template-columns:1fr 1fr}.pageSize,.sortBy,.dateInput{width:100%;max-width:none}}.searchRow{display:grid;grid-template-columns:1fr 140px 140px 150px 150px 140px 220px;align-items:center;gap:10px;width:min(1200px,100%)}.searchRow>*{min-width:0}.btn.btnCreate{background:var(--create-btn-bg)!important;color:var(--create-btn-text)!important;border-color:var(--create-btn-border)!important;font-weight:700}.btn.btnCreate:hover{background:var(--create-btn-hover-bg)!important;color:var(--create-btn-hover-text)!important}@media(max-width:1100px){.searchRow{grid-template-columns:1fr 130px 130px}}@media(max-width:700px){.searchRow{grid-template-columns:1fr}}.adminGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:stretch}.adminGridItem{display:flex;min-width:0}.adminCard{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;flex:1 1 auto;min-height:108px;display:flex;flex-direction:column}.adminCard.accent-open{box-shadow:inset 4px 0 #3b82f6;background:#3b82f60f}.adminCard.accent-progress{box-shadow:inset 4px 0 #f59e0b;background:#f59e0b0f}.adminCard.accent-done{box-shadow:inset 4px 0 #10b981;background:#10b9810f}.adminCardLabel{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.2px}.adminCardValue{font-size:22px;font-weight:800;margin-top:6px}.adminCardSub{margin-top:auto;color:var(--muted);font-size:12px;line-height:1.35;padding-top:8px}.adminStatHint{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--muted);font-size:12px}.adminDot{width:8px;height:8px;border-radius:999px;background:var(--muted);flex:0 0 auto}
