#xnjtgGoalRoot .gm-manage-scroll-control{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin:6px 0 8px;padding:4px 8px;border:1px solid #dbe2eb;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,252,.92));box-shadow:0 3px 12px rgba(31,41,55,.06),inset 0 1px 0 rgba(255,255,255,.8);user-select:none}
#xnjtgGoalRoot .gm-scroll-caption{flex:0 0 auto;font-size:10px;font-weight:700;color:#5f6b7a;white-space:nowrap;padding:0 3px;letter-spacing:.1px}
#xnjtgGoalRoot .gm-scroll-hint{flex:0 0 auto;font-size:10px;color:#9aa3b2;white-space:nowrap;min-width:72px;text-align:center;transition:color .18s}
#xnjtgGoalRoot .gm-scroll-percent{flex:0 0 auto;min-width:31px;text-align:right;font-size:10px;font-weight:700;color:#7b8796;font-variant-numeric:tabular-nums}
#xnjtgGoalRoot .gm-scroll-arrow{width:23px;height:23px;padding:0;border:1px solid #e1e6ed;border-radius:50%;display:grid;place-items:center;background:#f7f9fb;color:#526073;font-size:17px;line-height:1;cursor:pointer;flex:0 0 auto;transition:all .16s;box-shadow:0 1px 2px rgba(0,0,0,.03)}
#xnjtgGoalRoot .gm-scroll-arrow:hover{background:#eef3f8;color:#243247;transform:translateY(-1px);box-shadow:0 3px 8px rgba(31,41,55,.10)}
#xnjtgGoalRoot .gm-scroll-arrow:active{transform:translateY(0) scale(.96)}
#xnjtgGoalRoot .gm-scroll-track{position:relative;flex:1 1 auto;min-width:120px;height:24px;display:flex;align-items:center;cursor:grab;touch-action:none;outline:none}
#xnjtgGoalRoot .gm-scroll-track:focus-visible{box-shadow:0 0 0 3px rgba(91,156,246,.18);border-radius:999px}
#xnjtgGoalRoot .gm-scroll-track-line{position:absolute;left:0;right:0;top:50%;height:7px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#e9edf3,#dfe5ec);box-shadow:inset 0 1px 2px rgba(31,41,55,.08)}
#xnjtgGoalRoot .gm-scroll-thumb{position:absolute;left:0;top:50%;width:64px;height:14px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(180deg,#84b8ff,#5b9cf6);box-shadow:0 3px 8px rgba(59,130,246,.22),inset 0 1px 0 rgba(255,255,255,.5);transition:box-shadow .16s,transform .08s;cursor:grab}
#xnjtgGoalRoot .gm-scroll-thumb span{position:absolute;left:50%;top:50%;width:22px;height:3px;transform:translate(-50%,-50%);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 0 0 1px rgba(255,255,255,.16)}
#xnjtgGoalRoot .gm-scroll-track:hover .gm-scroll-thumb{box-shadow:0 4px 11px rgba(59,130,246,.28),inset 0 1px 0 rgba(255,255,255,.55)}
#xnjtgGoalRoot .gm-scroll-track.dragging{cursor:grabbing}
#xnjtgGoalRoot .gm-scroll-track.dragging .gm-scroll-thumb{cursor:grabbing;transform:translateY(-50%) scaleX(1.04);box-shadow:0 5px 13px rgba(59,130,246,.32),inset 0 1px 0 rgba(255,255,255,.55)}
#xnjtgGoalRoot .gm-manage-scroll-control.is-static .gm-scroll-track{opacity:.5;cursor:default}
#xnjtgGoalRoot .gm-manage-scroll-control.is-static .gm-scroll-thumb{background:linear-gradient(180deg,#cbd2db,#b9c1cc);box-shadow:none;cursor:default}
#xnjtgGoalRoot .gm-manage-scroll-control.is-static .gm-scroll-hint{color:#b6bdc8}
@media(max-width:700px){#xnjtgGoalRoot .gm-manage-scroll-control{gap:6px;height:34px;padding:4px 7px}#xnjtgGoalRoot .gm-scroll-caption{font-size:9px}#xnjtgGoalRoot .gm-scroll-hint,#xnjtgGoalRoot .gm-scroll-percent{display:none}#xnjtgGoalRoot .gm-scroll-track{min-width:100px}#xnjtgGoalRoot .gm-scroll-thumb{width:56px}#xnjtgGoalRoot .gm-scroll-arrow{width:21px;height:21px}}

.xnjtg-goal-root *{box-sizing:border-box}.xnjtg-goal-root{margin:0;background:#f5f7fa;color:#142033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif}.xnjtg-goal-root .app{max-width:1800px;margin:18px auto;padding:0 16px}.xnjtg-goal-root .head{background:#fff;border:1px solid #dfe5ec;border-radius:16px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 4px 18px #1f293708}.xnjtg-goal-root .logo{font-size:20px;font-weight:800}.xnjtg-goal-root .sub{font-size:12px;color:#748096;margin-top:4px}.xnjtg-goal-root .chips{display:flex;gap:8px;align-items:center}.xnjtg-goal-root .chip{padding:8px 12px;border:1px solid #dce2e9;border-radius:999px;background:#fafbfc;font-size:12px}.xnjtg-goal-root .tabs{display:flex;gap:8px;margin:14px 0}.xnjtg-goal-root .tab{padding:11px 18px;border-radius:10px;background:#e9edf3;color:#566273;font-weight:700;cursor:pointer}.xnjtg-goal-root .tab.active{background:#172033;color:#fff}.xnjtg-goal-root .panel{display:none;background:#fff;border:1px solid #dfe5ec;border-radius:16px;padding:16px;box-shadow:0 4px 18px #1f293708}.xnjtg-goal-root .panel.active{display:block}.xnjtg-goal-root .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.xnjtg-goal-root .toolbar h2{margin:0;font-size:18px}.xnjtg-goal-root .hint{font-size:12px;color:#718096}.xnjtg-goal-root .spacer{flex:1}.xnjtg-goal-root .btn{border:1px solid #d4dbe4;background:#fff;color:#172033;border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:650}.xnjtg-goal-root .btn:hover{background:#f4f6f8}.xnjtg-goal-root .btn.primary{background:#172033;color:#fff;border-color:#172033}.xnjtg-goal-root .btn.warn{background:#fff7d6;border-color:#e9ca52}.xnjtg-goal-root .btn.danger{background:#fff1f1;color:#b42318;border-color:#f0b7b7}.xnjtg-goal-root .select{height:36px;border:1px solid #d4dbe4;border-radius:8px;padding:0 9px;background:#fff}.xnjtg-goal-root .table-wrap{overflow:auto;border:1px solid #b9c2cf;border-radius:10px}.xnjtg-goal-root .grid{width:100%;border-collapse:collapse;min-width:1500px}.xnjtg-goal-root .grid th,.xnjtg-goal-root .grid td{border:1px solid #aeb8c6;height:40px;padding:6px 8px;text-align:center;font-size:13px;white-space:nowrap}.xnjtg-goal-root .grid th{background:#f4f6f8;font-weight:800;white-space:normal;line-height:1.25}.xnjtg-goal-root .grid .subtotal td{background:#c7daf6;font-weight:750}.xnjtg-goal-root .grid .grand td{background:#9fc0ee;font-weight:800}.xnjtg-goal-root .grid .spacer td{height:10px;padding:0;border-left:0;border-right:0;background:#fff}.xnjtg-goal-root .track-summary td{background:#dcebdc;font-weight:700;height:34px}.xnjtg-goal-root .track-summary .summary-label{background:#8ed0e8}.xnjtg-goal-root .track-summary .summary-value{background:#dcebdc}.xnjtg-goal-root .team-merged{vertical-align:middle;font-weight:800;background:#dcebdc}.xnjtg-goal-root .green-row td{background:#dcebdc}.xnjtg-goal-root .yellow{background:#fff36a!important}.xnjtg-goal-root .orange{background:#ffc000!important}.xnjtg-goal-root .progress{height:15px;background:#e6e9ee;border-radius:99px;overflow:hidden;min-width:150px}.xnjtg-goal-root .bar{height:100%;background:#2d6cdf}.xnjtg-goal-root .small{font-size:11px;color:#657184;margin-top:3px}.xnjtg-goal-root .weekInput{width:92px;height:32px;border:1px solid #cbd5df;border-radius:7px;text-align:center;-moz-appearance:textfield}.xnjtg-goal-root .weekInput:focus{outline:2px solid #9bbcf5}.xnjtg-goal-root .status{font-size:12px;color:#5c6a7c;min-height:18px;margin:3px 0 8px}.xnjtg-goal-root .modal{position:fixed;inset:0;background:#11182773;display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.xnjtg-goal-root .modal.show{display:flex}.xnjtg-goal-root .card{width:min(1500px,97vw);max-height:94vh;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px #0003}.xnjtg-goal-root .mh{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.xnjtg-goal-root .mh h3{margin:0}.xnjtg-goal-root .mb{padding:16px 20px;overflow:auto}.xnjtg-goal-root .mf{padding:14px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:8px}.xnjtg-goal-root .close{border:0;background:#f1f3f5;border-radius:8px;width:34px;height:34px;font-size:21px;cursor:pointer}.xnjtg-goal-root .info{background:#f7f9fb;border:1px solid #e1e6ed;border-radius:10px;padding:10px 12px;font-size:12px;color:#657184;margin-bottom:12px}.xnjtg-goal-root .edit-group{border:1px solid #dfe5ec;border-radius:12px;overflow:hidden;margin-bottom:14px}.xnjtg-goal-root .edit-title{background:#eef4ff;padding:10px 12px;font-weight:800;display:flex;justify-content:space-between}.xnjtg-goal-root .edit-row{display:grid;grid-template-columns:55px 135px 110px 105px 75px 95px 95px 90px 90px 80px 80px 90px 105px 105px 90px 90px 90px 55px;gap:7px;padding:9px;border-top:1px solid #e5e7eb;align-items:end}.xnjtg-goal-root .edit-row label{font-size:10px;color:#718096;display:block;margin-bottom:3px}.xnjtg-goal-root .edit-row input,.xnjtg-goal-root .edit-row select{width:100%;height:32px;border:1px solid #cfd6df;border-radius:7px;padding:4px 6px;background:#fff}.xnjtg-goal-root .del{height:32px;border:1px solid #efb2b2;background:#fff4f4;color:#b42318;border-radius:7px;cursor:pointer}.xnjtg-goal-root .addline{padding:8px;border-top:1px dashed #ccd4df;text-align:center}.xnjtg-goal-root .addline button{border:1px dashed #9aa8b8;background:#fff;border-radius:8px;padding:6px 16px;cursor:pointer}.xnjtg-goal-root .monthBox{display:flex;align-items:center;gap:8px}.xnjtg-goal-root .legend{font-size:12px;color:#64748b}.xnjtg-goal-root .readonly{background:#f4f5f7!important}.xnjtg-goal-root .orderInput{width:58px!important}.xnjtg-goal-root .currency{width:75px!important}.xnjtg-goal-root .calc-edit{background:#f4f5f7!important;color:#667085!important;border-color:#e1e5ea!important;cursor:not-allowed!important}.xnjtg-goal-root .edit-row{min-width:1850px}

/* 实时同步：周数据单元格右下角反馈图标 */
#xnjtgGoalRoot .week-cell{position:relative}
#xnjtgGoalRoot .week-sync-indicator{position:absolute;right:4px;top:3px;width:15px;height:15px;display:none;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1;border-radius:50%;pointer-events:none;z-index:2;background:#fff}
#xnjtgGoalRoot .week-sync-indicator.syncing{display:flex;color:#7b8797;background:#f3f6fa}
#xnjtgGoalRoot .week-sync-indicator.success{display:flex;color:#16a34a;background:#ecfdf3}
#xnjtgGoalRoot .gm-input-wrap{position:relative;display:block;width:100%}
#xnjtgGoalRoot .gm-input-wrap .gm-sync-indicator{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:none;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;border-radius:50%;pointer-events:none;z-index:3;background:#fff}
#xnjtgGoalRoot .gm-input-wrap .gm-sync-indicator.syncing{display:flex;color:#7b8797;background:#f3f6fa}
#xnjtgGoalRoot .gm-input-wrap .gm-sync-indicator.success{display:flex;color:#16a34a;background:#ecfdf3}
#xnjtgGoalRoot .gm-input-wrap .gm-inline{padding-right:26px}

/* ================================================================
   XNJTG 目标与管理 · UI FINAL
   仅重做视觉与布局；不修改任何 JS、计算、字段、Supabase、权限逻辑。
   ================================================================ */
#xnjtgGoalRoot.xnjtg-goal-root{
  --g-bg:#f4f6fb;
  --g-card:#ffffff;
  --g-card-soft:#f8faff;
  --g-line:#dfe5ef;
  --g-line-strong:#cad4e2;
  --g-text:#172033;
  --g-muted:#68758a;
  --g-blue:#3478f6;
  --g-blue-soft:#edf4ff;
  --g-green:#2f9e65;
  --g-green-soft:#eaf8f0;
  --g-purple:#7957d5;
  --g-purple-soft:#f2edff;
  --g-orange:#dc8b20;
  --g-orange-soft:#fff5e6;
  --g-red:#d84a4a;
  --g-shadow:0 10px 30px rgba(34,48,74,.07);
  display:block!important;
  width:100%!important;
  min-height:100%!important;
  color:var(--g-text)!important;
  background:linear-gradient(180deg,#eef2f9 0%,#f6f8fc 52%,#f3f5f9 100%)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif!important;
}
#xnjtgGoalRoot.xnjtg-goal-root *{box-sizing:border-box}
#xnjtgGoalRoot .app{
  width:100%!important; max-width:none!important; margin:0!important;
  padding:18px 20px 30px!important;
}
/* 顶部品牌区 */
#xnjtgGoalRoot .head{
  position:relative!important; overflow:hidden!important;
  min-height:78px!important; padding:18px 20px!important;
  display:flex!important; align-items:center!important; justify-content:space-between!important; gap:18px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 62%,#f1efff 100%)!important;
  border:1px solid rgba(111,127,157,.18)!important; border-radius:18px!important;
  box-shadow:var(--g-shadow)!important;
}
#xnjtgGoalRoot .head:after{
  content:""; position:absolute; width:240px; height:240px; right:-120px; top:-150px;
  background:radial-gradient(circle,rgba(91,126,230,.16) 0%,rgba(91,126,230,0) 68%);
  pointer-events:none;
}
#xnjtgGoalRoot .head .logo{
  position:relative; z-index:1; font-size:21px!important; line-height:1.2!important;
  font-weight:760!important; letter-spacing:-.035em!important; color:#18233a!important;
}
#xnjtgGoalRoot .head .sub{
  position:relative; z-index:1; margin-top:6px!important; color:#718098!important;
  font-size:12px!important; line-height:1.55!important;
}
#xnjtgGoalRoot .chips{position:relative;z-index:1;display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
#xnjtgGoalRoot .chip{
  padding:8px 11px!important; border-radius:10px!important; border:1px solid #dce5f2!important;
  background:rgba(255,255,255,.84)!important; color:#5e6b7f!important; font-size:11px!important;
  box-shadow:0 2px 8px rgba(41,58,91,.035)!important;
}
#xnjtgGoalRoot .chip strong{color:#20304d!important;font-weight:760!important}
/* 二级导航 */
#xnjtgGoalRoot .tabs{
  width:max-content!important; margin:14px 0 12px!important; padding:4px!important;
  display:flex!important; gap:4px!important; align-items:center!important;
  border:1px solid rgba(95,111,138,.16)!important; border-radius:12px!important;
  background:rgba(222,227,237,.72)!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
