:root{--bg:#f5f7f9;--surface:#fff;--surface-soft:#f9fafb;--line:#dde3ea;--line-strong:#c7d0da;--text:#1d2733;--muted:#667386;--faint:#8b96a6;--teal:#0f766e;--teal-soft:#e7f4f1;--green:#16834a;--green-soft:#e8f5ee;--amber:#b56a09;--amber-soft:#fff4df;--rose:#c2414b;--rose-soft:#fdecef;--blue:#315f9c;--blue-soft:#eaf1fb;--shadow:0 16px 40px #1f2c3c14}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.login-shell{background:linear-gradient(180deg, #ffffffbd, #f5f7f9eb), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;padding:28px}.login-brand{grid-template-columns:44px 1fr;align-items:center;gap:12px;margin-bottom:24px;display:grid}.login-brand h1{margin:3px 0 0;font-size:22px;line-height:1.25}.login-form{gap:14px;display:grid}.login-field{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.login-field input,.login-field select{border:1px solid var(--line);width:100%;height:42px;color:var(--text);background:#fff;border-radius:8px;padding:0 12px}.login-field input:focus,.login-field select:focus{border-color:#8bbdb4;outline:3px solid #0f766e1f}.login-error{background:var(--rose-soft);color:var(--rose);border:1px solid #f3b9c0;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.login-button{border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:8px;min-height:42px;font-weight:900}.login-button:hover{background:#0b5f59}.login-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.dashboard-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:22px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0;overflow:hidden}.brand-block{grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.brand-mark{background:var(--teal-soft);width:44px;height:44px;color:var(--teal);border:1px solid #bcd7d2;border-radius:8px;place-items:center;display:grid}.brand-eyebrow,.page-kicker,.section-kicker{color:var(--muted);margin:0;font-size:12px;font-weight:700}.brand-block h1,.topbar h2,.panel h3{margin:0}.brand-block h1{font-size:18px;line-height:1.25}.nav-list{gap:7px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.nav-item,.role-switch button,.segmented button,.icon-button,.utility-button{color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px}.nav-item{min-height:42px;color:var(--muted);text-align:left;align-items:center;gap:10px;width:100%;padding:0 12px;display:flex}.nav-item:hover,.nav-item.active{background:var(--teal-soft);color:var(--teal);border-color:#bdd6d1}.nav-label{flex:1;min-width:0}.nav-badge{color:#b86b00;background:#fff3d8;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:900;line-height:1}.nav-item.upload-nav{color:#b86b00;background:#fffaf0;border-color:#f0d5a1}.nav-item.upload-nav:hover,.nav-item.upload-nav.active{color:#9d5b00;background:#fff2d8;border-color:#e4b35c}.sidebar-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;margin-top:auto;padding:12px}.panel-title{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.role-switch{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin-top:10px;padding:4px;display:grid}.role-switch button{height:32px;color:var(--muted);font-size:13px;font-weight:800}.role-switch button.active{background:var(--text);color:#fff}.account-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:3px;margin-top:10px;padding:10px;display:grid}.account-card strong{color:var(--text);font-size:14px}.account-card span{color:var(--muted);font-size:12px;font-weight:800}.side-note{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.logout-button{border:1px solid var(--line);width:100%;min-height:34px;color:var(--muted);background:#fff;border-radius:8px;margin-top:12px;font-size:12px;font-weight:900}.logout-button:hover{border-color:var(--line-strong);color:var(--text)}.workspace{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.topbar h2{margin-top:4px;font-size:28px;line-height:1.2}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-button{border-color:var(--line);background:#fff;place-items:center;width:38px;height:38px;display:grid}.utility-button{background:var(--teal);color:#fff;border-color:#bdd6d1;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-weight:800;display:inline-flex}.utility-button.muted{border-color:var(--line);background:var(--surface-soft);color:var(--muted)}.utility-button:disabled{cursor:not-allowed;opacity:.52}.filter-band,.range-status,.panel,.metric-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.filter-band{gap:12px;margin-bottom:14px;padding:14px;display:grid}.filter-row{grid-template-columns:minmax(360px,1fr) 168px 150px 150px;align-items:end;gap:10px;display:grid}.filter-row.secondary{grid-template-columns:160px 170px minmax(240px,1fr)}.filter-group{gap:8px;display:grid}.filter-label{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{border-color:var(--line);background:var(--surface-soft);min-height:36px;color:var(--muted);padding:0 12px;font-size:13px;font-weight:800}.segmented button.active{background:var(--teal-soft);color:var(--teal);border-color:#a9cac5}.date-shift-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.date-shift-controls button{border:1px solid var(--line);background:var(--surface-soft);min-width:0;min-height:40px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.date-shift-controls button:hover{background:var(--teal-soft);color:var(--teal);border-color:#a9cac5}.input-wrap,.select-wrap,.multi-select-wrap,.search-box{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex;position:relative}.input-wrap span,.select-wrap span{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.input-wrap input,.select-wrap select,.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-weight:700}.select-wrap select{appearance:none;padding-right:16px}.select-wrap svg:last-child{color:var(--faint);pointer-events:none;position:absolute;right:8px}.multi-select-wrap{padding:0}.multi-select-wrap>summary{cursor:pointer;align-items:center;gap:8px;width:100%;min-width:0;min-height:40px;padding:0 10px;list-style:none;display:flex}.multi-select-wrap>summary::-webkit-details-marker{display:none}.multi-select-label{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.tag-filter-value{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:800;overflow:hidden}.multi-select-arrow{color:var(--faint);flex:none}.multi-select-menu{z-index:20;border:1px solid var(--line);width:max-content;min-width:220px;max-width:280px;box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.multi-select-menu button,.tag-option{min-height:32px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:800;display:flex}.multi-select-menu button{cursor:pointer}.multi-select-menu button.active,.multi-select-menu button:hover,.tag-option:hover{background:var(--teal-soft);color:var(--teal)}.tag-option input{width:14px;height:14px;accent-color:var(--teal)}.search-box{background:#fff}.search-box svg{color:var(--faint);flex:none}.range-status{box-shadow:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.range-status div:first-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.range-status span{color:var(--muted);font-size:13px}.status-chip{border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.status-chip.warning{background:var(--amber-soft);color:var(--amber)}.status-chip.good{background:var(--green-soft);color:var(--green)}.view-stack{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;display:grid}.metric-grid.compact{grid-template-columns:repeat(4,minmax(180px,1fr))}.metric-picker-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.metric-picker-head{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.metric-picker-head span{color:var(--muted);font-size:12px;font-weight:800}.metric-toggle-row{flex-wrap:wrap;gap:8px;display:flex}.metric-toggle-button{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--muted);cursor:pointer;border-radius:8px;padding:0 10px;font-size:12px;font-weight:800}.metric-toggle-button.active{background:var(--teal-soft);color:var(--teal);border-color:#00807647}.metric-toggle-button:hover,.metric-card-close:hover{color:var(--teal);border-color:#0080764d}.metric-card{min-height:136px;box-shadow:none;padding:16px;position:relative}.metric-card-close{width:22px;height:22px;color:var(--muted);cursor:pointer;background:#ffffffd1;border:1px solid #0000;border-radius:999px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.metric-empty-state{background:var(--surface-soft);border-style:dashed;grid-column:1/-1;min-height:92px}.product-summary-panel{padding-bottom:18px}.summary-stat-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;display:grid}.summary-stat{border:1px solid var(--line);background:var(--surface-soft);text-align:left;border-radius:8px;min-width:0;padding:12px}button.summary-stat{appearance:none}.summary-stat span,.summary-stat small{color:var(--muted);font-size:12px;font-weight:800;display:block}.summary-stat strong{overflow-wrap:anywhere;color:var(--text);margin-top:8px;font-size:22px;line-height:1.1;display:block}.summary-stat small{margin-top:7px;font-weight:700}.summary-stat.good{background:var(--green-soft);border-color:#bedfcd}.summary-stat.good strong{color:var(--green)}.summary-stat.warning{background:var(--amber-soft);border-color:#efd19d}.summary-stat.warning strong{color:var(--amber)}.summary-stat.danger{background:var(--rose-soft);border-color:#efb8be}.summary-stat.danger strong{color:var(--rose)}.summary-stat.active,.trend-select-card.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal), 0 10px 22px #0f766e1f}.account-management-panel{padding-bottom:18px}.account-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.account-summary span{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:900}.account-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.account-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:900;display:grid}.account-form input{border:1px solid var(--line);height:38px;color:var(--text);background:#fff;border-radius:8px;padding:0 11px;font-size:14px}.account-primary,.account-secondary{border-radius:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:900}.account-primary{border:1px solid var(--teal);background:var(--teal);color:#fff}.account-secondary{border:1px solid var(--line);color:var(--muted);background:#fff}.account-error,.account-success,.account-empty{grid-column:1/-1;margin:0;font-size:12px;font-weight:900;line-height:1.45}.account-error{color:var(--red)}.account-success{color:var(--green)}.account-empty{color:var(--muted)}.account-reset-head{background:#fff7e8;border:1px solid #f2d7a4;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.account-reset-head p{color:#9a5b00;margin:0;font-size:13px;font-weight:900}.account-reset-list{gap:8px;display:grid}.account-reset-row{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.account-reset-row div{gap:3px;display:grid}.account-reset-row span{color:var(--muted);font-size:12px;font-weight:800}.permission-panel{padding-bottom:18px}.permission-intro{background:var(--teal-soft);color:var(--teal);border:1px solid #c8ddd8;border-radius:8px;gap:6px;margin-bottom:14px;padding:12px 14px;font-size:13px;display:grid}.permission-intro span{color:var(--muted);line-height:1.5}.permission-list{gap:12px;display:grid}.permission-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.permission-card.enabled{border-color:#c8ddd8}.permission-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.permission-card-head div{gap:3px;display:grid}.permission-card-head span{color:var(--muted);font-size:12px;font-weight:700}.permission-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.permission-open,.permission-secondary{border-radius:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900}.permission-open{border:1px solid var(--teal);background:var(--teal);color:#fff}.permission-secondary{border:1px solid var(--line);color:var(--muted);background:#fff}.permission-role-select{border:1px solid var(--line);min-width:96px;height:34px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px;font-size:13px;font-weight:900}.permission-account-body{gap:10px;display:grid}.permission-hint,.permission-status{color:var(--muted);margin:0;font-size:12px;font-weight:800;line-height:1.45}.permission-status{border:1px dashed var(--line);background:var(--surface-soft);border-radius:8px;padding:10px 12px}.permission-owner-toolbar{justify-content:flex-end;display:flex}.permission-owner-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.permission-check{border:1px solid var(--line);background:var(--surface-soft);min-height:34px;color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.permission-check.all{justify-content:center;min-width:76px}.permission-check.upload-permission{color:#9a5b00;background:#fffaf0;border-color:#f1d7ac;justify-content:flex-start}.permission-check input{width:15px;height:15px;accent-color:var(--teal)}.trend-select-card{appearance:none;text-align:left}.metric-head{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.metric-card-select,.metric-value-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.metric-card-select{min-width:0;color:var(--muted);font-size:13px;font-weight:900}.metric-value-button{color:var(--text);margin-top:16px;font-size:28px;font-weight:950;line-height:1.1;display:block}.metric-card strong{margin-top:16px;font-size:28px;line-height:1.1;display:block}.metric-delta,.metric-sub{color:var(--muted);align-items:center;gap:5px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.metric-delta.up{color:var(--green)}.metric-delta.down{color:var(--rose)}.metric-card.green,.metric-card.good{background:linear-gradient(180deg, #fff 0%, var(--green-soft) 100%);border-color:#bedfcd}.metric-card.amber,.metric-card.warning{background:linear-gradient(180deg, #fff 0%, var(--amber-soft) 100%);border-color:#efd19d}.metric-card.danger{background:linear-gradient(180deg, #fff 0%, var(--rose-soft) 100%);border-color:#efb8be}.line-chart-panel{overflow:hidden}.product-summary-panel .line-chart-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.line-chart-current{text-align:right;gap:4px;min-width:120px;display:grid}.line-chart-current span{color:var(--muted);font-size:12px;font-weight:800}.line-chart-current strong{color:var(--text);font-size:20px;line-height:1}.line-chart-wrap{grid-template-columns:74px minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.line-chart-scale{flex-direction:column;justify-content:space-between;min-width:0;padding:24px 0 38px;display:flex}.line-chart-scale span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.line-chart-svg{width:100%;height:260px;display:block}.grid-line{stroke:#e8edf2;stroke-width:1px}.line-chart-area{fill:#0f766e1a}.line-chart-path{fill:none;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.line-chart-point{fill:#fff;stroke:var(--teal);stroke-width:3px}.line-chart-point.solo{fill:var(--teal)}.line-chart-date{fill:var(--muted);font-size:13px;font-weight:800}.line-chart-date.end{text-anchor:end}.line-chart-point-value{fill:var(--text);paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px;text-anchor:middle;font-size:12px;font-weight:900}.line-chart-period-label{fill:var(--muted);text-anchor:middle;font-size:11px;font-weight:900}.line-chart-panel.warning .line-chart-path,.line-chart-panel.warning .line-chart-point{stroke:var(--amber)}.line-chart-panel.warning .line-chart-area{fill:#b56a091f}.line-chart-panel.warning .line-chart-point.solo{fill:var(--amber)}.line-chart-panel.danger .line-chart-path,.line-chart-panel.danger .line-chart-point{stroke:var(--rose)}.line-chart-panel.danger .line-chart-area{fill:#c2414b1f}.line-chart-panel.danger .line-chart-point.solo{fill:var(--rose)}.trend-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.trend-modal{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(1080px,100vw - 48px);max-height:calc(100vh - 48px);padding:18px;position:relative;overflow:auto;box-shadow:0 24px 70px #0f172a33}.trend-modal-close{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:inline-grid;position:absolute;top:14px;right:14px}.trend-modal-close:hover{border-color:var(--rose);color:var(--rose)}.trend-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;padding-right:42px;display:flex}.trend-modal-head h3{margin-top:3px}.trend-modal-meta{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:5px;font-size:12px;font-weight:800;display:flex}.trend-mode-tabs{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex:none;gap:5px;padding:4px;display:inline-flex}.trend-mode-tabs button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px;font-weight:900}.trend-mode-tabs button:hover,.trend-mode-tabs button.active{background:var(--teal);color:#fff}.trend-modal-chart-grid{gap:14px;display:grid}.trend-modal .line-chart-panel{border:1px solid var(--line);border-radius:10px;padding:14px}.content-grid{gap:16px;display:grid}.content-grid.two-one{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.content-grid.split{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{min-width:0;box-shadow:none;padding:16px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header svg{color:var(--muted)}.product-management-head{align-items:flex-start}.product-management-head>div:first-child,.product-management-head>svg{flex:none}.product-metric-filter{flex-wrap:wrap;flex:auto;justify-content:flex-start;gap:8px;min-width:0;display:flex}.product-filter-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;align-items:center;gap:5px;min-width:0;min-height:34px;padding:0 8px;display:inline-flex}.product-filter-group>span{color:var(--muted);white-space:nowrap;flex:none;font-size:12px;font-weight:900}.product-filter-group label{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:2px;height:26px;padding:0 6px;display:inline-flex}.product-filter-group input{width:44px;color:var(--text);background:0 0;border:0;outline:0;font-size:12px;font-weight:850}.product-filter-group input::placeholder{color:var(--faint)}.product-filter-group em,.product-filter-group i{color:var(--faint);font-size:11px;font-style:normal;font-weight:900}.product-filter-clear{border:1px solid var(--line);height:34px;color:var(--muted);background:#fff;border-radius:8px;padding:0 10px;font-size:12px;font-weight:900}.product-filter-clear:hover{background:var(--teal-soft);color:var(--teal);border-color:#a9cac5}.panel h3{margin-top:4px;font-size:18px}.upload-hero{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:16px;display:grid}.upload-hero p{color:var(--muted);margin:8px 0 0;line-height:1.6}.upload-status-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:6px;padding:14px;display:grid}.upload-status-card.good{background:var(--green-soft);color:var(--green);border-color:#b9dbc9}.upload-status-card.warning{background:var(--amber-soft);color:var(--amber);border-color:#f1d7ac}.upload-status-card span{color:var(--muted);font-size:13px;font-weight:800}.missing-date-alert{border-top:1px solid #f1d7ac;gap:8px;margin-top:4px;padding-top:10px;display:grid}.missing-date-head{color:var(--amber);align-items:center;gap:6px;font-size:13px;display:inline-flex}.missing-date-tags{flex-wrap:wrap;gap:6px;display:flex}.missing-date-tag{min-height:26px;color:var(--amber);background:#fffaf0;border:1px solid #efcf95;border-radius:8px;align-items:center;gap:5px;padding:0 4px 0 8px;font-size:12px;font-weight:900;display:inline-flex}.missing-date-tag small{color:#9a5b00;font-size:11px;font-weight:800}.missing-date-tag button{color:#8a4d00;background:#f1d7ac;border:0;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;display:grid}.missing-date-tag button:hover{color:#5c3300;background:#e5b969}.missing-date-tags em{background:var(--surface);min-height:26px;color:var(--amber);border-radius:8px;align-items:center;padding:0 8px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.dismissed-missing-records{border-top:1px solid #f1d7ac;margin-top:4px;padding-top:8px}.dismissed-missing-records summary{color:var(--amber);cursor:pointer;font-size:12px;font-weight:900}.dismissed-missing-list{gap:6px;margin-top:8px;display:grid}.dismissed-missing-row{background:#fffaf0;border:1px solid #efcf95;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:grid}.dismissed-missing-row strong,.dismissed-missing-row small{display:block}.dismissed-missing-row small{color:var(--muted)}.dismissed-missing-row button{background:var(--surface);color:var(--amber);border:1px solid #efcf95;border-radius:8px;padding:4px 7px;font-size:12px;font-weight:900}.upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.upload-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid}.upload-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.upload-card-header svg{color:var(--teal)}.upload-card h3{margin:4px 0 0;font-size:18px}.upload-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.upload-drop{background:var(--teal-soft);color:var(--teal);cursor:pointer;text-align:center;border:1px dashed #9fc9c1;border-radius:8px;gap:6px;padding:16px;display:grid}.upload-drop span,.upload-file small,.upload-history-row small,.empty-state{color:var(--muted);font-size:12px}.upload-input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-file-list{gap:6px;min-height:36px;display:grid}.upload-file{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.upload-file span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.upload-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.upload-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-panel-note{color:var(--muted);margin:-4px 0 14px;font-size:13px;line-height:1.6}.import-result{background:var(--green-soft);color:var(--green);border:1px solid #b9dbc9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.import-result span{border-left:1px solid #a9d2ba;padding-left:8px}.upload-note-list{gap:10px;display:grid}.upload-history{gap:8px;display:grid}.upload-history-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) .7fr .7fr .8fr;align-items:center;gap:12px;min-height:52px;font-size:13px;display:grid}.upload-history-row:last-child{border-bottom:0}.upload-history-row strong,.upload-history-row small{display:block}.upload-history-row em{background:var(--green-soft);color:var(--green);border-radius:8px;justify-self:start;padding:5px 8px;font-style:normal;font-weight:900}.owner-change-list{gap:8px;display:grid}.owner-change-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,1fr) minmax(150px,.8fr) minmax(90px,.45fr) minmax(160px,1fr);align-items:center;gap:12px;min-height:48px;font-size:13px;display:grid}.owner-change-row:last-child{border-bottom:0}.owner-change-row strong,.owner-change-row small{display:block}.owner-change-row small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-change-row span{background:var(--teal-soft);color:var(--teal);border-radius:8px;justify-self:start;padding:5px 8px;font-weight:900}.chart-panel{min-height:340px}.trend-chart{grid-template-columns:repeat(24,minmax(18px,1fr));align-items:end;gap:7px;height:250px;display:grid}.trend-column,.refund-column{grid-template-rows:1fr auto;align-items:end;gap:7px;min-width:0;height:100%;display:grid}.bar-stack{background:#eef2f6;border-radius:7px 7px 3px 3px;justify-content:center;align-items:end;gap:2px;height:100%;padding:3px;display:flex;position:relative}.bar-stack i,.refund-column i{border-radius:6px 6px 2px 2px;width:30%;min-height:3px;display:block}.bar-stack .sales{background:var(--teal)}.bar-stack .ads{background:var(--amber)}.bar-stack .refund{background:var(--rose)}.trend-column span,.refund-column span{color:var(--faint);text-align:center;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.refund-chart{grid-template-columns:repeat(24,minmax(18px,1fr));align-items:end;gap:7px;height:250px;display:grid}.refund-column i{background:var(--green);width:100%}.refund-column i.warning{background:var(--amber)}.refund-column i.danger{background:var(--rose)}.alert-list,.rank-list,.channel-list,.ratio-list{gap:10px;display:grid}.risk-line{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:8px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.risk-line>span{background:var(--green);border-radius:8px;width:8px;height:36px}.risk-line.warning>span{background:var(--amber)}.risk-line.danger>span{background:var(--rose)}.risk-line strong,.rank-item strong,.channel-item strong,.ratio-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.risk-line small,.rank-item small,.channel-item small,.ratio-row small,.product-name small,.compact-table small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.compact-table{gap:2px;display:grid}.table-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr .75fr .75fr;align-items:center;gap:12px;min-height:50px;font-size:13px;display:grid}.table-row:last-child{border-bottom:0}.table-head{min-height:34px;color:var(--muted);font-size:12px;font-weight:900}.sortable-head{width:100%;min-height:30px;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:4px;padding:0;line-height:1;display:inline-flex}.sortable-head:hover,.sortable-head.active{color:var(--teal)}.sortable-head svg{color:var(--faint);flex:none}.sortable-head.active svg{color:currentColor}.sort-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-item{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;display:grid}.rank-item:last-child{border-bottom:0}.rank-number{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.product-table{width:100%;overflow:visible}.product-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(118px,1.02fr) 64px minmax(94px,.78fr) minmax(76px,.62fr) minmax(76px,.62fr) minmax(76px,.62fr) minmax(68px,.56fr) minmax(68px,.56fr) minmax(68px,.56fr) minmax(68px,.56fr) 60px;align-items:center;gap:7px;min-width:0;min-height:58px;font-size:13px;display:grid}.product-table.compact .product-row{grid-template-columns:minmax(118px,1fr) 64px minmax(78px,.75fr) minmax(78px,.75fr) minmax(76px,.72fr) minmax(68px,.62fr) minmax(68px,.62fr) minmax(68px,.62fr) minmax(68px,.62fr) 60px;min-width:0}.product-table.no-profit .product-row{grid-template-columns:minmax(118px,1.08fr) 70px minmax(104px,.9fr) minmax(82px,.72fr) minmax(82px,.72fr) minmax(76px,.66fr) minmax(76px,.66fr) minmax(76px,.66fr) 60px}.product-table.compact.no-profit .product-row{grid-template-columns:minmax(118px,1.08fr) 70px minmax(88px,.82fr) minmax(88px,.82fr) minmax(78px,.72fr) minmax(78px,.72fr) minmax(78px,.72fr) 60px}.product-row>span{min-width:0}.product-row>span:not(.product-name):not(.tag-wrap):not(.table-tag-header){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-head{z-index:10;position:relative}.table-tag-header{z-index:12;position:relative;overflow:visible}.table-tag-filter{min-height:30px;box-shadow:none;background:0 0;border:0}.table-tag-filter>summary{gap:4px;min-height:30px;padding:0}.table-tag-filter .multi-select-label{color:var(--muted);font-size:12px;font-weight:900}.table-tag-filter .multi-select-label b{background:var(--teal-soft);min-width:18px;height:18px;color:var(--teal);border-radius:999px;place-items:center;font-size:11px;display:inline-grid}.table-tag-filter .tag-filter-value{color:var(--teal);font-size:12px}.table-tag-filter .multi-select-menu{min-width:190px;top:calc(100% + 4px);left:-6px}.product-row:last-child{border-bottom:0}.product-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;font-size:12px;font-weight:800;display:flex}.product-pagination div{gap:8px;display:flex}.product-pagination button{border:1px solid var(--line);min-width:72px;min-height:32px;color:var(--text);background:#fff;border-radius:8px;font-size:12px;font-weight:900}.product-pagination button:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.product-pagination button:disabled{cursor:not-allowed;opacity:.45}.product-name strong{display:block}.tag-wrap{flex-wrap:wrap;gap:4px;display:flex}.tag-wrap i{min-height:24px;color:var(--muted);background:#eef2f6;border-radius:8px;align-items:center;padding:0 7px;font-size:12px;font-style:normal;font-weight:800;display:inline-flex}.good{color:var(--green)}.warning{color:var(--amber)}.danger{color:var(--rose)}.state{border-radius:8px;align-items:center;min-height:26px;padding:0 8px;font-size:12px;display:inline-flex}.state-在售{background:var(--green-soft);color:var(--green)}.state-观察{background:var(--amber-soft);color:var(--amber)}.state-暂停投放{color:var(--muted);background:#eef2f6}.product-trend-button{border:1px solid var(--line);width:30px;height:30px;color:var(--teal);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:inline-grid}.product-trend-button:hover{border-color:var(--teal);background:var(--teal-soft)}.channel-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:8px 0 12px;display:grid}.channel-item:last-child{border-bottom:0}.progress-line{background:#edf1f5;border-radius:8px;grid-column:1/-1;height:8px;overflow:hidden}.progress-line i{border-radius:inherit;background:var(--teal);height:100%;display:block}.progress-line.thick{height:12px;margin-top:8px}.progress-line.refund i{background:var(--rose)}.ratio-comparison{gap:22px;display:grid}.ratio-comparison span,.big-number span{color:var(--muted);font-size:13px;font-weight:800}.ratio-comparison strong{margin-top:8px;font-size:34px;display:block}.big-number{align-content:center;gap:8px;min-height:188px;display:grid}.big-number strong{font-size:46px;line-height:1}.ratio-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(160px,2fr) 70px;align-items:center;gap:12px;min-height:54px;display:grid}.ratio-row:last-child{border-bottom:0}.ratio-bar{background:#edf1f5;border-radius:8px;height:12px;overflow:hidden}.ratio-bar i{border-radius:inherit;background:var(--green);height:100%;display:block}.ratio-bar i.warning{background:var(--amber)}.ratio-bar i.danger{background:var(--rose)}.empty-state{min-height:180px;color:var(--muted);place-items:center;font-weight:800;display:grid}@media (width<=1180px){.dashboard-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{gap:18px;padding:18px 14px}.brand-block{grid-template-columns:40px 1fr}.brand-mark{width:40px;height:40px}.nav-item{justify-content:flex-start;padding:0 10px}.metric-grid,.metric-grid.compact,.summary-stat-grid,.upload-grid,.upload-summary-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.content-grid.two-one,.content-grid.split,.upload-hero{grid-template-columns:1fr}.filter-row,.filter-row.secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-group.wide,.search-box{grid-column:1/-1}.account-form{grid-template-columns:1fr 1fr}}@media (width<=620px){.dashboard-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;height:auto;position:static;overflow-x:auto}.brand-mark{width:38px;height:38px}.nav-list{min-width:max-content;display:flex}.nav-item{min-width:42px}.workspace{padding:16px}.topbar,.range-status{flex-direction:column;align-items:flex-start}.topbar h2{font-size:24px}.topbar-actions{width:100%}.utility-button{flex:1;justify-content:center}.filter-row,.filter-row.secondary,.metric-grid,.metric-grid.compact,.summary-stat-grid,.upload-grid,.upload-summary-grid,.upload-history-row,.owner-change-row{grid-template-columns:1fr}.upload-actions{display:grid}.account-form,.account-reset-head,.account-reset-row,.permission-card-head,.permission-actions{flex-direction:column;align-items:stretch}.account-form{grid-template-columns:1fr}.metric-card{min-height:122px}.trend-chart,.refund-chart{grid-template-columns:repeat(12,minmax(18px,1fr));overflow:hidden}.trend-column:nth-child(-n+12),.refund-column:nth-child(-n+12){display:none}.ratio-row{grid-template-columns:1fr;gap:8px;padding:10px 0}.product-table{overflow-x:auto}.product-row{min-width:900px}.product-table.compact .product-row{min-width:790px}.product-table.no-profit .product-row{min-width:760px}.product-table.compact.no-profit .product-row{min-width:660px}}.dashboard-shell{font-size:12px}.dashboard-shell .workspace{padding:18px 20px}.dashboard-shell .sidebar{gap:18px;padding:18px 16px}.dashboard-shell .brand-block{grid-template-columns:40px 1fr}.dashboard-shell .brand-mark{width:40px;height:40px}.dashboard-shell .brand-block h1{font-size:16px}.dashboard-shell .brand-eyebrow,.dashboard-shell .page-kicker,.dashboard-shell .section-kicker{font-size:11px}.dashboard-shell .topbar{margin-bottom:12px}.dashboard-shell .topbar h2{font-size:22px}.dashboard-shell .topbar-actions{gap:7px}.dashboard-shell .icon-button{width:34px;height:34px}.dashboard-shell .utility-button{gap:6px;min-height:34px;padding:0 12px;font-size:12px}.dashboard-shell .nav-item{gap:8px;min-height:38px;padding:0 10px;font-size:13px}.dashboard-shell .sidebar-panel,.dashboard-shell .filter-band{padding:12px}.dashboard-shell .panel-title,.dashboard-shell .filter-label,.dashboard-shell .metric-head,.dashboard-shell .metric-card-select,.dashboard-shell .account-form label,.dashboard-shell .permission-intro,.dashboard-shell .upload-card p,.dashboard-shell .upload-status-card span,.dashboard-shell .ratio-comparison span,.dashboard-shell .big-number span{font-size:12px}.dashboard-shell .side-note,.dashboard-shell .logout-button,.dashboard-shell .input-wrap span,.dashboard-shell .select-wrap span,.dashboard-shell .multi-select-label,.dashboard-shell .range-status span,.dashboard-shell .status-chip,.dashboard-shell .summary-stat span,.dashboard-shell .summary-stat small,.dashboard-shell .line-chart-current span,.dashboard-shell .line-chart-scale span,.dashboard-shell .metric-delta,.dashboard-shell .metric-sub,.dashboard-shell .permission-card-head span,.dashboard-shell .permission-hint,.dashboard-shell .permission-status,.dashboard-shell .product-name small,.dashboard-shell .compact-table small,.dashboard-shell .tag-wrap i,.dashboard-shell .state{font-size:11px}.dashboard-shell .segmented button{min-height:32px;padding:0 10px;font-size:12px}.dashboard-shell .input-wrap,.dashboard-shell .select-wrap,.dashboard-shell .multi-select-wrap,.dashboard-shell .search-box,.dashboard-shell .multi-select-wrap>summary{min-height:36px;padding:0 9px}.dashboard-shell .range-status{margin-bottom:14px;padding:8px 12px}.dashboard-shell .status-chip{min-height:26px;padding:0 8px}.dashboard-shell .view-stack,.dashboard-shell .content-grid{gap:12px}.dashboard-shell .panel{padding:14px}.dashboard-shell .panel-header{margin-bottom:12px}.dashboard-shell .panel h3,.dashboard-shell .upload-card h3{font-size:16px}.dashboard-shell .metric-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.dashboard-shell .metric-grid.compact{grid-template-columns:repeat(4,minmax(150px,1fr))}.dashboard-shell .metric-picker-panel{padding:10px 12px}.dashboard-shell .metric-toggle-row{gap:6px}.dashboard-shell .metric-toggle-button{min-height:28px;padding:0 9px;font-size:11px}.dashboard-shell .metric-card{min-height:110px;padding:12px}.dashboard-shell .metric-card-close{width:20px;height:20px;top:7px;right:7px}.dashboard-shell .metric-card strong,.dashboard-shell .metric-value-button{margin-top:10px;font-size:22px}.dashboard-shell .line-chart-point-value,.dashboard-shell .line-chart-period-label{font-size:10px}.dashboard-shell .metric-delta,.dashboard-shell .metric-sub{margin-top:8px}.dashboard-shell .summary-stat-grid{grid-template-columns:repeat(5,minmax(128px,1fr));gap:8px}.dashboard-shell .summary-stat{padding:10px}.dashboard-shell .summary-stat strong{margin-top:6px;font-size:18px}.dashboard-shell .summary-stat small{margin-top:5px}.dashboard-shell .line-chart-current strong{font-size:17px}.dashboard-shell .line-chart-svg{height:230px}.dashboard-shell .line-chart-date{font-size:11px}.dashboard-shell .account-card{padding:9px}.dashboard-shell .account-card strong{font-size:13px}.dashboard-shell .account-form input,.dashboard-shell .account-primary,.dashboard-shell .account-secondary,.dashboard-shell .permission-open,.dashboard-shell .permission-secondary,.dashboard-shell .permission-role-select,.dashboard-shell .permission-check{font-size:12px}.dashboard-shell .account-form input,.dashboard-shell .account-primary,.dashboard-shell .account-secondary{min-height:34px}.dashboard-shell .permission-card{padding:12px}.dashboard-shell .permission-open,.dashboard-shell .permission-secondary,.dashboard-shell .permission-role-select,.dashboard-shell .permission-check{min-height:30px}.dashboard-shell .compact-table .table-row,.dashboard-shell .table-row{gap:10px;min-height:44px;font-size:12px}.dashboard-shell .table-head{min-height:30px;font-size:11px}.dashboard-shell .product-row{gap:6px;min-height:48px;font-size:12px}.dashboard-shell .tag-wrap i{min-height:20px;padding:0 6px}.dashboard-shell .state{min-height:22px;padding:0 7px}.dashboard-shell .rank-item{min-height:46px}.dashboard-shell .rank-number{width:24px;height:24px;font-size:11px}.dashboard-shell .big-number{min-height:150px}.dashboard-shell .big-number strong{font-size:34px}.dashboard-shell .ratio-comparison strong{font-size:26px}@media (width<=1180px){.dashboard-shell .metric-grid,.dashboard-shell .metric-grid.compact,.dashboard-shell .summary-stat-grid,.dashboard-shell .upload-grid,.dashboard-shell .upload-summary-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=620px){.dashboard-shell .workspace{padding:14px}.dashboard-shell .topbar h2{font-size:20px}.dashboard-shell .metric-grid,.dashboard-shell .metric-grid.compact,.dashboard-shell .summary-stat-grid,.dashboard-shell .upload-grid,.dashboard-shell .upload-summary-grid{grid-template-columns:1fr}.dashboard-shell .metric-card{min-height:104px}}
