:root{color:#172033;background:#f7f8fb;font-family:Inter,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-rendering:geometricPrecision}*{box-sizing:border-box}html{background:#f7f8fb}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.sidebar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:72px;padding:12px clamp(18px,4vw,44px);background:#fffffff0;border-bottom:1px solid #e6eaf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;min-width:260px;color:#111827}.brand svg{width:26px;height:26px;color:#2563eb}.brand strong{display:block;font-size:18px;line-height:1.1}.brand span{display:block;margin-top:3px;color:#6b7280;font-size:12px}.nav{border:0;background:transparent;color:#4b5563;padding:10px 13px;border-radius:999px;cursor:pointer;font-weight:650;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.nav:hover{background:#f1f5f9;color:#111827}.nav.active{background:#111827;color:#fff;box-shadow:0 8px 18px #11182724}main{min-width:0;flex:1}.page-view[hidden]{display:none}.page{width:min(1480px,calc(100vw - 40px));margin:0 auto;padding:30px 0 46px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h1{margin:0;color:#0f172a;font-size:clamp(28px,3.4vw,42px);line-height:1.05;letter-spacing:0}.page-head p{margin:8px 0 0;max-width:760px;color:#667085;font-size:15px}.page-view-toggle{min-width:min(100%,360px);margin-left:auto;background:#ffffff85}.page-view-toggle button{min-width:0;padding-inline:14px}.landing-grid,.upload-grid,.kpi-grid{display:grid;gap:14px}.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.weekly-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.picking-upload-grid{grid-template-columns:minmax(0,950px)}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.feature-tile,.panel,.metric,.upload-box{background:#fff;border:1px solid #e6eaf0;border-radius:10px}.feature-tile{min-height:178px;text-align:left;padding:24px;cursor:pointer;box-shadow:0 1px 2px #1018280a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.feature-tile:hover{transform:translateY(-1px);border-color:#c7d2fe;box-shadow:0 14px 30px #10182814}.feature-tile.active-tile{border-color:#93b4ff;background:#f8fbff}.feature-tile:disabled{cursor:not-allowed}.coming-soon-tile{opacity:.7}.coming-soon-tile h2,.coming-soon-tile p{color:#667085}.feature-tile svg{color:#2563eb}.feature-tile h2{margin:16px 0 8px;font-size:21px}.feature-tile p,.hint-line{margin:0;color:#667085}.panel{padding:18px;margin-bottom:16px;box-shadow:0 1px 2px #1018280a}.panel-title{display:flex;gap:9px;align-items:center;color:#111827;font-weight:750;margin-bottom:8px}.panel-title svg{color:#2563eb}.chart-panel{padding:16px}.chart-panel h2,.table-head h2{margin:0 0 10px;color:#111827;font-size:19px;letter-spacing:0}.ranking-panel{height:min(760px,calc(100vh - 130px));min-height:560px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);margin-bottom:16px;overflow:hidden}.overview-ranking-tools{display:grid;grid-template-columns:minmax(190px,220px) max-content;align-items:end;gap:10px}.overview-ranking-tools .primary-btn,.overview-ranking-tools .ghost-btn{margin-top:0;min-height:42px}.ranking-range{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:8px 0 14px;color:#667085;font-size:13px;font-weight:720}.ranking-range svg{color:#5f7fae}.ranking-period-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(86px,1fr));gap:4px;margin-top:12px;padding:4px;border:1px solid #d7deea;border-radius:10px;background:#f8fafc}.ranking-period-toggle button{min-height:34px;border:0;border-radius:7px;background:transparent;color:#475467;cursor:pointer;font-weight:800}.ranking-period-toggle button:hover{color:#111827;background:#eef4ff}.ranking-period-toggle button.active{color:#fff;background:#111827;box-shadow:0 8px 18px #11182724}.ranking-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;height:100%;min-width:0;min-height:0}.ranking-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ranking-card-head h2{margin:0;color:#111827;font-size:18px}.ranking-card-head span{color:#667085;font-size:12px;font-weight:800}.ranking-callouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ranking-callout{display:grid;gap:4px;border:1px solid rgba(2,122,72,.18);border-radius:10px;background:#ecfdf394;padding:10px}.ranking-callout.muted{border-color:#b423182e;background:#fef3f28f}.ranking-callout span{display:inline-flex;align-items:center;gap:6px;color:#027a48;font-size:12px;font-weight:850}.ranking-callout.muted span{color:#b42318}.ranking-callout strong{min-width:0;color:#111827;overflow-wrap:anywhere}.ranking-callout small{color:#667085;font-size:12px}.rank-first td{background:#ecfdf394;font-weight:800}.rank-last td{background:#fef3f28f}.ranking-delete-col{width:36px;min-width:36px;text-align:center}.ranking-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid transparent;border-radius:8px;background:transparent;color:#98a2b3;cursor:pointer}.ranking-delete-btn:hover:not(:disabled){border-color:#fecdca;background:#fef3f2;color:#b42318}.ranking-delete-btn:disabled{cursor:not-allowed;opacity:.45}.ranking-card .table-wrap{min-height:0;max-height:none;overflow:auto}.ranking-coming-soon{grid-template-rows:auto minmax(0,1fr)}.ranking-coming-soon-body{display:grid;place-items:center;align-content:center;gap:10px;min-height:0;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#667085;text-align:center}.ranking-coming-soon-body svg{color:#94a3b8}.ranking-coming-soon-body strong{color:#111827;font-size:20px}.ranking-coming-soon-body span{font-size:13px;font-weight:700}.source-list{display:grid;gap:5px;margin:10px 0 14px;color:#475467;line-height:1.45;font-size:14px}.upload-box{display:grid;gap:9px;padding:16px;background:#fff}.upload-box-with-tools{grid-template-columns:minmax(0,.9fr) minmax(250px,1.1fr);align-items:start;gap:16px;overflow:hidden}.upload-box-main{display:grid;gap:9px;min-width:0}.upload-box-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.inline-toggle{display:inline-flex;align-items:center;gap:7px;min-width:max-content;color:#344054;font-size:12px;font-weight:800}.inline-toggle input{width:16px;height:16px;margin:0}.upload-box-tools{min-width:0;border-left:1px solid rgba(120,144,180,.18);padding-left:14px;overflow:hidden}.date-query{display:grid;gap:8px}.picking-action-stack{display:grid;gap:12px}.date-query-warehouse{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:800;letter-spacing:.02em}.date-query-warehouse .glass-select{width:100%;min-width:0}.warehouse-query-select .glass-select-trigger{min-height:36px}.date-query-title{color:#344054;font-size:12px;font-weight:800;letter-spacing:.02em}.date-query-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.date-query-fields label{display:grid;gap:4px;min-width:0;color:#667085;font-size:11px;font-weight:800}.date-query-fields input{width:100%;min-width:0;min-height:34px;padding:6px;font-size:11px}.date-query-fields input::-webkit-datetime-edit{color:#172033;min-width:0}.date-query-fields input::-webkit-calendar-picker-indicator{width:14px;height:14px;margin-left:2px}.date-query-btn{width:100%;min-height:36px;margin-top:0}.upload-box.disabled{opacity:.55}.upload-box strong{color:#111827}.upload-box span{color:#667085;font-size:13px;line-height:1.4}.primary-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;cursor:pointer;font-weight:750;transition:background .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease}.primary-btn{margin-top:12px;border:0;background:#2563eb;color:#fff;padding:0 18px}.primary-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn{border:1px solid #d8dee8;background:#fff;color:#172033;padding:0 12px}.ghost-btn:hover{border-color:#b8c2d2;background:#f8fafc}.ghost-btn:disabled{opacity:.45;cursor:not-allowed}.danger-btn{min-height:40px;border:1px solid #dc2626;border-radius:8px;background:#dc2626;color:#fff;padding:0 16px;cursor:pointer;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0f172a61}.modal{width:min(420px,100%);border:1px solid #e6eaf0;border-radius:8px;background:#fff;padding:22px;box-shadow:0 24px 60px #0f172a38}.modal h2{margin:0;color:#111827;font-size:22px}.modal p{margin:10px 0 20px;color:#475467;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.metric{min-height:104px;padding:16px;display:flex;flex-direction:column;justify-content:center;background:#fff;box-shadow:0 1px 2px #1018280a}.metric span{color:#667085;font-size:11px;font-weight:800;letter-spacing:.04em}.metric strong{margin-top:9px;color:#0f172a;font-size:clamp(20px,2vw,26px);line-height:1.1;overflow-wrap:anywhere}.metric small{margin-top:8px;color:#b45309;font-size:12px;line-height:1.35}.warehouse-metric{align-items:stretch;overflow:visible;z-index:8}.warehouse-metric>span{margin-bottom:9px}.warehouse-kpi-select{width:100%;min-width:0}.warehouse-kpi-select .glass-select-trigger{min-height:42px}.warehouse-kpi-select .glass-select-menu{z-index:80}.metric-icon svg{width:20px;height:20px;margin-bottom:6px;color:#2563eb}.donut-card{padding:0;overflow:hidden}.donut-card small{display:block;padding:0 12px 12px;text-align:center}.toolbar,.table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.button-row{display:inline-flex;align-items:center;gap:10px}.button-row .primary-btn{margin-top:0}.select-line,.toolbar label{display:inline-flex;align-items:center;gap:10px;color:#344054;font-weight:750}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:8px 0 14px}.search-line{display:inline-flex;align-items:center;gap:10px;color:#344054;font-weight:750}.search-line input{width:220px;min-height:42px;border-radius:10px;padding:8px 12px}.chart-strip{margin:8px 0 18px;border:1px solid #e6eaf0;border-radius:8px;overflow:hidden}select{min-height:38px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;padding:7px 34px 7px 10px}input{min-height:42px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;padding:8px 11px}textarea{width:100%;min-height:132px;resize:vertical;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;padding:10px 11px}select:focus,input:focus,textarea:focus,.file-picker span:focus-within{outline:2px solid rgba(37,99,235,.18);outline-offset:2px;border-color:#93b4ff}.file-picker{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:center}.file-picker span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;background:#f8fafc;border:1px solid #d8dee8;color:#172033;font-weight:750;cursor:pointer}.file-picker:hover span{background:#fff;border-color:#b8c2d2}.file-picker.disabled span{cursor:not-allowed}.file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker em{min-width:0;overflow:hidden;color:#667085;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.selected-files{display:grid;gap:8px;margin-top:12px}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;border:1px solid #e6eaf0;border-radius:8px;background:#f8fafc;padding:8px 10px 8px 12px;color:#344054;font-weight:700}.selected-file span{min-width:0;overflow-wrap:anywhere}.selected-file button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #fecdca;border-radius:8px;background:#fff;color:#b42318;cursor:pointer;flex:0 0 auto}.selected-file button:hover{background:#fef3f2}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;padding:5px;width:fit-content;max-width:100%;border:1px solid #e6eaf0;border-radius:10px;background:#fff}.tabs button{border:0;background:transparent;color:#475467;border-radius:7px;padding:9px 12px;cursor:pointer;font-weight:750;white-space:nowrap}.tabs button:hover{background:#f2f4f7;color:#111827}.tabs button.active{background:#2563eb;color:#fff;box-shadow:0 6px 14px #2563eb2e}.segmented{display:inline-flex;width:fit-content;max-width:100%;padding:4px;gap:4px;border:1px solid #e6eaf0;border-radius:10px;background:#f8fafc}.segmented button{border:0;border-radius:7px;background:transparent;color:#475467;padding:8px 10px;cursor:pointer;font-weight:750;white-space:nowrap}.segmented button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #10182814}.table-wrap{width:100%;overflow:auto;border:1px solid #e6eaf0;border-radius:10px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{border-bottom:1px solid #eef2f6;padding:6px 10px;text-align:left;white-space:nowrap;font-size:12px;line-height:1.25}th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475467;font-size:12px;font-weight:800}.sort-header{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font-size:inherit;font-weight:inherit;text-align:left}.sort-header:hover{color:#2563eb}.sort-mark{color:#98a2b3;font-size:11px}.select-col{width:56px;text-align:center}.select-col input{width:14px;height:14px}.compact-table th,.compact-table td{padding:5px 9px;font-size:12px}.compact-table .sort-header{gap:5px}.table-number-input{width:132px;min-height:34px;border:1px solid #d8dee8;border-radius:8px;padding:6px 9px;color:#172033;background:#fff}.table-number-input:focus{outline:2px solid rgba(37,99,235,.18);border-color:#93b4ff}tbody tr:hover td{background:#f9fbfd}tbody tr:last-child td{border-bottom:0}.low-row td{background:#fff1f2}.deleted-row td{background:#f3f4f6;color:#667085}.danger-text{color:#dc2626;font-weight:800}.warning-cell{background:#fff3bf;color:#7a4f00;font-weight:800}.error,.success,.empty{border-radius:8px;padding:10px 12px}.error{margin-top:12px;color:#b42318;background:#fef3f2;border:1px solid #fecdca;white-space:pre-line}.success{color:#027a48;background:#ecfdf3;border:1px solid #abefc6}.empty{color:#667085;background:#f8fafc}.progress-block{margin-top:14px;display:grid;gap:8px}.progress-meta{display:flex;justify-content:space-between;gap:12px;color:#475467;font-size:13px}.progress-meta strong{color:#111827}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e4e7ec}.progress-fill{height:100%;border-radius:inherit;background:#2563eb;transition:width .24s ease}.automation-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.automation-download{display:grid;gap:14px}.download-hero{display:grid;grid-template-columns:auto minmax(0,1fr) max-content;gap:14px;align-items:center;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;padding:18px}.download-hero svg{color:#2563eb}.download-hero h2{margin:0 0 6px;color:#111827}.download-hero p{margin:0;color:#667085}.download-btn{text-decoration:none}.mini-program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.tool-head .panel-title{margin-bottom:0}.automation-card{display:grid;gap:12px;align-content:start;border:1px solid #e6eaf0;border-radius:10px;background:#fff;padding:16px}.automation-card.wide{grid-column:1 / -1}.automation-card h2{margin:0;color:#111827;font-size:18px}.automation-picker{margin-top:4px}.link-btn{width:fit-content;text-decoration:none}.step-callout{display:grid;gap:8px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;padding:14px}.step-callout>span{color:#667085;font-size:13px}.step-callout>strong{color:#0f172a;font-size:20px}.step-callout small{display:inline-flex;align-items:center;gap:5px;color:#027a48;font-weight:750}.copy-value{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;max-width:100%;min-height:42px;border:1px solid #93b4ff;border-radius:8px;background:#fff;color:#172033;padding:0 12px;cursor:pointer;font-weight:800;overflow-wrap:anywhere}.copy-value:hover{background:#eff6ff}.field-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.field-chip{display:grid;gap:6px;min-height:72px;border:1px solid #e6eaf0;border-radius:8px;background:#fff;padding:10px;text-align:left;cursor:pointer}.field-chip.active{border-color:#2563eb;background:#eff6ff}.field-chip span{color:#667085;font-size:12px;font-weight:750}.field-chip strong{min-width:0;color:#111827;overflow-wrap:anywhere}.step-list{margin:0;padding-left:20px;color:#475467;line-height:1.55}.picking-tool{display:grid;gap:14px}.picking-layout{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:14px;align-items:stretch}.picking-form-card{gap:16px}.ws-field{display:grid;gap:7px;color:#344054;font-weight:750}.ws-field input{width:100%}.ws-field select{width:100%;min-height:42px}.ws-field input::placeholder{color:#98a2b3}.ws-field textarea::placeholder{color:#98a2b3}.picking-actions{flex-wrap:wrap}.picking-actions .primary-btn{margin-top:0}.picking-result-card{min-height:304px;display:grid;place-items:center;border:1px solid #e6eaf0;border-radius:10px;background:#fff;padding:22px;box-shadow:0 1px 2px #1018280a}.picking-result-card.active{place-items:stretch;align-content:center;gap:14px;border-color:#bfdbfe;background:#f8fbff}.empty-state{display:grid;justify-items:center;gap:9px;max-width:360px;text-align:center;color:#667085}.empty-state svg{color:#2563eb}.empty-state strong{color:#111827;font-size:20px}.result-status{display:inline-flex;align-items:center;gap:8px;color:#027a48;font-weight:800}.result-status svg{color:#027a48}.recommendation{color:#0f172a;font-size:clamp(42px,6vw,76px);line-height:.95;overflow-wrap:anywhere}.result-qty{color:#475467;font-weight:750}.picking-log{max-height:220px;overflow:auto;border:1px solid #dbeafe;border-radius:8px;background:#fff;color:#475467;padding:9px 10px;font-family:Consolas,SFMono-Regular,monospace;font-size:11px;line-height:1.45;white-space:pre-wrap}.log-card{gap:14px}.log-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;border:0;background:transparent;color:#111827;padding:0;cursor:pointer;font-weight:800;text-align:left}.log-toggle svg{color:#2563eb}.log-collapsed{color:#667085;font-size:12px}.spin-icon{animation:spin .9s linear infinite}.error{display:flex;align-items:flex-start;gap:8px}.error svg{flex:0 0 auto;margin-top:1px}@keyframes spin{to{transform:rotate(360deg)}}.feedback-layout{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:14px;align-items:start}.feedback-form{display:grid;gap:14px}.feedback-form .segmented button{display:inline-flex;align-items:center;gap:6px}.feedback-submit{width:fit-content}.feedback-list-panel{min-height:360px}.feedback-list{display:grid;gap:10px}.feedback-item{border:1px solid #e6eaf0;border-radius:8px;background:#fff;padding:14px}.feedback-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.feedback-item h2{margin:0 0 7px;color:#111827;font-size:17px}.feedback-item p{margin:0;color:#475467;line-height:1.5;white-space:pre-wrap}.feedback-item small,.feedback-item time{color:#667085;font-size:12px}.feedback-item small{display:block;margin-top:10px}.feedback-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800}.feedback-badge.feature{background:#eff6ff;color:#1d4ed8}.feedback-badge.change{background:#fff7ed;color:#c2410c}@media(max-width:1080px){.sidebar{align-items:flex-start;flex-wrap:wrap}.brand{width:100%;min-width:0}.kpi-grid.five,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-grid,.landing-grid,.upload-box-with-tools{grid-template-columns:1fr}.upload-box-tools{border-left:0;border-top:1px solid rgba(120,144,180,.18);padding-left:0;padding-top:12px}.automation-layout,.field-grid,.download-hero,.picking-layout,.feedback-layout{grid-template-columns:1fr}.ranking-panel{height:auto;min-height:0;overflow:visible}.ranking-card{height:min(620px,calc(100vh - 170px))}}@media(max-width:640px){.sidebar{gap:8px;padding:12px 14px}.nav{padding:9px 11px;font-size:14px}.page{width:min(100% - 24px,1480px);padding-top:20px}.page-head{display:block}.kpi-grid,.kpi-grid.five{grid-template-columns:1fr}.toolbar,.table-head{align-items:flex-start;flex-direction:column}.overview-ranking-tools,.ranking-callouts,.ranking-period-toggle{grid-template-columns:1fr;width:100%}.file-picker{grid-template-columns:1fr}}:root{--glass-bg: rgba(255, 255, 255, .58);--glass-bg-strong: rgba(255, 255, 255, .78);--glass-bg-soft: rgba(255, 255, 255, .42);--glass-border: rgba(255, 255, 255, .72);--glass-stroke: rgba(120, 144, 180, .22);--glass-shadow: 0 18px 55px rgba(40, 61, 98, .13), 0 2px 8px rgba(40, 61, 98, .07);--glass-shadow-hover: 0 26px 72px rgba(40, 61, 98, .18), 0 5px 16px rgba(40, 61, 98, .08);--glass-ink: #102033;--glass-muted: #5d6f86;--glass-accent: #5f7fae;--glass-blue-soft: #a9c3e8}html{background:#eef4fb}body{color:var(--glass-ink);background:linear-gradient(120deg,#fafdfffa,#eff7ffe6,#fafcfff5 68%,#f4f8fff0),#f7fbff}.app-shell{position:relative;isolation:isolate;overflow-x:hidden}.app-shell:before{content:"";position:fixed;inset:-35%;z-index:-2;pointer-events:none;background:radial-gradient(circle at 14% 12%,rgba(176,211,255,.34),transparent 28%),radial-gradient(circle at 76% 18%,rgba(220,232,255,.46),transparent 30%),radial-gradient(circle at 56% 78%,rgba(190,213,248,.22),transparent 34%);filter:blur(44px) saturate(1.02);animation:glass-flow 18s ease-in-out infinite alternate}.app-shell:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 72%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 72%);opacity:.24}.sidebar{background:#ffffff9e;border-bottom:1px solid var(--glass-border);box-shadow:0 10px 34px #2a3e5c14;backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4)}.brand,.page-head h1,.panel-title,.chart-panel h2,.table-head h2,.metric strong,.automation-card h2,.step-callout>strong,.empty-state strong,.modal h2,.feedback-item h2{color:var(--glass-ink)}.brand svg,.panel-title svg,.feature-tile svg,.metric-icon svg,.download-hero svg,.empty-state svg,.log-toggle svg{color:var(--glass-accent)}.brand span,.page-head p,.hint-line,.source-list,.upload-box span,.metric span,.selected-file,.progress-meta,.empty,.feedback-item p,.feedback-item small,.feedback-item time{color:var(--glass-muted)}.nav{color:#40516a;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.nav:hover{background:#ffffff94;color:var(--glass-ink);transform:translateY(-1px);box-shadow:inset 0 1px #ffffffb8,0 8px 20px #283d6214}.nav.active{background:#102033db;color:#fff;box-shadow:inset 0 1px #ffffff3d,0 12px 28px #10203338}.feature-tile,.panel,.metric,.upload-box,.automation-card,.picking-result-card,.feedback-item,.download-hero,.step-callout,.table-wrap,.tabs,.segmented,.modal{border:1px solid var(--glass-border);background:linear-gradient(145deg,#ffffffd1,#ffffff75),var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}.feature-tile,.panel,.metric,.upload-box,.automation-card,.picking-result-card,.feedback-item{position:relative;overflow:hidden;border-radius:12px}.feature-tile:before,.panel:before,.metric:before,.upload-box:before,.automation-card:before,.picking-result-card:before,.feedback-item:before{display:none}.feature-tile>*,.panel>*,.metric>*,.upload-box>*,.automation-card>*,.picking-result-card>*,.feedback-item>*{position:relative}.feature-tile{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.feature-tile:hover{transform:translateY(-1px);border-color:#86aee85c;background:linear-gradient(145deg,#ffffffe0,#f5fbfc8f),var(--glass-bg);box-shadow:var(--glass-shadow-hover)}.panel:hover,.metric:hover,.upload-box:hover,.automation-card:hover,.picking-result-card:hover,.feedback-item:hover,.table-wrap:hover{border-color:#86aee847;background:linear-gradient(145deg,#ffffffdb,#f5fbfc8a),var(--glass-bg);box-shadow:var(--glass-shadow-hover)}.feature-tile.active-tile,.picking-result-card.active{border-color:#2878ff7a;background:linear-gradient(145deg,#ffffffe6,#e8f2ff8f)}.primary-btn{border-radius:10px;background:linear-gradient(135deg,#6f91c2,var(--glass-blue-soft));box-shadow:0 13px 30px #5f7fae2e,inset 0 1px #ffffff47}.primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#5f7fae,#9ab8df);box-shadow:0 18px 38px #5f7fae3d,inset 0 1px #ffffff57}.ghost-btn,.file-picker span,.selected-file,.selected-file button,.copy-value,.field-chip,select,input,textarea,.table-number-input,.picking-log,.glass-select-trigger,.glass-select-menu{border-color:var(--glass-stroke);background:#ffffff9e;color:var(--glass-ink);border-radius:10px;box-shadow:inset 0 1px #ffffffad}.glass-select{position:relative;min-width:210px}.toolbar .glass-select{min-width:210px}.glass-select-trigger{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--glass-stroke);padding:0 12px 0 16px;cursor:pointer;font-weight:780;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.glass-select-trigger:hover,.glass-select.open .glass-select-trigger{border-color:#86aee875;background:#ffffffbd;box-shadow:inset 0 1px #ffffffbd,0 8px 18px #283d6214}.glass-select-caret{color:#40516a;font-size:18px;line-height:1;transform:translateY(-1px);transition:transform .18s ease}.glass-select.open .glass-select-caret{transform:translateY(1px) rotate(180deg)}.glass-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:260px;overflow:auto;border:1px solid var(--glass-border);padding:6px;background:#ffffffd1;box-shadow:0 18px 45px #283d6229;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}.glass-select-option{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;border-radius:8px}.glass-select-option:hover{background:#86aee824}.glass-select-option.active{background:#102033db;color:#fff}.glass-select-option-main,.glass-select-option-remove{min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--glass-ink);cursor:pointer;font-weight:720;transition:background .16s ease,color .16s ease}.glass-select-option-main{min-width:0;padding:0 10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.glass-select-option-remove{display:inline-flex;align-items:center;justify-content:center;margin-right:4px;padding:0;color:#667085}.glass-select-option.active .glass-select-option-main{color:#fff}.glass-select-option.active .glass-select-option-remove{color:#ffffffd1}.glass-select-option-remove:hover{background:#b423181a;color:#b42318}.ws-field .glass-select,.warehouse-select{width:100%}.single-upload-file{margin-top:8px}.ghost-btn:hover,.file-picker:hover span,.copy-value:hover,.tabs button:hover{background:#ffffffb8;border-color:#86aee852}select:focus,input:focus,textarea:focus,.file-picker span:focus-within,.table-number-input:focus{outline:2px solid rgba(134,174,232,.2);border-color:#86aee875}.tabs,.segmented{border-radius:12px;background:#ffffff7a;box-shadow:0 12px 30px #283d6214}.tabs button,.segmented button{border-radius:9px}.tabs button.active{background:#102033db;color:#fff;box-shadow:inset 0 1px #ffffff38,0 8px 20px #10203329}.segmented button.active{background:#ffffffd1;color:var(--glass-ink);box-shadow:0 8px 18px #283d621a}.upload-box-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.labor-hours-box{align-content:start}.segmented.compact{min-height:34px;padding:3px;gap:3px;border-radius:11px;flex:0 0 auto}.segmented.compact button{min-height:28px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:760}.segmented.sliding{--active-index: 0;--segment-count: 2;position:relative;display:grid;grid-template-columns:repeat(var(--segment-count),minmax(0,1fr));overflow:hidden}.segmented.sliding:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px - (var(--segment-count) - 1) * 3px) / var(--segment-count));border-radius:8px;background:#ffffffdb;box-shadow:0 8px 18px #283d621a,inset 0 1px #ffffffb8;transform:translate(calc(var(--active-index) * (100% + 3px)));transition:transform .26s cubic-bezier(.2,.9,.18,1)}.segmented.sliding button{position:relative;z-index:1;background:transparent;box-shadow:none;white-space:nowrap}.segmented.sliding button.active{background:transparent;box-shadow:none}.chart-strip{border-color:var(--glass-border);background:#ffffff80;backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}.table-wrap{border-radius:12px;background:#ffffff9e}table{background:#ffffff7a}th,td{border-bottom-color:#7890b429}th{background:#f8fbffd6;color:#40516a}tbody tr:hover td{background:#ffffffb8}.progress-track{background:#7890b433}.progress-fill{background:linear-gradient(90deg,#6f91c2,#a9c3e8,#111827)}.js-plotly-plot .hoverlayer .hovertext path{rx:8px;ry:8px;stroke-width:1.2px}.js-plotly-plot .hoverlayer .hovertext rect{rx:8px;ry:8px}body{--legacy-blue: #6f91c2}.brand svg,.feature-tile svg,.panel-title svg,.metric-icon svg,.download-hero svg,.empty-state svg,.log-toggle svg,.sort-header:hover{color:var(--glass-accent)}.primary-btn,.tabs button.active,.field-chip.active{border-color:#86aee86b}.modal-backdrop{background:#121f3259;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.modal{border-radius:12px;background:var(--glass-bg-strong)}.error,.success,.empty{border-radius:10px;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.low-row td{background:#fff1f2b8}.deleted-row td{background:#f3f4f6a8}@keyframes glass-flow{0%{transform:translate3d(-2%,-1%,0) rotate(0) scale(1)}to{transform:translate3d(2%,1%,0) rotate(4deg) scale(1.04)}}@media(prefers-reduced-motion:reduce){.app-shell:before{animation:none}.feature-tile,.nav,.primary-btn,.ghost-btn{transition:none}}.nav-group{--nav-count: 5;--active-index: 0;position:relative;display:grid;grid-template-columns:repeat(var(--nav-count),minmax(max-content,1fr));gap:4px;min-width:min(100%,820px);padding:5px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffff59;box-shadow:inset 0 1px #ffffffb8,0 12px 34px #283d6214;backdrop-filter:blur(24px) saturate(1.45);-webkit-backdrop-filter:blur(24px) saturate(1.45);overflow:hidden}.nav-group:before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px - (var(--nav-count) - 1) * 4px) / var(--nav-count));border-radius:999px;background:linear-gradient(135deg,#ffffffb3,#102033d1);box-shadow:inset 0 1px 1px #ffffffbf,inset 0 -12px 24px #0c1c303d,0 14px 32px #1020333d;transform:translate(calc(var(--active-index) * (100% + 4px)));transition:transform .52s cubic-bezier(.2,.9,.18,1),filter .24s ease}.nav-group:after{display:none}.nav-group:hover:after{display:none}.nav-group .nav{position:relative;z-index:1;min-height:38px;padding:8px 12px;background:transparent;box-shadow:none}.nav-group .nav:hover{background:#ffffff38;box-shadow:none}.nav-group .nav.active{background:transparent;color:#fff;box-shadow:none;text-shadow:0 1px 12px rgba(255,255,255,.18)}.tabs{position:relative;display:grid;grid-template-columns:repeat(var(--tab-count),minmax(0,1fr));width:min(100%,1020px);overflow:hidden}.tabs:before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px - (var(--tab-count) - 1) * 6px) / var(--tab-count));border-radius:9px;background:linear-gradient(135deg,#ffffffad,#102033d6);box-shadow:inset 0 1px 1px #ffffffc2,inset 0 -10px 22px #0c1c3038,0 12px 26px #1020332e;transform:translate(calc(var(--active-index) * (100% + 6px)));transition:transform .52s cubic-bezier(.2,.9,.18,1),border-radius .22s ease}.tabs:after{display:none}.tabs:hover:after{display:none}.tabs button{position:relative;z-index:1;background:transparent;transition:color .22s ease,transform .22s ease;min-width:0;overflow:hidden;text-overflow:ellipsis}.tabs button:hover{background:#ffffff2e}.tabs button.active{background:transparent;color:#fff;box-shadow:none;text-shadow:0 1px 12px rgba(255,255,255,.18)}.feature-tile:after,.panel:after,.metric:after,.upload-box:after,.automation-card:after,.picking-result-card:after,.feedback-item:after{display:none}.feature-tile:hover:after,.panel:hover:after,.metric:hover:after,.upload-box:hover:after,.automation-card:hover:after,.picking-result-card:hover:after,.feedback-item:hover:after{display:none}.primary-btn,.ghost-btn,.file-picker span,.selected-file button,.tabs button,.nav{will-change:transform}@keyframes liquid-sheen{0%{opacity:0;transform:translate(-72%)}22%{opacity:.72}to{opacity:0;transform:translate(72%)}}@media(max-width:1080px){.nav-group{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:760px){.nav-group{grid-template-columns:1fr 1fr;border-radius:16px;overflow:visible}.nav-group:before,.nav-group:after{display:none}.nav-group .nav.active{background:#102033db;box-shadow:inset 0 1px #ffffff3d,0 10px 24px #10203329}.tabs{display:flex}.tabs:before{display:none}.tabs button.active{background:#102033db;box-shadow:inset 0 1px #ffffff3d,0 10px 24px #10203329}}@media(prefers-reduced-motion:reduce){.nav-group:before,.tabs:before,.feature-tile:after,.panel:after,.metric:after,.upload-box:after,.automation-card:after,.picking-result-card:after,.feedback-item:after{transition:none}.nav-group:hover:after,.tabs:hover:after{animation:none}}.kpi-grid{overflow:visible}.kpi-grid .metric.warehouse-metric{overflow:visible;z-index:30}.kpi-grid .warehouse-kpi-select .glass-select-menu{z-index:120}.transfer-summary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:18px;border:1px solid #dbeafe;border-radius:10px;background:#fff;color:#0f172a;font-size:clamp(22px,3vw,34px);font-weight:850;overflow-wrap:anywhere}.transfer-summary span{color:#5f7fae}.transfer-log-card{align-content:start}.transfer-log{width:100%;min-height:260px;max-height:360px}