#xnjtgGoalRoot .tab{
  min-width:142px!important; height:36px!important; padding:0 16px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  border-radius:9px!important; color:#69758a!important; background:transparent!important;
  font-size:12px!important; font-weight:680!important; cursor:pointer!important;
  transition:background .15s ease,box-shadow .15s ease,color .15s ease!important;
}
#xnjtgGoalRoot .tab:hover{color:#263550!important}
#xnjtgGoalRoot .tab.active{
  color:#1c2940!important; background:#fff!important;
  box-shadow:0 2px 8px rgba(39,55,84,.10),0 0 0 1px rgba(77,97,130,.06)!important;
}
#xnjtgGoalRoot .panel{
  display:none!important; padding:0!important; margin:0!important; border:0!important; background:transparent!important;
}
#xnjtgGoalRoot .panel.active{display:block!important}
/* 工具栏 */
#xnjtgGoalRoot .toolbar{
  display:flex!important; align-items:center!important; flex-wrap:wrap!important; gap:10px!important;
  min-height:60px!important; margin:0 0 12px!important; padding:10px 12px!important;
  background:rgba(255,255,255,.90)!important; border:1px solid var(--g-line)!important;
  border-radius:15px!important; box-shadow:0 5px 18px rgba(34,48,74,.045)!important;
}
#xnjtgGoalRoot .toolbar h2{
  margin:0 6px 0 2px!important; padding-left:10px!important; position:relative!important;
  font-size:17px!important; line-height:32px!important; font-weight:760!important; letter-spacing:-.02em!important;
}
#xnjtgGoalRoot .toolbar h2:before{
  content:""; position:absolute; left:0; top:7px; width:3px; height:18px; border-radius:999px; background:var(--g-blue);
}
#xnjtgGoalRoot .hint{
  flex:1 1 360px!important; min-width:240px!important; color:#718098!important;
  font-size:11px!important; line-height:1.5!important; white-space:normal!important;
}
#xnjtgGoalRoot .spacer{display:none!important}
#xnjtgGoalRoot .monthBox{display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto!important}
#xnjtgGoalRoot .legend{font-size:11px!important;color:#6d7890!important;font-weight:600!important}
#xnjtgGoalRoot .select{
  height:36px!important; min-width:110px!important; padding:0 11px!important;
  border:1px solid var(--g-line-strong)!important; border-radius:9px!important; background:#fff!important;
  color:#25334d!important; font-size:12px!important; box-shadow:inset 0 1px 2px rgba(23,32,51,.025)!important;
}
#xnjtgGoalRoot .btn{
  min-height:36px!important; padding:0 13px!important; border:1px solid var(--g-line-strong)!important;
  border-radius:9px!important; background:#fff!important; color:#2a3851!important; font-size:11px!important;
  font-weight:650!important; box-shadow:0 1px 3px rgba(33,46,70,.05)!important; cursor:pointer!important;
}
#xnjtgGoalRoot .btn:hover{background:#f8faff!important;box-shadow:0 4px 12px rgba(33,46,70,.08)!important}
#xnjtgGoalRoot .btn.primary{background:var(--g-blue)!important;color:#fff!important;border-color:var(--g-blue)!important;box-shadow:0 4px 12px rgba(52,120,246,.22)!important}
#xnjtgGoalRoot .btn.primary:hover{background:#286ce8!important}
#xnjtgGoalRoot .btn.warn{background:var(--g-orange-soft)!important;color:#a26512!important;border-color:#f2d7a4!important}
/* 状态条 */
#xnjtgGoalRoot .status{
  min-height:30px!important; margin:8px 0 11px!important; padding:7px 11px!important;
  display:flex!important; align-items:center!important; border-radius:9px!important;
  background:#f8fafc!important; border:1px solid #e3e8f0!important; color:#6b778b!important;
  font-size:11px!important; line-height:1.4!important;
}
#xnjtgGoalRoot .upload-status{min-height:30px!important}
#xnjtgGoalRoot .status-ok{color:#22734c!important;background:var(--g-green-soft)!important;border-color:#caead8!important}
#xnjtgGoalRoot .status-busy{color:#3863a8!important;background:#eef4ff!important;border-color:#d5e3fb!important}
#xnjtgGoalRoot .status-error{color:#a43b3b!important;background:#fff0f0!important;border-color:#f0cece!important}
/* 摘要卡片 */
#xnjtgGoalRoot .track-summary-wrap{
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; margin:0 0 12px!important;
}
#xnjtgGoalRoot .track-summary-card{
  position:relative!important; overflow:hidden!important; padding:14px 15px!important;
  border:1px solid #dfe7f2!important; border-radius:14px!important; background:#fff!important;
  box-shadow:0 5px 16px rgba(36,52,82,.05)!important;
}
#xnjtgGoalRoot .track-summary-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--g-blue)}
#xnjtgGoalRoot .track-summary-card:nth-child(2):before{background:var(--g-purple)}
#xnjtgGoalRoot .track-summary-head{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 10px!important;font-size:12px!important;font-weight:720!important}
#xnjtgGoalRoot .track-summary-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
#xnjtgGoalRoot .track-summary-metric{padding:8px 9px!important;border-radius:9px!important;background:#f7f9fd!important;color:#78859a!important;font-size:10px!important}
#xnjtgGoalRoot .track-summary-metric strong{display:block!important;margin-top:3px!important;color:#23334f!important;font-size:14px!important;font-weight:760!important}
#xnjtgGoalRoot .track-summary-progress{height:8px!important;margin-top:10px!important;border-radius:999px!important;background:#e8edf5!important;overflow:hidden!important}
#xnjtgGoalRoot .track-summary-progress>div{height:100%!important;background:linear-gradient(90deg,#4a8af7,#6a73ef)!important;border-radius:999px!important}
#xnjtgGoalRoot .track-summary-note{margin-top:7px!important;color:#7c8799!important;font-size:10px!important}
/* 数据表容器 */
#xnjtgGoalRoot .table-wrap{
  width:100%!important; max-width:100%!important; max-height:calc(100vh - 292px)!important;
  overflow:auto!important; border:1px solid var(--g-line-strong)!important; border-radius:15px!important;
  background:#fff!important; box-shadow:var(--g-shadow)!important; scrollbar-width:thin!important;
}
#xnjtgGoalRoot .table-wrap::-webkit-scrollbar{width:10px;height:10px}
#xnjtgGoalRoot .table-wrap::-webkit-scrollbar-track{background:#f4f6fa}
#xnjtgGoalRoot .table-wrap::-webkit-scrollbar-thumb{background:#cbd4e2;border:2px solid #f4f6fa;border-radius:999px}
#xnjtgGoalRoot table.grid,#xnjtgGoalRoot table.month-table{
  border-collapse:separate!important; border-spacing:0!important; table-layout:fixed!important;
  width:max-content!important; min-width:1880px!important; background:#fff!important;
}
#xnjtgGoalRoot table.grid th,#xnjtgGoalRoot table.grid td,#xnjtgGoalRoot table.month-table th,#xnjtgGoalRoot table.month-table td{
  box-sizing:border-box!important; padding:9px 11px!important; min-height:44px!important;
  border-right:1px solid #e4e9f1!important; border-bottom:1px solid #e4e9f1!important;
  font-size:12px!important; line-height:1.4!important; white-space:normal!important;
  word-break:break-word!important; vertical-align:middle!important; text-align:center!important;
}
#xnjtgGoalRoot table.grid th,#xnjtgGoalRoot table.month-table th{
  position:sticky!important; top:0!important; z-index:20!important; height:54px!important;
  background:linear-gradient(180deg,#f4f7fb 0%,#edf2f8 100%)!important; color:#34445f!important;
  font-size:11px!important; font-weight:720!important; box-shadow:0 1px 0 #ccd6e3,0 2px 6px rgba(39,54,82,.045)!important;
}
#xnjtgGoalRoot table.grid tbody tr:nth-child(even) td,#xnjtgGoalRoot table.month-table tbody tr:nth-child(even) td{background:#fcfdff!important}
#xnjtgGoalRoot table.grid tbody tr:hover td,#xnjtgGoalRoot table.month-table tbody tr:hover td{background:#f3f7ff!important}
/* 关键列 */
/* 月度目标与管理：列宽必须绑定“表格列”而不是绑定每行 td 的 nth-child。
   C01/C02/后续行存在 rowspan，直接用 td:nth-child 会导致不同数据行的实际 nth-child 编号变化，
   从而出现“总到账/主管建议”视觉位置与实际输入框错位。 */
