:root{
  --red:#c7000b;
  --red2:#a90000;
  --ink:#0f172a;
  --muted:#667085;
  --line:#111827;
  --hair:#d8dee8;
  --paper:#fff;
  --risk-bg:#f8dce2;
  --risk:#b00020;
  --dark:#111827;
  --good-bg:#e4f3ea;
  --good:#087443;
  --surface:rgba(255,255,255,.88);
  --page:1460px;
}

/* v1.2：区域达成配置入口与弹窗 */
.region-config-action{
  appearance:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.region-config-modal-card{
  width:min(760px,calc(100vw - 56px));
  margin-top:12vh;
  padding:22px;
}
.region-config-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid #d9dee7;
  background:#f7f9fc;
}
.region-config-stats>div{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  column-gap:8px;
  padding:14px 16px;
  border-right:1px solid #d9dee7;
}
.region-config-stats>div:last-child{border-right:0}
.region-config-stats span{grid-column:1/-1;color:#667085;font-size:12px;font-weight:850}
.region-config-stats b{margin-top:7px;color:#14213d;font-size:25px;line-height:1;font-weight:1000}
.region-config-stats em{color:#667085;font-size:11px;font-style:normal;font-weight:800}
#regionConfigUpdatedAt{font-size:15px;line-height:1.25}
.region-config-operations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.region-config-operation{
  min-height:76px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #cad2df;
  background:#fff;
  color:#14213d;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.region-config-operation:hover{border-color:#3157a6;background:#f6f8fd}
.region-config-operation input{display:none}
.region-config-operation .operation-icon{display:grid;place-items:center;width:34px;height:34px;background:#eaf0fb;color:#20458f;font-size:18px;font-weight:1000}
.region-config-operation b{display:block;font-size:15px;font-weight:1000}
.region-config-operation em{display:block;max-width:240px;margin-top:5px;color:#667085;font-size:12px;font-style:normal;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-config-upload-action .operation-icon{background:#fff0f0;color:#c92323}
.region-config-warning{display:flex;gap:10px;margin-top:12px;padding:10px 12px;border-left:3px solid #d54040;background:#fff7f7;color:#5c2530;font-size:12px;line-height:1.55}
.region-config-warning b{flex:0 0 auto;font-weight:1000}
.region-config-warning span{color:#72505a;font-weight:750}
@media(max-width:760px){
  .region-config-modal-card{width:calc(100vw - 28px);margin-top:5vh;max-height:90vh;overflow:auto;padding:16px}
  .region-config-stats,.region-config-operations{grid-template-columns:1fr}
  .region-config-stats>div{border-right:0;border-bottom:1px solid #d9dee7}
  .region-config-stats>div:last-child{border-bottom:0}
  .region-config-warning{display:block}
  .region-config-warning b{display:block;margin-bottom:3px}
}
*{box-sizing:border-box}
html,body{
  margin:0;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 0% 8%, rgba(199,0,11,.04), transparent 30%),
    radial-gradient(circle at 100% 0%, rgba(15,23,42,.055), transparent 30%),
    linear-gradient(180deg,#f8fafc,#edf2f7);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
  padding:22px 18px 52px;
}
.app{max-width:var(--page);margin:0 auto}
.top-statusbar{
  width:var(--page);
  margin:0 auto 16px;
  min-height:58px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:9px 12px 9px 18px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(213,219,227,.88);
  box-shadow:0 16px 40px rgba(17,24,39,.075);
  backdrop-filter:blur(18px);
}
.brand-block h1{
  margin:0;
  font-size:27px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.055em;
}
.status-actions{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
button{
  height:36px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  padding:0 14px;
  font-weight:950;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease, background .12s ease;
}
button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(17,24,39,.10)}
button:active{transform:translateY(0);box-shadow:none;filter:brightness(.96)}
.icon-action{
  height:38px;
  min-width:126px;
  border:1px solid rgba(213,219,227,.95);
  background:#fff;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 9px;
  cursor:pointer;
  box-shadow:none;
  color:var(--ink);
  text-align:left;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.icon-action input{display:none}
.action-icon{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:1000;
  flex:0 0 auto;
}
.action-icon.red{background:linear-gradient(180deg,var(--red),var(--red2));font-size:14px}
.icon-action b{
  display:block;
  font-size:13px;
  font-weight:1000;
}
.icon-action em{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-style:normal;
  font-size:11px;
  font-weight:850;
  max-width:118px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cards{display:grid;gap:16px}
.card{
  width:var(--page);
  margin:0 auto;
  background:var(--paper);
  border:1px solid rgba(213,219,227,.96);
  box-shadow:0 18px 42px rgba(17,24,39,.10);
}
.inner{padding:24px 26px 22px}
.card-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:20px;
  align-items:start;
  border-bottom:4px solid var(--red);
  padding-bottom:15px;
  margin-bottom:14px;
}
.card h2{
  margin:0;
  font-size:34px;
  line-height:1.06;
  font-weight:1000;
  letter-spacing:-.05em;
}
.sub{
  margin-top:8px;
  color:var(--muted);
  font-size:15px;
  line-height:1.25;
  font-weight:900;
}
.card-status{
  height:70px;
  background:linear-gradient(180deg,var(--red),var(--red2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
}
.card-status .status-title{
  font-size:23px;
  font-weight:1000;
  line-height:1.08;
}
.summary{
  display:grid;
  grid-template-columns:1fr 1fr 1.02fr;
  gap:12px;
  margin-bottom:15px;
}
.box{
  border:2px solid var(--red);
  background:linear-gradient(180deg,#fff7f8,#ffe8ec);
  min-height:104px;
  padding:14px 16px;
}
.box.dark{border-color:var(--dark);background:var(--dark);color:#fff}
.box b{
  display:block;
  color:var(--muted);
  font-size:14px;
  font-weight:1000;
  margin-bottom:8px;
}
.box.dark b{color:#d5dce8}
.box strong{
  display:block;
  color:var(--red);
  font-size:42px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.07em;
}
.box.dark strong{color:#fff;font-size:39px}
.box span{
  display:block;
  color:var(--muted);
  margin-top:8px;
  font-size:13px;
  font-weight:850;
}
.box.dark span{color:#d5dce8}
table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
th,td{
  border:1px solid var(--line);
  text-align:center;
  vertical-align:middle;
  padding:10px 6px;
  font-size:15px;
  line-height:1.15;
  font-weight:900;
  word-break:break-word;
}
th{background:#eef1f5;font-size:13px;font-weight:1000}
th.hot{background:linear-gradient(180deg,var(--red),var(--red2));color:#fff}
th.group{background:#fff;color:var(--red);font-size:14px}
td.left,th.left{text-align:left;padding-left:12px}
td.item{font-weight:1000;font-size:16px}
.risk{background:var(--risk-bg);color:var(--risk);font-weight:1000}
.good{background:var(--good-bg);color:var(--good);font-weight:1000}
.must{
  margin-top:15px;
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  border:2px solid var(--line);
}
.must b{
  background:var(--dark);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:1000;
}
.must div{
  padding:13px 16px;
  font-size:21px;
  font-weight:1000;
  line-height:1.25;
}
.must span{color:var(--red)}
.foot{
  margin-top:9px;
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:10px;
  font-weight:760;
}
.missing{
  margin-top:8px;
  color:#9a5a00;
  font-size:12px;
  font-weight:800;
}
.copy-panel{
  width:var(--page);
  margin:0 auto 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 168px;
  gap:12px;
  align-items:stretch;
}
.copy-panel textarea{
  width:100%;
  min-height:86px;
  resize:vertical;
  border:1px solid rgba(213,219,227,.96);
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 24px rgba(17,24,39,.045);
  padding:10px 12px;
  font-size:16px;
  line-height:1.52;
  font-weight:800;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
  cursor:text;
  transition:border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.copy-panel textarea:focus{
  outline:none;
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(199,0,11,.08), 0 10px 24px rgba(17,24,39,.045);
}
.copy-actions{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:10px;
}
.copy-btn{
  width:100%;
  height:auto;
  min-height:38px;
  font-size:15px;
}
.empty-card .inner{font-weight:900;color:var(--muted)}
.modal.hidden{display:none}
html.modal-open,
body.modal-open{
  overflow:hidden!important;
  overscroll-behavior:none;
}
body.modal-open{
  position:fixed!important;
  left:0;
  right:0;
  width:100%;
}
.modal{
  position:fixed;
  inset:0;
  z-index:9999;
}
.modal-mask{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.36);
  backdrop-filter:blur(10px);
}
.modal-card{
  position:relative;
  width:min(1040px,calc(100vw - 56px));
  margin:9vh auto 0;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(213,219,227,.96);
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  padding:18px;
  overflow:hidden;
  overscroll-behavior:contain;
}
.modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.modal-head h2{
  margin:0;
  font-size:24px;
  font-weight:1000;
  letter-spacing:-.04em;
}
.modal-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
.close-btn{
  min-width:76px;
}
.report-group{display:block}
.image-export{width:var(--page);margin:0 auto;background:#ffffff}
.store-card{
  width:var(--page);
  margin:0 auto 12px;
  background:#fff;
  border:1px solid rgba(213,219,227,.96);
  box-shadow:0 16px 36px rgba(17,24,39,.08);
}
.store-inner{padding:18px 20px 16px}
.store-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  border-bottom:4px solid var(--red);
  padding-bottom:12px;
  margin-bottom:12px;
}
.store-title h2{
  margin:0;
  font-size:27px;
  line-height:1.05;
  font-weight:1000;
  letter-spacing:-.05em;
}
.store-title .meta{
  margin-top:7px;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
}
.store-kpis{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.kpi{
  height:42px;
  display:flex;
  align-items:center;
  padding:0 13px;
  background:#fff;
  border:1px solid #d9dee7;
  color:var(--ink);
  font-size:15px;
  font-weight:1000;
}
.kpi.red{background:linear-gradient(180deg,var(--red),var(--red2));border-color:var(--red);color:#fff}
.kpi.dark{background:#111827;border-color:#111827;color:#fff}
.store-table th,.store-table td{padding:7px 4px;font-size:12.5px;line-height:1.12}
.store-table th{background:#f3f4f6;color:#111827;font-size:11.5px}
.store-table th.group{background:#fff;color:var(--red);font-size:14px}
.store-table th.hot{background:linear-gradient(180deg,var(--red),var(--red2));color:#fff}
.store-table th.name-head{background:#f8fafc;color:#334155}
.store-table td.store-name{text-align:left;padding-left:8px;font-size:12.5px;font-weight:1000;color:#111827}
.store-table td.store-type{color:#667085;font-size:11.5px;font-weight:950;background:#f8fafc}
.store-table td.guide{color:#334155;font-size:12.5px}
.store-table .actual-split{white-space:nowrap}
.total-row td{background:#f8fafc;font-weight:1000}
.total-row td:first-child{color:var(--red);font-size:13px}
.rate{color:#111827;background:#f8fafc}
.today-cell{background:#fff7f8;color:#111827;font-size:13px!important;font-weight:1000}
.today-cell span{color:var(--red)}
.store-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:var(--muted);font-size:10px;font-weight:760}
.empty-store-text{padding:18px;border:1px dashed #d8dee8;background:#f8fafc;color:var(--muted);font-weight:900}
@media(max-width:1320px){
  :root{--page:100%}
  .app{max-width:100%}
  .top-statusbar{width:100%}
  .card,.store-card{overflow-x:auto}
  .inner{min-width:1180px}
  .store-inner{min-width:1180px}
}
@media(max-width:900px){
  body{padding:14px 10px 38px}
  .top-statusbar{align-items:flex-start;flex-direction:column}
  .status-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .icon-action{width:100%}
  .copy-panel{grid-template-columns:1fr}
  .copy-actions{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .copy-btn{height:42px;min-height:42px}
}

.icon-action input{display:none}

.copy-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 168px!important;
  gap:12px!important;
  align-items:stretch!important;
}
.copy-actions{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:10px!important;
}
.copy-actions .copy-btn{
  width:100%!important;
  min-height:38px!important;
  height:auto!important;
  font-size:15px!important;
}


/* v2.3 门店明细视觉优化 */
.store-card{
  margin-top:12px!important;
  border-color:rgba(213,219,227,.96)!important;
}
.store-top{
  border-bottom:3px solid var(--red)!important;
  padding-bottom:10px!important;
  margin-bottom:10px!important;
}
.store-title h2{
  font-size:27px!important;
  letter-spacing:-.045em!important;
}
.store-title .meta{
  font-size:12px!important;
}
.store-table th,
.store-table td{
  font-size:13px!important;
  padding:7px 5px!important;
}
.store-table th{
  font-size:12.5px!important;
}
.store-table th.group{
  font-size:15px!important;
}
.store-table td.store-name{
  font-size:12.5px!important;
  line-height:1.16!important;
  word-break:break-all!important;
}
.store-table td.guide,
.store-table td.store-type{
  font-size:12px!important;
}
.store-table .today-cell{
  white-space:nowrap!important;
  font-size:13px!important;
  line-height:1!important;
  background:#fff7f8!important;
  color:#111827!important;
}
.store-table .today-cell span{
  color:var(--red)!important;
  font-size:15px!important;
  font-weight:1000!important;
}
.store-kpis .kpi{
  height:38px!important;
  font-size:14px!important;
}


/* v2.4 强化版式修复 */
.copy-panel .copy-btn,
.copy-actions .copy-btn{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
  font-weight:1000!important;
}

/* 门店明细：列宽和表头重新收敛 */
.store-table{
  table-layout:fixed!important;
}
.store-table col.store-name-col{width:16%!important}
.store-table col.store-type-col{width:4.2%!important}
.store-table col.store-guide-col{width:5.2%!important}
.store-table col.store-small-col{width:5.6%!important}
.store-table col.store-industry-col{width:4.7%!important}
.store-table col.store-today-col{width:10.4%!important}

.store-table th,
.store-table td{
  padding:7px 5px!important;
  font-size:13px!important;
  line-height:1.14!important;
}
.store-table th{
  font-size:13px!important;
  font-weight:1000!important;
  background:#f4f6f9!important;
  color:#0f172a!important;
}
.store-table th.group{
  background:#fff!important;
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:1000!important;
  border-bottom:2px solid var(--line)!important;
}
.store-table th.hot{
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  color:#fff!important;
}
.store-table th.name-head{
  background:#f8fafc!important;
  color:#334155!important;
  font-size:13px!important;
}
.store-table td.store-name{
  font-size:13px!important;
  line-height:1.16!important;
  font-weight:1000!important;
  word-break:break-all!important;
}
.store-table td.store-type,
.store-table td.guide{
  font-size:12px!important;
  line-height:1.1!important;
}
.store-table td.store-type{
  color:#64748b!important;
  background:#f8fafc!important;
}
.store-table .today-cell{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  background:#fff7f8!important;
}
.store-table .today-cell span{
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:1000!important;
}
.store-kpis .kpi{
  height:38px!important;
  font-size:14px!important;
}

/* 普通页面里的门店卡更像一个下级模块 */
.store-card{
  border-top:0!important;
}
.store-top{
  background:#fff!important;
}
.store-title h2{
  font-size:28px!important;
}


/* v2.5 门店达成明细最终结构修复 */
.store-title h2{
  font-size:28px!important;
}
.store-table col.store-name-col{width:18%!important}
.store-table col.store-guide-col{width:5.5%!important}
.store-table col.store-small-col{width:5.5%!important}
.store-table col.store-industry-col{width:4.8%!important}
.store-table col.store-today-col{width:5.2%!important}

.store-table th,
.store-table td{
  font-size:13px!important;
  padding:7px 5px!important;
  line-height:1.14!important;
}
.store-table th{
  font-size:13px!important;
  background:#f4f6f9!important;
  color:#0f172a!important;
  font-weight:1000!important;
}
.store-table th.group{
  font-size:16px!important;
  background:#fff!important;
  color:var(--red)!important;
  border-bottom:2px solid var(--line)!important;
}
.store-table th.hot{
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  color:#fff!important;
}
.store-table th.name-head{
  background:#f8fafc!important;
  color:#334155!important;
}
.store-table td.store-name{
  font-size:13px!important;
  line-height:1.16!important;
  word-break:break-all!important;
}
.store-table td.guide{
  font-size:12px!important;
  line-height:1.1!important;
}
.store-table td.store-type,
.store-table th.store-type-col{
  display:none!important;
}
.store-table .today-cell{
  white-space:nowrap!important;
  background:#fff7f8!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.store-table .today-cell span{
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:1000!important;
}
.copy-panel .copy-btn,
.copy-actions .copy-btn{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}


/* v2.6 图片导出区域：复制图片时直接截取这个区域，必须和页面预览一致 */
.image-export{
  background:#fff!important;
}
.report-group{
  display:block!important;
}


/* v2.7 表格行高统一 */
.card table tr{
  height:42px;
}
.card table th,
.card table td{
  height:42px;
}

.store-table tr{
  height:44px!important;
}
.store-table th,
.store-table td{
  height:44px!important;
  vertical-align:middle!important;
}
.store-table .total-row{
  height:42px!important;
}
.store-table .store-name{
  padding-top:0!important;
  padding-bottom:0!important;
}
.store-name-text{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.16;
  max-height:2.32em;
  word-break:break-all;
}
.store-table .today-cell{
  white-space:nowrap!important;
}
.image-export{
  background:#fff!important;
}

/* v2.8：客户达成 + 门店达成明细合并成同一张白色大卡 */
.image-export{
  width:var(--page)!important;
  background:#fff!important;
}
.report-group .card{
  margin-bottom:0!important;
}
.store-inline{
  margin-top:16px;
  padding-top:14px;
  border-top:8px solid #eef2f7;
  background:#fff;
}
.store-inline-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:10px;
  border-bottom:3px solid var(--red);
  margin-bottom:10px;
}
.store-meta{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.store-kpis{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.store-kpis .kpi{
  height:36px!important;
  display:flex;
  align-items:center;
  padding:0 12px;
  background:#fff;
  border:1px solid #d9dee7;
  color:#111827;
  font-size:14px!important;
  font-weight:1000;
}
.store-kpis .kpi.red{
  background:linear-gradient(180deg,var(--red),var(--red2));
  border-color:var(--red);
  color:#fff;
}
.store-kpis .kpi.dark{
  background:#111827;
  border-color:#111827;
  color:#fff;
}

/* 门店表固定列宽，按当前网页通报卡实际尺寸设计 */
.store-table{
  table-layout:fixed!important;
  width:100%!important;
}
.store-table col.store-name-col{width:18%!important}
.store-table col.store-guide-col{width:5.5%!important}
.store-table col.store-small-col{width:5.5%!important}
.store-table col.store-industry-col{width:4.8%!important}
.store-table col.store-today-col{width:5.2%!important}

.store-table tr{
  height:42px!important;
}
.store-table th,
.store-table td{
  height:42px!important;
  padding:6px 5px!important;
  font-size:13px!important;
  line-height:1.14!important;
  vertical-align:middle!important;
}
.store-table th{
  font-size:13px!important;
  background:#f4f6f9!important;
  color:#0f172a!important;
  font-weight:1000!important;
}
.store-table th.group{
  font-size:16px!important;
  background:#fff!important;
  color:var(--red)!important;
  border-bottom:2px solid var(--line)!important;
}
.store-table th.hot{
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  color:#fff!important;
}
.store-table th.name-head{
  background:#f8fafc!important;
  color:#334155!important;
}
.store-table td.store-name{
  padding-top:0!important;
  padding-bottom:0!important;
  font-size:13px!important;
  line-height:1.16!important;
  word-break:break-all!important;
}
.store-name-text{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.16;
  max-height:2.32em;
  word-break:break-all;
}
.store-table td.guide{
  font-size:12px!important;
  line-height:1.1!important;
}
.store-table .today-cell{
  white-space:nowrap!important;
  background:#fff7f8!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.store-table .today-cell span{
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:1000!important;
}
.store-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  color:var(--muted);
  font-size:10px;
  font-weight:760;
}
.empty-store-text{
  padding:14px;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
  border:1px dashed #d8dee8;
}
.copy-panel .copy-btn,
.copy-actions .copy-btn{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}


/* v2.9 客户达成与门店表衔接：去掉突兀灰条，做同卡内嵌 */
.store-inline{
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(31,41,55,.18)!important;
  background:#fff!important;
}
.store-inline-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:16px!important;
  padding:0 0 8px!important;
  margin:0 0 8px!important;
  border-bottom:2px solid var(--red)!important;
  background:#fff!important;
}
.store-bridge{
  flex:1 1 auto;
  min-height:1px;
}
.store-meta{
  display:none!important;
}

/* 门店表继续保持统一行高 */
.store-table tr{
  height:42px!important;
}
.store-table th,
.store-table td{
  height:42px!important;
}

/* v2.9 统一系统反馈：状态栏风格 Toast */
.toast-host{
  position:fixed;
  top:22px;
  right:22px;
  z-index:99999;
  display:grid;
  gap:10px;
  pointer-events:none;
}
.toast-item{
  min-width:180px;
  max-width:360px;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(213,219,227,.96);
  box-shadow:0 18px 42px rgba(17,24,39,.18);
  backdrop-filter:blur(18px);
  color:#0f172a;
  transform:translateY(-8px);
  opacity:0;
  transition:opacity .16s ease, transform .16s ease;
}
.toast-item.show{
  opacity:1;
  transform:translateY(0);
}
.toast-item b{
  font-size:13px;
  font-weight:1000;
  line-height:1.25;
}
.toast-dot{
  width:10px;
  height:10px;
  background:#111827;
  flex:0 0 auto;
}
.toast-item.success .toast-dot{background:#087443}
.toast-item.error .toast-dot{background:var(--red)}
.toast-item.info .toast-dot{background:#111827}

/* 复制按钮红色反馈统一 */
.copy-panel .copy-btn,
.copy-actions .copy-btn{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}
.copy-panel .copy-btn.copied,
.copy-actions .copy-btn.copied{
  background:#087443!important;
  border-color:#087443!important;
}


/* v3.0：暂时移除复制图片，文案区回归单按钮稳定形态 */
.copy-panel{
  margin:8px auto 18px!important;
  grid-template-columns:minmax(0,1fr) 168px!important;
  gap:12px!important;
  align-items:stretch!important;
}
.copy-actions{
  display:block!important;
}
.copy-panel .copy-btn{
  min-height:74px!important;
  height:auto!important;
  width:100%!important;
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
  font-weight:1000!important;
}
.copy-panel .copy-btn.copied{
  background:#087443!important;
  border-color:#087443!important;
}

/* v3.0：客户卡与门店表的同卡衔接 */
.report-group{
  margin-bottom:18px!important;
}
.report-group .card{
  margin-bottom:0!important;
}
.image-export{
  background:#fff!important;
}
.store-inline{
  margin-top:12px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(31,41,55,.16)!important;
  background:#fff!important;
}
.store-inline-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  padding:0 0 7px!important;
  margin:0 0 7px!important;
  border-bottom:2px solid var(--red)!important;
  background:#fff!important;
}
.store-bridge{
  flex:1 1 auto!important;
  min-height:1px!important;
}
.store-kpis{
  display:flex!important;
  gap:8px!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
}
.store-kpis .kpi{
  height:34px!important;
  padding:0 11px!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.store-foot{
  margin-top:7px!important;
}

/* v3.0：全局距离收紧 */
.cards{
  gap:12px!important;
}
.card .inner{
  padding-bottom:18px!important;
}
.foot{
  margin-top:8px!important;
}
.toast-host{
  display:none!important;
}

/* v3.0：表格行高统一，避免局部撑开 */
.card table tr,
.card table th,
.card table td{
  height:42px!important;
}
.store-table tr,
.store-table th,
.store-table td{
  height:42px!important;
}
.store-name-text{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.16!important;
  max-height:2.32em!important;
}

/* v3.1 细节对齐与衔接收口 */
.report-group{
  margin-bottom:16px!important;
}
.report-group .card{
  box-shadow:0 12px 32px rgba(17,24,39,.08)!important;
}
.card .inner{
  padding:22px 24px 16px!important;
}
.card-top{
  margin-bottom:12px!important;
  padding-bottom:13px!important;
}
.summary{
  margin-bottom:13px!important;
}
.must{
  margin-top:13px!important;
}
.foot{
  margin-top:7px!important;
  padding-bottom:6px!important;
}

/* 门店部分：取消突兀大断层，变成同卡内部承接区 */
.store-inline{
  margin-top:8px!important;
  padding-top:8px!important;
  border-top:1px solid rgba(31,41,55,.14)!important;
  background:#fff!important;
}
.store-inline-head{
  min-height:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:0!important;
  margin:0 0 6px!important;
  border-bottom:none!important;
  background:#fff!important;
}
.store-bridge{
  flex:1 1 auto!important;
  height:1px!important;
  background:linear-gradient(90deg, rgba(199,0,11,.72), rgba(199,0,11,.08))!important;
}
.store-kpis{
  display:flex!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.store-kpis .kpi{
  height:32px!important;
  min-width:auto!important;
  padding:0 10px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.store-table{
  margin-top:0!important;
}
.store-table tr,
.store-table th,
.store-table td{
  height:41px!important;
}
.store-table th,
.store-table td{
  padding:5px 5px!important;
  vertical-align:middle!important;
}
.store-table th{
  font-size:13px!important;
}
.store-table th.group{
  font-size:16px!important;
}
.store-table .total-row td{
  background:#f8fafc!important;
}
.store-table td.store-name{
  padding-left:8px!important;
}
.store-name-text{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.15!important;
  max-height:2.3em!important;
  word-break:break-all!important;
}
.store-table td.guide{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.store-table .today-cell{
  background:#fff7f8!important;
  color:var(--red)!important;
  font-size:16px!important;
  font-weight:1000!important;
}
.store-foot{
  margin-top:6px!important;
  line-height:1.2!important;
}

/* 文案区对齐 */
.copy-panel{
  margin:8px auto 16px!important;
}
.copy-panel textarea{
  min-height:72px!important;
}
.copy-panel .copy-btn{
  min-height:72px!important;
}

/* v3.2 复制文案模块重新设计 */
.copy-panel{
  width:var(--page)!important;
  margin:10px auto 18px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 156px!important;
  gap:12px!important;
  align-items:stretch!important;
  background:transparent!important;
  padding:0!important;
}
.copy-text-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(213,219,227,.96)!important;
  box-shadow:0 10px 24px rgba(17,24,39,.045)!important;
}
.copy-text-head{
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 12px!important;
  border-bottom:1px solid rgba(213,219,227,.88)!important;
  background:#f8fafc!important;
}
.copy-text-head span{
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.copy-text-head em{
  color:#667085!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:850!important;
}
.copy-panel textarea{
  width:100%!important;
  min-height:74px!important;
  resize:vertical!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:10px 12px!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:850!important;
  color:#0f172a!important;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif!important;
  cursor:text!important;
}
.copy-panel textarea:focus{
  outline:none!important;
  box-shadow:inset 0 0 0 2px rgba(199,0,11,.12)!important;
}
.copy-panel .copy-btn{
  min-height:109px!important;
  height:auto!important;
  width:100%!important;
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  border:1px solid var(--red)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:1000!important;
  box-shadow:0 10px 24px rgba(199,0,11,.13)!important;
}
.copy-panel .copy-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(199,0,11,.18)!important;
}
.copy-panel .copy-btn.copied{
  background:#087443!important;
  border-color:#087443!important;
  box-shadow:0 10px 24px rgba(8,116,67,.14)!important;
}

/* v3.2 清理复制图片/Toast 残留 */
.toast-host{display:none!important}
.copy-actions{display:contents!important}

/* v3.2 文案区移动端 */
@media(max-width:760px){
  .copy-panel{
    grid-template-columns:1fr!important;
  }
  .copy-panel .copy-btn{
    min-height:44px!important;
  }
}


/* v3.3 复制文案模块压缩，不占主视觉 */
.copy-panel.compact-copy,
.copy-panel{
  width:var(--page)!important;
  margin:6px auto 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 96px!important;
  gap:8px!important;
  align-items:stretch!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  border:0!important;
}
.copy-text-card,
.copy-text-head{
  display:none!important;
}
.copy-panel textarea{
  width:100%!important;
  min-height:52px!important;
  max-height:78px!important;
  resize:vertical!important;
  border:1px solid rgba(213,219,227,.96)!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(17,24,39,.035)!important;
  padding:8px 10px!important;
  font-size:14px!important;
  line-height:1.42!important;
  font-weight:850!important;
  color:#0f172a!important;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif!important;
}
.copy-panel textarea:focus{
  outline:none!important;
  border-color:var(--red)!important;
  box-shadow:0 0 0 2px rgba(199,0,11,.08)!important;
}
.copy-panel .copy-btn{
  min-height:52px!important;
  height:auto!important;
  width:96px!important;
  padding:0!important;
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  border:1px solid var(--red)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:1000!important;
  box-shadow:0 6px 16px rgba(199,0,11,.12)!important;
}
.copy-panel .copy-btn.copied{
  background:#087443!important;
  border-color:#087443!important;
}
.copy-actions{display:contents!important}

/* v3.3 门店今日目标统一后的显示收紧 */
.store-table .today-cell{
  font-size:16px!important;
  font-weight:1000!important;
}


/* v3.4 定稿收尾：模板下载 */
.template-download-action{
  text-decoration:none!important;
  color:inherit!important;
}
.template-download-action .action-icon{
  background:#111827!important;
}


/* v3.6 视觉比例收口版：只调视觉，不动业务逻辑 */

/* 1. 客户达成区整体降重，减少“海报感” */
.card .inner{
  padding:21px 24px 16px!important;
}
.card h2{
  font-size:32px!important;
  letter-spacing:-.05em!important;
}
.sub{
  font-size:14px!important;
  margin-top:7px!important;
}
.card-status{
  height:64px!important;
}
.status-title{
  font-size:21px!important;
}
.card-top{
  grid-template-columns:minmax(0,1fr) 248px!important;
  padding-bottom:12px!important;
  margin-bottom:12px!important;
  border-bottom-width:3px!important;
}
.summary{
  gap:11px!important;
  margin-bottom:12px!important;
}
.box{
  min-height:96px!important;
  padding:13px 15px!important;
}
.box b{
  font-size:13px!important;
  margin-bottom:8px!important;
}
.box strong{
  font-size:38px!important;
  letter-spacing:-.065em!important;
}
.box.dark strong{
  font-size:35px!important;
  letter-spacing:-.06em!important;
}
.box span{
  font-size:12.5px!important;
  margin-top:8px!important;
}

/* 2. 客户表轻微收紧，保持主表清晰 */
.card table:not(.store-table) th,
.card table:not(.store-table) td{
  font-size:14px!important;
  height:40px!important;
  padding:8px 6px!important;
}
.card table:not(.store-table) th.group{
  font-size:17px!important;
}
.card table:not(.store-table) td.item{
  font-size:15px!important;
}

/* 3. 今日目标条保持醒目但不压过下方门店 */
.must{
  margin-top:12px!important;
  grid-template-columns:126px minmax(0,1fr)!important;
}
.must b{
  font-size:17px!important;
}
.must div{
  padding:12px 15px!important;
  font-size:20px!important;
}
.foot{
  margin-top:7px!important;
  padding-bottom:4px!important;
}

/* 4. 客户卡与门店表衔接：删除红色渐变线，改轻灰分隔 */
.store-inline{
  margin-top:7px!important;
  padding-top:8px!important;
  border-top:1px solid rgba(31,41,55,.12)!important;
  background:#fff!important;
}
.store-inline-head{
  height:30px!important;
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0!important;
  margin:0 0 6px!important;
  border-bottom:0!important;
  background:#fff!important;
}
.store-bridge{
  flex:1 1 auto!important;
  height:1px!important;
  background:rgba(31,41,55,.10)!important;
}
.store-kpis{
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.store-kpis .kpi{
  height:30px!important;
  padding:0 10px!important;
  font-size:12.5px!important;
  line-height:1!important;
  box-shadow:none!important;
}
.store-kpis .kpi.red{
  background:linear-gradient(180deg,var(--red),var(--red2))!important;
  color:#fff!important;
}
.store-kpis .kpi.dark{
  background:#111827!important;
  color:#fff!important;
}

/* 5. 门店表：行高略增、普通内容减重、重点内容保留 */
.store-table{
  margin-top:0!important;
}
.store-table tr,
.store-table th,
.store-table td{
  height:44px!important;
}
.store-table th{
  font-size:12.5px!important;
  font-weight:1000!important;
  padding:6px 5px!important;
}
.store-table th.group{
  font-size:15.5px!important;
  font-weight:1000!important;
}
.store-table th.hot{
  font-weight:1000!important;
}
.store-table td{
  font-size:13px!important;
  font-weight:850!important;
  padding:6px 5px!important;
}
.store-table .total-row td{
  font-weight:1000!important;
}
.store-table td.store-name{
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.18!important;
  padding-left:8px!important;
}
.store-name-text{
  line-height:1.18!important;
  max-height:2.36em!important;
}
.store-table td.guide{
  font-size:12px!important;
  font-weight:850!important;
}
.store-table .risk,
.store-table .good{
  font-weight:1000!important;
}
.store-table .today-cell{
  font-size:15px!important;
  font-weight:1000!important;
  background:#fff7f8!important;
}
.store-table .today-cell span{
  font-size:16px!important;
  font-weight:1000!important;
}
.store-foot{
  margin-top:6px!important;
  font-size:10px!important;
}

/* 6. 复制文案保持轻量，不抢主视觉 */
.copy-panel{
  margin:6px auto 14px!important;
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:8px!important;
}
.copy-panel textarea{
  min-height:50px!important;
  max-height:72px!important;
  font-size:14px!important;
  line-height:1.4!important;
  padding:8px 10px!important;
}
.copy-panel .copy-btn{
  width:92px!important;
  min-height:50px!important;
  font-size:14px!important;
  box-shadow:0 6px 14px rgba(199,0,11,.10)!important;
}

/* 7. 总体卡片阴影再轻一点，页面更干净 */
.report-group .card{
  box-shadow:0 10px 26px rgba(17,24,39,.07)!important;
}


/* v3.10：单页展示 + 状态栏小按钮 */
.top-statusbar{min-height:58px}
.status-actions{align-items:center}
.icon-action{height:38px;min-width:126px;padding:0 9px;gap:7px}
.action-icon{width:24px;height:24px;font-size:13px}
.action-icon.red{font-size:14px}
.icon-action b{font-size:12px;line-height:1;font-weight:1000}
.icon-action em{font-size:10px;max-width:80px;margin-top:2px}
.all-customer-cards .report-group{margin-bottom:18px}
.embedded-report-section{
  width:var(--page);
  margin:18px auto 0;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(213,219,227,.88);
  box-shadow:0 16px 40px rgba(17,24,39,.06);
  overflow:auto;
}
@media(max-width:760px){
  .top-statusbar{min-height:56px;align-items:flex-start}
  .status-actions{gap:6px;overflow:auto;justify-content:flex-start;padding-bottom:2px}
  .icon-action{min-width:112px}
  .icon-action em{display:none}
  .embedded-report-section{width:100%;margin-top:12px}
}

/* v3.11：恢复单页铺开，统一尺寸，状态栏收口 */
:root{--page:1460px}
.top-statusbar{
  min-height:54px!important;
  padding:8px 10px 8px 16px!important;
  align-items:center!important;
}
.brand-block{min-width:0;flex:1 1 auto}
.brand-line{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.brand-block h1{
  font-size:28px!important;
  white-space:nowrap;
}
.brand-meta{
  display:flex;
  align-items:center;
  gap:6px;
  color:#667085;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.brand-meta b{
  color:#0f172a;
  font-size:14px;
  font-weight:1000;
}
.brand-meta i{
  width:1px;
  height:16px;
  background:#d8dee8;
  margin:0 5px;
}
.status-actions{
  flex:0 0 auto!important;
  align-items:center!important;
  gap:6px!important;
}
.icon-action{
  height:30px!important;
  min-width:auto!important;
  padding:0 10px!important;
  gap:0!important;
  border-radius:6px!important;
}
.icon-action .action-icon{display:none!important}
.icon-action b{
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.icon-action em{display:none!important}
.all-customer-cards{gap:16px!important}
.embedded-report-section{
  width:var(--page)!important;
  margin:16px auto 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
@media(max-width:1320px){
  .embedded-report-section{width:100%!important}
}
@media(max-width:900px){
  .top-statusbar{align-items:flex-start!important;flex-direction:column!important}
  .brand-line{align-items:flex-start;flex-direction:column;gap:6px}
  .brand-meta{font-size:11px}
  .status-actions{width:100%;overflow:auto;flex-wrap:nowrap!important;padding-bottom:2px}
  .icon-action{flex:0 0 auto!important;height:30px!important}
}

/* v1.0：投入使用版，恢复上一版状态栏按钮、补齐通报铺开与移动端体验 */
:root{--page:1460px}
body{padding:20px 18px 52px!important}
.top-statusbar{
  width:var(--page)!important;
  min-height:60px!important;
  padding:9px 12px 9px 18px!important;
  align-items:center!important;
  gap:16px!important;
}
.brand-line{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.brand-block h1{font-size:28px!important;line-height:1!important;white-space:nowrap!important}
.brand-meta{display:flex!important;align-items:center!important;gap:6px!important;color:#667085!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important}
.brand-meta b{color:#0f172a!important;font-size:14px!important;font-weight:1000!important}
.brand-meta i{width:1px!important;height:16px!important;background:#d8dee8!important;margin:0 5px!important}
.status-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important}
.icon-action{
  height:38px!important;
  min-width:126px!important;
  padding:0 9px!important;
  gap:7px!important;
  border-radius:0!important;
  border:1px solid rgba(213,219,227,.95)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.icon-action .action-icon{
  display:flex!important;
  width:24px!important;
  height:24px!important;
  font-size:12px!important;
  border-radius:0!important;
}
.icon-action .action-icon.red{font-size:14px!important}
.icon-action b{display:block!important;font-size:13px!important;line-height:1!important;font-weight:1000!important;white-space:nowrap!important}
.icon-action em{display:block!important;margin-top:3px!important;color:#667085!important;font-size:11px!important;max-width:118px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.all-customer-cards{gap:16px!important}
.card,.copy-panel,.embedded-report-section{width:var(--page)!important}
.embedded-report-section{margin:16px auto 0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.copy-panel textarea{border-radius:0!important}
.copy-panel .copy-btn{border-radius:0!important}
.card{box-shadow:0 12px 30px rgba(17,24,39,.075)!important}
.embedded-report-section + .embedded-report-section{margin-top:18px!important}
@media(max-width:1500px){
  :root{--page:100%}
  .app{max-width:100%!important}
  .top-statusbar,.card,.copy-panel,.embedded-report-section{width:100%!important}
}
@media(max-width:900px){
  body{padding:12px 8px 34px!important}
  .top-statusbar{align-items:flex-start!important;flex-direction:column!important;gap:9px!important;padding:10px!important}
  .brand-line{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}
  .brand-block h1{font-size:22px!important;white-space:normal!important}
  .brand-meta{font-size:11px!important;gap:5px!important;flex-wrap:wrap!important;white-space:normal!important}
  .brand-meta b{font-size:12px!important}
  .status-actions{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;justify-content:flex-start!important;flex-wrap:nowrap!important;padding-bottom:2px!important;gap:6px!important}
  .icon-action{height:34px!important;min-width:108px!important;flex:0 0 auto!important;padding:0 8px!important}
  .icon-action .action-icon{display:none!important}
  .icon-action b{font-size:12px!important}
  .icon-action em{display:none!important}
  .card{overflow-x:auto!important}
  .inner{min-width:1180px!important}
  .copy-panel{grid-template-columns:minmax(0,1fr) 78px!important;gap:6px!important;margin:6px auto 12px!important}
  .copy-panel textarea{min-height:44px!important;font-size:13px!important}
  .copy-panel .copy-btn{width:78px!important;min-height:44px!important;font-size:13px!important}
  .embedded-report-section{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin-top:12px!important}
}


/* v3.14：移动端登录与宽表体验修复 */
@media(max-width:900px){
  .embedded-report-section{
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
}


/* v1.3：以 Mac Safari 100% 为视觉母版，统一浏览器排版度量。 */
html{overflow-y:scroll;scrollbar-gutter:stable}
*,*::before,*::after{box-sizing:border-box;font-synthesis:none}
body,button,input,textarea,select{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.embedded-report-host{
  display:block;
  width:100%;
  max-width:100%;
  background:transparent;
}
@media (max-width:1499px){
  :root{--page:100%!important}
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .app{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .top-statusbar,.card,.copy-panel,.embedded-report-section{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v1.4：顶部状态栏加高并保持吸顶。 */
.top-statusbar{
  position:sticky!important;
  top:0!important;
  z-index:9000!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 28px rgba(17,24,39,.12)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
@media (min-width:901px){
  .top-statusbar{
    min-height:72px!important;
    padding:12px 14px 12px 22px!important;
  }
  .icon-action{height:44px!important;padding:0 11px!important}
  .icon-action .action-icon{width:28px!important;height:28px!important}
}

@media(max-width:900px){
  :root{--page:100%!important}
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body{padding:10px 8px calc(30px + env(safe-area-inset-bottom))!important}
  .app{width:100%!important;max-width:100%!important;margin:0 auto!important}
  .report-group,.image-export{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .top-statusbar{
    width:100%!important;
    min-height:0!important;
    padding:10px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  .brand-line{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
  .brand-block h1{font-size:22px!important;white-space:nowrap!important}
  .brand-meta{font-size:10px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
  .brand-meta b{font-size:11px!important}
  .status-actions{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    padding-bottom:2px!important;
    overscroll-behavior-x:contain;
  }
  .icon-action{height:38px!important;min-width:112px!important;padding:0 9px!important;flex:0 0 auto!important}
  .icon-action .action-icon{display:none!important}
  .icon-action b{font-size:11px!important}
  .icon-action em{display:none!important}
  .card,.copy-panel,.embedded-report-section{
    width:100%!important;
    max-width:100%!important;
  }
  .card,.embedded-report-section{overflow:hidden!important}
  .inner{min-width:0!important;padding:14px 12px!important}
  .card-top{grid-template-columns:1fr!important;align-items:flex-start!important;gap:10px!important}
  .card-top h2{font-size:22px!important}
  .card-top .sub{font-size:10px!important;line-height:1.45!important}
  .card-status{width:100%!important;min-width:0!important;height:48px!important;padding:10px!important}
  .status-title{font-size:12px!important}
  .summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .summary .box{min-height:94px!important;padding:10px 8px!important}
  .summary .box b{font-size:10px!important}
  .summary .box strong{font-size:20px!important}
  .summary .box span{font-size:9px!important}
  .customer-table-scroll,.store-table-scroll{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .customer-table-scroll>table{min-width:860px!important}
  .store-table-scroll>.store-table{min-width:1180px!important}
  .store-inline-head{align-items:flex-start!important}
  .store-kpis{gap:5px!important}
  .kpi{height:34px!important;padding:0 8px!important;font-size:11px!important}
  .store-foot{align-items:flex-start!important;flex-direction:column!important;font-size:9px!important}
  .embedded-report-host{width:100%!important;min-width:0!important;max-width:100%!important}
  .copy-panel{grid-template-columns:minmax(0,1fr) 78px!important}
  .copy-panel .copy-btn{width:78px!important;min-height:46px!important}
}

/* 8012-aligned upload feedback: one loading animation, no layered states */
.upload-action.loading .action-icon,
.store-upload-action.loading .action-icon,
.region-config-upload-action.loading .operation-icon{
  animation:pulse .8s infinite alternate;
}
@keyframes pulse{from{opacity:.6}to{opacity:1}}

/* 8012-aligned statusbar hover */
.icon-action:hover{
  transform:translateY(-1px)!important;
  border-color:var(--red)!important;
  box-shadow:0 12px 26px rgba(199,0,11,.10)!important;
}
.icon-action:active{
  transform:translateY(0)!important;
  box-shadow:none!important;
}
.sync-retry-action{font:inherit;text-align:left;cursor:pointer}
.sync-retry-action.hidden{display:none}
