:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f5f7;--foreground:#09090b;--card:#fff;--muted:#71717a;--muted-foreground:#52525b;--border:#cbd5e1;--border-subtle:#f1f5f9;--accent:#f1f5f9;--accent-foreground:#0f172a;--ring:#94a3b8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius:16px;--font-scale:1}html.theme-black,.theme-black{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#09090b;--foreground:#f4f5f7;--card:#18181b;--muted:#a1a1aa;--muted-foreground:#d4d4d8;--border:#27272a;--border-subtle:#1f1f23;--accent:#27272a;--accent-foreground:#f4f5f7;--ring:#3f3f46}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-size:calc(14px * var(--font-scale,1));font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1{font-size:calc(28px * var(--font-scale,1))!important;line-height:calc(36px * var(--font-scale,1))!important}.kpiCard p,.freshnessCard p{opacity:.6;font-size:calc(13px * var(--font-scale,1))!important}.kpiCard strong{font-size:calc(22px * var(--font-scale,1))!important;line-height:calc(28px * var(--font-scale,1))!important}.panelTitle h2{font-size:calc(14px * var(--font-scale,1))!important}.tableRow,.fileRow,.barRow,.statusHint,.eyebrow,.legendRow,.badge,.pill,.importForm label>span,.statusCardTop p,.statusCardTop strong{font-size:calc(13px * var(--font-scale,1))!important}.statusCardTop strong,.bigNumber{font-size:calc(24px * var(--font-scale,1))!important}.panel th,.panel td,.panel button,.panel select,.panel input,.panel span,.panel p,.panel label,.panel text,.panel a,.importSummaryBox,.importSummaryBox *,.keepForm *,.keepCard *{font-size:calc(13px * var(--font-scale,1))!important}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}.sidebar{display:none}.brand{align-items:center;gap:10px;min-height:44px;display:flex}.brandIcon{color:#000;border-radius:var(--radius);background:#fff;place-items:center;width:36px;height:36px;display:grid}.brand strong,.brand span{display:block}.brand strong{letter-spacing:0;font-size:14px;line-height:20px}.brand span{color:#a1a1aa;text-transform:uppercase;font-size:11px;line-height:16px}.nav{gap:2px;margin-top:24px;display:grid}.navItem{color:#d4d4d8;border-radius:var(--radius);align-items:center;gap:10px;min-height:36px;padding:0 10px;font-size:13px;font-weight:500;display:flex}.navItem:hover,.navItem.active{color:#fff;background:#18181b}.databaseCard{color:#e4e4e7;border-radius:var(--radius);background:#050505;border:1px solid #27272a;gap:10px;margin-top:auto;padding:14px;display:grid}.eyebrow{color:#a1a1aa;letter-spacing:0;font-size:11px;font-weight:600}.statusLine,.metaRow{align-items:center;gap:8px;font-size:13px;display:flex}.dot{background:var(--success);border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.dot.warning,.dot.amber{background:var(--warning)}.dot.red{background:var(--danger)}.dot.green{background:var(--success)}.muted{color:var(--muted)}.content{min-width:0;padding:28px}.contentFullWidth{width:100%}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:22px;display:flex}.crumb{color:var(--muted);margin:0 0 14px;font-size:13px}h1{letter-spacing:0;margin:0;font-size:28px;line-height:36px}.subtitle{color:var(--muted);margin:4px 0 0;font-size:14px}.refreshForm{margin:0}.topActions{align-items:center;gap:8px;display:flex}.iconButton,.primaryButton,.secondaryButton,.smallButton{border-radius:var(--radius);cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.iconButton{width:36px;height:36px;color:var(--foreground);background:var(--card);border:1px solid var(--border);place-items:center;display:grid}.iconButton:hover{background:var(--accent)}.iconButton.flat{background:0 0;width:32px;height:32px}.primaryButton,.secondaryButton,.smallButton{justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.primaryButton{color:#fff;background:#09090b;border:1px solid #09090b}.primaryButton:hover{background:#27272a;border-color:#27272a}.primaryButton:disabled{cursor:not-allowed;opacity:.55}.secondaryButton,.smallButton{color:var(--foreground);border:1px solid var(--border);background:#fff}.secondaryButton:hover,.smallButton:hover{background:var(--accent)}.smallButton{min-height:30px;padding:0 10px}.banner{color:#991b1b;border-radius:var(--radius);background:#fff;border:1px solid #fecaca;align-items:center;gap:10px;margin-top:18px;padding:11px 12px;font-size:13px;display:flex}.kpiGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.kpiCard,.panel,.freshnessCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000000a}.kpiCard{align-items:center;gap:8px;width:100%;min-height:96px;padding:12px 8px;display:flex}.kpiCard p,.freshnessCard p{color:var(--foreground);opacity:.6;margin:0 0 4px;font-size:13px;font-weight:500}.kpiCard strong{overflow-wrap:anywhere;letter-spacing:-.03em;white-space:nowrap;font-size:22px;font-weight:700;line-height:28px;display:block}.kpiIcon{width:42px;height:42px;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;flex:none;place-items:center;display:grid}.kpiIcon.blue,.kpiIcon.green,.kpiIcon.yellow,.kpiIcon.violet,.kpiIcon.cyan{color:var(--foreground);background:#fafafa}.freshnessGrid,.dashboardGrid{gap:12px;margin-top:12px;display:grid}.freshnessGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardGrid{grid-template-columns:minmax(0,1fr)}.twoColumnRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.panelTight{min-height:240px}.revenuePanel{min-height:380px}.dbStatusPanel{gap:14px;display:grid}.dbStatusHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dbStatusHeader h2{margin:4px 0 0;font-size:18px;line-height:24px}.sectionLabel{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.dbStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dbStatusItem{border:1px solid var(--border);background:#fafafa;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.dbStatusItem span{color:var(--muted);font-size:12px;display:block}.dbStatusItem strong{margin-top:2px;font-size:14px;display:block}.bannerInline{margin-top:0}.freshnessCard{justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:16px;display:flex}.freshnessCard strong{font-size:16px;font-weight:600}.panel{min-height:288px;padding:18px}.panelTitle{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panelTitle h2{letter-spacing:0;margin:0;font-size:14px;line-height:20px}.panelTitle svg{color:var(--muted)}.table{border:1px solid var(--border);border-radius:var(--radius);display:grid;overflow:hidden}.tableRow{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 1.5fr auto;align-items:center;gap:12px;min-height:46px;padding:0 14px;font-size:13px;display:grid}.tableRow:last-child{border-bottom:0}.pill{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.pill.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.pill.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.pill.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.pill.neutral{color:#52525b;border-color:var(--border);background:#fafafa}.strong{font-weight:600}.validationLayout{grid-template-columns:40% 60%;align-items:center;gap:18px;min-height:180px;display:grid}.donut{aspect-ratio:1;border-radius:999px;place-items:center;width:100%;max-width:220px;display:grid}.donut>div{background:#fff;border-radius:999px;place-items:center;width:102px;height:102px;display:grid}.donut strong{font-size:24px;line-height:28px}.donut span{color:var(--muted);font-size:12px}.legend{gap:14px;display:grid}.bigNumber{font-size:1.5rem;font-weight:800}.badgeRow{flex-direction:column;gap:10px;display:flex}.badge{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;font-weight:600;display:inline-flex}.badge .label{color:var(--muted);font-size:12px;font-weight:500}.badge .value{font-size:15px;font-weight:800}.badge.green{color:#166534;background:#ecfdf5}.badge.red{color:#991b1b;background:#fff1f2}.badge.amber{color:#92400e;background:#fff7ed}.statusCards{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.statusCard{border:1px solid var(--border);background:#fafafa;border-radius:12px;gap:10px;min-height:170px;padding:16px;display:grid}.statusCardTop{align-items:center;gap:12px;display:flex}.statusCardTop p{color:var(--muted);margin:0;font-size:12px}.statusCardTop strong{font-size:24px;font-weight:800;line-height:1.1;display:block}.logo{color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.logo.shopee,.progressFill.shopee{background:#ea580c}.logo.tiktok,.progressFill.tiktok{background:#0891b2}.progressBar{background:#e5e7eb;border-radius:999px;width:100%;height:8px;overflow:hidden}.progressFill{border-radius:inherit;height:100%}.statusHint{color:var(--muted);font-size:12px}.legendRow{grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.bars{gap:13px;display:grid}.barRow{grid-template-columns:48px minmax(0,1fr) 132px;align-items:center;gap:12px;font-size:13px;display:grid}.barTrack{background:#f4f4f5;border-radius:999px;height:8px;overflow:hidden}.barFill{border-radius:inherit;background:#18181b;height:100%}.barRow strong{text-align:right}.empty{min-height:190px;color:var(--muted);background:var(--background-subtle);border:1px dashed var(--border);border-radius:var(--radius);place-items:center;font-size:13px;display:grid}.empty.compact{min-height:160px}.fileRow{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:grid}.fileRow:last-child{border-bottom:0}.fileMain{align-items:center;gap:10px;min-width:0;display:flex}.fileMain svg{color:var(--muted)}.fileMain strong,.fileMain span,.fileMeta span{display:block}.fileMain strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.fileMain span,.fileMeta span{color:var(--muted);font-size:12px}.fileMeta{justify-items:start;gap:6px;display:grid}.fileActions{align-items:center;gap:6px;display:flex}.fileMessage{color:var(--muted);grid-column:1/-1;margin:-4px 0 0 28px;font-size:12px}.modalBackdrop{z-index:50;background:#0000006b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:min(560px,100%);box-shadow:0 24px 64px #0000002e}.logModal{width:min(760px,100%)}.modalHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.modalHeader h3{margin:0;font-size:17px;font-weight:600}.modalHeader p{color:var(--muted);margin:6px 0 0;font-size:13px}.importForm{gap:16px;padding:18px;display:grid}.importForm label{gap:7px;display:grid}.importForm label>span{color:var(--muted-foreground);font-size:13px;font-weight:500}.importForm select,.importForm input{width:100%;min-height:38px;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:0 10px}.uploadPreview{background:var(--border-subtle);border:1px dashed var(--border);border-radius:var(--radius);gap:4px;padding:12px;display:grid}.uploadPreview strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.uploadPreview span,.formError{color:var(--muted);font-size:13px}.formError{color:var(--danger)}.modalActions{justify-content:flex-end;gap:8px;display:flex}.logList{gap:0;max-height:520px;padding:0;display:grid;overflow:auto}.logRow{border-bottom:1px solid var(--border-subtle);grid-template-columns:92px minmax(0,1fr);gap:12px;padding:14px 18px;display:grid}.logRow:last-child{border-bottom:0}.logRow strong{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.logRow p{color:var(--muted);margin:0;font-size:13px}.logRow code{color:var(--foreground);border:1px solid var(--border);background:#fafafa;border-radius:4px;margin-top:7px;padding:2px 5px;font-size:12px;display:inline-block}@media (max-width:1180px){.kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardGrid,.freshnessGrid,.validationLayout,.statusCards,.dbStatusGrid,.twoColumnRow{grid-template-columns:1fr}}@media (max-width:760px){.content{padding:18px}.topbar{flex-direction:column;align-items:stretch}.topActions{justify-content:space-between}.kpiGrid{grid-template-columns:1fr}.validationLayout,.twoColumnRow{grid-template-columns:1fr;justify-items:center}.tableRow,.fileRow,.barRow{grid-template-columns:1fr;align-items:start;padding:12px}.fileActions{justify-content:flex-start}.barRow strong{text-align:left}}.keepGrid{margin-top:16px}.keepCard{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:160px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0000000d}.keepCard:hover{border-color:var(--ring);transform:translateY(-3px);box-shadow:0 4px 12px #00000014}.keepCardHeader{align-items:center;gap:10px;margin-bottom:8px;display:flex}.keepCardHeader h3{margin:0;font-size:15px;font-weight:700}.keepCardDesc{color:var(--muted);flex-grow:1;margin:0 0 14px;font-size:13px;line-height:1.5}.keepCardFooter{color:var(--muted-foreground);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;display:flex}.keepModalOverlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.keepModalContent{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.keepModalClose{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:4px;position:absolute;top:16px;right:16px}.keepModalClose:hover{background:var(--accent);color:var(--foreground)}.keepForm label{color:var(--muted-foreground);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.keepForm input,.keepForm select{border:1px solid var(--border);width:100%;height:36px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 10px;font-size:13px}.keepForm input:focus,.keepForm select:focus{border-color:var(--ring);outline:none}.previewTable th,.previewTable td{border-bottom:1px solid var(--border-subtle)}.previewTable tbody tr:hover{background-color:var(--background-subtle)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bentoGrid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.bento-12{grid-column:span 12}.bento-8{grid-column:span 8}.bento-7{grid-column:span 7}.bento-6{grid-column:span 6}.bento-5{grid-column:span 5}.bento-4{grid-column:span 4}.bento-3{grid-column:span 3}@media (max-width:1100px){.bento-12,.bento-8,.bento-7,.bento-6,.bento-5,.bento-4,.bento-3{grid-column:span 12}}.panelHeader{justify-content:space-between;align-items:center;width:100%;display:flex}.panelCollapseBtn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.panelCollapseBtn:hover{background:var(--accent);color:var(--foreground)}.collapsedBody{display:none!important}.bentoImportContainer{grid-template-columns:9fr 3fr;gap:24px;width:100%;display:grid}@media (max-width:900px){.bentoImportContainer{grid-template-columns:1fr;gap:16px}}.importCleanTable{max-height:380px;padding-right:6px;overflow:auto;background:0 0!important;border:none!important}.importCleanTable::-webkit-scrollbar{width:6px}.importCleanTable::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.importCleanTable::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.importCleanTable::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.importCleanRow{border-bottom:1px solid var(--border);grid-template-columns:1.2fr 1.5fr auto;align-items:center;gap:16px;font-size:13px;display:grid;padding:6px 16px!important}.importCleanRow:last-child{border-bottom:none}.importSummaryBox{background:var(--border-subtle);border:1px dashed var(--border);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:stretch;gap:16px;height:100%;padding:20px;display:flex}.kpiBentoGrid{grid-template-columns:96px 96px minmax(0,1.6fr) minmax(0,1.7fr) minmax(0,1.6fr) minmax(0,1.1fr) minmax(0,1.4fr) 96px minmax(0,1.3fr);gap:12px;width:100%;margin-bottom:16px;display:grid}@media (max-width:1200px){.kpiBentoGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.kpiBentoGrid{grid-template-columns:1fr}}.boschBar{background:linear-gradient(90deg,#e30613 0%,#ff8200 16.6%,#ffc000 33.3%,#009639 50%,#00a4e4 66.6%,#0056b3 83.3%,#7a1d7c 100%);width:100%;height:10px}.boschBarTop{margin-bottom:0}.boschBarBottom{margin-top:24px}body{padding:0}.dbStatusCard.db-healthy{background:#ecfdf5!important;border-color:#a7f3d0!important}.dbStatusCard.db-error{background:#fef2f2!important;border-color:#fca5a5!important}.dbStatusCard.db-healthy .dbStatusText{color:#065f46!important}.dbStatusCard.db-error .dbStatusText{color:#ef4444!important}.theme-black .dbStatusCard.db-healthy{background:#10b9811a!important;border-color:#10b9814d!important}.theme-black .dbStatusCard.db-error{background:#ef444426!important;border-color:#ef444466!important}.theme-black .dbStatusCard.db-healthy .dbStatusText{color:#34d399!important}.theme-black .dbStatusCard.db-error .dbStatusText{color:#f87171!important}.theme-black .modal,.theme-black .keepModalContent,.theme-black .importForm select,.theme-black .importForm input,.theme-black .keepForm input,.theme-black .keepForm select,.theme-black .donut>div,.theme-black .smallButton,.theme-black .secondaryButton,.theme-black .iconButton{background:var(--card)!important;color:var(--foreground)!important;border-color:var(--border)!important}.theme-black .donut>div{background:var(--card)!important}.theme-black .importSummaryBox,.theme-black .dbStatusItem{background:#18181b!important;border-color:#27272a!important}.theme-black .kpiCard p,.theme-black .kpiLabel{color:var(--foreground)!important;opacity:.6!important}.theme-black .kpiSubtext{color:#71717a!important}.theme-black .kpiIcon{color:#fff!important;background:#27272a!important;border-color:#3f3f46!important}.theme-black .kpiIcon svg{color:#fff!important}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.square-box-stat{position:relative}.square-box-stat:after{content:attr(data-label);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:100;background:#1f2937;border:1px solid #ffffff26;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:600;transition:all .1s cubic-bezier(.16,1,.3,1);position:absolute;bottom:120%;left:50%;transform:translate(-50%)scale(.9);box-shadow:0 4px 12px #0000004d}.square-box-stat:hover:after{opacity:1;transform:translate(-50%)scale(1)}.square-box-stat:hover{filter:brightness(1.15);transform:translateY(-2px)}.divider-resizer:hover{opacity:.8;background:#3b82f6!important}.divider-resizer{transition:background .15s,opacity .15s}