#xnjtgGoalRoot table.grid th:nth-child(1),#xnjtgGoalRoot table.grid td:nth-child(1){width:145px!important;min-width:145px!important}
#xnjtgGoalRoot table.grid th:nth-child(2),#xnjtgGoalRoot table.grid td:nth-child(2){width:105px!important;min-width:105px!important}
#xnjtgGoalRoot table.grid th:nth-child(3),#xnjtgGoalRoot table.grid td:nth-child(3){width:108px!important;min-width:108px!important}
#xnjtgGoalRoot table.grid th:nth-child(4),#xnjtgGoalRoot table.grid td:nth-child(4){width:126px!important;min-width:126px!important}
#xnjtgGoalRoot table.grid th:nth-child(5),#xnjtgGoalRoot table.grid td:nth-child(5){width:132px!important;min-width:132px!important}
#xnjtgGoalRoot table.grid th:nth-child(6),#xnjtgGoalRoot table.grid td:nth-child(6){width:88px!important;min-width:88px!important}
#xnjtgGoalRoot table.grid th:nth-child(7),#xnjtgGoalRoot table.grid td:nth-child(7){width:94px!important;min-width:94px!important}
#xnjtgGoalRoot table.grid th:nth-child(8),#xnjtgGoalRoot table.grid td:nth-child(8){width:120px!important;min-width:120px!important}
#xnjtgGoalRoot table.grid th:nth-child(9),#xnjtgGoalRoot table.grid td:nth-child(9){width:90px!important;min-width:90px!important}
#xnjtgGoalRoot table.grid th:nth-child(10),#xnjtgGoalRoot table.grid td:nth-child(10){width:126px!important;min-width:126px!important}
#xnjtgGoalRoot table.grid th:nth-child(11),#xnjtgGoalRoot table.grid td:nth-child(11){width:86px!important;min-width:86px!important}
#xnjtgGoalRoot table.grid th:nth-child(12),#xnjtgGoalRoot table.grid td:nth-child(12){width:80px!important;min-width:80px!important}
#xnjtgGoalRoot table.grid th:nth-child(13),#xnjtgGoalRoot table.grid td:nth-child(13){width:86px!important;min-width:86px!important}
#xnjtgGoalRoot table.grid th:nth-child(n+14),#xnjtgGoalRoot table.grid td:nth-child(n+14){width:118px!important;min-width:118px!important}
/* 仅覆盖②“月度目标与管理”，让 colgroup 成为唯一列宽来源，彻底消除 rowspan 行的 nth-child 偏移。 */
#xnjtgGoalRoot table.month-table th,#xnjtgGoalRoot table.month-table td{width:auto!important;min-width:0!important}
#xnjtgGoalRoot table.month-table col:nth-child(1){width:145px!important}
#xnjtgGoalRoot table.month-table col:nth-child(2){width:105px!important}
#xnjtgGoalRoot table.month-table col:nth-child(3){width:108px!important}
#xnjtgGoalRoot table.month-table col:nth-child(4){width:126px!important}
#xnjtgGoalRoot table.month-table col:nth-child(5){width:132px!important}
#xnjtgGoalRoot table.month-table col:nth-child(6){width:88px!important}
#xnjtgGoalRoot table.month-table col:nth-child(7){width:94px!important}
#xnjtgGoalRoot table.month-table col:nth-child(8){width:120px!important}
#xnjtgGoalRoot table.month-table col:nth-child(9){width:90px!important}
#xnjtgGoalRoot table.month-table col:nth-child(10){width:126px!important}
#xnjtgGoalRoot table.month-table col:nth-child(11){width:86px!important}
#xnjtgGoalRoot table.month-table col:nth-child(12){width:80px!important}
#xnjtgGoalRoot table.month-table col:nth-child(13){width:86px!important}
#xnjtgGoalRoot table.month-table col:nth-child(14),
#xnjtgGoalRoot table.month-table col:nth-child(15),
#xnjtgGoalRoot table.month-table col:nth-child(16),
#xnjtgGoalRoot table.month-table col:nth-child(17){width:118px!important}
/* 冻结前三列，横向查看不会迷失行归属 */
#xnjtgGoalRoot table.grid th:nth-child(-n+3){background:#eaf1fb!important;color:#2b3d5b!important}
#xnjtgGoalRoot table.grid tbody tr:nth-child(even) td:nth-child(-n+3){background:#fbfdff!important}
#xnjtgGoalRoot table.grid tbody tr:hover td:nth-child(-n+3){background:#f0f6ff!important}
/* 汇总层级 */
#xnjtgGoalRoot table.grid tr.sub td,#xnjtgGoalRoot table.grid tr.subtotal td{
  background:#edf4ff!important; color:#243858!important; font-weight:760!important;
  border-top:2px solid #c8d9f3!important;
}
#xnjtgGoalRoot table.grid tr.grand td,#xnjtgGoalRoot table.grid tr.grand-total td{
  background:#e4ecfb!important; color:#172d4e!important; font-weight:790!important;
  border-top:2px solid #aec4e8!important;
}
#xnjtgGoalRoot table.grid tr.blank td{height:10px!important;padding:0!important;background:#f4f6fa!important;border:0!important}
#xnjtgGoalRoot .merged{background:#f1f6ff!important;font-weight:760!important;color:#2a405f!important}
#xnjtgGoalRoot .yellow{background:#fff4bb!important;color:#765700!important;font-weight:650!important}
#xnjtgGoalRoot .orange{background:#ffe8c4!important;color:#8b590e!important;font-weight:650!important}
#xnjtgGoalRoot .green-row td{background:#ecf8f1!important}
/* 百分比 / 进度感 */
#xnjtgGoalRoot .progress{height:9px!important;min-width:120px!important;border-radius:999px!important;background:#e7edf5!important;overflow:hidden!important}
#xnjtgGoalRoot .bar{height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#4d8df6,#6d6fe8)!important}
#xnjtgGoalRoot .small{font-size:10px!important;color:#7a879b!important;margin-top:4px!important}
#xnjtgGoalRoot .weekInput{
  width:82px!important;height:32px!important;border:1px solid #ccd6e4!important;border-radius:8px!important;
  text-align:center!important;background:#fff!important;font-size:11px!important;padding:0 7px!important;
}
#xnjtgGoalRoot .weekInput:focus{outline:none!important;border-color:#72a0ef!important;box-shadow:0 0 0 3px rgba(52,120,246,.12)!important}
/* 上传按钮的拖拽态 */
#xnjtgGoalRoot .upload-drop{min-width:116px!important}
#xnjtgGoalRoot .upload-drop.dragover{outline:2px solid #5d91ef!important;outline-offset:2px!important;background:#edf4ff!important;color:#2f63aa!important}
/* 编辑弹窗 */
#xnjtgGoalRoot .modal{position:fixed!important;inset:0!important;background:rgba(20,28,42,.42)!important;backdrop-filter:blur(5px)!important;display:none;align-items:center;justify-content:center;padding:24px!important;z-index:100!important}
#xnjtgGoalRoot .modal.show{display:flex!important}
#xnjtgGoalRoot #gm_editModal .card,#xnjtgGoalRoot #gm_importCompareModal .card{
  width:min(1700px,96vw)!important; max-width:96vw!important; max-height:92vh!important;
  display:flex!important; flex-direction:column!important; overflow:hidden!important;
  border:1px solid rgba(96,112,140,.20)!important; border-radius:18px!important; background:#fbfcff!important;
  box-shadow:0 30px 90px rgba(19,27,43,.25)!important;
}
#xnjtgGoalRoot .mh{padding:18px 20px!important;border-bottom:1px solid #e3e8f0!important;background:linear-gradient(180deg,#fff,#f8faff)!important;display:flex!important;justify-content:space-between!important;gap:16px!important}
#xnjtgGoalRoot .mh h3{margin:0!important;font-size:16px!important;color:#20304c!important}
#xnjtgGoalRoot .mh .sub{margin-top:5px!important;color:#758196!important;font-size:11px!important;line-height:1.55!important}
#xnjtgGoalRoot .mb{padding:16px 18px!important;overflow:auto!important}
#xnjtgGoalRoot .mf{padding:12px 18px!important;border-top:1px solid #e3e8f0!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;background:#f8faff!important}
#xnjtgGoalRoot .close{width:34px!important;height:34px!important;border:1px solid #d9e0eb!important;border-radius:9px!important;background:#fff!important;color:#67748a!important;font-size:20px!important;cursor:pointer!important}
#xnjtgGoalRoot .info{margin-bottom:12px!important;padding:11px 13px!important;border:1px solid #dae5f3!important;border-radius:10px!important;background:#f1f6ff!important;color:#5f6e84!important;font-size:11px!important;line-height:1.55!important}
#xnjtgGoalRoot .edit-toolbar{padding:10px 12px!important;border:1px solid #dfe6f0!important;border-radius:10px!important;background:#fff!important;margin-bottom:10px!important}
#xnjtgGoalRoot .edit-toolbar label{font-size:11px!important;color:#5f6c80!important;font-weight:650!important}
#xnjtgGoalRoot .edit-subgroup{margin:12px 0 16px!important;border:1px solid #dae2ee!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 3px 10px rgba(40,57,88,.035)!important}
#xnjtgGoalRoot .edit-subtotal{padding:10px 13px!important;background:linear-gradient(90deg,#edf4ff,#f5f1ff)!important;border-bottom:1px solid #dce4f0!important;font-weight:760!important;color:#2a4163!important}
#xnjtgGoalRoot .edit-group-rows{padding:8px!important;display:grid!important;gap:7px!important;overflow-x:auto!important}
#xnjtgGoalRoot .edit-row{min-width:1780px!important;display:grid!important;grid-template-columns:30px 130px 108px 98px 80px 92px 84px 92px 84px 82px 82px 76px 76px 82px 82px 120px 92px 140px 100px!important;gap:6px!important;padding:8px 9px!important;border-top:1px solid #e7ebf2!important;align-items:end!important}
#xnjtgGoalRoot .edit-row label{display:block!important;margin-bottom:4px!important;font-size:9px!important;color:#7a879a!important;font-weight:650!important}
#xnjtgGoalRoot .edit-row input,#xnjtgGoalRoot .edit-row select{width:100%!important;height:31px!important;padding:4px 7px!important;border:1px solid #cfd8e5!important;border-radius:8px!important;background:#fff!important;color:#293751!important;font-size:11px!important}
#xnjtgGoalRoot .edit-row input:focus,#xnjtgGoalRoot .edit-row select:focus{outline:none!important;border-color:#78a3ef!important;box-shadow:0 0 0 3px rgba(52,120,246,.10)!important}
#xnjtgGoalRoot .calc-edit,.xnjtg-goal-root .readonly{background:#f4f6f9!important;color:#7c8797!important;border-color:#e0e5ec!important}
#xnjtgGoalRoot .edit-row > div{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
#xnjtgGoalRoot .edit-row > div > label{flex:0 0 auto!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#xnjtgGoalRoot .edit-row .e-ad{display:block!important;visibility:visible!important;width:100%!important;height:31px!important;min-height:31px!important;flex:0 0 31px!important;margin:0!important;box-sizing:border-box!important}
#xnjtgGoalRoot .edit-row .e-ad:not(:disabled){background:#fff!important;color:#293751!important;cursor:text!important;pointer-events:auto!important;opacity:1!important}
#xnjtgGoalRoot .drag-handle{cursor:grab!important;font-size:18px!important;color:#8190a6!important;user-select:none!important;text-align:center!important;padding-bottom:5px!important}
#xnjtgGoalRoot .drag-handle:active{cursor:grabbing!important}
#xnjtgGoalRoot .edit-row.dragging{opacity:.55!important;background:#edf4ff!important}
#xnjtgGoalRoot .edit-row.drag-over{outline:2px dashed #6b91df!important;outline-offset:-2px!important}
#xnjtgGoalRoot .edit-row.operation-edit{background:#f2faf5!important}
#xnjtgGoalRoot .operation-note{margin:0 0 8px!important;color:#5f7480!important;font-size:10px!important}
#xnjtgGoalRoot .del{height:31px!important;border:1px solid #efcaca!important;border-radius:8px!important;background:#fff4f4!important;color:#b74343!important;cursor:pointer!important}
#xnjtgGoalRoot .addline{padding:8px!important;border-top:1px dashed #ccd6e4!important;text-align:center!important}
#xnjtgGoalRoot .addline button{border:1px dashed #aab8cb!important;background:#fff!important;border-radius:8px!important;padding:6px 16px!important;color:#536178!important;cursor:pointer!important}
@media(max-width:1100px){
  #xnjtgGoalRoot .app{padding:12px 12px 22px!important}
  #xnjtgGoalRoot .head{align-items:flex-start!important;flex-direction:column!important}
  #xnjtgGoalRoot .monthBox{margin-left:0!important}
  #xnjtgGoalRoot .toolbar .hint{flex-basis:100%!important;order:10!important}
  #xnjtgGoalRoot .track-summary-wrap{grid-template-columns:1fr!important}
}

