:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1e2925;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--dbv2-ink:#10231d;--dbv2-ink-soft:#4e665c;--dbv2-paper:#fdfdf9;--dbv2-line:#e2e8dd;--dbv2-forest-1:#0b2f27;--dbv2-forest-2:#14503f;--dbv2-mint:#bff0d9;--dbv2-chart:#0c8f66;--dbv2-chart-soft:#dcefe5;--dbv2-diverge-neg:#c2410c;--dbv2-diverge-neg-soft:#f7e4d8;--dbv2-danger:#b3261e;--dbv2-danger-soft:#fbe7e5;--dbv2-warning:#92580a;--dbv2-warning-soft:#fdf0d9;--dbv2-numeral:"Bai Jamjuree", "Anuphan", sans-serif;background:#f6f7f2;font-family:Anuphan,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f6f7f2;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh}.topbar{z-index:20;padding:10px max(14px, env(safe-area-inset-left)) 10px max(14px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f7f2f0;border-bottom:1px solid #dfe5dc;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.data-status-bar{z-index:19;padding:8px max(14px, env(safe-area-inset-left)) 8px max(14px, env(safe-area-inset-right));color:#164f44;background:#e7f5ec;border-bottom:1px solid #cfe0d5;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;display:grid;position:sticky;top:49px;box-shadow:0 8px 18px #123a3112}.data-status-bar strong{font-size:12px;font-weight:900}.data-status-bar span{color:#08713b;text-align:right;font-size:14px;font-weight:900}.data-status-bar small{color:#4e665c;grid-column:1/-1;font-size:11px;line-height:1.2}.brand{color:#164f44;background:0 0;border:0;align-items:center;gap:10px;min-width:0;font-size:16px;font-weight:800;display:flex}.brand img{object-fit:contain;width:76px;height:28px}.brand span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-actions{gap:6px;min-width:0;display:flex;overflow-x:auto}.top-actions .ghost-button{min-height:40px;padding:8px 10px}.ghost-button.active{color:#0f604e;background:#d8eee4;border-color:#18715e}.page{width:min(960px,100%);margin:0 auto;padding:16px 14px 96px}.search-panel,.admin-panel,.dashboard-hero,.dashboard-panel,.order-hero,.order-panel,.detail,.results{background:#fff;border:1px solid #dde5da;border-radius:8px;box-shadow:0 12px 28px #123a3114}.search-panel,.admin-panel,.dashboard-hero,.dashboard-panel,.order-hero,.order-panel{padding:16px}.dashboard-panel,.order-panel{margin-top:16px}.search-title{color:#18715e;align-items:center;gap:12px;margin-bottom:16px;display:flex}h1,h2,h3,p{margin:0}h1{color:#17231f;font-size:22px;line-height:1.2}.search-title p,.detail-head p{color:#68766f;margin-top:4px;font-size:14px}.actions-grid{gap:12px;display:grid}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.dashboard-head{gap:12px;display:grid}.dashboard-head .search-title{margin-bottom:0}.print-button{width:100%}.print-report-title{display:none}.kpi-card{background:#fbfcfa;border:1px solid #d7e2da;border-radius:8px;min-height:78px;padding:11px}.kpi-card span{color:#68766f;font-size:12px;font-weight:800;display:block}.kpi-card strong{color:#164f44;overflow-wrap:anywhere;margin-top:8px;font-size:21px;font-weight:950;line-height:1.05;display:block}.kpi-card.success{background:#eaf8ef;border-color:#9fd3b6}.kpi-card.warning{background:#fff9df;border-color:#ecd89a}.kpi-card.danger{background:#fff0ee;border-color:#e4aaa3}.dashboard-tabs{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.dashboard-tabs button{color:#385144;background:#f4f8f5;border:1px solid #d7e2da;border-radius:8px;flex:none;min-height:40px;padding:8px 12px;font-weight:850}.dashboard-tabs button.active{color:#fff;background:#18715e;border-color:#18715e}.dashboard-list{gap:10px;display:grid}.dashboard-product{background:#fbfcfa;border:1px solid #e0e7df;border-radius:8px;grid-template-columns:58px 1fr;gap:10px;padding:10px;display:grid}.dashboard-product-main{min-width:0}.dashboard-product-main strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.dashboard-product-main>span{color:#68766f;margin-top:3px;font-size:12px;display:block}.dashboard-badges{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.dashboard-badges small{color:#18715e;background:#e7f0ec;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:850}.dashboard-badges small.danger{color:#aa3329;background:#fff0ee}.dashboard-badges small.warning{color:#8a5b00;background:#fff6d8}.dashboard-metrics{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.mini-metric{background:#fff;border:1px solid #e0e7df;border-radius:8px;min-height:48px;padding:7px 8px}.mini-metric span{color:#68766f;font-size:11px;line-height:1.1;display:block}.mini-metric strong{color:#1e2925;overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.1;display:block}.order-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.order-section-head h2{font-size:17px;line-height:1.2}.order-section-head p{color:#68766f;margin-top:4px;font-size:13px;line-height:1.35}.order-section-head>strong{color:#164f44;flex:none;font-size:18px;font-weight:950}.section-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.section-actions .primary-button,.section-actions .ghost-button{width:auto}.compact-action{flex:none;min-height:38px;padding:7px 10px}.collapsed-note{color:#68766f;background:#fbfcfa;border:1px dashed #cbd8cf;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4}.order-meta-grid{gap:9px;margin:12px 0;display:grid}.order-meta-grid label{color:#385144;gap:6px;font-size:12px;font-weight:850;display:grid}.order-meta-grid .order-name-field{color:#a31919;background:#fff4f4;border:2px solid #d72828;border-radius:8px;padding:10px;box-shadow:0 0 0 3px #d7282814}.order-meta-grid .order-name-field span{font-size:13px;font-weight:950}.order-meta-grid .order-name-field input{background:#fff;border-color:#d72828}.order-meta-grid .order-name-field input:focus{border-color:#b31212;box-shadow:0 0 0 3px #d7282829}.saved-order-list{gap:10px;display:grid}.saved-order-row{background:#fffdf5;border:1px solid #d7bd7a;border-radius:8px;grid-template-columns:minmax(0,1fr) 44px;gap:10px;width:100%;padding:8px;display:grid;box-shadow:0 10px 26px #805b1714}.saved-orders-panel{background:linear-gradient(#fff8dc 0%,#fffdf6 100%);border-color:#d8b85f;box-shadow:0 16px 34px #86621d24}.saved-order-main{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:8px;padding:4px 2px;display:grid}.saved-order-row.active{background:#edf9f1;border-color:#18715e;box-shadow:0 12px 28px #18715e29}.saved-order-main strong{color:#17231f;font-size:14px;line-height:1.25;display:block}.saved-order-main span,.saved-order-main small{color:#68766f;margin-top:3px;font-size:12px;line-height:1.25;display:block}.saved-order-main b{color:#164f44;font-size:15px;line-height:1.2;display:block}.saved-order-delete{color:#9f1f1f;background:#fff1f1;border-color:#f0b6b6;align-self:center;width:44px;height:44px;min-height:44px}.saved-order-delete:hover{background:#ffdede}.order-candidate-list,.order-item-list{gap:10px;display:grid}.search-candidate-list{margin-top:12px}.order-candidate,.order-item{background:#fbfcfa;border:1px solid #e0e7df;border-radius:8px}.order-candidate{grid-template-columns:58px 1fr 48px;align-items:center;gap:10px;padding:10px;display:grid}.order-candidate>.product-image,.order-candidate>.image-placeholder,.order-item-title>.product-image,.order-item-title>.image-placeholder{flex:none}.order-candidate-main,.order-item-title>div{min-width:0}.order-candidate-main strong,.order-item-title strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.order-candidate-main>span,.order-item-title span{color:#68766f;margin-top:3px;font-size:12px;display:block}.recommendation-reason{color:#385144;background:#eef8f3;border-left:3px solid #18715e;border-radius:6px;margin:7px 0 0;padding:7px 8px;font-size:12px;line-height:1.35}.order-candidate-metrics{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.order-item{padding:10px}.order-item-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.order-item-title>div{flex:auto}.remove-button{background:#b73a32;width:40px;height:40px;min-height:40px}.order-edit-grid,.order-export-grid{gap:8px;margin-top:10px;display:grid}.order-edit-grid label,.order-export-grid label,.order-note,.ocr-note-field{color:#385144;gap:6px;font-size:12px;font-weight:850;display:grid}.order-edit-grid input[readonly]{color:#164f44;font-weight:900}.checkbox-line{background:#fff;border:1px solid #d7e2da;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:9px 10px;display:flex!important}.checkbox-line input{width:18px;min-height:18px;padding:0}.order-note{margin-top:12px}.ocr-note-field{margin-top:10px}.bill-upload-form{gap:10px;display:grid}.ocr-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.ocr-unmatched{color:#6f520f;background:#fff9df;border:1px solid #ecd89a;border-radius:8px;gap:6px;margin-top:12px;padding:10px;display:grid}.ocr-unmatched strong{font-size:13px}.ocr-unmatched p{font-size:12px;line-height:1.35}.export-actions{gap:10px;display:grid}.export-actions .ghost-button{width:100%;min-height:46px}.primary-button,.ghost-button,.icon-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:750;display:inline-flex}.primary-button{color:#fff;background:#18715e;width:100%;padding:12px 14px}.primary-button:disabled,.ghost-button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button{color:#164f44;white-space:nowrap;background:#e6eee9;padding:9px 12px}.admin-logout{width:100%;margin-bottom:12px}.icon-button{color:#fff;background:#18715e;flex:none;width:48px;height:48px}.manual-search{gap:8px;display:flex}input{color:#1e2925;background:#fbfcfa;border:1px solid #cbd8cf;border-radius:8px;outline:none;width:100%;min-height:48px;padding:0 13px}input:focus{border-color:#18715e;box-shadow:0 0 0 3px #18715e21}select{color:#1e2925;background:#fbfcfa;border:1px solid #cbd8cf;border-radius:8px;width:100%;min-height:44px;padding:0 10px}.notice{color:#385144;background:#eef3ea;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:11px 12px;font-weight:650;display:flex}.notice.danger{color:#a02c2c;background:#fff0f0}.notice.success{color:#17643d;background:#e9f7ef}.work-overlay{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#121f1b75;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.work-card{text-align:center;background:#fbfcfa;border:1px solid #ffffffc2;border-radius:8px;width:min(420px,100%);padding:22px;box-shadow:0 26px 70px #121f1b40}.work-card strong{color:#164f44;margin-top:12px;font-size:18px;font-weight:950;display:block}.work-card p{color:#68766f;margin:8px 0 0;font-size:13px;line-height:1.45}.work-logo-spinner{aspect-ratio:824/1025;width:clamp(74px,20vw,112px);transform-style:preserve-3d;filter:drop-shadow(0 14px 22px #2f3b9633);place-items:center;margin:0 auto;animation:1.45s cubic-bezier(.44,0,.2,1) infinite logoSpin;display:grid}.work-logo-spinner img{object-fit:contain;width:100%;height:100%;display:block}@keyframes logoSpin{0%{transform:perspective(520px)rotateY(0)rotate(0)translateY(0)}45%{transform:perspective(520px)rotateY(180deg)rotate(4deg)translateY(-3px)}to{transform:perspective(520px)rotateY(360deg)rotate(0)translateY(0)}}.results{margin-top:16px;padding:14px}.section-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-head h2{font-size:17px}.section-head span{color:#68766f;font-size:13px}.result-list{gap:10px;display:grid}.product-row{text-align:left;width:100%;color:inherit;background:#fbfcfa;border:1px solid #e0e7df;border-radius:8px;grid-template-columns:58px 1fr;align-items:center;gap:10px;padding:9px;display:grid}.product-image,.image-placeholder{object-fit:cover;background:#edf3ef;border:1px solid #dbe5dc;border-radius:8px;width:58px;height:58px}.image-placeholder{color:#18715e;place-items:center;display:grid}.row-main{min-width:0}.row-main strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.row-main>span,.code{color:#68766f;margin-top:3px;font-size:13px}.sold-badge{color:#075f9d;background:#eaf6ff;border:1px solid #9ed0f4;border-radius:8px;align-items:baseline;gap:6px;width:fit-content;max-width:100%;margin-top:8px;padding:7px 10px;display:inline-flex}.sold-badge span{white-space:nowrap;font-size:12px;font-weight:850}.sold-badge strong{white-space:nowrap;font-size:22px;font-weight:950;line-height:1}.sold-badge.compact{margin-top:7px;padding:6px 8px}.sold-badge.compact strong{font-size:18px}.sold-badge.muted{color:#68766f;background:#f4f8f5;border-color:#d7e2da}.row-prices{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.row-compare-grid,.row-profit-focus-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.product-row .price-compare{background:#eef9f2;padding:9px}.product-row .compare-title{font-size:12px}.product-row .compare-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.product-row .compare-values div{min-height:52px;padding:7px}.product-row .compare-values span,.product-row .compare-diff span,.product-row .focus-metric span{font-size:11px}.product-row .compare-values strong{font-size:17px}.product-row .compare-diff{margin-top:6px;padding:7px}.product-row .compare-diff strong{font-size:13px}.product-row .focus-metric{min-height:74px;padding:10px}.product-row .focus-metric strong{margin-top:6px;font-size:23px}.row-stock{background:#f4f8f5;border:1px solid #d7e2da;border-radius:8px;grid-column:2;gap:3px;padding:8px 10px;display:grid}.row-stock span,.row-stock small{color:#68766f;font-size:11px;line-height:1.1}.row-stock strong{color:#164f44;font-size:15px;line-height:1.1}.danger-text{color:#b33131!important}.row-analysis{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:2px;display:grid}.row-info{background:#fff;border:1px solid #e0e7df;border-radius:8px;min-height:38px;padding:6px 8px}.row-info.wide{grid-column:1/-1}.row-info span{color:#68766f;font-size:11px;line-height:1.1;display:block}.row-info strong{color:#1e2925;overflow-wrap:anywhere;margin-top:3px;font-size:13px;line-height:1.25;display:block}.price-line{background:#fff;border:1px solid #e0e7df;border-radius:8px;min-height:38px;padding:6px 8px}.price-line span{color:#68766f;font-size:11px;line-height:1.1;display:block}.price-line strong{color:#1e2925;overflow-wrap:anywhere;margin-top:3px;font-size:13px;line-height:1.1;display:block}.price-line.strong{background:#edf7f3;border-color:#18715e}.price-line.strong strong{color:#164f44}.mini-badges,.badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.mini-badges small,.badges span{color:#18715e;background:#e7f0ec;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.detail{margin-top:16px;padding:14px}.detail-head{grid-template-columns:76px 1fr 48px;align-items:start;gap:12px;display:grid}.detail-head .product-image,.detail-head .image-placeholder{width:76px;height:76px}.detail-head h2{font-size:18px;line-height:1.25}.price-summary,.metric-grid,.status-grid,.compare-grid,.profit-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.price-compare,.focus-metric{background:#eef9f2;border:1px solid #b8d8c8;border-radius:8px}.price-compare{padding:11px}.compare-title{color:#17643d;font-size:13px;font-weight:900;display:block}.compare-values{gap:8px;margin-top:9px;display:grid}.compare-values div{background:#fff;border:1px solid #d3e5da;border-radius:8px;min-height:58px;padding:8px}.compare-values .our-price-box{background:#eaf6ff;border-color:#9ed0f4}.compare-values .petmart-price-box{background:#fff0f7;border-color:#f0abc8}.compare-values span,.compare-diff span,.focus-metric span{color:#4e665c;font-size:12px;font-weight:750;display:block}.compare-values strong{overflow-wrap:anywhere;margin-top:4px;font-size:22px;font-weight:950;line-height:1.05;display:block}.our-price-box span{color:#1c5d8f}.our-price-box strong{color:#075f9d}.petmart-price-box span{color:#974368}.petmart-price-box strong{color:#b32365}.compare-diff{background:#dff1e7;border-radius:8px;justify-content:space-between;gap:8px;margin-top:8px;padding:8px;display:flex}.compare-diff strong{color:#164f44;overflow-wrap:anywhere;font-size:15px;line-height:1.1}.compare-diff.higher strong{color:#9b3b12}.compare-diff.lower strong{color:#08713b}.focus-metric{min-height:102px;padding:12px;box-shadow:inset 0 0 0 1px #0f8f4d1f,0 8px 18px #0f8f4d1f}.focus-metric span{color:#17643d;font-size:13px}.focus-metric strong{color:#08713b;overflow-wrap:anywhere;margin-top:8px;font-size:28px;font-weight:950;line-height:1.05;display:block}.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{background:#fbfcfa;border:1px solid #e0e7df;border-radius:8px;min-height:74px;padding:10px}.metric span{color:#68766f;font-size:12px;display:block}.metric strong{color:#1e2925;overflow-wrap:anywhere;margin-top:6px;font-size:17px;line-height:1.2;display:block}.metric.strong{background:#edf7f3;border-color:#18715e}.metric.highlight{background:#f3f8f5;border-color:#8aa398}.danger-metric{background:#fff5f5;border-color:#db7777}.info-group{border-top:1px solid #e0e7df;margin-top:14px;padding-top:14px}.info-group h3{margin-bottom:8px;font-size:16px}.info-row{border-bottom:1px solid #eef2ee;grid-template-columns:112px 1fr;gap:10px;padding:8px 0;display:grid}.info-row span,.empty{color:#68766f}.info-row strong{overflow-wrap:anywhere;font-weight:750}.modal-backdrop{z-index:50;background:#05110e8f;align-items:end;padding:14px;display:grid;position:fixed;inset:0}.scanner-sheet{background:#fff;border-radius:8px;width:min(560px,100%);margin:0 auto;padding:14px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.video-frame{aspect-ratio:4/5;background:#0b1714;border-radius:8px;width:100%;position:relative;overflow:hidden}.video-frame video{object-fit:cover;width:100%;height:100%}.scan-line{background:#25d399;height:2px;position:absolute;top:50%;left:12%;right:12%;box-shadow:0 0 20px #25d399}.scanner-tools{gap:10px;margin-top:12px;display:grid}.scanner-tools .ghost-button{width:100%}.zoom-control{color:#385144;background:#f4f8f5;border:1px solid #d7e2da;border-radius:8px;gap:7px;padding:10px 12px;font-weight:750;display:grid}.zoom-control input{min-height:32px;padding:0}.scanner-tip{color:#68766f;margin-top:10px;font-size:13px;line-height:1.45}.login-form,.import-form{gap:12px;display:grid}.import-form{margin-top:14px}.import-form h2{margin:0;font-size:17px;line-height:1.2}.form-help{color:#68766f;margin:0;font-size:13px;line-height:1.45}.stock-update-form{background:#f4f8f5;border:1px solid #d7e2da;border-radius:8px;padding:12px}.form-divider{background:#e0e7df;height:1px;margin:16px 0 2px}.file-input{color:#385144;gap:7px;font-weight:750;display:grid}.file-input input{padding:10px}@media (width>=760px){.page{padding-top:26px}.actions-grid{grid-template-columns:220px 1fr}.dashboard-head{grid-template-columns:1fr auto;align-items:start}.print-button{width:auto}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.order-meta-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));align-items:stretch}.saved-order-main{grid-template-columns:minmax(0,1fr) 130px;align-items:center}.saved-order-main>div:last-child{text-align:right}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.order-candidate{grid-template-columns:58px minmax(0,1.4fr) minmax(360px,2fr) 48px}.order-candidate-metrics{grid-column:auto;grid-template-columns:repeat(4,minmax(0,1fr))}.order-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.order-export-grid{grid-template-columns:minmax(0,1fr) 160px;align-items:end}.export-actions{grid-template-columns:1.4fr 1fr 1fr}.bill-upload-form{grid-template-columns:minmax(0,1fr) 240px;align-items:end}.ocr-summary,.metric-grid,.compare-grid,.profit-focus-grid,.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compare-grid,.profit-focus-grid,.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.row-prices,.row-analysis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{@page{size:A4;margin:12mm}*{box-shadow:none!important}body{color:#111;background:#fff;min-width:0}.topbar,.data-status-bar,.dashboard-tabs,.print-button,.search-panel,.admin-panel,.detail,.results,.modal-backdrop{display:none!important}.page{width:100%;padding:0}.dashboard-hero,.dashboard-panel{background:#fff;border:0;border-radius:0;padding:0}.dashboard-panel{margin-top:10mm}.dashboard-head{display:block}.dashboard-head .search-title{color:#111}.dashboard-head svg{display:none}.dashboard-head h1{font-size:20pt}.dashboard-head p,.print-report-title p{color:#333;font-size:10pt}.print-report-title{border-bottom:1px solid #ccc;margin-bottom:5mm;padding-bottom:3mm;display:block}.print-report-title h2{font-size:15pt}.dashboard-kpis{grid-template-columns:repeat(4,1fr);gap:4mm;margin-top:5mm}.kpi-card{break-inside:avoid;border-color:#ccc;min-height:auto;padding:3mm}.kpi-card span,.mini-metric span,.dashboard-product-main>span{color:#444}.kpi-card strong{color:#111;font-size:13pt}.dashboard-list{gap:3mm}.dashboard-product{break-inside:avoid;page-break-inside:avoid;background:#fff;border-color:#ccc;grid-template-columns:18mm 1fr;gap:3mm;padding:3mm}.dashboard-product .product-image,.dashboard-product .image-placeholder{width:18mm;height:18mm}.dashboard-product-main strong{color:#111;font-size:10.5pt;display:block}.dashboard-badges small{color:#111;background:#fff;border:1px solid #ccc}.dashboard-metrics{grid-template-columns:repeat(6,1fr);gap:2mm}.mini-metric{border-color:#ddd;min-height:auto;padding:2mm}.mini-metric strong{color:#111;font-size:9pt}}.dbv2{gap:14px;display:grid}.dbv2-hero{color:#ecf7ef;background:radial-gradient(120% 160% at 100% 0%, #bff0d929 0%, #bff0d900 46%), radial-gradient(90% 130% at 0% 100%, #0c8f6659 0%, #0c8f6600 52%), linear-gradient(135deg, var(--dbv2-forest-1) 0%, var(--dbv2-forest-2) 100%);border-radius:22px;padding:22px 20px 20px;position:relative;overflow:hidden;box-shadow:0 18px 40px #0b2f2747}.dbv2-hero:after{content:"";pointer-events:none;background-image:radial-gradient(#ecf7ef12 1px,#0000 1.4px);background-size:22px 22px;position:absolute;inset:0}.dbv2-hero>*{z-index:1;position:relative}.dbv2-hero-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dbv2-hero-head h1{letter-spacing:.01em;color:#fff;margin:0;font-size:21px;font-weight:700}.dbv2-hero-head p{color:#ecf7efb8;margin:3px 0 0;font-size:12.5px}.dbv2-pdf-button{color:#ecf7ef;background:#ecf7ef1a;border:1px solid #ecf7ef59;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .18s,transform .18s;display:inline-flex}.dbv2-pdf-button:hover{background:#ecf7ef33;transform:translateY(-1px)}.dbv2-money{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:18px;display:grid}.dbv2-money-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#09261f80;border:1px solid #ecf7ef24;border-radius:16px;min-width:0;padding:13px 15px}.dbv2-money-card span{letter-spacing:.04em;color:#ecf7efa8;font-size:12px;font-weight:600;display:block}.dbv2-money-card strong{font-family:var(--dbv2-numeral);color:#fff;font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700;line-height:1.1;display:block}.dbv2-money-card.hero strong{color:var(--dbv2-mint);font-size:34px}.dbv2-money-card.profit{justify-content:space-between;align-items:center;gap:10px;display:flex}.dbv2-donut{flex:none}.dbv2-donut .track{stroke:#ecf7ef29}.dbv2-donut .value{stroke:var(--dbv2-mint);stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}.dbv2-donut text{fill:#fff;font-family:var(--dbv2-numeral);font-size:13px;font-weight:700}.dbv2-donut .donut-label{fill:#ecf7ef99;font-family:Anuphan,sans-serif;font-size:7.5px;font-weight:600}.dbv2-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.dbv2-chip{color:#ecf7efd9;background:#ecf7ef1a;border:1px solid #ecf7ef29;border-radius:999px;align-items:center;gap:7px;padding:6px 13px 6px 9px;font-size:12.5px;display:inline-flex}.dbv2-chip b{font-family:var(--dbv2-numeral);color:#fff;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.dbv2-chip .dot{background:var(--dbv2-mint);border-radius:999px;width:8px;height:8px}.dbv2-chip.danger .dot{background:#ff8a80}.dbv2-chip.danger b{color:#ffb4ab}.dbv2-chip.warning .dot{background:#ffcf7d}.dbv2-chip.warning b{color:#ffd9a0}.dbv2-tabs{scrollbar-width:none;gap:7px;padding:2px;display:flex;overflow-x:auto}.dbv2-tabs::-webkit-scrollbar{display:none}.dbv2-tab{border:1px solid var(--dbv2-line);background:var(--dbv2-paper);color:var(--dbv2-ink-soft);border-radius:999px;flex:none;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:600;transition:all .16s;display:inline-flex}.dbv2-tab b{font-family:var(--dbv2-numeral);color:var(--dbv2-ink-soft);font-variant-numeric:tabular-nums;background:#eef2ea;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.dbv2-tab.active{background:var(--dbv2-forest-2);border-color:var(--dbv2-forest-2);color:#fff;box-shadow:0 8px 20px #14503f4d}.dbv2-tab.active b{color:#fff;background:#ffffff2e}.dbv2-panel{border:1px solid var(--dbv2-line);background:var(--dbv2-paper);border-radius:20px;padding:18px 16px;box-shadow:0 10px 26px #1e29250d}.dbv2-panel-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.dbv2-panel-head h2{color:var(--dbv2-ink);margin:0;font-size:17px;font-weight:700}.dbv2-panel-head small{color:var(--dbv2-ink-soft);font-size:12px;font-family:var(--dbv2-numeral);font-weight:600}.dbv2-panel-desc{color:var(--dbv2-ink-soft);margin:0 0 14px;font-size:12.5px}.dbv2-rows{gap:8px;display:grid}.dbv2-row{border:1px solid #0000;border-radius:14px;grid-template-columns:30px 46px minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:6px 12px;padding:9px 10px;transition:background .15s,border-color .15s;display:grid}.dbv2-row:hover{border-color:var(--dbv2-line);background:#f2f6ef}.dbv2-rank{font-family:var(--dbv2-numeral);color:#a9b8ae;text-align:center;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.dbv2-row:nth-child(-n+3) .dbv2-rank{color:var(--dbv2-chart);font-size:16px}.dbv2-row .product-image,.dbv2-row .image-placeholder{border-radius:11px;width:46px;height:46px}.dbv2-row-main{min-width:0}.dbv2-row-main strong{color:var(--dbv2-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.dbv2-row-main span{color:#94a39a;font-size:11.5px;font-family:var(--dbv2-numeral)}.dbv2-row-flags{vertical-align:middle;flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.dbv2-flag{color:var(--dbv2-ink-soft);background:#eef2ea;border-radius:999px;padding:1.5px 8px;font-size:10.5px;font-style:normal;font-weight:600}.dbv2-flag.danger{background:var(--dbv2-danger-soft);color:var(--dbv2-danger)}.dbv2-flag.warning{background:var(--dbv2-warning-soft);color:var(--dbv2-warning)}.dbv2-meterblock{gap:5px;display:grid}.dbv2-meter-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dbv2-meter-top span{color:var(--dbv2-ink-soft);font-size:11.5px}.dbv2-meter-top strong{font-family:var(--dbv2-numeral);color:var(--dbv2-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700}.dbv2-meter-top strong.neg{color:var(--dbv2-diverge-neg)}.dbv2-meter-top strong.pos{color:var(--dbv2-chart)}.dbv2-meter{background:#edf1ea;border-radius:4px;height:8px;position:relative;overflow:hidden}.dbv2-meter i{background:var(--dbv2-chart);border-radius:4px;position:absolute;top:0;bottom:0}.dbv2-meter.diverge{background:linear-gradient(90deg,#edf1ea calc(50% - 1px),#cbd6cc calc(50% - 1px) calc(50% + 1px),#edf1ea calc(50% + 1px))}.dbv2-meter.diverge i.neg{background:var(--dbv2-diverge-neg);left:50%}.dbv2-meter.diverge i.pos{background:var(--dbv2-chart);right:50%}.dbv2-substats{flex-wrap:wrap;gap:12px;display:flex}.dbv2-substats small{color:var(--dbv2-ink-soft);font-size:11px}.dbv2-substats small b{font-family:var(--dbv2-numeral);color:var(--dbv2-ink);font-variant-numeric:tabular-nums;font-weight:600}.dbv2-empty{text-align:center;color:var(--dbv2-ink-soft);padding:26px 10px;font-size:13.5px}@media (width<=720px){.dbv2-hero{border-radius:18px;padding:18px 15px 16px}.dbv2-money{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dbv2-money-card.hero{grid-column:1/-1}.dbv2-money-card strong{font-size:22px}.dbv2-money-card.hero strong{font-size:30px}.dbv2-row{grid-template-columns:22px 42px minmax(0,1fr)}.dbv2-row .dbv2-meterblock{grid-column:2/-1}}@media (width<=480px){.dbv2-money{grid-template-columns:minmax(0,1fr)}.dbv2-money-card.hero strong{font-size:28px}}@media print{.dbv2-tabs{display:none!important}.dbv2-hero{color:#111;box-shadow:none;background:#fff;border:1px solid #ccc;border-radius:0}.dbv2-hero:after{display:none}.dbv2-pdf-button{display:none!important}.dbv2-hero-head p,.dbv2-money-card span,.dbv2-chip{color:#333}.dbv2-money-card,.dbv2-chip{background:#fff;border-color:#ccc}.dbv2-money-card strong,.dbv2-money-card.hero strong,.dbv2-chip b{color:#111}.dbv2-panel{border:0;border-radius:0;margin-top:8mm;padding:0}.dbv2-row{break-inside:avoid}}
