:root{
  --dashboard-blue:#086fc6;
  --dashboard-cyan:#25b7df;
  --dashboard-ink:#12314d;
  --dashboard-muted:#6b8297;
  --dashboard-line:#d4e5f1;
  --dashboard-card:#fff;
  --dashboard-canvas:#edf6fc;
  --dashboard-shadow:0 14px 36px rgba(16,100,161,.12);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body.dashboard-page{width:100%;min-width:0;max-width:100%;overflow-x:hidden}
body.dashboard-page{
  margin:0;
  min-width:0;
  width:100%;
  color:var(--dashboard-ink);
  background:linear-gradient(180deg,#f8fcff 0,#edf6fc 38%,#eaf4fb 100%);
  font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;
}
body.dashboard-page.dashboard-inventory{padding:0}
.dashboard-page .dashboard-header-main{display:flex;align-items:center;gap:14px;min-width:0}
.dashboard-page .dashboard-mark,
.dashboard-page .brand-mark,
.dashboard-page .title-block .mark{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(145deg,#e9faff,#8edcff);
  color:#076ab8;
  font-size:1.12rem;
  font-weight:900;
  box-shadow:inset 0 1px rgba(255,255,255,.7),0 8px 18px rgba(1,78,137,.14);
}
.dashboard-page.dashboard-import .topbar,
.dashboard-page.dashboard-policy .topbar,
.dashboard-page.dashboard-bundle .topbar,
.dashboard-page.dashboard-product .topbar,
.dashboard-page.dashboard-progress .hero,
.dashboard-page.dashboard-retail .hero,
.dashboard-page.dashboard-reward .header,
.dashboard-page.dashboard-store .header,
.dashboard-page.dashboard-inventory .header{
  min-height:104px;
  width:calc(100% - 32px);
  margin:16px 16px 0;
  padding:20px 24px;
  border:0;
  border-radius:18px;
  background:linear-gradient(115deg,#0757a7 0%,#0c83d5 58%,#25b7df 100%);
  color:#fff;
  box-shadow:var(--dashboard-shadow);
}
.dashboard-page.dashboard-import .topbar,
.dashboard-page.dashboard-policy .topbar,
.dashboard-page.dashboard-bundle .topbar,
.dashboard-page.dashboard-product .topbar,
.dashboard-page.dashboard-retail .hero,
.dashboard-page.dashboard-reward .header,
.dashboard-page.dashboard-inventory .header{display:flex;align-items:center;justify-content:space-between;gap:22px}
.dashboard-page.dashboard-progress .hero,
.dashboard-page.dashboard-store .header{display:flex;align-items:center}
.dashboard-page .dashboard-header-main h1,
.dashboard-page .dashboard-header-main h2,
.dashboard-page .brand-block h1,
.dashboard-page .title-block h1,
.dashboard-page.dashboard-progress .hero h1{
  margin:0;
  color:#fff;
  font-size:1.48rem;
  line-height:1.25;
  letter-spacing:.01em;
}
.dashboard-page .dashboard-header-main p,
.dashboard-page .dashboard-header-subtitle,
.dashboard-page .brand-block p,
.dashboard-page .title-block p,
.dashboard-page.dashboard-store .subtitle,
.dashboard-page.dashboard-reward .subtitle,
.dashboard-page.dashboard-retail .hero-copy p{
  margin:5px 0 0;
  color:#dff4ff;
  font-size:.82rem;
  line-height:1.55;
}
.dashboard-page.dashboard-retail .hero-copy{align-items:center}
.dashboard-page.dashboard-retail .hero-copy>div{min-width:0}
.dashboard-page.dashboard-retail .hero>.source-badges{margin-left:auto}
.dashboard-page.dashboard-retail .hero .eyebrow{display:none}
.dashboard-page.dashboard-reward .container,
.dashboard-page.dashboard-inventory .container{width:100%;max-width:none;margin:0;padding:0 16px 32px}
.dashboard-page.dashboard-reward .header,
.dashboard-page.dashboard-inventory .header{margin-left:0;margin-right:0;width:100%}
.dashboard-page.dashboard-reward .header-meta{margin-top:10px}
.dashboard-page.dashboard-reward .header-meta .tag:not(:last-child){display:none}
.dashboard-page.dashboard-reward .header-meta .tag{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#effaff}
.dashboard-page.dashboard-reward .source-banner,
.dashboard-page.dashboard-inventory .filters,
.dashboard-page.dashboard-store .tabs,
.dashboard-page.dashboard-retail .toolbar,
.dashboard-page.dashboard-product .control-panel,
.dashboard-page.dashboard-progress .panel,
.dashboard-page.dashboard-import .import-hero{
  border:1px solid var(--dashboard-line);
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 30px rgba(27,92,140,.07);
}
.dashboard-page.dashboard-store .tabs{margin-top:12px;border-radius:14px}
.dashboard-page.dashboard-progress .page{padding:0 16px 28px}
.dashboard-page.dashboard-progress .hero{width:100%;margin-left:0;margin-right:0;margin-bottom:14px}
.dashboard-page.dashboard-retail .main{padding:0 16px 30px}
.dashboard-page.dashboard-retail .hero{width:100%;margin-left:0;margin-right:0;margin-bottom:14px}
.dashboard-page.dashboard-product main{width:calc(100% - 32px);margin:14px auto 36px}
.dashboard-page.dashboard-product .topbar{height:auto}
.dashboard-page.dashboard-policy .shell,
.dashboard-page.dashboard-bundle .shell{width:min(1600px,calc(100% - 32px));margin-top:16px}
.dashboard-page.dashboard-import .import-shell{width:calc(100% - 32px);margin-top:16px}
.dashboard-page.dashboard-store .container{padding-top:14px}
.dashboard-page.dashboard-inventory .stats{margin-left:auto}
.dashboard-page:not(.dashboard-import) .dashboard-header-main p,
.dashboard-page:not(.dashboard-import) .dashboard-header-subtitle,
.dashboard-page:not(.dashboard-import) .brand-block p,
.dashboard-page:not(.dashboard-import) .title-block p,
.dashboard-page:not(.dashboard-import) .subtitle,
.dashboard-page:not(.dashboard-import) .source-status,
.dashboard-page:not(.dashboard-import) .source-badges,
.dashboard-page:not(.dashboard-import) .header-meta,
.dashboard-page:not(.dashboard-import) .period-pill,
.dashboard-page:not(.dashboard-import) .xiaomei-mascot,
.dashboard-page:not(.dashboard-import) .prototype-badge,
.dashboard-page:not(.dashboard-import) .stats{display:none!important}
.dashboard-page:not(.dashboard-import) .topbar,
.dashboard-page:not(.dashboard-import) .hero,
.dashboard-page:not(.dashboard-import) .header{justify-content:flex-start}
.dashboard-page.dashboard-policy .shell,
.dashboard-page.dashboard-bundle .shell{width:calc(100% - 32px);max-width:none}
.dashboard-page.dashboard-inventory .container{
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.dashboard-page.dashboard-inventory .filters{margin-top:16px;border-radius:16px}
@media(max-width:760px){
  .dashboard-page.dashboard-import .topbar,
  .dashboard-page.dashboard-policy .topbar,
  .dashboard-page.dashboard-bundle .topbar,
  .dashboard-page.dashboard-product .topbar,
  .dashboard-page.dashboard-progress .hero,
  .dashboard-page.dashboard-retail .hero,
  .dashboard-page.dashboard-reward .header,
  .dashboard-page.dashboard-store .header,
  .dashboard-page.dashboard-inventory .header{
    min-height:82px;
    width:calc(100% - 20px);
    margin:10px 10px 0;
    padding:15px;
    border-radius:15px;
  }
  .dashboard-page.dashboard-reward .container,
  .dashboard-page.dashboard-inventory .container{padding:0 10px 22px}
  .dashboard-page.dashboard-reward .header,
  .dashboard-page.dashboard-inventory .header,
  .dashboard-page.dashboard-progress .hero,
  .dashboard-page.dashboard-retail .hero{width:100%;margin-left:0;margin-right:0}
  .dashboard-page .dashboard-mark,
  .dashboard-page .brand-mark,
  .dashboard-page .title-block .mark{width:42px;height:42px;border-radius:13px}
  .dashboard-page .dashboard-header-main h1,
  .dashboard-page .dashboard-header-main h2,
  .dashboard-page .brand-block h1,
  .dashboard-page .title-block h1,
  .dashboard-page.dashboard-progress .hero h1{font-size:1.12rem}
  .dashboard-page.dashboard-retail .hero>.source-badges,
  .dashboard-page.dashboard-inventory .stats,
  .dashboard-page .period-pill,
  .dashboard-page .xiaomei-mascot,
  .dashboard-page .prototype-badge{display:none}
  .dashboard-page.dashboard-reward .header-meta{display:none}
  .dashboard-page.dashboard-progress .page,
  .dashboard-page.dashboard-retail .main{padding-left:10px;padding-right:10px}
  .dashboard-page.dashboard-product main,
  .dashboard-page.dashboard-import .import-shell,
  .dashboard-page.dashboard-policy .shell,
  .dashboard-page.dashboard-bundle .shell{width:calc(100% - 20px)}
}

/* 2026-09 responsive baseline: all nine dashboard pages share these rules. */
.dashboard-page .dashboard-table-expanded{height:auto!important;max-height:none!important;min-height:0!important;overflow-y:visible!important}
.dashboard-page :where(.container,.shell,.import-shell,.page,.main,main,.panel,.card,.workspace-grid,.results-panel,.table-card,.analysis-table-card){min-width:0;max-width:100%}
.dashboard-page :where(img,video,canvas){max-width:100%}
.dashboard-page :where(button,input,select,textarea){max-width:100%}
.dashboard-page :where(.table-wrap,.table-wrapper,.table-container,.table-scroll,.data-table-wrap,.metric-modal-scroll,.detail-table-wrap,.matrix-wrap,.sdm-table-scroll,.sdm-inner-scroll,.new-product-detail-body){
  max-width:100%;
  overflow:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
}
.dashboard-page :where(dialog,.dialog,.metric-modal-card,.modal-content){max-height:min(92vh,92dvh)}
.dashboard-page.dashboard-progress .page{min-height:100vh;min-height:100dvh}
.dashboard-page.dashboard-progress .table-scroll{max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px)}
.dashboard-page.dashboard-store .table-wrapper,
.dashboard-page.dashboard-store .sdm-table-scroll{max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px)}
.dashboard-page.dashboard-product [data-analysis-panel="detail"] .table-wrap{height:calc(100vh - 330px);height:calc(100dvh - 330px)}
.dashboard-page.dashboard-product [data-analysis-panel="channel"] .matrix-wrap,
.dashboard-page.dashboard-product [data-analysis-panel="region"] .matrix-wrap{height:calc(100vh - 285px);height:calc(100dvh - 285px)}

/* Wide data sets stay readable and scroll inside their own container. */
.dashboard-page.dashboard-store #overviewTable{min-width:1700px}
.dashboard-page.dashboard-store #deviceTable,
.dashboard-page.dashboard-store #sceneTable{min-width:1250px}
.dashboard-page.dashboard-store .sdm-merged-table{min-width:1200px}
.dashboard-page.dashboard-store .sdm-inner-table,
.dashboard-page.dashboard-store .new-product-detail-table{min-width:720px}
.dashboard-page.dashboard-inventory #dataTable{min-width:1200px}

@media(max-width:1100px){
  .dashboard-page.dashboard-import .import-shell,
  .dashboard-page.dashboard-policy .shell,
  .dashboard-page.dashboard-bundle .shell,
  .dashboard-page.dashboard-product main{max-width:none}
  .dashboard-page.dashboard-inventory .chart-section{gap:18px;padding:18px}
}

@media(max-width:900px){
  .dashboard-page.dashboard-inventory .chart-section{display:flex;flex-direction:column}
  .dashboard-page.dashboard-inventory .chart-left,
  .dashboard-page.dashboard-inventory .chart-right{width:100%;max-width:100%;flex:1 1 auto}
  .dashboard-page.dashboard-inventory .chart-right{max-height:none;padding-left:0;border-left:0;border-top:1px solid #e1e4e8;padding-top:18px}
  .dashboard-page.dashboard-inventory .chart-header{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .dashboard-page.dashboard-inventory .chart-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
  .dashboard-page.dashboard-inventory .chart-tab{flex:0 0 auto}
  .dashboard-page.dashboard-inventory .chart-metric-toggle{margin-left:0;padding-left:0;border-left:0;flex-wrap:wrap}
  .dashboard-page.dashboard-store .sdm-detail-wrap{position:static!important;left:auto!important;width:100%!important;max-width:100%!important}
  .dashboard-page.dashboard-store .sdm-inner-scroll{width:100%!important;max-width:100%!important}
  .dashboard-page.dashboard-store .sdm-table-scroll,
  .dashboard-page.dashboard-store .table-wrapper{max-height:none}
}

@media(max-width:760px){
  body.dashboard-page{font-size:14px}
  .dashboard-page :where(.panel,.card,.chart-section,.table-card,.analysis-table-card){max-width:100%}
  .dashboard-page :where(input,select,textarea){font-size:16px}
  .dashboard-page :where(.primary-button,.secondary-button,.ghost-button,.primary-btn){min-height:42px}

  .dashboard-page.dashboard-import .source-head{align-items:flex-start;flex-wrap:wrap}
  .dashboard-page.dashboard-import .source-head>div{min-width:0;flex:1 1 180px}
  .dashboard-page.dashboard-import .source-state{margin-left:auto}
  .dashboard-page.dashboard-import .source-actions,
  .dashboard-page.dashboard-import .backup-buttons{align-items:stretch}
  .dashboard-page.dashboard-import .source-actions>*,
  .dashboard-page.dashboard-import .backup-buttons>*{flex:1 1 180px}
  .dashboard-page.dashboard-import .process-item{grid-template-columns:auto minmax(0,1fr)}
  .dashboard-page.dashboard-import .process-item>em{grid-column:2;justify-self:start}

  .dashboard-page.dashboard-retail .toolbar,
  .dashboard-page.dashboard-retail .toolbar-group{width:100%;align-items:stretch}
  .dashboard-page.dashboard-retail .toolbar-group{flex-direction:column}
  .dashboard-page.dashboard-retail .toolbar-group>*{width:100%;min-width:0}
  .dashboard-page.dashboard-retail .control,
  .dashboard-page.dashboard-retail .control select{width:100%;min-width:0}
  .dashboard-page.dashboard-retail .period-tabs{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
  .dashboard-page.dashboard-retail .period-tab{flex:0 0 auto}
  .dashboard-page.dashboard-retail .legend{white-space:normal;flex-wrap:wrap}
  .dashboard-page.dashboard-retail .goal-grid{grid-template-columns:1fr}
  .dashboard-page.dashboard-retail .task-table{min-width:1080px;font-size:11px}
  .dashboard-page.dashboard-retail .task-table col:first-child{width:118px!important}
  .dashboard-page.dashboard-retail .task-table col[span]{width:80px!important}
  .dashboard-page.dashboard-retail .task-table th,
  .dashboard-page.dashboard-retail .task-table td{padding:8px 7px}
  .dashboard-page.dashboard-retail .task-table :is(th,td):first-child{box-shadow:5px 0 10px rgba(16,44,77,.08)}

  .dashboard-page.dashboard-reward .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .dashboard-page.dashboard-reward .overview-item{min-width:0;padding:16px}
  .dashboard-page.dashboard-reward .overview-item .value{font-size:clamp(1.45rem,8vw,2rem)}
  .dashboard-page.dashboard-reward .info-row{align-items:flex-start;flex-wrap:wrap}

  .dashboard-page.dashboard-store .new-product-detail-body{max-width:100%}
  .dashboard-page.dashboard-store .sdm-column-filter-popover,
  .dashboard-page.dashboard-store .filter-dropdown{max-width:calc(100vw - 20px)}

  .dashboard-page.dashboard-policy .filterbar,
  .dashboard-page.dashboard-bundle .filterbar{align-items:stretch}
  .dashboard-page.dashboard-policy .actions,
  .dashboard-page.dashboard-bundle .actions{width:100%;flex-wrap:wrap}
  .dashboard-page.dashboard-policy .actions>*,
  .dashboard-page.dashboard-bundle .actions>*{flex:1 1 160px}
  .dashboard-page.dashboard-bundle .sort-control,
  .dashboard-page.dashboard-bundle .sort-control select{width:100%}

  .dashboard-page.dashboard-product .header-filter-popover{max-width:calc(100vw - 20px)}
  .dashboard-page.dashboard-product .region-tabs,
  .dashboard-page.dashboard-product .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
  .dashboard-page.dashboard-product .region-tabs button,
  .dashboard-page.dashboard-product .tabs button{flex:0 0 auto}
  .dashboard-page.dashboard-product [data-analysis-panel="detail"] .table-wrap,
  .dashboard-page.dashboard-product [data-analysis-panel="channel"] .matrix-wrap,
  .dashboard-page.dashboard-product [data-analysis-panel="region"] .matrix-wrap{
    height:clamp(220px,calc(100dvh - 300px),560px);
    min-height:0;
    max-height:none;
  }
}

@media(max-width:480px){
  .dashboard-page.dashboard-import .source-actions>*,
  .dashboard-page.dashboard-import .backup-buttons>*{flex-basis:100%;width:100%}
  .dashboard-page.dashboard-import .source-state{width:100%;margin-left:52px}
  .dashboard-page.dashboard-retail .kpis,
  .dashboard-page.dashboard-policy .summary-grid,
  .dashboard-page.dashboard-bundle .smart-summary,
  .dashboard-page.dashboard-reward .overview-grid{grid-template-columns:1fr!important}
  .dashboard-page.dashboard-retail .kpi{min-height:88px}
  .dashboard-page.dashboard-retail .kpi strong{font-size:clamp(1.25rem,8vw,1.6rem)}
  .dashboard-page.dashboard-inventory .detail-grid{grid-template-columns:1fr}
  .dashboard-page.dashboard-inventory .chart-section{padding:14px}
  .dashboard-page.dashboard-inventory .bar-label{width:88px;flex-basis:88px}
  .dashboard-page.dashboard-store .sdm-detail-tabs{overflow-x:auto}
  .dashboard-page.dashboard-store .sdm-detail-tab{min-width:max-content}
  .dashboard-page.dashboard-product .rank-row{grid-template-columns:25px minmax(100px,1fr) 68px}
  .dashboard-page.dashboard-product .rank-row>*:nth-child(4){display:none}
}
html.public-view button[id*="export" i],html.public-view a[download],html.public-view [data-download]{display:none!important}.shared-view-banner{position:fixed;z-index:9999;left:50%;top:14px;transform:translateX(-50%);max-width:min(92vw,720px);padding:10px 16px;border-radius:12px;background:#e9f6ff;color:#145377;box-shadow:0 8px 26px rgba(15,39,69,.16);font-size:14px;font-weight:700}.shared-view-banner.error{background:#fff0f1;color:#a12f39}.shared-view-banner[hidden]{display:none!important}