#xnjtgGoalRoot .edit-row .ad-fee-cell{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important;min-height:47px!important;overflow:visible!important}
#xnjtgGoalRoot .edit-row .ad-fee-cell>label{display:block!important;height:12px!important;margin:0 0 4px!important;line-height:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#xnjtgGoalRoot .edit-row .ad-fee-cell>input.e-ad{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:31px!important;min-height:31px!important;box-sizing:border-box!important;margin:0!important;padding:4px 7px!important;border:1px solid #cfd8e5!important;border-radius:8px!important;background:#fff!important;color:#293751!important;font:inherit!important;font-size:11px!important;line-height:21px!important;appearance:auto!important;-webkit-appearance:auto!important;pointer-events:auto!important;cursor:text!important;position:relative!important;z-index:5!important}
#xnjtgGoalRoot .edit-row .ad-fee-cell>input.e-ad:focus{outline:none!important;border-color:#007aff!important;box-shadow:0 0 0 3px rgba(0,122,255,.12)!important}
#xnjtgGoalRoot .edit-row .ad-fee-cell>input.e-ad:disabled{background:#f4f6f9!important;color:#7c8797!important;cursor:not-allowed!important;pointer-events:none!important}

/* final UI is defined by xnjtg-goal-scoped-css */

#xnjtgGoalRoot .month-table .gm-inline{width:100%;min-width:0;box-sizing:border-box;height:32px;padding:4px 7px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:#293751;font:inherit;font-size:11px;text-align:center;}
#xnjtgGoalRoot .month-table .gm-inline:focus{outline:none;border-color:#78a3ef;box-shadow:0 0 0 3px rgba(52,120,246,.10)}
#xnjtgGoalRoot .month-table .gm-inline:disabled{background:#f4f6f9;color:#7c8797;cursor:not-allowed;}
#xnjtgGoalRoot .month-table .gm-auto{background:#f4f6f9!important;color:#667085!important;}
#xnjtgGoalRoot .month-table td{vertical-align:middle;}
#xnjtgGoalRoot .edit-structure-note .structure-only{height:32px;display:flex;align-items:center;justify-content:center;border:1px dashed #d5dce6;border-radius:7px;background:#fafbfc;color:#7c8797;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;}

