:root{--brand:#2563eb;--brand2:#3b82f6;--bg:#f3f4f6;--text:#111827;--muted:#6b7280;--surface:#fff;--border:#e5e7eb;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 10px 25px #0f172a14;--r10:10px;--r14:14px;--topbar-h:54px;--sidebar-w:240px;--t:.14s cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(1100px 520px at 25% -10%,#2563eb1a,transparent 60%),radial-gradient(900px 420px at 95% 0%,#3b82f614,transparent 55%),var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}:focus-visible{outline-offset:2px;border-radius:10px;outline:3px solid #2563eb40}.topBar{height:var(--topbar-h);color:#fff;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d2f33;border-bottom:1px solid #ffffff14;align-items:center;display:flex;position:sticky;top:0}.topBarInner{justify-content:space-between;align-items:center;width:100%;padding:0 18px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logoDot{background:var(--brand2);color:#071427;letter-spacing:.2px;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 6px 14px #3b82f640}.logoText{opacity:.95;font-weight:700}.topActions{gap:10px;display:flex}.iconBtn{color:#fff;cursor:pointer;width:32px;height:32px;transition:transform var(--t),background var(--t),box-shadow var(--t);background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px}.iconBtn:hover{background:#ffffff24;transform:translateY(-1px);box-shadow:0 10px 18px #0000002e}.iconBtn:active{transform:translateY(0)}.mainWrap{min-width:0;padding:22px 26px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px}.muted{color:var(--muted)}.qbPage{width:100%;min-width:0;max-width:none}.qbHeader{margin-bottom:14px}.qbTitleRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.qbTitle{margin:0;font-size:22px;font-weight:700}.qbCaret{opacity:.7;margin-left:4px;font-size:18px}.qbHeaderRight{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.qbPrimaryBtn{color:#fff;cursor:pointer;transition:transform var(--t),box-shadow var(--t),filter var(--t);background:linear-gradient(#2563eb,#1d4ed8);border:1px solid #00000014;border-radius:10px;padding:10px 14px;font-weight:600;box-shadow:0 12px 20px #2563eb2e}.qbPrimaryBtn:hover{transform:translateY(-1px);box-shadow:0 18px 28px #2563eb38}.qbPrimaryBtn:active{transform:translateY(0)}.qbPrimaryBtn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.qbBtn{color:var(--text);border:1px solid var(--border);cursor:pointer;transition:transform var(--t),box-shadow var(--t),background var(--t);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:10px 14px;font-weight:600}.qbBtn:hover{box-shadow:var(--shadow-md);background:#fbfdff;transform:translateY(-1px)}.qbBtn:active{transform:translateY(0)}.qbSearchWrap{position:relative}.qbSearch{border:1px solid var(--border);width:220px;max-width:100%;transition:box-shadow var(--t),border-color var(--t);background:#fff;border-radius:10px;outline:none;padding:10px 34px 10px 12px}.qbSearch:focus{border-color:#2563eb8c;box-shadow:0 0 0 4px #2563eb1f}.qbSearchIcon{opacity:.6;pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qbTableCard{border:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:1;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;position:relative;overflow:auto visible}.qbTableClip{background:#fff;border-radius:14px;overflow:hidden}.qbTable{border-collapse:collapse;table-layout:fixed;width:100%;min-width:820px}.qbTable thead th{letter-spacing:.06em;color:#6b7280;text-align:left;background:#0f172a08;border-bottom:1px solid #0f172a14;padding:12px;font-size:11px}.qbTable thead th.colStock,.qbTable thead th.colPrice{text-align:right}.qbTable tbody td{vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:14px 12px;overflow:hidden}.qbTable th{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qbTable td.colName{white-space:normal}.qbTable tbody tr:hover{background:#2563eb0a}.colCheck{width:44px}.colImg{width:56px}.colName{width:420px}.colSku{text-align:left;width:140px}.colStock{text-align:right;width:140px}.colPrice{text-align:right;width:120px}.colCompany{text-align:left;width:260px}.colEmail{text-align:left;width:320px}.colBalance{text-align:right;width:160px}.colDate{width:110px}.colInvNo{width:120px}.colInvCustomer{width:auto}.colInvAmount{text-align:right;width:140px}.colInvStatus,.colInvAction{width:220px}.qbTable thead th.colInvAmount{text-align:right}.colPODate{width:110px}.colPONo{width:130px}.colPOVendor{width:auto}.colPOTotal{text-align:right;width:140px}.colPOStatus{width:200px}.colPOAction{width:220px}.qbTable thead th.colPOTotal{text-align:right}.qbEllipsis{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.qbNameLink{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--brand);font-weight:600;display:block;overflow:hidden}.qbImgPlaceholder{border:1px solid var(--border);background:linear-gradient(135deg,#f3f4f6,#fff);border-radius:4px;width:26px;height:20px}.qbMuted{color:#9ca3af}.qbTable td.colName .qbMuted{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qbEmpty{color:#6b7280;padding:24px 12px}.qbModalOverlay{background:#00000059;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.qbModal{background:#fff;border:1px solid #0000001f;border-radius:14px;width:520px;max-width:100%;overflow:hidden;box-shadow:0 26px 60px #0003}.qbModalHeader{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.qbModalTitle{font-weight:700}.qbIconClose{cursor:pointer;opacity:.7;background:0 0;border:0;font-size:16px}.qbIconClose:hover{opacity:1}.qbForm{flex-direction:column;gap:12px;padding:16px;display:flex}.qbLabel{color:#374151;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.qbInput{border:1px solid var(--border);transition:box-shadow var(--t),border-color var(--t);border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.qbInput:focus{border-color:#2563eb8c;box-shadow:0 0 0 4px #2563eb1f}.qbGrid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qbModalFooter{border-top:1px solid #eef2f7;justify-content:flex-end;gap:10px;padding:14px 16px;display:flex}.appShell{grid-template-columns:var(--sidebar-w)1fr;min-height:calc(100vh - var(--topbar-h));display:grid}.appShellCollapsed{--sidebar-w:78px}.sidebarWrap{border-right:1px solid var(--border);top:var(--topbar-h);height:calc(100vh - var(--topbar-h));background:#fff;position:sticky;overflow:auto}.sidebar{flex-direction:column;gap:10px;padding:12px 10px;display:flex}.sideHeader{justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 6px;display:flex}.sideBrand{align-items:center;gap:10px;min-width:0;display:flex}.sideLogo{color:#1d4ed8;background:#2563eb1f;border:1px solid #2563eb2e;border-radius:12px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.sideBrandText{flex-direction:column;min-width:0;display:flex}.sideCompany{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.sideCollapseBtn{border:1px solid var(--border);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow-sm);transition:transform var(--t),box-shadow var(--t),background var(--t);background:#fff;border-radius:10px;font-weight:900}.sideCollapseBtn:hover{box-shadow:var(--shadow-md);background:#fbfdff;transform:translateY(-1px)}.sideCollapseBtn:active{transform:translateY(0)}.sideSectionLabel{letter-spacing:.08em;color:#94a3b8;margin-top:2px;padding:0 10px;font-size:11px;font-weight:900}.sideItem{cursor:pointer;width:100%;color:var(--text);transition:background var(--t),transform var(--t),box-shadow var(--t),border-color var(--t);background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;font-weight:800;text-decoration:none;display:flex}.sideItem:hover{background:#f3f4f6;transform:translateY(-1px)}.sideItem:active{transform:translateY(0)}.sideItemActive{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 10px 18px #2563eb14}.sideIcon{background:#fff;border:1px solid #00000014;border-radius:12px;flex:none;place-items:center;width:34px;height:34px;display:grid}.sideText{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sideGroup{flex-direction:column;gap:6px;display:flex}.sideGroupBtn{align-items:center;gap:10px;display:flex}.sideChevron{opacity:.6;transition:transform var(--t);margin-left:auto;font-weight:900}.sideChevron.open{transform:rotate(180deg)}.sideSub{border-left:1px solid #0000001a;flex-direction:column;gap:6px;margin-left:20px;padding-left:12px;display:flex}.sideSubItem{color:#111827;transition:background var(--t),transform var(--t),border-color var(--t);border:1px solid #0000;border-radius:12px;padding:10px 12px;font-weight:800;text-decoration:none}.sideSubItem:hover{background:#f3f4f6;transform:translateY(-1px)}.sideSubItemActive{background:#eff6ff;border-color:#bfdbfe}.sidebarCollapsed .sideCompany,.sidebarCollapsed .sideSectionLabel,.sidebarCollapsed .sideText,.sidebarCollapsed .sideChevron,.sidebarCollapsed .sideLogo,.sidebarCollapsed .sideSub{display:none}.sidebarCollapsed .sideHeader{justify-content:center}@media (max-width:900px){.appShell{grid-template-columns:1fr}.sidebarWrap{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.mainWrap{padding:16px}}.bankAccountsRow{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.bankAcctCard{border:1px solid var(--border);width:260px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:transform var(--t),box-shadow var(--t),border-color var(--t),background var(--t);background:#fff;border-radius:14px;padding:12px}.bankAcctCard:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.bankAcctCardActive{border:2px solid var(--brand);box-shadow:0 10px 22px #2563eb26}.bankAcctTitle{font-weight:900}.bankAcctMask{opacity:.7;margin-top:2px;font-size:12px}.bankAcctMeta{color:#6b7280;margin-top:10px;font-size:12px;font-weight:700}.bankTxTabs{gap:10px;margin:10px 0;display:flex}.bankTxTab{border:1px solid var(--border);cursor:pointer;transition:transform var(--t),box-shadow var(--t),background var(--t);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:8px 12px;font-weight:800}.bankTxTab:hover{box-shadow:var(--shadow-md);background:#fbfdff;transform:translateY(-1px)}.bankTxTabActive{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:none}.bankTxSummary{color:#374151;align-items:center;gap:14px;margin:8px 0 10px;font-weight:700;display:flex}.bankTxSummary b{font-weight:900}.bankTxTable{table-layout:fixed;width:100%;min-width:0!important}.qbTable thead th,.qbTable tbody td{vertical-align:middle;line-height:1.2}.colTxDate{width:120px}.colTxDesc{width:auto}.colTxSpent,.colTxRecv{text-align:right;font-variant-numeric:tabular-nums;width:130px}.colTxFromTo{width:160px}.colTxCat{width:170px}.colTxAction{text-align:right;width:120px}.qbActionCell{justify-content:flex-end;align-items:center;min-height:44px;display:flex}.bankPostBtn{appearance:none;color:var(--brand);cursor:pointer;transition:background var(--t),transform var(--t),box-shadow var(--t);background:#2563eb14;border:1px solid #2563eb40;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.bankPostBtn:hover{box-shadow:var(--shadow-md);background:#2563eb26;transform:translateY(-1px)}.bankPostBtn:active{transform:translateY(0)}.qbTable thead th.colTxSpent,.qbTable thead th.colTxRecv,.qbTable thead th.colTxAction{text-align:right!important}.qbTable thead th.colTxAction,.qbTable tbody td.colTxAction{padding-right:18px!important}.qbTable tbody td.colTxSpent,.qbTable tbody td.colTxRecv{font-variant-numeric:tabular-nums}.bankTxTable th,.bankTxTable td{vertical-align:middle}.colTxAction{text-align:center}.colTxAction .qbActionCell{justify-content:center;align-items:center;display:flex}.bankCatCell{gap:8px;display:grid}.bankActionWrap{justify-content:flex-start;align-items:center;gap:8px;display:flex}.colTxCat{text-align:left}.bankTxTable td{padding-top:12px;padding-bottom:12px}@media (max-width:520px){.qbHeaderRight{justify-content:space-between;width:100%}.qbSearchWrap{flex:1}.qbSearch{width:100%}}.qbSelectBar{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #00000014;border-radius:12px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;display:flex}.qbSelectLeft{align-items:center;gap:10px;display:flex}.qbSelectCount{background:#0000000f;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.qbSelectActions{align-items:center;gap:10px;display:flex}.qbSelectLink{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:12px}.qbDangerBtn{color:#b91c1c;cursor:pointer;transition:transform var(--t),box-shadow var(--t),background var(--t);background:#b91c1c14;border:1px solid #b91c1c40;border-radius:10px;padding:10px 14px;font-weight:600}.qbDangerBtn:hover{box-shadow:var(--shadow-md);background:#b91c1c1f;transform:translateY(-1px)}.qbDangerBtn:active{transform:translateY(0)}.qbTable tbody tr{z-index:0;position:relative}.qbModalOverlay{z-index:9999}.qbModal{z-index:10000;position:relative}.qbDetailTop{grid-template-columns:1fr 300px;align-items:start;gap:18px;display:grid}@media (max-width:900px){.qbDetailTop{grid-template-columns:1fr}}.qbDetailCard{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:18px}.qbCustomerHeader{grid-template-columns:60px 1fr auto;align-items:center;gap:14px;display:grid}.qbAvatarCircle{border:1px solid var(--border);color:#374151;background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;font-weight:800;display:flex}.qbCustomerName{margin:0;font-size:22px;font-weight:800}.qbEditBtn{border:1px solid var(--border);cursor:pointer;transition:transform var(--t),box-shadow var(--t),background var(--t);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:8px 14px;font-weight:600}.qbEditBtn:hover{box-shadow:var(--shadow-md);background:#fbfdff;transform:translateY(-1px)}.qbEditBtn:active{transform:translateY(0)}.qbDetailGrid{grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:14px;display:grid}@media (max-width:900px){.qbDetailGrid{grid-template-columns:1fr}}@media (max-width:600px){.qbDetailGrid{grid-template-columns:1fr}}.qbFieldLabel{color:#6b7280;margin-bottom:4px;font-size:12px;font-weight:700}.qbFieldValue{color:var(--text);white-space:pre-wrap;font-size:14px}.qbTabs{border-bottom:1px solid var(--border);gap:18px;margin-top:14px;padding:0 4px;display:flex}.qbTab{color:#6b7280;cursor:pointer;border-bottom:3px solid #0000;padding:10px 0;font-weight:700}.qbTab:hover{color:var(--text)}.qbTabActive{color:var(--brand);border-bottom-color:var(--brand)}.qbSummaryCard{height:fit-content;box-shadow:var(--shadow-sm);background:#eef6ff;border:1px solid #2563eb26;border-radius:14px;align-self:start;padding:16px;position:sticky;top:74px}.qbSummaryTitle{color:#0f172a;margin:0 0 12px;font-size:15px;font-weight:800}.qbSummaryBlock{border-top:1px solid #0000000f;padding:10px 0}.qbSummaryBlock:first-of-type{border-top:0;padding-top:0}.qbSummaryLabelRow{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.qbSummaryAmount{color:var(--text);margin-top:6px;font-size:22px;font-weight:900;line-height:1}.qbDot{background:var(--brand);border-radius:999px;width:8px;height:8px}.qbDotRed{background:#ef4444}.qbDotGray{background:#94a3b8}.qbDotGreen{background:#22c55e}.qbSummaryBtn{color:#fff;cursor:pointer;width:100%;transition:transform var(--t),box-shadow var(--t);background:linear-gradient(#2563eb,#1d4ed8);border:1px solid #00000014;border-radius:10px;margin-top:14px;padding:10px 14px;font-weight:700;box-shadow:0 12px 20px #2563eb2e}.qbSummaryBtn:hover{transform:translateY(-1px);box-shadow:0 18px 28px #2563eb38}.qbSummaryBtn:active{transform:translateY(0)}.qbActionCell{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.qbLinkBtn{color:var(--brand);cursor:pointer;transition:background var(--t),transform var(--t);background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700}.qbLinkBtn:hover{background:#eff6ff;transform:translateY(-1px)}.qbLinkBtn:active{transform:translateY(0)}.qbTxCard{overflow:visible}.qbTxTable{table-layout:fixed;width:100%;min-width:0!important}.qbDetailBottom{margin-top:18px}.qbMenuItem{text-align:left;cursor:pointer;width:100%;color:var(--text);transition:background var(--t);background:#fff;border:0;padding:12px;font-size:13px;font-weight:700}.qbMenuItem:hover{background:#f9fafb}.qbMenuItem+.qbMenuItem{border-top:1px solid #eef2f7}.dashPage{width:100%}.dashHeader{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.dashH1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.dashSub{color:#6b7280;margin:6px 0 0;font-weight:700}.dashHeaderRight{align-items:center;gap:10px;display:flex}.dashPill{color:#374151;background:#0000000a;border:1px solid #0000000f;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700}.dashGrid3{grid-template-columns:1.1fr 1.1fr 1fr;gap:14px;display:grid}.dashGrid2{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}@media (max-width:1100px){.dashGrid3,.dashGrid2{grid-template-columns:1fr}}.dashCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 1px #00000005}.dashCardTop{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.dashCardTitle{color:#111827;font-weight:800}.dashCardHint{color:#6b7280;font-size:12px;font-weight:600}.dashCardFooter{border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.dashMuted{color:#6b7280;font-weight:600}.dashStrong{color:#111827;font-weight:900}.dashNeg{color:#b91c1c}.dashBars{flex-direction:column;gap:10px;display:flex}.dashBarRow{grid-template-columns:70px 1fr 110px;align-items:center;gap:10px;display:grid}.dashBarLabel{color:#374151;font-size:12px;font-weight:700}.dashBarTrack{background:#eef2f7;border:1px solid #0000000a;border-radius:999px;height:10px;overflow:hidden}.dashBarFill{background:#2563eb;border-radius:999px;height:100%}.dashBarValue{text-align:right;color:#111827;font-size:12px;font-weight:800}.dashList{flex-direction:column;gap:12px;display:flex}.dashListRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashListLeft{min-width:0}.dashListName{color:#111827;font-weight:800}.dashListMeta{color:#6b7280;margin-top:2px;font-size:12px;font-weight:600}.dashListAmt{color:#111827;white-space:nowrap;font-weight:900}.dashKpis{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}@media (max-width:520px){.dashKpis{grid-template-columns:1fr}}.dashKpi{background:#fafafa;border:1px solid #eef2f7;border-radius:12px;padding:12px}.dashKpiLabel{color:#6b7280;font-size:12px;font-weight:800}.dashKpiValue{color:#111827;margin-top:6px;font-size:18px;font-weight:900}.dashTwoCol{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:900px){.dashTwoCol{grid-template-columns:1fr}}.dashCol{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:12px}.dashSectionTitle{color:#111827;margin-bottom:10px;font-weight:900}.dashRow{justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;display:flex}.dashRowLabel{color:#374151;font-weight:700}.dashRowValue{color:#111827;white-space:nowrap;font-weight:800}.dashDivider{background:#eef2f7;height:1px;margin:10px 0}.sidebar .sideGroupBtn{appearance:none;font:inherit;color:inherit;text-align:left;background:0 0;border:0}.sidebar .sideItem.sideGroupBtn{width:100%}.sidebar .sideSub{border-left:1px solid #0f172a1a;margin-left:56px;padding-left:12px}.sidebar .sideSubItem{color:#334155;padding:10px 12px;font-size:13px;font-weight:800}.sidebar button.sideItem{color:#111827;font-weight:800!important}.sidebar button.sideItem .sideText{font-weight:800!important}.qbPayTable{table-layout:fixed;width:100%;min-width:0!important}.qbPayTable th,.qbPayTable td{white-space:nowrap}