#xnjtgGoalRoot .gm-expense{font-variant-numeric:tabular-nums!important;}

/* ===== 用户本次要求：目标进度尽量一屏完整展示 + 团队设置输入对齐 ===== */

/* 目标进度：13列（7项固定信息 + 最多6个自然周）全部压进当前页面宽度 */
#xnjtgGoalRoot #gm_trackTable{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid th,
#xnjtgGoalRoot #gm_trackTable .track-grid td{
    min-width:0!important;
    padding:4px 3px!important;
    font-size:10px!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}
/* 前7列共占52%，最多6个周列各占8%，合计100% */
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(1),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(1){width:7%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(2),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(2){width:6%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(3),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(3){width:7%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(4),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(4){width:9%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(5),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(5){width:8%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(6),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(6){width:6%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(7),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(7){width:9%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th:nth-child(n+8),
#xnjtgGoalRoot #gm_trackTable .track-grid td:nth-child(n+8){width:8%!important}
#xnjtgGoalRoot #gm_trackTable .track-grid .weekInput{
    width:100%!important;
    min-width:0!important;
    max-width:54px!important;
    height:25px!important;
    padding:2px 1px!important;
    font-size:10px!important;
    text-align:center!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid .progress{
    width:100%!important;
    min-width:0!important;
    height:9px!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid .small{
    font-size:8px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid th{
    height:42px!important;
    font-size:9.5px!important;
}
#xnjtgGoalRoot #gm_trackTable .track-grid td{
    height:34px!important;
}

/* 屏幕较窄时继续压缩，但仍不产生横向滚动 */
@media(max-width:1200px){
    #xnjtgGoalRoot #gm_trackTable .track-grid th,
    #xnjtgGoalRoot #gm_trackTable .track-grid td{
        font-size:9px!important;
        padding:3px 2px!important;
    }
    #xnjtgGoalRoot #gm_trackTable .track-grid th{font-size:8.8px!important;height:40px!important}
    #xnjtgGoalRoot #gm_trackTable .track-grid .weekInput{height:23px!important;font-size:9px!important}
    #xnjtgGoalRoot #gm_trackTable .track-grid .small{font-size:7.5px!important}
}

/* 团队设置：说明统一放在最下方，避免撑高单个字段造成输入框错位 */
.xnjtg-team-notes{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px 16px;
    margin:8px 0 0;
    padding:7px 10px;
    border-radius:8px;
    background:rgba(0,0,0,.025);
    color:#8a919d;
    font-size:10px;
    line-height:1.35;
}
.xnjtg-team-notes > span:first-child{
    color:#596273;
    font-weight:700;
}
.xnjtg-team-notes > span:not(:first-child){
    white-space:nowrap;
}
@media(max-width:680px){
    .xnjtg-team-notes > span:not(:first-child){white-space:normal}
}

/* 月度目标与管理编辑：ESC明确关闭；点击遮罩也可关闭 */
#xnjtgGoalRoot #gm_editModal{
    z-index:10000!important;
}
#xnjtgGoalRoot #gm_editModal .card{
    max-width:1580px!important;
}

/* 目标进度 / 月度目标与管理：不可编辑字段统一视觉与光标提示 */
#xnjtgGoalRoot .weekInput:disabled,
#xnjtgGoalRoot .gm-inline:disabled{
  background:#f1f3f6!important;
  color:#8993a2!important;
  border-color:#d8dee7!important;
  cursor:not-allowed!important;
  pointer-events:auto!important;
  opacity:1!important;
  box-shadow:none!important;
}
#xnjtgGoalRoot .weekInput:disabled:hover,
#xnjtgGoalRoot .gm-inline:disabled:hover{
  cursor:not-allowed!important;
}
#xnjtgGoalRoot .gm-expense{font-variant-numeric:tabular-nums!important;}
#xnjtgGoalRoot .gm-expense:not(:disabled){background:#fff!important;color:#293751!important;cursor:text!important;}

#xnjtgGoalRoot .gm-c01-ad-rate{vertical-align:middle!important;text-align:center!important}
#xnjtgGoalRoot .gm-c01-ad-rate .gm-ad-rate{width:100%!important;box-sizing:border-box!important;text-align:center!important;font-weight:700!important}

/* ===== 目标与管理：输入框店铺提示 ===== */
#xnjtgGoalRoot .xnjtg-store-hover-tip{
  position:fixed;
  z-index:30000;
  display:none;
  padding:7px 11px;
  border-radius:9px;
  background:rgba(28,28,30,.94);
  color:#fff;
  font-size:11px;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
  box-shadow:0 8px 24px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.12);
  transform:translateY(-2px);
  opacity:0;
  transition:opacity .12s ease,transform .12s ease;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
#xnjtgGoalRoot .xnjtg-store-hover-tip.show{
  opacity:1;
  transform:translateY(0);
}
#xnjtgGoalRoot .xnjtg-store-hover-tip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  transform:translateX(-50%);
  width:10px;
  height:10px;
  background:rgba(28,28,30,.94);
  rotate:45deg;
  border-radius:2px;
}

/* 目标进度：恢复适中字号，并采用与月度目标与管理一致的横向控制方式 */
#xnjtgGoalRoot #gm_trackTable{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin}
#xnjtgGoalRoot #gm_trackTable .track-grid{width:max-content!important;min-width:1500px!important;max-width:none!important;table-layout:auto!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th,#xnjtgGoalRoot #gm_trackTable .track-grid td{min-width:auto!important;padding:6px 8px!important;font-size:13px!important;line-height:1.25!important;white-space:nowrap!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important}
#xnjtgGoalRoot #gm_trackTable .track-grid th{height:42px!important;font-size:13px!important;white-space:normal!important;line-height:1.25!important}
#xnjtgGoalRoot #gm_trackTable .track-grid td{height:40px!important}
#xnjtgGoalRoot #gm_trackTable .track-grid .weekInput{width:92px!important;min-width:92px!important;max-width:none!important;height:32px!important;padding:4px 6px!important;font-size:13px!important}
#xnjtgGoalRoot #gm_trackTable .track-grid .progress{width:170px!important;min-width:170px!important;height:15px!important}
#xnjtgGoalRoot #gm_trackTable .track-grid .small{font-size:11px!important;line-height:1.2!important;white-space:nowrap!important}
#xnjtgGoalRoot .gm-track-scroll-control{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin:6px 0 8px;padding:4px 8px;border:1px solid #dbe2eb;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,252,.92));box-shadow:0 3px 12px rgba(31,41,55,.06),inset 0 1px 0 rgba(255,255,255,.8);user-select:none}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-caption{flex:0 0 auto;font-size:10px;font-weight:700;color:#5f6b7a;white-space:nowrap;padding:0 3px;letter-spacing:.1px}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-hint{flex:0 0 auto;font-size:10px;color:#9aa3b2;white-space:nowrap;min-width:72px;text-align:center;transition:color .18s}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-percent{flex:0 0 auto;min-width:31px;text-align:right;font-size:10px;font-weight:700;color:#7b8796;font-variant-numeric:tabular-nums}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-arrow{width:23px;height:23px;padding:0;border:1px solid #e1e6ed;border-radius:50%;display:grid;place-items:center;background:#f7f9fb;color:#526073;font-size:17px;line-height:1;cursor:pointer;flex:0 0 auto;transition:all .16s;box-shadow:0 1px 2px rgba(0,0,0,.03)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-arrow:hover{background:#eef3f8;color:#243247;transform:translateY(-1px);box-shadow:0 3px 8px rgba(31,41,55,.10)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-arrow:active{transform:translateY(0) scale(.96)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track{position:relative;flex:1 1 auto;min-width:120px;height:24px;display:flex;align-items:center;cursor:grab;touch-action:none;outline:none}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track:focus-visible{box-shadow:0 0 0 3px rgba(91,156,246,.18);border-radius:999px}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track-line{position:absolute;left:0;right:0;top:50%;height:7px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#e9edf3,#dfe5ec);box-shadow:inset 0 1px 2px rgba(31,41,55,.08)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-thumb{position:absolute;left:0;top:50%;width:120px;height:16px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(180deg,#84b8ff,#5b9cf6);box-shadow:0 3px 8px rgba(59,130,246,.22),inset 0 1px 0 rgba(255,255,255,.5);transition:box-shadow .16s,transform .08s;cursor:grab;will-change:left}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-thumb span{position:absolute;left:50%;top:50%;width:22px;height:3px;transform:translate(-50%,-50%);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 0 0 1px rgba(255,255,255,.16)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track:hover .gm-scroll-thumb{box-shadow:0 4px 11px rgba(59,130,246,.28),inset 0 1px 0 rgba(255,255,255,.55)}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track.dragging{cursor:grabbing}
#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track.dragging .gm-scroll-thumb{cursor:grabbing;transform:translateY(-50%) scaleX(1.04);box-shadow:0 5px 13px rgba(59,130,246,.32),inset 0 1px 0 rgba(255,255,255,.55)}
#xnjtgGoalRoot .gm-track-scroll-control.is-static .gm-scroll-track{opacity:.5;cursor:default}
#xnjtgGoalRoot .gm-track-scroll-control.is-static .gm-scroll-thumb{background:linear-gradient(180deg,#cbd2db,#b9c1cc);box-shadow:none;cursor:default}
#xnjtgGoalRoot .gm-track-scroll-control.is-static .gm-scroll-hint{color:#b6bdc8}
@media(max-width:700px){#xnjtgGoalRoot .gm-track-scroll-control{gap:6px;height:34px;padding:4px 7px}#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-caption{font-size:9px}#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-hint,#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-percent{display:none}#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-track{min-width:100px}#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-thumb{width:56px}#xnjtgGoalRoot .gm-track-scroll-control .gm-scroll-arrow{width:21px;height:21px}}


/* ===== ③ 年度完成率：只作用于年度面板 ===== */
#xnjtgGoalRoot #gm_annual .annual-grid{min-width:1900px;table-layout:fixed}
#xnjtgGoalRoot #gm_annual .annual-grid th,
#xnjtgGoalRoot #gm_annual .annual-grid td{padding:5px 6px;text-align:center;vertical-align:middle}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(1){width:145px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(2){width:105px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(3){width:108px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(4){width:126px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(n+5):nth-child(-n+16){width:104px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(17){width:126px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(18){width:105px}
#xnjtgGoalRoot #gm_annual .annual-inline{width:100%;min-width:0;box-sizing:border-box;height:32px;padding:4px 7px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#172033;font-variant-numeric:tabular-nums;text-align:center}
#xnjtgGoalRoot #gm_annual .annual-inline:disabled{background:#f1f3f6;color:#687386;cursor:not-allowed}
#xnjtgGoalRoot #gm_annual .annual-cell-wrap{display:flex;align-items:center;gap:4px}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator{display:none;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;font-size:11px;font-weight:800;color:#16824b;background:#e7f7ed}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator.success{display:inline-flex}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator.syncing{display:inline-flex;color:#5e6b7d;background:#edf1f6}
#xnjtgGoalRoot #gm_annual .annual-done-cell,
#xnjtgGoalRoot #gm_annual .annual-rate-cell{font-weight:700}
#xnjtgGoalRoot #gm_annual .annual-rate-cell{color:#186c45}
#xnjtgGoalRoot #gm_annual .annual-month-cell:nth-child(n+6){background:#fbfdff}
#xnjtgGoalRoot #gm_annual .annual-summary-card{min-width:260px}


/* ===== ③ 年度完成率 · 店铺/年度目标编辑器 ===== */
#xnjtgGoalRoot #gm_annual .annual-summary-card{min-width:260px}
#xnjtgGoalRoot #gm_annual .annual-grid{min-width:2000px;table-layout:fixed}
#xnjtgGoalRoot #gm_annual .annual-grid th,
#xnjtgGoalRoot #gm_annual .annual-grid td{padding:5px 6px;text-align:center;vertical-align:middle}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(1){width:145px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(2){width:105px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(3){width:108px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(4){width:126px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(n+5):nth-child(-n+16){width:104px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(17){width:126px}
#xnjtgGoalRoot #gm_annual .annual-grid th:nth-child(18){width:105px}
#xnjtgGoalRoot #gm_annual .annual-cell-wrap{display:flex;align-items:center;gap:4px}
#xnjtgGoalRoot #gm_annual .annual-inline{width:100%;min-width:0;box-sizing:border-box;height:32px;padding:4px 7px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#172033;font-variant-numeric:tabular-nums;text-align:center}
#xnjtgGoalRoot #gm_annual .annual-inline:disabled{background:#f1f3f6;color:#687386;cursor:not-allowed}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator{display:none;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;font-size:11px;font-weight:800;color:#16824b;background:#e7f7ed}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator.success,
#xnjtgGoalRoot #gm_annual .annual-sync-indicator.syncing{display:inline-flex}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator.syncing{color:#5e6b7d;background:#edf1f6}
#xnjtgGoalRoot #gm_annual .annual-done-cell,
#xnjtgGoalRoot #gm_annual .annual-rate-cell{font-weight:700}
#xnjtgGoalRoot #gm_annual .annual-rate-cell{color:#186c45}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-card{width:min(980px,calc(100vw - 34px));max-height:86vh;display:flex;flex-direction:column}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;padding:4px 2px}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{display:grid;grid-template-columns:72px minmax(0,1fr) 70px 190px;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#fbfcfe}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-visible{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#526073}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-visible input{width:16px;height:16px}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-store{display:flex;flex-direction:column;gap:3px;min-width:0}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-store strong{font-size:13px;color:#1e293b}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-store span{font-size:11px;color:#7a8697;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-currency{text-align:center;font-weight:700;color:#5a6778}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-target{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:12px;color:#667085}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-target input{width:120px;height:32px;padding:4px 7px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#172033}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-target input:disabled{background:#f1f3f6;color:#687386}
@media(max-width:760px){#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{grid-template-columns:58px minmax(0,1fr);}.annual-edit-currency{display:none!important}.annual-edit-target{grid-column:2;justify-content:flex-start!important}}


/* ===== ③ 年度完成率：团队分组与自定义排序，仅作用于年度面板 ===== */
#xnjtgGoalRoot #gm_annual .annual-team-divider td{
  padding:8px 12px!important;
  text-align:left!important;
  background:linear-gradient(90deg,#e8f0ff 0%,#f4f7fd 100%)!important;
  color:#31527d!important;
  font-size:12px!important;
  font-weight:800!important;
  border-top:2px solid #c8d7ee!important;
  border-bottom:1px solid #d7e1ef!important;
}
#xnjtgGoalRoot #gm_annual .annual-team-divider span{display:inline-flex;align-items:center;gap:6px}
#xnjtgGoalRoot #gm_annual .annual-team-divider span:before{content:"";width:5px;height:15px;border-radius:99px;background:#4c83d8;display:inline-block}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-team-title{
  margin-top:4px;
  padding:8px 10px;
  border-radius:8px;
  background:#eef4ff;
  color:#31527d;
  font-size:12px;
  font-weight:800;
}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{grid-template-columns:72px minmax(0,1fr) 70px 82px 190px}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-sort{display:flex;align-items:center;gap:7px;justify-content:flex-end;font-size:12px;color:#667085}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-sort input{width:58px;height:32px;padding:4px 7px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#172033;text-align:center}
@media(max-width:760px){#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{grid-template-columns:58px minmax(0,1fr)}#xnjtgGoalRoot #gm_annualEditModal .annual-edit-currency,#xnjtgGoalRoot #gm_annualEditModal .annual-edit-sort{display:none!important}}


/* ===== ③ 年度完成率：店铺拖动排序 ===== */
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{grid-template-columns:28px 72px minmax(0,1fr) 70px 190px;cursor:default;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
#xnjtgGoalRoot #gm_annualEditModal .annual-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:30px;border-radius:7px;color:#8a97a8;font-size:16px;font-weight:800;letter-spacing:-3px;cursor:grab;user-select:none;touch-action:none}
#xnjtgGoalRoot #gm_annualEditModal .annual-drag-handle:hover{background:#eaf1fb;color:#3d6fae}
#xnjtgGoalRoot #gm_annualEditModal .annual-drag-handle:active{cursor:grabbing}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row.annual-dragging{opacity:.48;transform:scale(.99);box-shadow:0 8px 20px rgba(38,74,117,.12)}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row.annual-drag-over{border-color:#6d9de0;background:#f1f6ff;box-shadow:0 0 0 1px rgba(79,133,204,.12)}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row.annual-drag-over:before{content:"";position:absolute;left:0;right:0;height:2px;background:#4c83d8;border-radius:2px;pointer-events:none}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{position:relative}
#xnjtgGoalRoot #gm_annualEditModal .annual-edit-sort{display:none!important}
@media(max-width:760px){#xnjtgGoalRoot #gm_annualEditModal .annual-edit-row{grid-template-columns:28px 58px minmax(0,1fr)}#xnjtgGoalRoot #gm_annualEditModal .annual-edit-currency,#xnjtgGoalRoot #gm_annualEditModal .annual-edit-target{display:none!important}}


/* ===== ③ 年度完成率：统一列宽 + 顶部横向查看 ===== */
#xnjtgGoalRoot #gm_annual .annual-grid{width:2000px!important;min-width:2000px!important;table-layout:fixed!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-store{width:145px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-team{width:105px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-owner{width:108px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-target{width:126px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-month{width:104px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-done{width:126px!important}
#xnjtgGoalRoot #gm_annual .annual-grid col.annual-col-rate{width:105px!important}
#xnjtgGoalRoot #gm_annual .annual-cell-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:4px;width:100%;min-width:0}
#xnjtgGoalRoot #gm_annual .annual-inline{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;box-sizing:border-box!important}
#xnjtgGoalRoot #gm_annual .annual-sync-indicator{width:18px!important;min-width:18px!important;max-width:18px!important}
#xnjtgGoalRoot #gm_annual .annual-scroll-control{margin:8px 0 10px!important}
#xnjtgGoalRoot #gm_annual .annual-scroll-control.is-static{opacity:.72}


/* ===== ③ 年度完成率：店铺结构编辑器 ===== */
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-row{display:grid;grid-template-columns:28px 58px minmax(145px,1.25fr) minmax(115px,1fr) 116px 145px 58px;gap:8px;align-items:end;padding:12px 10px;border:1px solid #dce5f1;border-radius:10px;background:#fff;margin:7px 0;box-sizing:border-box}
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-field,#xnjtgGoalRoot #gm_annualEditRows .annual-edit-target{display:flex;flex-direction:column;gap:4px;min-width:0}
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-field>span,#xnjtgGoalRoot #gm_annualEditRows .annual-edit-target>span{font-size:10px;color:#73829a;line-height:1}
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-field input,#xnjtgGoalRoot #gm_annualEditRows .annual-edit-field select,#xnjtgGoalRoot #gm_annualEditRows .annual-edit-target input{width:100%;height:34px;box-sizing:border-box;border:1px solid #ccd8e8;border-radius:7px;padding:5px 8px;background:#fff;color:#24344d}
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-visible{display:flex;align-items:center;gap:5px;height:34px;font-size:11px;color:#51627c;white-space:nowrap}
#xnjtgGoalRoot #gm_annualEditRows .annual-drag-handle{align-self:center}
#xnjtgGoalRoot #gm_annualEditRows .annual-delete-store{height:34px;border:1px solid #f0b7b7;border-radius:7px;background:#fff5f5;color:#c94b4b;cursor:pointer}
#xnjtgGoalRoot #gm_annualEditRows .annual-delete-store:disabled{opacity:.35;cursor:not-allowed}
#xnjtgGoalRoot #gm_annualEditRows .annual-edit-addline{display:flex;justify-content:center;padding:5px 0 10px}
#xnjtgGoalRoot #gm_annualEditRows .annual-add-store{border-style:dashed;color:#5578a7}
#xnjtgGoalRoot #gm_annualEditRows .annual-new-row{background:#f8fbff}
@media(max-width:980px){#xnjtgGoalRoot #gm_annualEditRows .annual-edit-row{grid-template-columns:28px 58px minmax(130px,1fr) minmax(110px,1fr) 108px 130px 54px}}
